@import url("./fonts.css");

/*========== VARIABLES ==========*/
:root {
    --font-ratio: 1;
    --image-ratio: 1;
    --font-sans: "Nunito Sans", sans-serif;
    --theme-deep-blue: #191e50;
    --theme-dark-grey: #444552;
    --theme-light-grey: #aeaeb4;
    --theme-bg-light-grey: #f5f5f5;
    --blue-gradient-left: #00d2c5;
    --blue-gradient-right: #4060e8;
    --blue-gradient-right2: #3d5cdf;
    --px: 4rem;
    --py: 3rem;
    --header-height: 112px;
    --mini-header-height: 60px;
    --border-radius: 150px;
    --border-radius--middle: 120px;
    --border-radius--small: 40px;
    --column-width-narrow: 40%;
    --column-width-wide: 60%;
    --max-w: calc(1600px + 8rem);
    --max-content-w: calc(1000px + 8rem);
    --max-paragraph-w: 1000px;
    --max-excerpt: 380px;
    --button-w: 162px;
    --gradient-text: linear-gradient(90deg, #01e6df 0%, #3d6cf4 100%);
     /* Aliases used by the compact static markup below. Keep these mapped to
         the original theme tokens so unset properties cannot collapse layout. */
     --header: var(--header-height);
     --header-compact: 76px;
     --radius: var(--border-radius);
     --grey: var(--theme-dark-grey);
     --bg: var(--theme-bg-light-grey);
     --blue: var(--theme-deep-blue);
    --wp--preset--aspect-ratio--square: 1;
    --wp--preset--aspect-ratio--4-3: 4/3;
    --wp--preset--aspect-ratio--3-4: 3/4;
    --wp--preset--aspect-ratio--3-2: 3/2;
    --wp--preset--aspect-ratio--2-3: 2/3;
    --wp--preset--aspect-ratio--16-9: 16/9;
    --wp--preset--aspect-ratio--9-16: 9/16;
    --wp--preset--color--black: #000000;
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--white: #FFFFFF;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
    --wp--preset--color--dark-gray: #28303D;
    --wp--preset--color--gray: #39414D;
    --wp--preset--color--green: #D1E4DD;
    --wp--preset--color--blue: #D1DFE4;
    --wp--preset--color--purple: #D1D1E4;
    --wp--preset--color--red: #E4D1D1;
    --wp--preset--color--orange: #E4DAD1;
    --wp--preset--color--yellow: #EEEADD;
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, rgb(155, 81, 224) 100%);
    --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
    --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgba(252, 185, 0, 1) 0%, rgba(255, 105, 0, 1) 100%);
    --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgb(207, 46, 46) 100%);
    --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
    --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
    --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
    --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
    --wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
    --wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
    --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
    --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
    --wp--preset--gradient--purple-to-yellow: linear-gradient(160deg, #D1D1E4 0%, #EEEADD 100%);
    --wp--preset--gradient--yellow-to-purple: linear-gradient(160deg, #EEEADD 0%, #D1D1E4 100%);
    --wp--preset--gradient--green-to-yellow: linear-gradient(160deg, #D1E4DD 0%, #EEEADD 100%);
    --wp--preset--gradient--yellow-to-green: linear-gradient(160deg, #EEEADD 0%, #D1E4DD 100%);
    --wp--preset--gradient--red-to-yellow: linear-gradient(160deg, #E4D1D1 0%, #EEEADD 100%);
    --wp--preset--gradient--yellow-to-red: linear-gradient(160deg, #EEEADD 0%, #E4D1D1 100%);
    --wp--preset--gradient--purple-to-red: linear-gradient(160deg, #D1D1E4 0%, #E4D1D1 100%);
    --wp--preset--gradient--red-to-purple: linear-gradient(160deg, #E4D1D1 0%, #D1D1E4 100%);
    --wp--preset--font-size--small: 18px;
    --wp--preset--font-size--medium: 20px;
    --wp--preset--font-size--large: 24px;
    --wp--preset--font-size--x-large: 42px;
    --wp--preset--font-size--extra-small: 16px;
    --wp--preset--font-size--normal: 20px;
    --wp--preset--font-size--extra-large: 40px;
    --wp--preset--font-size--huge: 96px;
    --wp--preset--font-size--gigantic: 144px;
    --wp--preset--spacing--20: 0.44rem;
    --wp--preset--spacing--30: 0.67rem;
    --wp--preset--spacing--40: 1rem;
    --wp--preset--spacing--50: 1.5rem;
    --wp--preset--spacing--60: 2.25rem;
    --wp--preset--spacing--70: 3.38rem;
    --wp--preset--spacing--80: 5.06rem;
    --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
    --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
    --wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
}

@media screen and (max-width: 1240px) {
    :root {
        --px: 3rem;
    }
}

@media screen and (max-width: 1140px) {
    :root {
        --font-ratio: 0.9;
        --image-ratio: 0.9;
        --px: 3rem;
        --py: 3rem;
        --border-radius: 130px;
    }
}

@media screen and (max-width: 992px) {
    :root {
        --font-ratio: 0.8;
        --image-ratio: 0.8;
        --px: 3rem;
        --py: 2.5rem;
        --border-radius: 110px;
        --header-height: 102px;
    }
}

@media screen and (max-width: 768px) {
    :root {
        --font-ratio: 0.7;
        --image-ratio: 0.7;
        --px: 2.5rem;
        --py: 2rem;
        --border-radius: 95px;
        --column-width-narrow: 100%;
        --column-width-wide: 100%;
        --mini-header-height: 86px;
    }
}

@media screen and (max-width: 576px) {
    :root {
        --font-ratio: 0.7;
        --image-ratio: 0.7;
        --px: 1.2rem;
        --py: 1.2rem;
        --border-radius: 80px;
    }
}

/*========== Main ==========*/
* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font-sans);
    font-size: calc(20px * var(--font-ratio));
    line-height: 1.6;
    color: var(--theme-deep-blue);
    font-weight: 300;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1 {
    font-size: calc(58px * var(--font-ratio));
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 1rem;
}

h1.page__title {
    font-size: calc(32px * var(--font-ratio));
}

h2 {
    font-size: calc(30px * var(--font-ratio));
    font-weight: 500;
    line-height: 1.25;
    margin-bottom: 1.5rem;
}

h3 {
    font-size: calc(26px * var(--font-ratio));
    font-weight: 500;
    line-height: 1.5;
}

p {
    font-size: calc(20px * var(--font-ratio));
    line-height: 1.6;
    font-weight: 300;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: #4060e8;
}

button {
    font: inherit;
    color: inherit;
    cursor: pointer;
}

:focus-visible {
    outline: 3px solid #00bcb4;
    outline-offset: 3px;
}

.skip-link {
    position: fixed;
    z-index: 50;
    top: -100px;
    left: 1rem;
    padding: .5rem 1rem;
    background: white;
}

.skip-link:focus {
    top: 1rem;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.site__header {
    height: var(--header-height);
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: all .4s ease;
}

.site__header.is-compact {
    height: var(--header-compact, 76px);
    background: rgba(255, 255, 255, .82);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: 0 2px 14px rgba(25, 30, 80, .08);
}

.header__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 var(--px);
    gap: 2rem;
}

.site-main {
    margin-top: var(--header-height);
}

.header-logo {
    display: flex;
    align-items: center;
    margin-right: auto;
}

.header-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-right: auto;
}

.header-brand .header-logo {
    margin-right: 0;
}

.header-brand .header-logo+.header-logo {
    border-left: 1px solid #c7c9d1;
    padding-left: 1rem;
}

.header-logo img {
    display: block;
    max-width: 235px;
    max-height: 65px;
    object-fit: contain;
    transition: max-height .25s ease;
}

.site__header.is-compact .header-logo img {
    max-height: 48px;
}

.header-navigation {
    display: flex;
    align-items: center;
    gap: 40px;
    font-size: 18px;
}

.languages {
    position: relative;
}

.language-button {
    background: none;
    border: 0;
    padding: 10px;
}

.language-button::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: .75rem;
    background: url("./assets/button-arrow-btm-dark-blue.svg") center / contain no-repeat;
    vertical-align: middle;
}

.language-list {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    box-shadow: 0 5px 20px #191e5020;
    min-width: 105px;
    padding: 10px;
}

.languages:hover .language-list,
.languages:focus-within .language-list,
.language-button[aria-expanded="true"]+.language-list {
    display: grid;
    gap: 6px;
}

.menu-toggle,
.site-menu {
    display: none !important;
}

.section__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding-left: var(--px);
    padding-right: var(--px);
}

.section__page_banner {
    position: relative;
    overflow: hidden;
}

.section__page_banner:not(.section__page_banner--home) {
    background-color: #fff;
}

.section__page_banner .section__inner {
    position: relative;
}

.section__breadcrumb {
    display: none;
}

.breadcrumb__list {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    margin: 0;
    list-style: none;
    font-size: 14px;
    line-height: 1;
}

.breadcrumb__current {
    color: #797985;
}

.banner__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--px);
    padding-bottom: 0;
}

.banner__row .section__cover_image {
    width: calc(var(--column-width-wide) + var(--px) * 2);
}

.section__info {
    width: 40%;
    margin-top: 2rem;
}

.section__info__secondary {
    width: 55%;
    margin-top: 2rem;
}

.section__info__inner {
    max-width: 650px;
}

.section__info__secondary .section__info__inner {
    max-width: 100%;
}

.page__title {
    margin: 0 0 1.8rem;
}

.page__desc {
    color: var(--grey);
}

.page__desc p {
    font-weight: 300;
    line-height: 1.6;
}

.page__desc a,
.section__body a {
    color: #0000ff;
    text-decoration: underline;
}

.section__cover_image {
    width: calc(var(--column-width-wide) + var(--px) * 2);
    aspect-ratio: 2.7;
    position: relative;
    overflow: hidden;
    border-bottom-left-radius: var(--border-radius);
}

.section__cover_image__secondary {
    width: 45%;
    aspect-ratio: 473/266;
    position: relative;
    overflow: hidden;
    border-bottom-left-radius: var(--border-radius--middle);
    flex-shrink: 0;
}

.section__cover_image img,
.section__cover_image__secondary img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}

.item__blended_bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(270deg, #000d3a, #4060e8);
    mix-blend-mode: soft-light;
    pointer-events: none;
}

.section__bg_grey {
    background: var(--bg);
}

.section__explore_grid .section__inner {
    padding-top: var(--py);
    padding-bottom: var(--py);
    margin-top: var(--py);
}

.section__title {
    margin-bottom: 2rem;
}

.explore_more_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--px);
}

.item__inner {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.item__thumb {
    overflow: hidden;
}

.item__thumb__container {
    display: block;
    aspect-ratio: 345/290;
    position: relative;
    overflow: hidden;
}

.item__thumb__container img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s;
}

.item__inner:hover .item__thumb__container img {
    transform: scale(1.05);
}

.item__inner:hover .item__thumb__container .item__blended_bg {
    opacity: 0;
}

.item__info h3 {
    line-height: 1.2;
    margin: 0 0 .5rem;
}

.item__excerpt {
    color: var(--grey);
    line-height: 1.3;
    margin: 0;
}

.section__flexible_content .section__inner {
    padding-top: calc(var(--py) + 30px);
    padding-bottom: var(--py);
    margin-top: var(--py);
}

.section__body {
    background: #fff;
    padding: 2rem 2.67rem;
}

.section__body+.section__body {
    margin-top: 1.5rem;
}

.section__body p:last-child {
    margin-bottom: 0;
}

.section__body ul {
    margin: 0;
    padding-left: 2.5rem;
}

.section__body li {
    margin-bottom: .3rem;
}

.section__body strong {
    font-weight: 700;
}

.access-map {
    margin-top: 8px;
}

.access-map iframe {
    width: 100%;
    height: 500px;
    min-height: 300px;
    border: 0;
}

.access-hours {
    margin: 0 0 1rem;
}

.access-weather-table-wrap {
    overflow-x: auto;
}

.access-weather-table {
    width: 100%;
    border-collapse: collapse;
}

.access-weather-table th,
.access-weather-table td {
    border: 1px solid currentColor;
    padding: .5rem .75rem;
    text-align: left;
    vertical-align: top;
}

.access-weather-table p,
.access-weather-table ul {
    margin: 0;
}

.access-weather-table ul {
    padding-left: 1.5rem;
}

.technical-platform-table-wrap {
    overflow-x: auto;
    margin-top: 1rem;
}

.technical-platform-table {
    width: 100%;
    border-collapse: collapse;
}

.technical-platform-table th,
.technical-platform-table td {
    border: 1px solid #bbb;
    padding: .65rem .75rem;
    text-align: left;
    vertical-align: top;
}

.technical-platform-table thead {
    background: #f5f6fa;
}

.technical-platform-table tbody th {
    width: 32%;
    font-weight: 600;
}

.catalogue-group h2 {
    margin: 0 0 1.5rem;
}

.catalogue-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.catalogue-table td {
    padding: 8px;
    vertical-align: middle;
}

.catalogue-icon {
    width: 120px;
}

.catalogue-icon img {
    width: 91px;
    height: 91px;
    object-fit: contain;
}

.catalogue-count {
    width: 200px;
    text-align: center;
}

.catalogue-count p {
    margin: 0;
}

.catalogue-description {
    padding-left: 40px !important;
}

.catalogue-description h3 {
    margin: 0;
}

.catalogue-group hr {
    border: 0;
    border-top: 1px solid #bbb;
    margin: 8px 0;
}

.section__contact_cta {
    background: var(--bg);
    border-top-left-radius: 40px;
}

.section__contact_cta .section__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin-top: calc(var(--py) * 2);
    margin-bottom: 0;
}

.section__contact_cta h3 {
    margin: 0;
}

.section__contact_cta .button {
    min-width: 162px;
    min-height: 32px;
    padding: 4px 20px;
    border: 0;
    border-radius: 20px;
    background: linear-gradient(90deg, #00d2c5, #4060e8);
    position: relative;
    overflow: hidden;
    justify-content: space-between;
    font-size: 16px;
}

.section__contact_cta .button::before {
    content: "";
    position: absolute;
    inset: 2px;
    border-radius: 18px;
    background: var(--bg);
    z-index: 1;
}

.section__contact_cta .button span {
    position: relative;
    z-index: 2;
    background: linear-gradient(90deg, #00d2c5, #209ad6);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.section__contact_cta .button::after {
    content: "→";
    width: 12px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 -5px 0 1rem;
    color: #209ad6;
    font-size: 16px;
    line-height: 1;
    position: relative;
    z-index: 2;
}

.section__contact_cta .button--reverse::after {
    order: -1;
    margin: 0 1rem 0 -5px;
    transform: scaleX(-1);
}

.section__contact_cta .button:hover::before {
    background: linear-gradient(90deg, #00d2c5, #4060e8);
}

.section__contact_cta .button:hover span,
.section__contact_cta .button:hover::after {
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 50px;
    padding: 8px 26px;
    border: 1px solid #666976;
    border-radius: 100px;
    font-size: 18px;
    color: var(--blue);
    white-space: normal;
    text-align: center;
}

.button:hover {
    background: linear-gradient(90deg, #00d2c5, #4060e8);
    color: white;
    border-color: transparent;
}

/*========== Error page ==========*/
.error-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--theme-bg-light-grey);
}

.error-page__main {
    flex: 1;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 26%, rgba(0, 210, 197, .13), transparent 25%),
        radial-gradient(circle at 86% 76%, rgba(64, 96, 232, .13), transparent 28%),
        var(--theme-bg-light-grey);
}

.error-page__content {
    width: min(100%, var(--max-w));
    margin: 0 auto;
    padding: clamp(5rem, 11vw, 10rem) var(--px);
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(320px, 1fr);
    align-items: center;
    gap: clamp(2rem, 8vw, 9rem);
}

.error-page__number {
    color: transparent;
    font-size: clamp(8rem, 21vw, 20rem);
    font-weight: 500;
    letter-spacing: -.08em;
    line-height: .8;
    background: linear-gradient(135deg, var(--blue-gradient-left), var(--blue-gradient-right));
    -webkit-background-clip: text;
    background-clip: text;
}

.error-page__copy {
    max-width: 560px;
}

.error-page__eyebrow {
    margin-bottom: .75rem;
    color: #209ad6;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.error-page__copy h1 {
    margin-bottom: 1.25rem;
    font-size: clamp(2.3rem, 5vw, 4.2rem);
    line-height: 1.1;
}

.error-page__copy > p:not(.error-page__eyebrow) {
    max-width: 480px;
    margin-bottom: 2rem;
    color: var(--theme-dark-grey);
}

.error-page__copy .button {
    gap: 1.25rem;
    border-color: transparent;
    background: linear-gradient(90deg, var(--blue-gradient-left), var(--blue-gradient-right));
    color: #fff;
}

.error-page__copy .button:hover {
    box-shadow: 0 10px 24px rgba(64, 96, 232, .22);
    transform: translateY(-2px);
}

.button__arrow {
    font-size: 1.25em;
    line-height: 1;
}

.site__footer {
    background: var(--blue);
    color: white;
}

.footer__inner {
    max-width: 1728px;
    margin: auto;
    padding: 42px var(--px) 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.footer-logo img {
    width: 235px;
    max-width: 100%;
}

.footer-navigation {
    display: flex;
    gap: 1.5rem;
}

.site__footer small {
    display: block;
    width: 100%;
    border-top: 1px solid #ffffff55;
    padding-top: 20px;
    font-size: 14px;
}

.site__footer a:hover {
    color: #00d2c5;
}

@media (max-width: 992px) {
    :root {
        --px: 3rem;
        --py: 2.5rem;
        --header-height: 102px;
        --border-radius: 110px;
    }

    body {
        font-size: 17px;
    }

    p {
        font-size: 17px;
    }

    .banner__row,
    .banner__row:has(.section__info) {
        flex-direction: column-reverse;
        gap: 2rem;
        padding-left: 0;
        padding-right: 0;
    }

    .section__info,
    .section__info__secondary,
    .banner__row .section__info {
        width: auto;
        margin: 0;
        padding: 0 var(--px) 2rem;
    }

    .section__cover_image,
    .section__cover_image__secondary,
    .banner__row .section__cover_image {
        width: 100%;
    }

    .explore_more_grid {
        gap: 2rem;
    }

    .page__desc p {
        font-size: 17px;
    }
}

@media (max-width: 768px) {
    :root {
        --px: 2.5rem;
        --py: 2rem;
    }

    body,
    p {
        font-size: 16px;
    }

    .explore_more_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .header-logo img {
        max-width: 180px;
    }

    .header-navigation {
        gap: 12px;
    }

    .error-page__content {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding-top: 5rem;
        padding-bottom: 5rem;
        text-align: center;
    }

    .error-page__number {
        font-size: clamp(8rem, 31vw, 13rem);
    }

    .error-page__copy {
        margin: 0 auto;
    }

    .error-page__copy > p:not(.error-page__eyebrow) {
        margin-right: auto;
        margin-left: auto;
    }
}

@media (max-width: 576px) {
    :root {
        --px: 1.2rem;
        --py: 1.2rem;
        --border-radius: 80px;
        --header-height: 86px;
    }

    body {
        font-size: 16px;
    }

    .header-logo img {
        max-width: 155px;
    }

    .header-navigation {
        font-size: 14px;
    }

    .header-navigation>a {
        display: none;
    }

    .header__inner {
        gap: 4px;
    }

    .breadcrumb__list,
    .section__breadcrumb {
        display: none;
    }

    .explore_more_grid {
        grid-template-columns: 1fr;
    }

    .section__body {
        padding: 1.5rem;
    }

    .technical-platform-table {
        min-width: 540px;
    }

    .catalogue-icon {
        width: 70px;
    }

    .catalogue-icon img {
        width: 55px;
        height: 55px;
    }

    .catalogue-count {
        width: 90px;
        font-size: 13px;
    }

    .catalogue-description {
        padding-left: 4px !important;
    }

    .catalogue-description h3 {
        font-size: 16px;
    }

    .page__desc p {
        font-size: 16px;
    }

    h1 {
        font-size: 36px;
        line-height: 1.3;
    }

    h2 {
        font-size: 26px;
        line-height: 1.3;
    }

    h3 {
        font-size: 22px;
    }

    .section__contact_cta .section__inner {
        flex-direction: column;
        gap: 0.75rem;
        text-align: center;
    }
}