/*
Theme Name: TACIT
Author: SU—F Studio
Description: Custom Theme for TACIT
Version: 0.0.1
Tags: custom, su-f, souncalledfor, sufsufstudio, design studio, design, studio
*/

/*
 * Globals
 */

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter_18pt-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter_18pt-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter_18pt-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter_18pt-ExtraBold.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: "Inter";
    src: url("assets/fonts/Inter_18pt-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
}

:root {
    /* FONT SIZES */
    --fs-2xl: 54px;
    --fs-xl: 40px;
    --fs-lg: 24px;
    --fs-md: 18px;
    --fs-sm: 15px;
    --fs-xs: 12px;

    /* LINE HEIGHTs */
    --lh-lg: 1.5;
    --lh-md: 1.33;
    --lh-sm: 1.15;

    /* LETTER SPACING */
    --ls-xl: 0.8px;
    --ls-lg: 0.5px;
    --ls-md: 0.35px;

    /* BORDER RADIUS */
    --border-radius-xl: 999px;
    --border-radius-lg: 28px;
    --border-radius-md: 21px;
    --border-radius-sm: 13px;
    --border-radius-xs: 10px;

    /* SPACING */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 20px;
    --space-xl: 30px;
    --space-2xl: 40px;
    --space-3xl: 50px;
    --space-4xl: 60px;

    /* COLORS */
    --color-black: #050505;
    --color-white: #ffffff;
    --color-off-white: #F5F5F5;
    --color-dark-grey: #78797D;


    --color-blue: #C3D1FF;
    --color-dark-blue: #7D97EB;
    --color-light-blue: #E5EBFF;
    --color-dark-purple: #A29CFF;
    --color-light-purple: #D1CCFF;

    --color-logo-bg: #0A2067;
    --color-logo-text: #E0E7FF;


    /* BOX SHADOW */
    --box-shadow: -4px 4px 12px rgba(6, 7, 35, 0.06);

    /* HEADER HEIGHT */
    --header-height: calc(var(--space-3xl) + var(--space-sm));
    --header-total-height: calc(var(--header-height) + var(--space-sm) + var(--space-lg));
}


/* #region BASE & RESET */

html,
body {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

::-webkit-scrollbar {
    width: 0px;
    height: 0px;
    background: transparent;
}

body {
    -ms-autohiding-scrollbar: auto;
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    overflow-x: hidden;
    color: var(--color-black);
    background-color: var(--color-off-white);
    font-family: "Inter", Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* #endregion */


/* #region TYPOGRAPHY */

h1,
h2,
h3,
h4,
summary {
    font-weight: 600;
    margin: 0;
    padding: 0;
}

h5,
h6,
ul,
ol,
p,
span,
input,
textarea,
figcaption,
label,
button,
details,
.pill,
.wp-block-button .wp-block-button__link,
a.wp-block-button__link {
    font-weight: 500;
    line-height: var(--lh-lg);
    margin: 0;
    padding: 0;
}

h1 {
    font-size: var(--fs-2xl);
    line-height: var(--lh-sm);
    letter-spacing: var(--ls-lg);
    margin-bottom: calc(var(--fs-2xl) * 0.93);
}

h2,
.wp-block-group:has(h2),
summary {
    font-size: var(--fs-xl);
    line-height: var(--lh-md);
    letter-spacing: var(--ls-xl);
    margin-bottom: calc(var(--fs-xl) * 0.75);
}

h3,
h4 {
    font-size: var(--fs-lg);
    line-height: var(--lh-md);
    letter-spacing: var(--ls-md);
    margin-bottom: var(--fs-lg);
}

h5,
input,
.wp-block-button .wp-block-button__link,
a.wp-block-button__link,
button.wp-block-button__link,
.card--small p,
.nav-item {
    font-size: var(--fs-sm);
    line-height: var(--lh-lg);
    letter-spacing: var(--ls-md);
}

h6,
.pill,
.swiper__content .wp-block-button__link,
.footer-menu--legal * {
    font-size: var(--fs-xs);
    line-height: var(--lh-lg);
    letter-spacing: var(--ls-md);
    text-transform: uppercase;
}

p,
ul,
ol {
    font-size: var(--fs-md);
    letter-spacing: var(--ls-md);
}

p+p {
    margin-top: calc(var(--fs-sm) * var(--lh-md));
}

a {
    text-decoration: none;
    color: var(--color-black);
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

strong,
b {
    font-weight: 600;
}

figure {
    position: relative;
    display: inline-block;
    vertical-align: top;
    font-size: 0;
    margin: 0;
    width: 100%;
}

img,
video {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.section figcaption {
    margin-top: 1vw;
    margin-bottom: 0 !important;
}

/* #endregion */


/* #region GLOBAL */

main {
    display: block;
    height: auto;
    position: relative;
    min-height: 100lvh;
    margin-top: calc(var(--header-total-height) + var(--space-4xl) * 2 + var(--space-xl));
}

section,
.section {
    display: block;
    position: relative;
    width: 100%;
    margin: auto;
    box-sizing: border-box;
    opacity: 0;
    animation: fadeIn 1s 0.5s;
    animation-fill-mode: forwards;
}

section>*,
.section--footer>* {
    max-width: 1600px;
    width: 100%;
    padding: var(--space-4xl);
    box-sizing: border-box;
    margin: auto;
}

.section--footer>* {
    padding-bottom: var(--space-2xl);
}

/* #endregion */


/* #region GRID SYSTEMS */
.grid {
    display: grid;
    gap: var(--space-2xl);
}

.grid--2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid--4 {
    grid-template-columns: repeat(4, 1fr);
}

.grid--6 {
    grid-template-columns: repeat(6, 1fr);
}

.grid--10 {
    grid-template-columns: repeat(10, 1fr);
}

.grid--12 {
    grid-template-columns: repeat(12, 1fr);
}

/* #endregion */


/* #region BLOCKS */

.wp-block-button .wp-block-button__link,
li.wp-block-button__link,
a.wp-block-button__link,
button.wp-block-button__link {
    background-color: var(--color-blue);
    color: var(--color-black);
    border-radius: var(--border-radius-xl);
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    height: auto;
    padding: var(--space-sm) var(--space-md);
    text-wrap: nowrap;
    border: none;
    transition: 0.3s ease;
}

.wp-block-button .wp-block-button__link:hover,
li.wp-block-button__link:hover,
a.wp-block-button__link:hover,
button.wp-block-button__link:hover {
    background-color: var(--color-dark-blue);
}

.wp-block-button.is-empty {
    opacity: 0;
    pointer-events: none;
}

.wp-block-columns {
    gap: var(--space-2xl);
    margin: 0;
    justify-content: space-between;
}

.wp-block-column {
    display: flex;
    flex-direction: column;
}

.card {
    padding: var(--space-2xl);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--box-shadow);
}

.card--small {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    padding: var(--space-md);
    border-radius: var(--border-radius-md);
    background: var(--color-off-white);
}

.output.card--small,
.partner.card--small {
    background: var(--color-white);
    box-shadow: var(--box-shadow);
}

.card__top {
    display: flex;
    gap: var(--space-lg);
}

.pill {
    display: flex;
    align-items: center;
    padding: var(--space-xs) calc(var(--space-xs) * 3);
    background-color: var(--color-white);
    border-radius: var(--border-radius-xl);
    width: fit-content;
    box-sizing: border-box;
}

.page-pill-header {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.output__pills .pill:not(.pill--type) {
    background-color: var(--color-off-white);
}

.pill--type {
    background-color: var(--color-light-blue);
}

.partner.pill {
    gap: var(--space-sm);
    padding: 6px;
}

.partner.pill img {
    display: flex;
    align-items: center;
    width: 24px;
    aspect-ratio: 1;
    border-radius: var(--border-radius-xl);
    object-fit: contain;
}

.partner.pill {
    display: flex;
    align-items: center;
    gap: var(--space-sm);

    max-width: 36px;
    padding: 6px;

    overflow: hidden;
    white-space: nowrap;

    transition: max-width 0.5s ease;
}

.partner.pill .partner-name {
    display: block;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 1;
    transition: opacity 0.15s ease;
}

.partner.pill:not(:hover) .partner-name {
    opacity: 0;
}

.partner.pill:hover {
    max-width: 220px;
    padding-right: var(--space-sm);
}

.icon {
    aspect-ratio: 1 / 1;
    background-color: var(--color-blue);
    border-radius: var(--border-radius-sm);
    box-sizing: border-box;
	height: 100%
}

/* #endregion */


/* #region HEADER */

header {
    position: fixed;
    top: calc(var(--space-sm) + var(--space-lg));
    z-index: 250;
    width: 100%;
    max-width: 1600px;
    left: 50%;
    transform: translateX(-50%);
}

header .section-container {
    padding: 0 var(--space-4xl);
    height: var(--header-height);
    align-items: stretch;
    display: flex;
    justify-content: space-between;
}

header .header__logo {
    display: flex;
    align-items: center;
    font-size: 30px;
    font-weight: 900;
    color: var(--color-logo-text);
    background-color: var(--color-logo-bg);
    padding: var(--space-sm) var(--space-lg);
    border-radius: var(--border-radius-xl);
    height: 100%;
    box-sizing: border-box;
    grid-column: span 2;
    width: fit-content;
}

header .header__nav {
    display: flex;
    flex-direction: row-reverse;
    gap: var(--space-2xl);
    align-items: center;
    background-color: var(--color-white);
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-xl);
    padding: var(--space-md) var(--space-2xl);
    box-sizing: border-box;
    justify-content: space-between;
    height: 100%;
}

header .header__nav__group {
    display: none;
}

header ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    gap: var(--space-2xl);
    width: 100%;
}

header li:first-of-type a {
    display: flex;
    align-items: center;
}

.nav-link {
    position: relative;
    display: block;
}

.nav-link span {
    position: absolute;
    inset: 0;
    text-align: center;
    transition: opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.nav-link .label,
.nav-link .label-bold {
    transition: opacity 0.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
}

.nav-link .label-bold {
    font-weight: 800;
    opacity: 0;
}

.nav-item:hover .label-bold,
.nav-item.current .label-bold {
    opacity: 1;
}

.nav-item:hover span,
.nav-item.current span {
    opacity: 0;
}

header .menu-toggle {
    display: none;
}

/* #endregion */


/* #region SWIPER */

.swiper {
    width: calc(100% + (var(--space-2xl) * 2));
    margin-inline: calc(var(--space-2xl) * -1) !important;
	padding-left: calc(var(--space-4xl)*2) !important;
}

.swiper.swiper--partners {
    overflow: visible;
    max-width: 100vw;
}

.swiper .swiper-slide {
    display: flex;
    height: auto;
    box-sizing: border-box;
}

.swiper .swiper-slide--vertical {
    flex-direction: column;
    width: clamp(400px, 33%, 33vw);
    gap: var(--space-xl);
}

.swiper .swiper-slide--horizontal {
    width: clamp(680px, 50%, 50vw);
    gap: var(--space-2xl);
}

.swiper__image {
    display: flex;
    justify-content: center;
    border-radius: var(--border-radius-md);
    overflow: hidden;
    width: 40%;
}

.swiper__image:not(.swiper__image--partner)>img {
    object-fit: cover;
}

.swiper-slide--horizontal .swiper__image--partner img {
    object-fit: contain;
}

.swiper__content {
    width: 60%;
    display: flex;
    flex-direction: column;
}

.swiper__content h6 {
    color: var(--color-dark-grey);
}

.swiper__content h3 {
    margin-bottom: var(--fs-sm);
}

.swiper__content p,
.swiper__content .wp-block-button {
    margin-top: auto;
}

.swiper__content p + .wp-block-button {
    margin-top: var(--space-lg);
}

.swiper__partners {
    display: flex;
    gap: calc(var(--space-xs) * 3);
    margin-top: auto;
}


/* #endregion */


/* #region SECTION INTRO */

.section--intro>* {
    padding-top: 0;
}

.section--intro h4 {
    width: 80%;
    font-weight: 400;
}

.section--intro .wp-block-buttons {
    margin-top: var(--space-md);
}

.section--intro .wp-block-columns .wp-block-column img {
    width: 100%;
    height: 100%;
    object-position: center center;
}

/* #endregion */


/* #region SECTION PROJECTS */

.section--projects h2+p {
    margin-bottom: var(--space-4xl);
}

.section--projects .section-container:nth-of-type(1) {
    background-color: var(--color-white);
    grid-column: span 3;
	overflow: hidden;
}

.section--projects .section-container:nth-of-type(2) {
    background-color: var(--color-light-blue);
    grid-column: span 2;
}

.section--projects .section-container:nth-of-type(3) {
    background-color: var(--color-white);
    grid-column: span 1;
}

.section--projects .section-container:nth-of-type(1) .wp-block-heading+p {
    width: 33.33%;
}

.section--projects .section-container:nth-of-type(2) .wp-block-heading+p {
    width: 66.66%;
}

.section--projects .section-container:nth-of-type(2) .grid {
    gap: var(--space-lg);
}

.project__header {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-xs) * 3);
}

.project__title {
    margin: 0;
}

.project--ac .icon {
    height: 100px;
    padding: var(--space-md);
}

.project--management .icon {
    height: var(--space-2xl);
    padding: 6px;
}

.project--management .card__top {
    align-items: center;
}

.project--management p {
    margin-top: var(--space-lg);
}

.project--management+.project--management {
    margin-top: calc(var(--space-lg) + var(--space-4xl));
}

/* #endregion */


/* #region ABOUT US */

.section--about .wp-block-columns {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--space-2xl);
}

.section--about .wp-block-column:first-of-type {
    grid-column: span 5;
}

.section--about .wp-block-column:nth-of-type(2) {
    grid-column: 7 / span 6;
}

.section--about figure {
    position: sticky;
    top: calc(var(--header-total-height) + var(--space-2xl));
}

/* #endregion */


/* #region EVENTS */

.section--events .section-container,
.section--footer .section-container {
    background-color: var(--color-light-blue);
}

.section--events h2 {
    width: 50%;
}

.section--events .section-container>.grid {
    gap: var(--space-lg);
}

.event {
    background-color: var(--color-white);
    padding: calc(var(--space-xs) * 3) var(--space-md) calc(var(--space-xs) * 3) var(--space-lg);
    border-radius: var(--border-radius-md);
    grid-column: span 2;
}

.event__field {
    grid-column: span 3;
}

.event__field h6 {
    color: var(--color-dark-grey);
}

.event .wp-block-button {
    grid-column: 10;
}

/* #endregion */


/* #region OUTPUTS */

.section--outputs .section-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.section--outputs .page-pill-header {
    align-items: center;
    text-align: center;
    width: 45%;
    margin-bottom: var(--space-xl);
}

.outputs {
    width: 100%;
}

.output {
    width: calc((100% - (var(--space-2xl) * 2)) / 3);
    margin-bottom: var(--space-2xl);
    gap: var(--space-lg);
    box-sizing: border-box;
    position: relative;
}

.output.is-clickable {
    cursor: pointer;
}

.output__stretched-link {
    position: absolute;
    inset: 0;
    z-index: 5;
    text-indent: -9999px;
    overflow: hidden;
}

.output__pills {
    display: flex;
    gap: calc(var(--space-xs) * 3);
    margin-bottom: var(--space-md);
}

.output__title,
.output__author,
.output p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.output__title {
    margin: 0;
    -webkit-line-clamp: 2;
}

.output__author {
    color: var(--color-dark-grey);
    -webkit-line-clamp: 1;
}

.output p {
    -webkit-line-clamp: 4;
}


/* #endregion */


/* #region PARTNERS & PEOPLE */

.section--partners {
    overflow: hidden;
}

.section--partners .page-pill-header {
    width: 55%;
    margin-bottom: var(--space-xl);
}

.partner {
    flex-direction: row;
    padding: calc(var(--space-xs) + var(--space-lg));
}

.section--partners .swiper__partners {
    position: absolute;
    bottom: calc(var(--space-xs) + var(--space-lg) + var(--space-lg));
    left: calc(var(--space-xs) + var(--space-lg) + var(--space-lg));
}

.section--partners .partner.pill .partner-name {
    max-width: 150px;
}

/* #endregion */


/* #region FOOTER */

.section--footer .card {
    padding-bottom: var(--space-lg);
    row-gap: calc(var(--space-xl) * 3);
}

.section--footer .section-container> :first-child,
.footer-menu--legal .legal-menu {
    grid-column: span 2;
}

.footer-menu--legal {
    grid-column: span 4;
}

.footer-menu--main :first-child+ul {
    margin-top: var(--space-sm);
}


.section--footer h6,
.footer-menu--legal * {
    color: var(--color-dark-grey);
}

.footer-menu--legal>*:not(.legal-menu) {
    grid-column: span 1;
}

/* #endregion */


/* #region ONE TAP ACCESSIBILITY */

.onetap-toggle img {
    opacity: 0;
}

body .onetap-container-toggle .onetap-toggle {
    background-color: var(--color-dark-blue) !important;
    border-radius: var(--border-radius-xl);
    box-shadow: var(--box-shadow) !important;
    transition: 0.3s ease !important;
}

body .onetap-container-toggle .onetap-toggle:hover {
    background-color: var(--color-blue) !important;
    cursor: pointer;
}


.onetap-toggle::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--color-black);
    mask: url('assets/svg/accessibility.svg') no-repeat center / 60%;
    -webkit-mask: url('assets/svg/accessibility.svg') no-repeat center / 60%;
}


@media (max-width: 1200px) {
    header .header__nav {
        grid-column: 5 / span 8;
    }
}


@media (max-width: 1024px) {

    /* #region HEADER */

    header .section-container {
        display: flex;
        justify-content: space-between;
        height: auto;
    }

    header .header__logo {
        font-size: var(--fs-lg);
        display: flex;
        align-items: center;
        padding-block: calc(var(--space-xs) * 3);
    }

        header .header__nav {
        flex-direction: column;
        overflow: hidden;
        padding: calc(var(--space-xs) * 3) var(--space-md) calc(var(--space-xs) * 3) var(--space-lg);
        min-width: unset;
        border-radius: 24px;
        gap: 0;
        height: auto;
        transition: height 0.3s ease;
    }

    header .header__nav__group {
        display: flex;
        align-items: center;
        gap: calc(var(--space-xs) * 3);
        cursor: pointer;
        width: calc(var(--space-4xl) + var(--space-xs) * 3);
        margin-top: 2px;
    }

    header .nav-link span {
        text-align: unset;
    }

    header .header__nav>ul {
        max-height: 0;
        overflow: hidden;
        flex-direction: column;
        align-items: flex-start;
        transition: 0.3s ease 0.2s;
        gap: var(--space-lg);
    }

    header .header__nav.open>ul {
        max-height: 500px;
        padding-top: var(--space-lg);
        
    }

    header ul.menu-toggle {
        display: flex;
    }

    header ul.menu-toggle li {
        display: flex;
    }

    header ul.menu-toggle li svg {
        stroke: var(--color-black);
        width: var(--fs-sm);
        height: var(--fs-sm);
    }

    header ul.menu-toggle svg g:fist-child {
        opacity: 1;
        transition: opacity .2s .2s;
    }

    header ul.menu-toggle svg g:first-child line {
        transition: transform .2s .2s;
        transform: translateY(0px);
    }

    header ul.menu-toggle svg g:last-child {
        opacity: 0;
        transition: opacity 0s .2s;
    }

    header ul.menu-toggle svg g:last-child line {
        transition: transform .2s;
        transform: rotate(0deg);
        transform-origin: center;
    }

    header .header__nav.open svg g:first-child {
        opacity: 0;
        transition: opacity .2s .2s;
    }

    header .header__nav.open svg g:first-child line {
        transition: transform .2s;
    }

    header .header__nav.open svg g:first-child line:first-child {
        transform: translateY(7px);
    }

    header .header__nav.open svg g:first-child line:last-child {
        transform: translateY(-7px);

    }

    header .header__nav.open svg g:last-child {
        opacity: 1;
    }

    header .header__nav.open svg g:last-child line {
        transition: transform .2s .2s;
    }

    header .header__nav.open svg g:last-child line:first-child {
        transform: rotate(45deg);
        transform-origin: center;
    }

    header .header__nav.open svg g:last-child line:last-child {
        transform: rotate(-45deg);
        transform-origin: center;
    }

    /* #endregion */

    /* #region SECTIONS */

    .section--intro h4,
    .section--projects .section-container:nth-of-type(1) .wp-block-heading+p,
    .section--projects .section-container:nth-of-type(2) .wp-block-heading+p,
    .section--events h2,
    .section--partners .page-pill-header {
        width: 100%;
    }

    .section--outputs .page-pill-header {
        width: 80%;
    }

    .section--projects .section-container:nth-of-type(2) .grid {
        grid-template-columns: 1fr;
    }

    .output {
        width: calc((100% - var(--space-2xl)) / 2);
    }

    /* #endregion */
}

@media (max-width: 900px) {
    :root {
        /* FONT SIZES */
        --fs-2xl: 42px;
        --fs-xl: 28px;
        --fs-lg: 20px;
        --fs-md: 16px;
        --fs-sm: 14px;
        --fs-xs: 10px;
    }

    h6,
    .pill,
    .swiper__content .wp-block-button__link,
    .footer-menu--legal * {
        letter-spacing: var(--ls-lg);
    }


    /* #region GLOBAL */

    main {
        margin-top: calc(var(--space-2xl) * 3);
    }

    section>*,
    .section--footer>* {
        padding: var(--space-2xl) var(--space-lg);
    }

    .section--footer>* {
        padding-bottom: var(--space-lg);
    }

    /* #endregion */


    /* #region BLOCKS */

    .wp-block-columns,
    .grid {
        gap: var(--space-xl);
    }

    .card {
        padding: var(--space-lg);
        border-radius: var(--border-radius-md);
    }

    .card--small {
        gap: var(--space-md);
        border-radius: var(--border-radius-sm);
    }

    .card__top {
        gap: var(--space-md);
    }

    .partner.pill {
        max-width: 32px;
    }

    .partner.pill img {
        width: var(--space-lg);
    }

    .wp-block-button.is-empty {
        display: none;
    }

    /* #endregion */


    /* #region HEADER */

    header {
        top: var(--space-lg);
    }

    header .section-container {
        padding-inline: var(--space-lg);
    }

    /* #endregion */


    /* #region SWIPER */

    .swiper {
        width: calc(100% + (var(--space-lg) * 2));
        margin-inline: calc(var(--space-lg) * -1) !important;
		padding-left: var(--space-lg) !important;
    }

    .swiper .swiper-slide--vertical {
        gap: var(--space-md);
    }

    .swiper .swiper-slide--horizontal {
        width: clamp(600px, 50%, 50vw);
        gap: var(--space-lg);
    }

    .swiper__image {
        border-radius: var(--border-radius-sm);
        width: 50%;
    }

    .swiper__content {
        width: 50%;
    }

    .swiper__content .wp-block-button {
        margin-top: var(--space-md);
    }

    /* #endregion */


    /* #region SECTION INTRO */

    .section--intro .wp-block-buttons {
        margin-top: var(--space-sm);
    }

    /* #endregion */


    /* #region SECTION PROJECTS */

    .section--projects h2+p {
        margin-bottom: var(--space-2xl);
    }

    .section--projects .section-container:nth-of-type(1),
    .section--projects .section-container:nth-of-type(2),
    .section--projects .section-container:nth-of-type(3) {
        grid-column: span 3;
    }

    .section--projects .section-container:nth-of-type(2) .grid {
        gap: var(--space-md);
    }

    .project__header,
    .swiper__partners {
        gap: var(--space-sm);
    }

    .project--ac .icon {
        padding: var(--space-xs);
    }

    .project--management .icon {
        height: calc(var(--space-md) * 2);
        padding: var(--space-xs);
    }

    .project--management p {
        margin-top: var(--space-md);
    }

    .project--management+.project--management {
        margin-top: var(--space-2xl);
    }

    /* #endregion */


    /* #region EVENTS */

    .section--events h2 {
        width: 80%;
    }

    .section--events .section-container>.grid {
        gap: var(--space-md);
    }

    .event {
        grid-column: span 1;
    }

    .event.grid {
        display: flex;
        flex-direction: column;
        gap: calc(var(--space-xs) * 3);
        padding: var(--space-md);
    }

    .event .wp-block-button {
        margin-top: var(--space-xs);
    }

    /* #endregion */


    /* #region OUTPUTS */
    .section--outputs .page-pill-header {
        width: 60%;
        margin-bottom: var(--space-sm);
    }

    .outputs {
        margin-bottom: calc(var(--space-xs) * 3);
    }

    .output {
        width: calc((100% - (var(--space-lg) * 2)) / 2);
        margin-bottom: var(--space-lg);
        gap: calc(var(--space-xs) * 3);
    }

    .output__pills {
        gap: var(--space-sm);
        margin-bottom: var(--space-sm);
    }


    /* #endregion */


    /* #region PARTNERS & PEOPLE */

    .section--partners .page-pill-header {
        width: 66%;
        margin-bottom: var(--space-sm);
    }

    .partner {
        padding: var(--space-md);
    }

    .section--partners .swiper__partners {
        bottom: var(--space-xl);
        left: var(--space-xl);
    }

    /* #endregion */


    /* #region FOOTER */

    .section--footer .card {
        padding-bottom: var(--space-md);
        row-gap: 0;
    }

    .section--footer .section-container> :first-child {
        grid-column: span 4;
        margin-bottom: var(--space-2xl);
    }

    .footer-menu--main {
        grid-column: span 2;
    }

    .footer-menu--legal {
        margin-top: var(--space-4xl);
    }

    .footer-menu--legal,
    .legal-menu.grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: var(--space-xs) var(--space-sm);
    }

    .footer-menu--main :first-child+ul {
        margin-top: var(--space-xs);
    }

    /* #endregion */
}


@media (max-width: 781px) {

    .section--intro .wp-blok-columns {
        gap: var(--space-3xl);
    }

    .swiper .swiper-slide--vertical {
        width: clamp(100px, 112%, 67vw);
    }

    .project--ac .card__top {
        flex-direction: column;
    }

    .icon {
        border-radius: var(--border-radius-xs);
    }

    .project--ac .icon {
        width: var(--space-3xl);
		height: var(--space-3xl);
    }

    .section--about .wp-block-columns {
        display: flex;
    }

    .event {
        grid-column: span 2;
    }

    .section--outputs .page-pill-header,
    .section--partners .page-pill-header,
    .section--events h2 {
        width: 98%;
    }

    .output {
        width: 100%;
        margin-bottom: var(--space-lg);
        gap: calc(var(--space-xs) * 3);
    }

    .swiper .swiper-slide--horizontal {
        width: clamp(200px, 75%, 75vw);
        gap: var(--space-lg);
        flex-direction: column;
    }

    .swiper__image,
    .swiper__content {
        width: 100%;
        height: 100%;
    }

    .section--partners .swiper__partners  {
        bottom: unset;
        top: calc(var(--space-xs) + var(--space-lg));
        left: calc(var(--space-xs) + var(--space-lg));
        max-width: unset;

    }

    .partner.pill:not(:hover) .partner-name {
        opacity: 1;
    }

    .footer-menu--legal * {
        font-size: 10px;
    }
}