@charset "UTF-8";
h1, h2, h3, h4, p {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4,
em, strong {
  font-style: normal;
  font-weight: 400;
}

a {
  color: inherit;
}

ul {
  margin: 0;
  padding: 0;
}

.no-select {
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  -khtml-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

.clear {
  display: block;
  float: none;
  clear: both;
}

html {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

body {
  width: 100%;
  min-height: 100%;
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

::-webkit-scrollbar {
  display: none;
}

@font-face {
  font-family: "Suisse Intl";
  src: url("../fonts/SuisseIntl/SuisseIntl-Regular.woff2") format("woff2"), url("../fonts/SuisseIntl/SuisseIntl-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Suisse Intl Medium";
  src: url("../fonts/SuisseIntl/SuisseIntl-Medium.woff2") format("woff2"), url("../fonts/SuisseIntl/SuisseIntl-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Suisse Intl Book";
  src: url("../fonts/SuisseIntl/SuisseIntl-Book.woff2") format("woff2"), url("../fonts/SuisseIntl/SuisseIntl-Book.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
:root {
  --FS14: 14px;
  --LH14: calc(25/14);
  --FS16: 16px;
  --LH16: normal;
  --FS18: 18px;
  --LH18: normal;
  --FS24: 24px;
  --LH24: normal;
  --FS90: 90px;
  --LH90: 0.82;
}

:root {
  --GRID_MARGIN: 40px;
  --GRID_GUTTER: 15px;
  --P10: 10px;
  --P15: 15px;
  --P20: 20px;
  --P25: 25px;
  --P30: 30px;
  --P32: 32px;
  --P50: 50px;
  --P100: 100px;
  --P120: 120px;
  --P150: 150px;
  --P200: 200px;
  --P250: 250px;
  --P2: 2px;
  --P3: 3px;
  --P4: 4px;
  --P12: 12px;
  --P13: 13px;
  --P55: 55px;
  --P155: 155px;
  --P205: 205px;
}

#debug-grid {
  display: grid;
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 0 var(--GRID_MARGIN);
  box-sizing: border-box;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  z-index: 10000;
  pointer-events: none;
}
#debug-grid .col {
  height: 100%;
  grid-column-end: span 1;
  background-color: rgba(0, 255, 255, 0.2);
}

html {
  font-family: "Suisse Intl";
  font-size: 16px;
  line-height: normal;
  overflow-x: hidden;
}

body {
  display: flex;
  flex-direction: column;
  padding: 0 var(--GRID_MARGIN);
  box-sizing: border-box;
  color: black;
  background-color: #F5F5F5 !important;
}
body .main {
  flex-grow: 1;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100vw;
  margin-left: calc(-1 * var(--GRID_MARGIN));
  padding: var(--P15) var(--GRID_MARGIN);
  box-sizing: border-box;
  border-bottom: 1px solid black;
  background-color: #F5F5F5;
  transition: opacity ease-in-out 200ms;
}
header #home-link {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: 1;
  text-decoration: none;
}
header #header-menu {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: 1;
  color: #A5A5A5;
}
header #header-menu a {
  display: block;
  text-decoration: none;
}
header #header-menu a.sel {
  color: black;
}
header #header-menu .sep::before, header #header-menu .sep::after {
  content: " ";
}
header #header-menu .sep:has(+ .sel) {
  color: black;
}
header #lang-switch {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: 1;
  color: #A5A5A5;
}
header #lang-switch a {
  text-decoration: none;
}
header #lang-switch a.sel {
  color: black;
  text-decoration: underline;
}
header.hide {
  opacity: 0;
}

footer {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding: var(--P30) 0;
  font-family: "Suisse Intl Book";
  font-size: var(--FS16);
  line-height: var(--LH16);
}
footer::before {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  height: 1px;
  top: 0;
  left: calc(-1 * var(--GRID_MARGIN));
  background-color: black;
}
footer .contacts,
footer .mentions {
  grid-column-end: span 3;
}
footer .social {
  grid-column-start: 5;
  grid-column-end: span 3;
}
footer .newsletter,
footer .credits {
  grid-column-start: 9;
  grid-column-end: span 4;
}
footer .contacts,
footer .newsletter {
  margin-bottom: var(--P50);
}
footer .credits {
  color: #A5A5A5;
}
footer .newsletter .label {
  font-family: "Suisse Intl Book";
  font-size: var(--FS16);
  line-height: 1;
  margin-bottom: var(--P30);
}
footer .newsletter form {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--GRID_GUTTER);
}
footer .newsletter form input,
footer .newsletter form input::placeholder,
footer .newsletter form input:focus,
footer .newsletter form input:active {
  background-color: transparent !important;
  border: none;
  outline: none;
  box-shadow: none;
  font-family: "Suisse Intl Book";
  font-size: var(--FS16);
  line-height: 1;
  padding: 0;
  color: black;
  display: block;
  border-bottom: 1px solid black;
}
footer .newsletter form input[type=email] {
  grid-column-end: span 3;
}
footer .newsletter form input[type=submit] {
  width: fit-content;
  cursor: pointer;
}

.grey {
  color: #A5A5A5;
}

picture {
  display: block;
  width: 100%;
}
picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

figure {
  margin: 0;
}

.template-about h2,
.template-contact h2,
.template-home h2,
.template-portfolio h2,
.template-services h2,
.template-project h2,
.template-error h2,
.template-blog h2,
.template-post h2 {
  display: flex;
  align-items: flex-start;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: 1;
}
.template-about .tick svg,
.template-about .tag svg,
.template-contact .tick svg,
.template-contact .tag svg,
.template-home .tick svg,
.template-home .tag svg,
.template-portfolio .tick svg,
.template-portfolio .tag svg,
.template-services .tick svg,
.template-services .tag svg,
.template-project .tick svg,
.template-project .tag svg,
.template-error .tick svg,
.template-error .tag svg,
.template-blog .tick svg,
.template-blog .tag svg,
.template-post .tick svg,
.template-post .tag svg {
  display: block;
  width: var(--P13);
  height: auto;
  margin-right: var(--P4);
  fill: inherit;
}
.template-about .tick svg circle,
.template-about .tick svg path,
.template-about .tag svg circle,
.template-about .tag svg path,
.template-contact .tick svg circle,
.template-contact .tick svg path,
.template-contact .tag svg circle,
.template-contact .tag svg path,
.template-home .tick svg circle,
.template-home .tick svg path,
.template-home .tag svg circle,
.template-home .tag svg path,
.template-portfolio .tick svg circle,
.template-portfolio .tick svg path,
.template-portfolio .tag svg circle,
.template-portfolio .tag svg path,
.template-services .tick svg circle,
.template-services .tick svg path,
.template-services .tag svg circle,
.template-services .tag svg path,
.template-project .tick svg circle,
.template-project .tick svg path,
.template-project .tag svg circle,
.template-project .tag svg path,
.template-error .tick svg circle,
.template-error .tick svg path,
.template-error .tag svg circle,
.template-error .tag svg path,
.template-blog .tick svg circle,
.template-blog .tick svg path,
.template-blog .tag svg circle,
.template-blog .tag svg path,
.template-post .tick svg circle,
.template-post .tick svg path,
.template-post .tag svg circle,
.template-post .tag svg path {
  fill: inherit;
}
@keyframes ongoing {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.template-about .tick#ongoing svg, .template-about .tick.ongoing svg,
.template-about .tag#ongoing svg,
.template-about .tag.ongoing svg,
.template-contact .tick#ongoing svg,
.template-contact .tick.ongoing svg,
.template-contact .tag#ongoing svg,
.template-contact .tag.ongoing svg,
.template-home .tick#ongoing svg,
.template-home .tick.ongoing svg,
.template-home .tag#ongoing svg,
.template-home .tag.ongoing svg,
.template-portfolio .tick#ongoing svg,
.template-portfolio .tick.ongoing svg,
.template-portfolio .tag#ongoing svg,
.template-portfolio .tag.ongoing svg,
.template-services .tick#ongoing svg,
.template-services .tick.ongoing svg,
.template-services .tag#ongoing svg,
.template-services .tag.ongoing svg,
.template-project .tick#ongoing svg,
.template-project .tick.ongoing svg,
.template-project .tag#ongoing svg,
.template-project .tag.ongoing svg,
.template-error .tick#ongoing svg,
.template-error .tick.ongoing svg,
.template-error .tag#ongoing svg,
.template-error .tag.ongoing svg,
.template-blog .tick#ongoing svg,
.template-blog .tick.ongoing svg,
.template-blog .tag#ongoing svg,
.template-blog .tag.ongoing svg,
.template-post .tick#ongoing svg,
.template-post .tick.ongoing svg,
.template-post .tag#ongoing svg,
.template-post .tag.ongoing svg {
  animation: ongoing forwards 2s infinite;
  animation-timing-function: linear;
}
.template-about .intro,
.template-contact .intro,
.template-home .intro,
.template-portfolio .intro,
.template-services .intro,
.template-project .intro,
.template-error .intro,
.template-blog .intro,
.template-post .intro {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
}
.template-about .text,
.template-contact .text,
.template-home .text,
.template-portfolio .text,
.template-services .text,
.template-project .text,
.template-error .text,
.template-blog .text,
.template-post .text {
  font-family: "Suisse Intl Book";
  font-size: var(--FS16);
  line-height: var(--LH16);
}
.template-about .text p, .template-about .text ul,
.template-contact .text p,
.template-contact .text ul,
.template-home .text p,
.template-home .text ul,
.template-portfolio .text p,
.template-portfolio .text ul,
.template-services .text p,
.template-services .text ul,
.template-project .text p,
.template-project .text ul,
.template-error .text p,
.template-error .text ul,
.template-blog .text p,
.template-blog .text ul,
.template-post .text p,
.template-post .text ul {
  margin-bottom: 1.3em;
}
.template-about .text p:last-child, .template-about .text ul:last-child,
.template-contact .text p:last-child,
.template-contact .text ul:last-child,
.template-home .text p:last-child,
.template-home .text ul:last-child,
.template-portfolio .text p:last-child,
.template-portfolio .text ul:last-child,
.template-services .text p:last-child,
.template-services .text ul:last-child,
.template-project .text p:last-child,
.template-project .text ul:last-child,
.template-error .text p:last-child,
.template-error .text ul:last-child,
.template-blog .text p:last-child,
.template-blog .text ul:last-child,
.template-post .text p:last-child,
.template-post .text ul:last-child {
  margin-bottom: 0;
}
.template-about .text ul,
.template-contact .text ul,
.template-home .text ul,
.template-portfolio .text ul,
.template-services .text ul,
.template-project .text ul,
.template-error .text ul,
.template-blog .text ul,
.template-post .text ul {
  padding-left: var(--P25);
}
.template-about .text strong,
.template-contact .text strong,
.template-home .text strong,
.template-portfolio .text strong,
.template-services .text strong,
.template-project .text strong,
.template-error .text strong,
.template-blog .text strong,
.template-post .text strong {
  font-family: "Suisse Intl Medium";
}
.template-about .text em,
.template-contact .text em,
.template-home .text em,
.template-portfolio .text em,
.template-services .text em,
.template-project .text em,
.template-error .text em,
.template-blog .text em,
.template-post .text em {
  font-style: italic;
}

.template-about #section-top {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding-top: var(--P100);
  padding-bottom: var(--P100);
}
.template-about #section-top .intro {
  grid-column-end: span 4;
}
.template-about #section-top .text {
  grid-column-end: span 3;
}
.template-about #section-top .text:nth-child(2) {
  grid-column-start: 6;
}
.template-about #section-team {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding-top: var(--P100);
  padding-bottom: var(--P200);
}
.template-about #section-team h2 {
  grid-column-end: span 1;
}
.template-about #section-team .intro {
  grid-column-end: span 3;
  grid-column-start: 2;
}
.template-about #section-team .members {
  grid-column-end: span 6;
  grid-column-start: 6;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-about #section-team .members .member {
  grid-column-end: span 3;
  margin-bottom: var(--P50);
}
.template-about #section-team .members .member .name {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
}
.template-about #section-team .members .member .function {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS18);
  line-height: var(--LH18);
}
.template-about #section-team .members .member picture {
  aspect-ratio: 448/320;
  margin-top: var(--P25);
}
.template-about #section-team .members .member .text {
  margin-top: var(--P25);
}

.template-blog #section-tags {
  display: flex;
  justify-content: space-between;
  position: sticky;
  top: var(--P55);
  z-index: 100;
  width: 100vw;
  margin-left: calc(-1 * var(--GRID_MARGIN));
  padding: var(--P20) var(--GRID_MARGIN);
  box-sizing: border-box;
  border-bottom: 1px solid black;
  background-color: #F5F5F5;
}
.template-blog #section-tags .tag {
  display: flex;
  align-items: flex-start;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: 1;
  cursor: pointer;
}
.template-blog #section-tags .tag.sel {
  text-decoration: underline;
}
.template-blog #section-tags .tag svg {
  pointer-events: none;
}
.template-blog #section-blog {
  padding-top: var(--P100);
}
.template-blog #section-blog .posts {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-blog #section-blog .posts .post {
  grid-column-end: span 2;
  margin-bottom: var(--P150);
  text-decoration: none;
}
.template-blog #section-blog .posts .post.hide {
  display: none;
}
.template-blog #section-blog .posts .post picture {
  margin-bottom: var(--P30);
}
.template-blog #section-blog .posts .post .title {
  display: flex;
  align-items: flex-start;
  grid-column-start: 1;
  grid-column-end: span 2;
  margin-bottom: var(--P30);
  text-decoration: none;
}
.template-blog #section-blog .posts .post .title h3 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: normal;
  margin-top: calc(-1 * var(--P2));
}
.template-blog #section-blog .posts .post .title .cat {
  color: #A5A5A5;
  display: inline-block;
}
.template-blog #section-blog .posts .post .text a {
  display: block;
}
.template-blog #section-blog .posts .post picture {
  aspect-ratio: 293/390;
}
.template-blog #section-blog .posts .post.cat {
  border: 1px solid black;
  aspect-ratio: 293/390;
  padding: var(--P25);
  box-sizing: border-box;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
}
.template-blog #section-blog .posts .post.cat h2 {
  font-size: inherit;
  line-height: inherit;
}
.template-blog #section-blog .posts .post.cat a {
  text-decoration: underline;
  cursor: pointer;
}
.template-blog #section-blog .posts .post.cat .less {
  display: none;
}
.template-blog #section-blog .posts .post.cat.open .more {
  display: none;
}
.template-blog #section-blog .posts .post.cat.open .less {
  display: block;
}
.template-blog #section-blog .posts .post.hide_more {
  display: none;
}
.template-blog #section-blog .posts .post.show {
  display: block !important;
}

.template-contact #section-top,
.template-error #section-top {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding-top: var(--P100);
  padding-bottom: var(--P100);
}
.template-contact #section-top .intro,
.template-error #section-top .intro {
  grid-column-end: span 4;
}
.template-contact #section-top .text,
.template-error #section-top .text {
  grid-column-end: span 2;
  grid-column-start: 7;
}
.template-contact #section-top picture,
.template-error #section-top picture {
  aspect-ratio: 600/717;
  grid-column-end: span 4;
  grid-column-start: 9;
}

.template-home header {
  margin-bottom: var(--P50);
  color: black;
}
.template-home header #home-link {
  opacity: 0;
  pointer-events: none;
  transition: opacity ease-in-out 200ms;
}
.template-home header.is-sticky #home-link {
  opacity: 1;
  pointer-events: initial;
}
.template-home header #header-menu {
  color: black;
}
.template-home #section-top .headline {
  padding-top: var(--P32);
  padding-bottom: var(--P100);
  font-family: "Suisse Intl Medium";
  font-size: var(--FS90);
  line-height: var(--LH90);
}
.template-home #section-top .headline h1 {
  display: inline;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS90);
  line-height: var(--LH90);
  opacity: 0;
  transition: opacity ease-in-out 200ms;
}
.template-home #section-top .headline .grey {
  font-family: "Suisse Intl";
  opacity: 1;
}
.template-home #section-top.loaded .headline h1 {
  opacity: 1;
}
.template-home #section-intro {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding-top: var(--P100);
  padding-bottom: var(--P100);
}
.template-home #section-intro h2 {
  margin-bottom: var(--P30);
}
.template-home #section-intro .about {
  grid-column-end: span 4;
}
.template-home #section-intro .services {
  grid-column-start: 6;
  grid-column-end: span 7;
}
.template-home #section-intro .services .cols {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-home #section-intro .services .cols .col {
  grid-column-end: span 3;
}
.template-home #section-intro .services .cols .col h3 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
  margin-bottom: var(--P30);
}
.template-home #section-intro .services .cols .col picture {
  aspect-ratio: 450/538;
  margin-bottom: var(--P30);
}
.template-home #section-intro .services .cols .col.art_science {
  grid-column-end: span 4;
}
.template-home #section-intro .services .cols .col.art_science picture {
  width: 100%;
  aspect-ratio: 604/412;
}
.template-home #section-portfolio {
  padding-top: var(--P100);
  padding-bottom: var(--P100);
}
.template-home #section-portfolio h2 {
  position: relative;
  padding-bottom: var(--P25);
}
.template-home #section-portfolio .projects .project {
  position: relative;
  padding: var(--P20) 0;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-home #section-portfolio .projects .project.hide {
  display: none;
}
.template-home #section-portfolio .projects .project .title {
  display: flex;
  align-items: flex-start;
  grid-column-start: 1;
  grid-column-end: span 2;
  text-decoration: none;
}
.template-home #section-portfolio .projects .project .title h3 {
  margin-top: calc(-1 * var(--P3));
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: normal;
}
.template-home #section-portfolio .projects .project .image {
  display: block;
  grid-column-start: 3;
  grid-column-end: span 2;
}
.template-home #section-portfolio .projects .project .image picture {
  aspect-ratio: 294/200;
}
.template-home #section-portfolio .projects .project .text {
  grid-column-start: 6;
  grid-column-end: span 3;
}
.template-home #section-portfolio .projects .project .collab {
  grid-column-start: 10;
  grid-column-end: span 2;
  font-family: "Suisse Intl Book";
  font-size: var(--FS16);
  line-height: var(--LH16);
  text-align: right;
}
.template-home #section-portfolio .projects .project .link {
  grid-column-start: 12;
  grid-column-end: span 1;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: 1;
  text-align: right;
  text-decoration: none;
}
.template-home #section-portfolio h2::after,
.template-home #section-portfolio .project::after {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  height: 1px;
  bottom: 0;
  left: calc(-1 * var(--GRID_MARGIN));
  background-color: black;
}
.template-home #section-portfolio .intro {
  padding-top: var(--P30);
}
.template-home #section-blog {
  padding-top: var(--P150);
  padding-bottom: var(--P250);
}
.template-home #section-blog h2 {
  padding-bottom: var(--P20);
}
.template-home #section-blog .posts {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-home #section-blog .posts .post {
  grid-column-end: span 2;
  margin-bottom: var(--P150);
  text-decoration: none;
}
.template-home #section-blog .posts .post.hide {
  display: none;
}
.template-home #section-blog .posts .post picture {
  margin-bottom: var(--P30);
}
.template-home #section-blog .posts .post .title {
  display: flex;
  align-items: flex-start;
  grid-column-start: 1;
  grid-column-end: span 2;
  margin-bottom: var(--P30);
  text-decoration: none;
}
.template-home #section-blog .posts .post .title h3 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: normal;
  margin-top: calc(-1 * var(--P2));
}
.template-home #section-blog .posts .post .title .cat {
  color: #A5A5A5;
  display: inline-block;
}
.template-home #section-blog .posts .post .text a {
  display: block;
}
.template-home #section-blog .posts .post picture {
  aspect-ratio: 293/390;
}
.template-home #section-blog .intro {
  width: calc(50% - var(--GRID_GUTTER) / 2);
}

.template-portfolio #section-tags {
  display: flex;
  justify-content: space-between;
  position: sticky;
  top: var(--P55);
  z-index: 100;
  width: 100vw;
  margin-left: calc(-1 * var(--GRID_MARGIN));
  padding: var(--P20) var(--GRID_MARGIN);
  box-sizing: border-box;
  border-bottom: 1px solid black;
  background-color: #F5F5F5;
}
.template-portfolio #section-tags .tag {
  display: flex;
  align-items: flex-start;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: 1;
  cursor: pointer;
}
.template-portfolio #section-tags .tag.sel {
  text-decoration: underline;
}
.template-portfolio #section-tags .tag svg {
  pointer-events: none;
}
.template-portfolio #section-portfolio .projects .project {
  position: relative;
  padding: var(--P20) 0;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-portfolio #section-portfolio .projects .project.hide {
  display: none;
}
.template-portfolio #section-portfolio .projects .project .title {
  display: flex;
  align-items: flex-start;
  grid-column-start: 1;
  grid-column-end: span 2;
  text-decoration: none;
}
.template-portfolio #section-portfolio .projects .project .title h3 {
  margin-top: calc(-1 * var(--P3));
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: normal;
}
.template-portfolio #section-portfolio .projects .project .image {
  display: block;
  grid-column-start: 3;
  grid-column-end: span 2;
}
.template-portfolio #section-portfolio .projects .project .image picture {
  aspect-ratio: 294/200;
}
.template-portfolio #section-portfolio .projects .project .text {
  grid-column-start: 6;
  grid-column-end: span 3;
}
.template-portfolio #section-portfolio .projects .project .collab {
  grid-column-start: 10;
  grid-column-end: span 2;
  font-family: "Suisse Intl Book";
  font-size: var(--FS16);
  line-height: var(--LH16);
  text-align: right;
}
.template-portfolio #section-portfolio .projects .project .link {
  grid-column-start: 12;
  grid-column-end: span 1;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: 1;
  text-align: right;
  text-decoration: none;
}
.template-portfolio #section-portfolio .project::after {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  height: 1px;
  bottom: 0;
  left: calc(-1 * var(--GRID_MARGIN));
  background-color: black;
}
.template-portfolio #section-portfolio .project:last-child::after {
  display: none;
}

.template-project #section-top {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding-top: var(--P150);
  margin-bottom: var(--P150);
  padding-bottom: 0;
}
.template-project #section-top .left {
  grid-column-start: 2;
  grid-column-end: span 3;
}
.template-project #section-top .left .title {
  display: flex;
  align-items: flex-start;
  grid-column-start: 1;
  grid-column-end: span 2;
  margin-bottom: var(--P20);
}
.template-project #section-top .left .title h1 {
  margin-top: calc(-1 * var(--P3));
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: normal;
}
.template-project #section-top .left h2 {
  margin-bottom: var(--P30);
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
}
.template-project #section-top .right {
  grid-column-start: 7;
  grid-column-end: span 6;
  position: sticky;
  top: var(--P205);
  bottom: 0;
  height: fit-content;
}
.template-project #section-top .right .carrousel {
  position: relative;
  width: 100%;
  aspect-ratio: 912/620;
}
.template-project #section-top .right .carrousel .item {
  position: absolute;
  width: 100%;
  height: 100%;
  display: none;
}
.template-project #section-top .right .carrousel .item.visible {
  display: block;
}
.template-project #section-top .right .carrousel .item picture {
  position: absolute;
  width: 100%;
  height: 100%;
}
.template-project #section-top .right .carrousel .item .nav {
  position: absolute;
  bottom: 0;
  width: 100%;
  transform: translateY(100%);
  padding-top: var(--P15);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: 1;
  user-select: none;
}
.template-project #section-top .right .carrousel .item .nav .arrow-left,
.template-project #section-top .right .carrousel .item .nav .arrow-right {
  cursor: pointer;
}
.template-project #section-top .right .carrousel .item .nav .caption {
  flex-grow: 1;
  margin-left: var(--P20);
  margin-right: var(--P20);
  margin-top: var(--P3);
  font-family: "Suisse Intl Book";
  font-size: var(--FS14);
  line-height: normal;
}
.template-project #section-data {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: var(--LH14);
  grid-column-end: span 6;
  padding-top: var(--P150);
  margin-left: calc(-1 * var(--GRID_MARGIN));
  box-sizing: border-box;
}
.template-project #section-data .row {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding: var(--P15) 0;
  padding-left: var(--GRID_MARGIN);
  box-sizing: border-box;
  border-bottom: 1px solid black;
}
.template-project #section-data .row:first-child {
  border-top: 1px solid black;
}
.template-project #section-data .row .label {
  grid-column-start: 2;
}
.template-project #section-data .row .value {
  grid-column-start: 4;
  grid-column-end: span 3;
}
.template-project #section-layout {
  padding-bottom: 0;
}
.template-project #section-layout .row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-project #section-layout .row .col {
  margin-bottom: var(--P100);
}
.template-project #section-layout .row .col.full {
  grid-column-end: span 12;
  grid-column-start: 1 !important;
}
.template-project #section-layout .row .col.col-12 {
  grid-column-end: span 5;
}
.template-project #section-layout .row .col.col-8 {
  grid-column-end: span 6;
}
.template-project #section-layout .row .col.col-6 {
  grid-column-end: span 4;
}
.template-project #section-layout .row .col.col-4 {
  grid-column-end: span 3;
}
.template-project #section-layout .row .col:nth-child(1) {
  grid-column-start: 2;
}
.template-project #section-layout .row .col > div {
  margin-bottom: var(--P20);
}
.template-project #section-layout .row .col > div:last-child {
  margin-bottom: 0;
}
.template-project #section-layout .row .heading h1, .template-project #section-layout .row .heading h2 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
  min-height: 1.3em;
}
.template-project #section-layout .row .heading h3, .template-project #section-layout .row .heading h4, .template-project #section-layout .row .heading h5, .template-project #section-layout .row .heading h6 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: var(--LH14);
  min-height: calc(var(--LH14) * 1em);
}
.template-project #section-layout .row .quotation {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.template-project #section-layout .row .image picture img,
.template-project #section-layout .row .image_large picture img {
  height: auto;
}
.template-project #section-layout .row .video video,
.template-project #section-layout .row .video iframe,
.template-project #section-layout .row .video_large video,
.template-project #section-layout .row .video_large iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border: none;
  outline: none;
}
.template-project #section-layout .row .col-8:nth-child(1) .image,
.template-project #section-layout .row .col-8:nth-child(1) .video, .template-project #section-layout .row .col-6:nth-child(1) .image,
.template-project #section-layout .row .col-6:nth-child(1) .video {
  padding-right: var(--P20);
}
.template-project #section-layout .row .col-8:nth-child(2) .image,
.template-project #section-layout .row .col-8:nth-child(2) .video, .template-project #section-layout .row .col-6:nth-child(2) .image,
.template-project #section-layout .row .col-6:nth-child(2) .video {
  padding-left: var(--P20);
}
.template-project #section-layout .row .col-4:nth-child(1) .image,
.template-project #section-layout .row .col-4:nth-child(1) .video {
  padding-right: var(--P20);
}
.template-project #section-layout .row .col-4:nth-child(2) .image,
.template-project #section-layout .row .col-4:nth-child(2) .video {
  padding-left: var(--P20);
}
.template-project #section-layout .row .col-4:nth-child(3) .image,
.template-project #section-layout .row .col-4:nth-child(3) .video {
  padding-left: var(--P20);
}
.template-project #section-layout .row .gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-project #section-layout .row .gallery picture {
  margin-bottom: var(--GRID_GUTTER);
  aspect-ratio: 294/212;
}
.template-project #section-layout .row .gallery_large .larger {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-project #section-layout .row .gallery_large picture {
  margin-bottom: var(--GRID_GUTTER);
  aspect-ratio: 294/212;
}
.template-project #section-layout .row .caption {
  margin-top: var(--P10);
  font-family: "Suisse Intl Book";
  font-size: var(--FS14);
  line-height: normal;
}
.template-project #section-layout .row .data {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: var(--LH14);
  box-sizing: border-box;
}
.template-project #section-layout .row .data h2 {
  margin-bottom: var(--P20);
  margin-left: var(--GRID_MARGIN);
}
.template-project #section-layout .row .data .row {
  display: flex;
  padding: var(--P15) var(--GRID_MARGIN);
  box-sizing: border-box;
  border-bottom: 1px solid black;
}
.template-project #section-layout .row .data .row.first {
  border-top: 1px solid black;
}
.template-project #section-layout .row .data .row .label {
  width: 33%;
}
.template-project #section-layout .row .data .row .value {
  width: 67%;
}
.template-project #section-layout .row .data .row .value strong {
  font-family: "Suisse Intl Medium";
}
.template-project #section-layout .row .data .row .value em {
  font-style: italic;
}
.template-project #section-layout .row .col.full .data {
  width: 100vw;
  margin-left: calc(-1 * var(--GRID_MARGIN));
}
.template-project #section-layout .row .col.full .data h2 {
  margin-left: calc(var(--GRID_MARGIN) + 8%);
}
.template-project #section-layout .row .col.full .data .row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  grid-column-end: span 12;
}
.template-project #section-layout .row .col.full .data .row .label {
  grid-column-start: 2;
  grid-column-end: span 2;
  width: unset;
}
.template-project #section-layout .row .col.full .data .row .value {
  grid-column-start: 4;
  grid-column-end: span 9;
  width: unset;
}
.template-project #section-layout .row .col.full {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-project #section-layout .row .col.full .image_large,
.template-project #section-layout .row .col.full .video_large {
  grid-column-start: 2;
  grid-column-end: span 8;
}
.template-project #section-layout .row .col.full .gallery_large,
.template-project #section-layout .row .col.full .data {
  grid-column-start: 1;
  grid-column-end: span 12;
}
.template-project #section-layout .row:last-child .col.full .data h2 {
  margin-left: var(--GRID_MARGIN);
}
.template-project #section-layout .row:last-child .col.full .data .row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-project #section-layout .row:last-child .col.full .data .row .label {
  grid-column-start: 1;
  grid-column-end: span 3;
  width: unset;
}
.template-project #section-layout .row:last-child .col.full .data .row .value {
  grid-column-start: 4;
  grid-column-end: span 9;
  width: unset;
}
.template-project #section-layout .row .col.full .image_large,
.template-project #section-layout .row .col.full .video_large {
  grid-column-start: 3;
}
.template-project #section-layout .row .col.col-6:nth-child(2) {
  grid-column-start: 7;
}
.template-project #section-layout .row .col-6:nth-child(1) .image,
.template-project #section-layout .row .col-6:nth-child(1) .video {
  padding-right: 0;
}
.template-project #section-layout .row .col-6:nth-child(2) .image,
.template-project #section-layout .row .col-6:nth-child(2) .video {
  padding-left: 0;
}
.template-project #section-layout .row .col.col-4.col-3 {
  grid-column-end: span 4;
}
.template-project #section-layout .row .col.col-4.col-3:nth-child(1) {
  grid-column-start: 1;
}
.template-project #section-layout .row .col.col-4.col-3 .image,
.template-project #section-layout .row .col.col-4.col-3 .video {
  padding-left: 0;
  padding-right: 0;
}
.template-project #section-layout .row .gallery {
  grid-template-columns: repeat(2, 1fr);
}
.template-project #section-layout .row .gallery_large .larger {
  grid-template-columns: repeat(4, 1fr);
}
.template-project #section-layout .row.all_medias .col-6 {
  grid-column-end: span 5;
}
.template-project #section-related {
  padding-top: var(--P100);
  padding-bottom: var(--P100);
}
.template-project #section-related h2 {
  padding-bottom: var(--P20);
}
.template-project #section-related .posts {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-project #section-related .posts .post {
  grid-column-end: span 2;
  margin-bottom: var(--P150);
  text-decoration: none;
}
.template-project #section-related .posts .post.hide {
  display: none;
}
.template-project #section-related .posts .post picture {
  margin-bottom: var(--P30);
}
.template-project #section-related .posts .post .title {
  display: flex;
  align-items: flex-start;
  grid-column-start: 1;
  grid-column-end: span 2;
  margin-bottom: var(--P30);
  text-decoration: none;
}
.template-project #section-related .posts .post .title h3 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: normal;
  margin-top: calc(-1 * var(--P2));
}
.template-project #section-related .posts .post .title .cat {
  color: #A5A5A5;
  display: inline-block;
}
.template-project #section-related .posts .post .text a {
  display: block;
}
.template-project #section-related .posts .post {
  grid-column-end: span 3;
}
.template-project #section-related .posts .post picture {
  aspect-ratio: 446/305;
}

.template-post #section-top {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding-top: var(--P100);
  padding-bottom: var(--P100);
}
.template-post #section-top .tags {
  display: flex;
  align-items: flex-start;
  margin-bottom: var(--P20);
  grid-column-start: 5;
  grid-column-end: span 4;
}
.template-post #section-top .tags h3 {
  margin-top: calc(-1 * var(--P3));
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: normal;
}
.template-post #section-top .tags h3 .tag-name {
  display: inline-block;
}
.template-post #section-top .tags h3 .tag-name::after {
  content: ", ";
}
.template-post #section-top .tags h3 .tag-name:nth-last-child(2)::after {
  display: none;
}
.template-post #section-top .tags h3 .cat {
  display: inline-block;
  color: #A5A5A5;
}
.template-post #section-top .title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  grid-column-start: 5;
  grid-column-end: span 4;
  margin-bottom: var(--P30);
}
.template-post #section-top .title h1 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
  padding-right: var(--GRID_GUTTER);
}
.template-post #section-top .title .right {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: 1;
  color: #A5A5A5;
  white-space: nowrap;
  text-align: right;
  margin-bottom: var(--P3);
}
.template-post #section-top picture {
  grid-column-start: 5;
  grid-column-end: span 4;
}
.template-post #section-top picture img {
  height: auto;
}
.template-post #section-top .caption {
  grid-column-start: 5;
  grid-column-end: span 4;
  margin-top: var(--P10);
  font-family: "Suisse Intl Book";
  font-size: var(--FS14);
  line-height: normal;
}
.template-post #section-layout {
  padding-bottom: 0;
}
.template-post #section-layout .row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-post #section-layout .row .col {
  margin-bottom: var(--P100);
}
.template-post #section-layout .row .col.full {
  grid-column-end: span 12;
  grid-column-start: 1 !important;
}
.template-post #section-layout .row .col.col-12 {
  grid-column-end: span 5;
}
.template-post #section-layout .row .col.col-8 {
  grid-column-end: span 6;
}
.template-post #section-layout .row .col.col-6 {
  grid-column-end: span 4;
}
.template-post #section-layout .row .col.col-4 {
  grid-column-end: span 3;
}
.template-post #section-layout .row .col:nth-child(1) {
  grid-column-start: 2;
}
.template-post #section-layout .row .col > div {
  margin-bottom: var(--P20);
}
.template-post #section-layout .row .col > div:last-child {
  margin-bottom: 0;
}
.template-post #section-layout .row .heading h1, .template-post #section-layout .row .heading h2 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
  min-height: 1.3em;
}
.template-post #section-layout .row .heading h3, .template-post #section-layout .row .heading h4, .template-post #section-layout .row .heading h5, .template-post #section-layout .row .heading h6 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: var(--LH14);
  min-height: calc(var(--LH14) * 1em);
}
.template-post #section-layout .row .quotation {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.template-post #section-layout .row .image picture img,
.template-post #section-layout .row .image_large picture img {
  height: auto;
}
.template-post #section-layout .row .video video,
.template-post #section-layout .row .video iframe,
.template-post #section-layout .row .video_large video,
.template-post #section-layout .row .video_large iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border: none;
  outline: none;
}
.template-post #section-layout .row .col-8:nth-child(1) .image,
.template-post #section-layout .row .col-8:nth-child(1) .video, .template-post #section-layout .row .col-6:nth-child(1) .image,
.template-post #section-layout .row .col-6:nth-child(1) .video {
  padding-right: var(--P20);
}
.template-post #section-layout .row .col-8:nth-child(2) .image,
.template-post #section-layout .row .col-8:nth-child(2) .video, .template-post #section-layout .row .col-6:nth-child(2) .image,
.template-post #section-layout .row .col-6:nth-child(2) .video {
  padding-left: var(--P20);
}
.template-post #section-layout .row .col-4:nth-child(1) .image,
.template-post #section-layout .row .col-4:nth-child(1) .video {
  padding-right: var(--P20);
}
.template-post #section-layout .row .col-4:nth-child(2) .image,
.template-post #section-layout .row .col-4:nth-child(2) .video {
  padding-left: var(--P20);
}
.template-post #section-layout .row .col-4:nth-child(3) .image,
.template-post #section-layout .row .col-4:nth-child(3) .video {
  padding-left: var(--P20);
}
.template-post #section-layout .row .gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-post #section-layout .row .gallery picture {
  margin-bottom: var(--GRID_GUTTER);
  aspect-ratio: 294/212;
}
.template-post #section-layout .row .gallery_large .larger {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-post #section-layout .row .gallery_large picture {
  margin-bottom: var(--GRID_GUTTER);
  aspect-ratio: 294/212;
}
.template-post #section-layout .row .caption {
  margin-top: var(--P10);
  font-family: "Suisse Intl Book";
  font-size: var(--FS14);
  line-height: normal;
}
.template-post #section-layout .row .data {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: var(--LH14);
  box-sizing: border-box;
}
.template-post #section-layout .row .data h2 {
  margin-bottom: var(--P20);
  margin-left: var(--GRID_MARGIN);
}
.template-post #section-layout .row .data .row {
  display: flex;
  padding: var(--P15) var(--GRID_MARGIN);
  box-sizing: border-box;
  border-bottom: 1px solid black;
}
.template-post #section-layout .row .data .row.first {
  border-top: 1px solid black;
}
.template-post #section-layout .row .data .row .label {
  width: 33%;
}
.template-post #section-layout .row .data .row .value {
  width: 67%;
}
.template-post #section-layout .row .data .row .value strong {
  font-family: "Suisse Intl Medium";
}
.template-post #section-layout .row .data .row .value em {
  font-style: italic;
}
.template-post #section-layout .row .col.full .data {
  width: 100vw;
  margin-left: calc(-1 * var(--GRID_MARGIN));
}
.template-post #section-layout .row .col.full .data h2 {
  margin-left: calc(var(--GRID_MARGIN) + 8%);
}
.template-post #section-layout .row .col.full .data .row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  grid-column-end: span 12;
}
.template-post #section-layout .row .col.full .data .row .label {
  grid-column-start: 2;
  grid-column-end: span 2;
  width: unset;
}
.template-post #section-layout .row .col.full .data .row .value {
  grid-column-start: 4;
  grid-column-end: span 9;
  width: unset;
}
.template-post #section-layout .row .col.full {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-post #section-layout .row .col.full .image_large,
.template-post #section-layout .row .col.full .video_large {
  grid-column-start: 2;
  grid-column-end: span 8;
}
.template-post #section-layout .row .col.full .gallery_large,
.template-post #section-layout .row .col.full .data {
  grid-column-start: 1;
  grid-column-end: span 12;
}
.template-post #section-layout .row:last-child .col.full .data h2 {
  margin-left: var(--GRID_MARGIN);
}
.template-post #section-layout .row:last-child .col.full .data .row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-post #section-layout .row:last-child .col.full .data .row .label {
  grid-column-start: 1;
  grid-column-end: span 3;
  width: unset;
}
.template-post #section-layout .row:last-child .col.full .data .row .value {
  grid-column-start: 4;
  grid-column-end: span 9;
  width: unset;
}
.template-post #section-layout .row .col.full {
  grid-column-end: span 12;
  grid-column-start: 1 !important;
}
.template-post #section-layout .row .col.col-12 {
  grid-column-end: span 4;
}
.template-post #section-layout .row .col.col-8 {
  grid-column-end: span 6;
}
.template-post #section-layout .row .col.col-8:nth-child(1) {
  grid-column-start: 2;
}
.template-post #section-layout .row .col.col-6 {
  grid-column-end: span 3;
}
.template-post #section-layout .row .col.col-6:nth-child(1) {
  grid-column-start: 4;
}
.template-post #section-layout .row .col.col-4 {
  grid-column-end: span 3;
}
.template-post #section-layout .row .col.col-4:nth-child(1) {
  grid-column-start: 2;
}
.template-post #section-layout .row .col:nth-child(1) {
  grid-column-start: 5;
}
.template-post #section-layout .row .col > div {
  margin-bottom: var(--P20);
}
.template-post #section-layout .row .col > div:last-child {
  margin-bottom: 0;
}
.template-post #section-layout .row .col.full .image_large,
.template-post #section-layout .row .col.full .video_large {
  grid-column-start: 3;
  grid-column-end: span 8;
}
.template-post #section-related {
  padding-top: var(--P100);
  padding-bottom: var(--P100);
}
.template-post #section-related h2 {
  padding-bottom: var(--P20);
}
.template-post #section-related .posts {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-post #section-related .posts .post {
  grid-column-end: span 2;
  margin-bottom: var(--P150);
  text-decoration: none;
}
.template-post #section-related .posts .post.hide {
  display: none;
}
.template-post #section-related .posts .post picture {
  margin-bottom: var(--P30);
}
.template-post #section-related .posts .post .title {
  display: flex;
  align-items: flex-start;
  grid-column-start: 1;
  grid-column-end: span 2;
  margin-bottom: var(--P30);
  text-decoration: none;
}
.template-post #section-related .posts .post .title h3 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: normal;
  margin-top: calc(-1 * var(--P2));
}
.template-post #section-related .posts .post .title .cat {
  color: #A5A5A5;
  display: inline-block;
}
.template-post #section-related .posts .post .text a {
  display: block;
}
.template-post #section-related .posts .post {
  grid-column-end: span 2;
}
.template-post #section-related .posts .post picture {
  aspect-ratio: 293/390;
}

.template-services {
  visibility: hidden;
}
.template-services.visible {
  visibility: visible;
}
.template-services #section-top {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding-top: var(--P100);
}
.template-services #section-top h2 {
  grid-column-end: span 1;
  position: sticky;
  top: var(--P155);
  height: 0;
  padding-bottom: 4em;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: var(--LH24);
}
.template-services #section-top .col.education {
  grid-column-end: span 4;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-services #section-top .col.education picture {
  aspect-ratio: 600/717;
}
.template-services #section-top .col.art_science,
.template-services #section-top .col.expertise {
  grid-column-end: span 5;
  grid-template-columns: repeat(5, 1fr);
  column-gap: var(--GRID_GUTTER);
}
.template-services #section-top .col.art_science picture,
.template-services #section-top .col.expertise picture {
  aspect-ratio: 757/512;
}
.template-services #section-top .col.pedagogy {
  grid-column-start: 2;
  grid-column-end: span 3;
}
.template-services #section-top .col.expertise {
  grid-column-start: 7;
  grid-column-end: span 3;
}
.template-services #section-top .col picture {
  margin-bottom: var(--P50);
}
.template-services #section-top .col .intro {
  margin-bottom: var(--P200);
}
.template-services #section-top .col h3 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: 1;
  margin-bottom: var(--P30);
}
.template-services #section-top .col h4 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS18);
  line-height: 1;
  margin-bottom: var(--P30);
}
.template-services #section-top .col .item {
  margin-bottom: var(--P120);
}
.template-services #section-top .col .item:nth-last-child(2) {
  margin-bottom: 0;
}
.template-services #section-top .col .sticky-end {
  height: var(--P200);
}
.template-services #section-highlights {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--GRID_GUTTER);
  padding-top: var(--P12);
  padding-bottom: var(--P250);
}
.template-services #section-highlights .col {
  grid-column-end: span 4;
}
.template-services #section-highlights .col h3 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS14);
  line-height: 1;
  margin-bottom: var(--P50);
}
.template-services #section-highlights .col:nth-child(1) {
  grid-column-start: 2;
}
.template-services #section-highlights .col:nth-child(1) .carrousel .item picture {
  aspect-ratio: 290/386;
}
.template-services #section-highlights .col:nth-child(2) {
  grid-column-start: 7;
  grid-column-end: span 5;
}
.template-services #section-highlights .col:nth-child(2) .carrousel .item picture {
  aspect-ratio: 448/305;
}
.template-services #section-highlights .col:nth-child(2) .carrousel .item {
  grid-template-columns: repeat(5, 1fr);
}
.template-services #section-highlights .col:nth-child(2) .carrousel .item .left {
  grid-column-end: span 3;
}
.template-services #section-highlights .col .carrousel {
  position: relative;
}
.template-services #section-highlights .col .carrousel .item {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: var(--GRID_GUTTER);
  display: none;
}
.template-services #section-highlights .col .carrousel .item.visible {
  display: grid;
}
.template-services #section-highlights .col .carrousel .item .left {
  grid-column-end: span 2;
}
.template-services #section-highlights .col .carrousel .item .left a {
  text-decoration: none;
}
.template-services #section-highlights .col .carrousel .item .left .nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Suisse Intl Medium";
  font-size: var(--FS24);
  line-height: 1;
  user-select: none;
}
.template-services #section-highlights .col .carrousel .item .left .nav .arrow-left,
.template-services #section-highlights .col .carrousel .item .left .nav .arrow-right {
  cursor: pointer;
}
.template-services #section-highlights .col .carrousel .item .right {
  grid-column-end: span 2;
}
.template-services #section-highlights .col .carrousel .item .right h4 {
  font-family: "Suisse Intl Medium";
  font-size: var(--FS18);
  line-height: var(--LH18);
  text-decoration: underline;
  margin-bottom: var(--P30);
}

@media (max-width: 1280px) {
  :root {
    --FS14: calc(14 * 0.0625rem);
    --FS16: calc(16 * 0.0625rem);
    --FS18: calc(18 * 0.0625rem);
    --FS24: calc(24 * 0.0625rem);
    --FS90: calc(90 * 0.0625rem);
  }
  :root {
    --GRID_MARGIN: 40px;
    --GRID_GUTTER: 15px;
    --P10: calc(10 * 0.0625rem);
    --P15: calc(15 * 0.0625rem);
    --P20: calc(20 * 0.0625rem);
    --P25: calc(25 * 0.0625rem);
    --P30: calc(30 * 0.0625rem);
    --P32: calc(32 * 0.0625rem);
    --P50: calc(50 * 0.0625rem);
    --P100: calc(100 * 0.0625rem);
    --P120: calc(120 * 0.0625rem);
    --P150: calc(150 * 0.0625rem);
    --P200: calc(200 * 0.0625rem);
    --P250: calc(250 * 0.0625rem);
    --P2: calc(2 * 0.0625rem);
    --P3: calc(3 * 0.0625rem);
    --P4: calc(4 * 0.0625rem);
    --P12: calc(12 * 0.0625rem);
    --P13: calc(13 * 0.0625rem);
    --P55: calc(55 * 0.0625rem);
    --P155: calc(155 * 0.0625rem);
    --P205: calc(205 * 0.0625rem);
  }
}
@media (max-width: 720px) {
  :root {
    --FS14: calc(14 * 0.0625rem);
    --FS16: calc(16 * 0.0625rem);
    --FS18: calc(18 * 0.0625rem);
    --FS24: calc(24 * 0.0625rem);
    --FS45: calc(45 * 0.0625rem);
  }
  :root {
    --GRID_MARGIN: 20px;
    --GRID_GUTTER: 10px;
    --P10: calc(10 * 0.0625rem);
    --P15: calc(15 * 0.0625rem);
    --P20: calc(20 * 0.0625rem);
    --P25: calc(25 * 0.0625rem);
    --P30: calc(30 * 0.0625rem);
    --P32: calc(32 * 0.0625rem);
    --P50: calc(50 * 0.0625rem);
    --P100: calc(100 * 0.0625rem);
    --P120: calc(120 * 0.0625rem);
    --P150: calc(150 * 0.0625rem);
    --P200: calc(200 * 0.0625rem);
    --P250: calc(250 * 0.0625rem);
    --P2: calc(2 * 0.0625rem);
    --P3: calc(3 * 0.0625rem);
    --P4: calc(4 * 0.0625rem);
    --P12: calc(12 * 0.0625rem);
    --P13: calc(13 * 0.0625rem);
    --P55: calc(55 * 0.0625rem);
    --P155: calc(155 * 0.0625rem);
    --PP: calc(1em * 1.3);
    --P60: calc(60 * 0.0625rem);
    --P40: calc(40 * 0.0625rem);
  }
  #debug-grid {
    display: none !important;
  }
  header {
    display: flex;
    flex-wrap: wrap;
  }
  header #home-link {
    display: block;
    margin-bottom: var(--P15);
    width: 100%;
  }
  header #header-menu {
    position: relative;
    left: unset;
    transform: none;
  }
  footer {
    display: block;
    padding: var(--GRID_MARGIN) 0;
    font-size: var(--FS14);
    line-height: normal;
  }
  footer::before {
    left: calc(-1 * var(--GRID_MARGIN));
  }
  footer .newsletter .label {
    font-size: var(--FS14);
  }
  footer .newsletter form input,
  footer .newsletter form input::placeholder,
  footer .newsletter form input:focus,
  footer .newsletter form input:active {
    font-size: var(--FS14);
    border-radius: 0 !important;
  }
  .template-about .tick svg,
  .template-about .tag svg,
  .template-contact .tick svg,
  .template-contact .tag svg,
  .template-home .tick svg,
  .template-home .tag svg,
  .template-portfolio .tick svg,
  .template-portfolio .tag svg,
  .template-services .tick svg,
  .template-services .tag svg,
  .template-project .tick svg,
  .template-project .tag svg,
  .template-error .tick svg,
  .template-error .tag svg,
  .template-blog .tick svg,
  .template-blog .tag svg,
  .template-post .tick svg,
  .template-post .tag svg {
    width: round(nearest, var(--P13), 1px);
  }
  .template-about #section-top {
    display: block;
    padding-top: var(--P50);
    padding-bottom: var(--P50);
  }
  .template-about #section-top .intro {
    margin-bottom: var(--P30);
  }
  .template-about #section-top .text {
    margin-bottom: var(--PP);
  }
  .template-about #section-team {
    display: block;
    padding-top: var(--P50);
    padding-bottom: var(--P100);
  }
  .template-about #section-team h2 {
    margin-bottom: var(--P20);
  }
  .template-about #section-team .intro {
    margin-bottom: var(--P30);
  }
  .template-about #section-team .members {
    display: block;
  }
  .template-blog header {
    height: 5.1875rem;
  }
  .template-blog #section-tags {
    top: 5.1875rem;
    overflow: scroll;
  }
  .template-blog #section-tags .tag {
    flex-wrap: nowrap;
    white-space: nowrap;
    margin-right: var(--P20);
  }
  .template-blog #section-tags .tag:last-child {
    margin-right: 0;
  }
  .template-blog #section-blog {
    padding-top: var(--P50);
  }
  .template-blog #section-blog .posts .post {
    grid-column-end: span 12;
    margin-bottom: var(--P50);
  }
  .template-blog #section-blog .posts .post picture {
    aspect-ratio: 1/1;
  }
  .template-blog #section-blog .posts .post.cat {
    aspect-ratio: 1/1;
  }
  .template-contact #section-top,
  .template-error #section-top {
    display: block;
    padding-top: var(--P50);
  }
  .template-contact #section-top .intro,
  .template-error #section-top .intro {
    margin-bottom: var(--P30);
  }
  .template-contact #section-top .text,
  .template-error #section-top .text {
    margin-bottom: var(--P50);
  }
  .template-home header {
    margin-bottom: 0;
  }
  .template-home #section-top .headline {
    padding-top: var(--GRID_MARGIN);
    padding-bottom: var(--P50);
    font-size: var(--FS45);
    line-height: var(--LH90);
  }
  .template-home #section-top .headline h1 {
    font-size: var(--FS45);
    line-height: var(--LH90);
  }
  .template-home #section-intro {
    display: block;
    padding-top: var(--P50);
    padding-bottom: var(--P50);
  }
  .template-home #section-intro h2 {
    margin-bottom: var(--P20);
  }
  .template-home #section-intro .about {
    margin-bottom: var(--P50);
  }
  .template-home #section-intro .services .cols {
    display: block;
  }
  .template-home #section-intro .services .cols .col {
    margin-bottom: var(--P30);
  }
  .template-home #section-intro .services .cols .col h3 {
    margin-bottom: var(--P25);
  }
  .template-home #section-intro .services .cols .col picture {
    margin-bottom: var(--P25);
  }
  .template-home #section-portfolio {
    padding-top: var(--P50);
    padding-bottom: var(--P50);
  }
  .template-home #section-portfolio h2 {
    padding-bottom: var(--P20);
  }
  .template-home #section-portfolio .projects .project {
    display: block;
    position: relative;
    padding: var(--P40) 0;
  }
  .template-home #section-portfolio .projects .project .title {
    margin-bottom: var(--P20);
    padding-right: var(--P25);
  }
  .template-home #section-portfolio .projects .project .image {
    margin-bottom: var(--P20);
  }
  .template-home #section-portfolio .projects .project .text {
    margin-bottom: var(--P20);
  }
  .template-home #section-portfolio .projects .project .collab {
    text-align: left;
  }
  .template-home #section-portfolio .projects .project .link {
    position: absolute;
    right: 0;
    top: var(--P15);
  }
  .template-home #section-portfolio h2::after,
  .template-home #section-portfolio .project::after {
    left: calc(-1 * var(--GRID_MARGIN));
  }
  .template-home #section-blog {
    padding-top: var(--P50);
    padding-bottom: var(--P100);
  }
  .template-home #section-blog .posts .post {
    grid-column-end: span 12;
    margin-bottom: var(--P50);
  }
  .template-home #section-blog .posts .post picture {
    aspect-ratio: 1/1;
  }
  .template-home #section-blog .intro {
    width: 100%;
  }
  .template-portfolio header {
    height: 5.1875rem;
  }
  .template-portfolio #section-tags {
    top: 5.1875rem;
    overflow: scroll;
  }
  .template-portfolio #section-tags .tag {
    flex-wrap: nowrap;
    white-space: nowrap;
    margin-right: var(--P20);
  }
  .template-portfolio #section-tags .tag:last-child {
    margin-right: 0;
  }
  .template-portfolio #section-portfolio {
    padding-top: 0;
  }
  .template-portfolio #section-portfolio .projects .project {
    display: block;
    position: relative;
    padding: var(--P40) 0;
  }
  .template-portfolio #section-portfolio .projects .project .title {
    margin-bottom: var(--P20);
    padding-right: var(--P25);
  }
  .template-portfolio #section-portfolio .projects .project .image {
    margin-bottom: var(--P20);
  }
  .template-portfolio #section-portfolio .projects .project .text {
    margin-bottom: var(--P20);
  }
  .template-portfolio #section-portfolio .projects .project .collab {
    text-align: left;
  }
  .template-portfolio #section-portfolio .projects .project .link {
    position: absolute;
    right: 0;
    top: var(--P15);
  }
  .template-project #section-top {
    display: block;
    padding-top: var(--P50);
    padding-bottom: var(--P100);
    margin-bottom: 0;
  }
  .template-project #section-top .left {
    margin-bottom: var(--P50);
  }
  .template-project #section-top .right {
    position: relative;
    top: unset;
    bottom: unset;
    padding-bottom: unset;
  }
  .template-project #section-top .right .carrousel .item .nav {
    padding-top: var(--P10);
  }
  .template-project #section-data {
    padding-top: var(--P150);
    width: 100vw;
    box-sizing: border-box;
    margin-left: calc(-1 * var(--GRID_MARGIN));
  }
  .template-project #section-data .row {
    grid-template-columns: repeat(6, 1fr);
    padding: var(--P15) var(--GRID_MARGIN);
  }
  .template-project #section-data .row .label {
    grid-column-start: 1;
    grid-column-end: span 2;
  }
  .template-project #section-data .row .value {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
  .template-project #section-layout .row {
    display: block;
  }
  .template-project #section-layout .row .quotation {
    height: unset;
  }
  .template-project #section-layout .row .col-8:nth-child(1) .image,
  .template-project #section-layout .row .col-8:nth-child(1) .video, .template-project #section-layout .row .col-6:nth-child(1) .image,
  .template-project #section-layout .row .col-6:nth-child(1) .video {
    padding-right: 0;
  }
  .template-project #section-layout .row .col-8:nth-child(2) .image,
  .template-project #section-layout .row .col-8:nth-child(2) .video, .template-project #section-layout .row .col-6:nth-child(2) .image,
  .template-project #section-layout .row .col-6:nth-child(2) .video {
    padding-left: 0;
  }
  .template-project #section-layout .row .col-4:nth-child(1) .image,
  .template-project #section-layout .row .col-4:nth-child(1) .video {
    padding-right: 0;
  }
  .template-project #section-layout .row .col-4:nth-child(2) .image,
  .template-project #section-layout .row .col-4:nth-child(2) .video {
    padding-left: 0;
  }
  .template-project #section-layout .row .col-4:nth-child(3) .image,
  .template-project #section-layout .row .col-4:nth-child(3) .video {
    padding-left: 0;
  }
  .template-project #section-layout .row .gallery {
    display: block;
  }
  .template-project #section-layout .row .gallery_large .larger {
    display: block;
  }
  .template-project #section-layout .row .col.full .data {
    width: 100vw;
    margin-left: calc(-1 * var(--GRID_MARGIN));
  }
  .template-project #section-layout .row .col.full .data h2 {
    margin-left: calc(var(--GRID_MARGIN));
  }
  .template-project #section-layout .row .col.full .data .row {
    grid-template-columns: repeat(6, 1fr);
  }
  .template-project #section-layout .row .col.full .data .row .label {
    grid-column-start: 1;
    grid-column-end: span 2;
  }
  .template-project #section-layout .row .col.full .data .row .value {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
  .template-project #section-layout .row .col.full {
    display: block;
  }
  .template-project #section-layout .row:last-child .col.full .data .row {
    grid-template-columns: repeat(6, 1fr);
  }
  .template-project #section-layout .row:last-child .col.full .data .row .label {
    grid-column-start: 1;
    grid-column-end: span 2;
  }
  .template-project #section-layout .row:last-child .col.full .data .row .value {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
  .template-project #section-related {
    padding-top: var(--P50);
  }
  .template-project #section-related .posts .post {
    grid-column-end: span 12;
    margin-bottom: var(--P50);
  }
  .template-post #section-top {
    display: block;
  }
  .template-post #section-layout .row {
    display: block;
  }
  .template-post #section-layout .row .quotation {
    height: unset;
  }
  .template-post #section-layout .row .col-8:nth-child(1) .image,
  .template-post #section-layout .row .col-8:nth-child(1) .video, .template-post #section-layout .row .col-6:nth-child(1) .image,
  .template-post #section-layout .row .col-6:nth-child(1) .video {
    padding-right: 0;
  }
  .template-post #section-layout .row .col-8:nth-child(2) .image,
  .template-post #section-layout .row .col-8:nth-child(2) .video, .template-post #section-layout .row .col-6:nth-child(2) .image,
  .template-post #section-layout .row .col-6:nth-child(2) .video {
    padding-left: 0;
  }
  .template-post #section-layout .row .col-4:nth-child(1) .image,
  .template-post #section-layout .row .col-4:nth-child(1) .video {
    padding-right: 0;
  }
  .template-post #section-layout .row .col-4:nth-child(2) .image,
  .template-post #section-layout .row .col-4:nth-child(2) .video {
    padding-left: 0;
  }
  .template-post #section-layout .row .col-4:nth-child(3) .image,
  .template-post #section-layout .row .col-4:nth-child(3) .video {
    padding-left: 0;
  }
  .template-post #section-layout .row .gallery {
    display: block;
  }
  .template-post #section-layout .row .gallery_large .larger {
    display: block;
  }
  .template-post #section-layout .row .col.full .data {
    width: 100vw;
    margin-left: calc(-1 * var(--GRID_MARGIN));
  }
  .template-post #section-layout .row .col.full .data h2 {
    margin-left: calc(var(--GRID_MARGIN));
  }
  .template-post #section-layout .row .col.full .data .row {
    grid-template-columns: repeat(6, 1fr);
  }
  .template-post #section-layout .row .col.full .data .row .label {
    grid-column-start: 1;
    grid-column-end: span 2;
  }
  .template-post #section-layout .row .col.full .data .row .value {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
  .template-post #section-layout .row .col.full {
    display: block;
  }
  .template-post #section-layout .row:last-child .col.full .data .row {
    grid-template-columns: repeat(6, 1fr);
  }
  .template-post #section-layout .row:last-child .col.full .data .row .label {
    grid-column-start: 1;
    grid-column-end: span 2;
  }
  .template-post #section-layout .row:last-child .col.full .data .row .value {
    grid-column-start: 3;
    grid-column-end: span 4;
  }
  .template-post #section-related .posts .post {
    grid-column-end: span 12;
    margin-bottom: var(--P50);
  }
  .template-post #section-related .posts .post picture {
    aspect-ratio: 1/1;
  }
  .template-services #section-top {
    display: flex;
    flex-direction: column;
    padding-top: var(--P50);
  }
  .template-services #section-top h2 {
    position: relative;
    top: unset;
    height: unset;
    padding-bottom: 0;
    margin-bottom: var(--P30);
  }
  .template-services #section-top h2:nth-child(1) {
    order: 1;
  }
  .template-services #section-top h2:nth-child(3) {
    order: 4;
  }
  .template-services #section-top .col.education {
    order: 2;
  }
  .template-services #section-top .col.art_science {
    order: 5;
  }
  .template-services #section-top .col.pedagogy {
    order: 3;
    margin-bottom: var(--P100);
  }
  .template-services #section-top .col.expertise {
    order: 6;
    margin-bottom: var(--P100);
  }
  .template-services #section-top .col picture {
    margin-bottom: var(--P25);
  }
  .template-services #section-top .col .intro {
    margin-bottom: var(--P50);
  }
  .template-services #section-top .col h3 {
    margin-bottom: var(--P30);
  }
  .template-services #section-top .col h4 {
    margin-bottom: var(--P20);
  }
  .template-services #section-top .col .item {
    margin-bottom: var(--P30);
  }
  .template-services #section-top .col .sticky-end {
    display: none;
  }
  .template-services #section-highlights {
    display: block;
    padding-top: 0;
    padding-bottom: var(--P100);
  }
  .template-services #section-highlights .col {
    margin-bottom: var(--P100);
  }
  .template-services #section-highlights .col:last-child {
    margin-bottom: 0;
  }
  .template-services #section-highlights .col h3 {
    margin-bottom: var(--P30);
  }
  .template-services #section-highlights .col:nth-child(1) .carrousel .item picture {
    aspect-ratio: 1/1;
  }
  .template-services #section-highlights .col .carrousel .item {
    display: none;
  }
  .template-services #section-highlights .col .carrousel .item.visible {
    display: block;
  }
  .template-services #section-highlights .col .carrousel .item .left {
    margin-bottom: var(--P25);
  }
  .template-services #section-highlights .col .carrousel .item .right h4 {
    margin-bottom: var(--P20);
  }
}