.website {
    color-scheme: light;
    --navy: #121416;
    --white: #11242c;
    --muted: #536a75;
    --hairline: #d6e0e9;
    --cyan: #1768ae;
    --media: #eef2f6;
    --display: 'Rubik', system-ui, sans-serif;
    --text: var(--display);
    background: #f8fafb;
    color: var(--white);
}

.website .container,
.website .feedback__content {
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
    padding-inline: 20px;
}

.website-header,
.website-footer {
    background: linear-gradient(90deg, #121416, #40474f);
    color: #fff;
}

.website-header__inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: clamp(16px, 4vw, 50px);
    padding-block: 12px;
}

.website-logo img {
    display: block;
    width: 74px;
    height: auto;
}

.website-header {
    padding-block: 10px;
    line-height: normal;
}

.website .website-header__inner {
    padding-block: 0;
    flex-wrap: nowrap;
    gap: 50px;
}

.website-header__logo {
    display: flex;
    align-items: center;
    gap: 20px;
    text-decoration: none;
    flex-shrink: 0;
}

.website-header__logo img {
    width: 88px;
    height: 81px;
}

.website-header__logo span {
    width: 170px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.3;
}

html[lang="en"] .website-header__logo span {
    max-width: min(12ch, 100%);
}

.website-nav {
    display: flex;
    flex: 1;
    justify-content: center;
    gap: 50px;
    font-weight: 300;
}

.website-header a {
    color: #fff;
    text-decoration: none;
}

.website-header a:hover {
    color: #cbcbcb;
}

.website-header__contacts {
    display: grid;
    gap: 6px;
    font-weight: 300;
    white-space: nowrap;
}

.website-header__inner > .website-header__contacts {
    text-align: right;
}

.website-header__phone {
    font-weight: 500;
}

.website-header__language {
    padding: 6px 8px;
    border: 1px solid #ffffff66;
    border-radius: 5px;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.website-header__language:hover {
    background: #ffffff14;
}

.website-header__menu-button {
    display: none;
}

@media (max-width: 990px) {
    .website .website-header__inner { gap: 40px; }
    .website-header__logo { width: 200px; gap: 10px; }
    .website-header__logo span { width: auto; font-size: 12px; }
    .website-nav, .website-header__contacts { font-size: 14px; }
    .website-nav { gap: 25px; }
}

@media (max-width: 768px) {
    :root { scroll-padding-top: 80px; }
    body:has(.website-mobile-menu:not([hidden])) { overflow: hidden; }

    .website-header {
        position: sticky;
        top: 0;
        z-index: 20;
    }

    .website .website-header__inner { gap: 12px; }
    .website-header__logo { width: auto; min-width: 0; flex: 1; }
    .website-header__logo img { width: 50px; height: 50px; object-fit: contain; flex: none; }
    .website-header__logo span { max-width: 19ch; overflow-wrap: anywhere; }
    .website-header__inner > .website-nav,
    .website-header__inner > .website-header__contacts { display: none; }

    .website-header__menu-button {
        display: grid;
        width: 44px;
        height: 44px;
        place-items: center;
        padding: 0;
        border: 0;
        background: transparent;
        color: #fff;
        cursor: pointer;
    }

    .website-header__close,
    .website-header__menu-button[aria-expanded="true"] .website-header__hamburger { display: none; }
    .website-header__menu-button[aria-expanded="true"] .website-header__close { display: initial; }

    .website-mobile-menu {
        position: absolute;
        inset: 100% 0 auto;
        height: calc(100dvh - 70px);
        overflow: auto;
        overscroll-behavior: contain;
        background: inherit;
    }

    .website-mobile-menu__inner {
        display: flex;
        flex-direction: column;
        gap: 32px;
        min-height: 100%;
        max-width: 1240px;
        margin-inline: auto;
        padding: 32px 20px max(24px, env(safe-area-inset-bottom));
    }

    .website-mobile-menu .website-nav {
        flex: none;
        flex-direction: column;
        gap: 12px;
        font-size: 18px;
    }

    .website-mobile-menu .website-nav a { padding-block: 12px; }

    .website-mobile-menu .website-header__contacts {
        margin-top: auto;
        gap: 12px;
        white-space: normal;
    }

    .website-mobile-menu .website-header__contacts a {
        padding: 12px 16px;
        border: 1px solid #ffffff66;
        border-radius: 6px;
        text-align: center;
        overflow-wrap: anywhere;
    }

    .website-mobile-menu .website-header__contacts a:hover { background: #ffffff14; }
}

@media (min-width: 769px) {
    .website-mobile-menu { display: none; }
}

.website .catalog h1 {
    max-width: none;
    font-size: clamp(26px, 5vw, 40px);
    font-weight: 500;
}

.website .model-card__media,
.website .catalog-kit__cover,
.website .kit-gallery img {
    background: #fff;
}

.website .catalog-view a[aria-current],
.website .catalog-view a:hover {
    background: var(--cyan);
    color: #fff;
}

.website-banner {
    position: relative;
    background: linear-gradient(105deg, #121416, #40474f);
    color: #fff;
    border-radius: 18px;
    overflow: hidden;
}

.website-banner__slide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 1fr auto;
    gap: 20px clamp(24px, 6vw, 90px);
    min-height: clamp(370px, 43vw, 520px);
    padding-block: 24px 44px;
}

.website-banner__slide h2 {
    margin: 0 0 clamp(16px, 3vw, 32px);
    font-size: clamp(30px, 4.3vw, 54px);
    line-height: 1.08;
    overflow-wrap: anywhere;
}

@media (width > 768px) {
    .website-banner__copy {
        align-self: center;
    }
}

.website-banner__copy p {
    margin: 0;
    max-width: 42ch;
    font-size: clamp(15px, 1.65vw, 21px);
    font-weight: 500;
    line-height: 1.35;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.website-banner__slide img {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    width: 100%;
    height: clamp(290px, 38vw, 452px);
    object-fit: contain;
}

.website-banner__button {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    min-width: min(100%, 245px);
    max-width: 100%;
    padding: 10px 18px;
    border-radius: 10px;
    background: #fff;
    color: #121416;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.website-banner__button:hover {
    background: #e7ecf1;
}

@media (max-width: 768px) {
    .website-banner__slide {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto 1fr auto;
        gap: 18px;
        min-height: clamp(420px, 140vw, 610px);
        padding: 0 clamp(0px, 3vw, 20px);
    }

    .website-banner__slide img {
        grid-column: 1;
        grid-row: 2;
        height: clamp(200px, 80vw, 400px);
    }

    .website-banner__button {
        grid-row: 3;
        min-width: min(100%, 180px);
        margin-top: 16px;
    }
}

.website-button {
    display: inline-block;
    padding: 12px 20px;
    border-radius: 6px;
    background: #2173c0;
    color: white;
    text-decoration: none;
}

.banner-slider__slider {
    --swiper-pagination-bottom: 15px;
    --swiper-pagination-bullet-width: 12px;
    --swiper-pagination-bullet-height: 8px;
    --swiper-pagination-bullet-border-radius: 4px;
    --swiper-pagination-bullet-inactive-color: #e7ecf1;
    --swiper-pagination-color: #fff;
}

.banner-slider__pagination .swiper-pagination-bullet {
    transition: width 0.3s, background-color 0.3s, opacity 0.3s;
}

.banner-slider__pagination .swiper-pagination-bullet-active {
    width: 30px;
}

@media (max-width: 768px) {
    .website-banner { padding: 12px 0 0; }

    .banner-slider__slider > .banner-slider__pagination {
        position: static;
        margin-block: 24px 8px;
    }
}

.website-media,
.website-section {
    margin-block-start: clamp(44px, 7vw, 96px);
}

.website-media {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: clamp(20px, 5vw, 64px);
}

.website-media img {
    display: block;
    width: 100%;
    border-radius: 14px;
}

.website-section h2,
.website-media h2 {
    margin: 0 0 22px;
    font-size: clamp(25px, 4vw, 40px);
    font-weight: 500;
}

.website-prose {
    max-width: 76ch;
    overflow-wrap: anywhere;
}

.website-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.website .catalog-kit {
    padding: 14px;
    background: white;
    border: 1px solid #e7ecf1;
    border-radius: 12px;
}

@media (max-width: 740px) {
    .website-media { grid-template-columns: 1fr; }
}

.speaker-details {
    width: 100%;
    max-width: 1000px;
    margin-inline: auto;
    padding: clamp(16px, 3vw, 25px);
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: #fff;
    scroll-margin-top: 20px;
}

.speaker-layout .speaker-details h2 {
    margin: 0 0 25px;
    font-size: 24px;
    font-weight: 500;
}

.speaker-details__groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 50px;
    overflow-wrap: anywhere;
}

.speaker-details__technical {
    grid-column: 1 / -1;
}

.speaker-details h3 {
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 500;
}

.speaker-details__properties {
    margin: 0;
}

.speaker-details__technical .speaker-details__properties {
    columns: 2;
    column-gap: 50px;
}

.speaker-details__properties > div {
    break-inside: avoid;
    padding-bottom: 14px;
}

.speaker-details__properties dt {
    color: var(--muted);
    font-size: 13px;
}

.speaker-details__properties dd {
    margin: 1px 0 0;
    font-size: 14px;
    line-height: 1.35;
}

.speaker-details__files {
    display: grid;
    gap: 15px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.speaker-details__files a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--cyan);
    font-size: 14px;
    text-decoration: none;
}

.speaker-details__file-name {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.speaker-details__file-icon {
    display: grid;
    place-items: center;
    flex: none;
    min-width: 36px;
    padding: 4px;
    border: 1px solid currentColor;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
}

.speaker-details__file-size {
    color: var(--muted);
    white-space: nowrap;
}

@media (max-width: 640px) {
    .speaker-details__groups { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .speaker-details__technical .speaker-details__properties { columns: 1; }
}

.website-home .website-banner {
    border-radius: 0;
    background: linear-gradient(90deg, #121416, #40474f);
}

.website-home .website-media,
.website-home .website-section {
    margin-block-start: 0;
    padding-block: clamp(48px, 6.5vw, 80px);
}

.website-media img {
    border-radius: 0;
    box-shadow: 0 5px 25px #d2d2d2;
}

.website-video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}

.website-features,
.feedback {
    background: #eef2f6;
}

.website-features h2 {
    margin: 0 0 30px;
    color: #121416;
    font-size: 30px;
    line-height: 1.3;
}

.website-advantages {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-advantages li {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    min-height: 250px;
    padding: 40px 30px;
    background: #fff;
}

.website-advantages h3 {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 52px;
    margin: 0;
    padding-inline-start: 17px;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.website-advantages h3::before {
    content: '';
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: 2px;
    border-radius: 2px;
    background: linear-gradient(#009ee0, #e2001a);
}

.website-advantages p {
    margin: 0;
    color: #667c85;
    font-size: 14px;
    line-height: 1.3;
}

@media (max-width: 1199px) {
    .website-features h2 { font-size: 23px; }
}

@media (max-width: 1000px) {
    .website-advantages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}

@media (max-width: 768px) {
    .website-home .website-features { padding-block: 50px; }
    .website-advantages {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: min(68%, 300px);
        gap: 20px;
        margin-inline: -20px;
        padding-inline: 20px;
        overflow-x: auto;
        scroll-snap-type: inline mandatory;
        scroll-padding-inline: 20px;
        scrollbar-width: none;
    }

    .website-advantages li {
        padding: 30px 15px;
        scroll-snap-align: start;
    }

    .website-advantages h3 { min-height: 48px; padding-inline-start: 15px; font-size: 20px; line-height: 1.2; }
    .website-advantages p { font-size: 13px; }
}

.website-partners {
    background: linear-gradient(#0c0c0ccc, #0c0c0ccc), url('../website/partners.jpg') 50% 25% / cover;
    color: #fff;
}

.website-partners h2 {
    margin-bottom: 70px;
}

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

.website-clients .swiper-slide {
    height: auto;
}

.website-clients__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    min-height: 250px;
    height: 100%;
    padding-inline: 12px;
    text-align: center;
    text-decoration: none;
}

.website-clients__logo {
    display: grid;
    flex: 1;
    place-items: center;
    margin-bottom: 30px;
}

.website-clients__logo img {
    max-width: min(100%, 300px);
    max-height: 180px;
    object-fit: contain;
}

@media (max-width: 1000px) {
    .website-clients__logo img { max-width: min(100%, 150px); }
}

.feedback {
    padding-block: clamp(48px, 6.5vw, 80px);
}

.feedback__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    gap: clamp(24px, 6vw, 80px);
}

.feedback__form {
    display: grid;
    align-content: start;
    gap: 16px;
}

.feedback__title,
.feedback__desc {
    margin: 0;
}

.feedback__form input:not([type='checkbox']),
.feedback__form textarea {
    width: 100%;
    border: 1px solid #d6e0e9;
    background: #fff;
    padding: 12px 14px;
    font: inherit;
}

.feedback__consent {
    display: flex;
    align-items: center;
    gap: 13px;
    color: #919ca2;
    cursor: pointer;
}

.feedback__consent input {
    appearance: none;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin: 0;
    border: 2px solid #e7ecf1;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
}

.feedback__consent input:checked::before {
    content: '';
    width: 17px;
    height: 9px;
    border: solid #2173c0;
    border-width: 0 0 3px 3px;
    transform: translateY(-2px) rotate(-45deg);
}

.feedback__form button {
    width: 100%;
    min-height: 51px;
    padding: 12px 20px;
    border: 0;
    border-radius: 5px;
    box-shadow: 0 20px 60px #2173c066;
    font: inherit;
    cursor: pointer;
}

.feedback__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: 0 4px 20px #b5b5b5;
}

.website-footer__inner {
    display: grid;
    grid-template-columns: auto 141px minmax(0, 1fr) auto;
    align-items: start;
    column-gap: clamp(24px, 5vw, 60px);
    row-gap: 80px;
    padding-block: 60px 22px;
}

.website-footer__nav {
    display: grid;
    justify-items: start;
    gap: 20px;
}

.website-footer__copyright {
    grid-column: 1 / -1;
    margin: 0;
    color: #c1c5c8;
    text-align: center;
}

.website-footer .website-footer__logo img {
    width: 100%;
}

.website-footer__name {
    margin: 0 0 5px;
    font-size: 24px;
    font-weight: 700;
}

.website-footer__description {
    margin: 0;
}

.website-footer__contacts {
    display: grid;
    justify-items: start;
    gap: 4px;
    margin-top: 24px;
}

.website-footer__phone {
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
}

.website-footer__privacy {
    color: #c2c6c9;
    font-size: 15px;
}

@media (min-width: 769px) and (max-width: 1050px) {
    .website-footer__inner {
        grid-template-columns: auto 100px minmax(0, 1fr);
        row-gap: 32px;
    }

    .website-footer__privacy { grid-column: 3; }
}

@media (max-width: 768px) {
    .website-footer__inner {
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 40px 25px;
    }

    .website-footer__nav,
    .website-footer__privacy { grid-column: 1 / -1; }

    .website-footer__nav {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        gap: 12px 20px;
    }

    .website-footer__name { font-size: 18px; }
    .website-footer__description,
    .website-footer__copyright { font-size: 14px; }
    .website-footer__copyright { text-align: left; }
    .website-footer__contacts { gap: 6px; overflow-wrap: anywhere; }
    .website-footer .website-footer__logo img { height: auto; }
}

.website-article:has(.website-gisp) .website-article__intro {
    padding-bottom: 60px;
}

.website-gisp {
    background: #121416 url('../website/gisp.jpg') 50% 40% / cover;
    color: white;
}

.website-gisp__link {
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 50px);
    font-size: 18px;
    font-weight: 500;
}

.website-gisp__logo {
    flex-shrink: 0;
    padding: 50px clamp(20px, 4vw, 50px);
}

.website-gisp__logo img {
    display: block;
}

.website-gisp__link:hover {
    color: #cbcbcb;
}

.website-address {
    background: #fff;
    padding-block: 80px;
}

.website-address__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 600px);
    align-items: center;
    gap: 50px;
}

.website-address h2 {
    margin: 0 0 35px;
    color: var(--navy);
    font-size: 30px;
    font-weight: 500;
}

.website-address__items {
    display: grid;
    gap: 25px;
    font-style: normal;
}

.website-address__item {
    display: flex;
    align-items: center;
    gap: 10px;
    overflow-wrap: anywhere;
}

.website-address__item img {
    flex: none;
}

.website-address__item a {
    color: inherit;
    text-underline-offset: 5px;
}

.website-address__item a:hover {
    color: var(--cyan);
}

.website-address__map {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 5px;
    box-shadow: 0 5px 85px -35px #c1c1c1;
}

@media (max-width: 768px) {
    .website-gisp__link {
        flex-direction: column;
        gap: 30px;
        padding-block: 30px 40px;
        text-align: center;
        font-size: 14px;
    }

    .website-gisp__logo {
        padding: 0;
    }

    .website-gisp__logo img {
        width: 100px;
        height: 100px;
    }

    .website-gisp__link br {
        display: none;
    }
}

@media (max-width: 960px) {
    .website-address__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 740px) {
    .feedback__content, .website-address__inner { grid-template-columns: 1fr; }
    .feedback__media { display: none; }

    .website-address {
        padding-block: 50px;
    }

    .website-address__inner {
        gap: 40px;
    }

    .website-address h2 {
        margin-bottom: 20px;
        font-size: 23px;
    }

    .website-address__items {
        gap: 18px;
    }
}

.website-catalog__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: clamp(24px, 4vw, 44px);
}

.website .website-catalog__heading h1,
.website-catalog__heading .catalog-view {
    margin: 0;
}

.website-catalog__heading .catalog-view {
    border-radius: 5px;
    background: #fff;
}

.website-catalog {
    display: grid;
    grid-template-columns: minmax(210px, 25%) minmax(0, 1fr);
    gap: 30px;
}

.website-catalog__main {
    grid-column: 2;
    display: grid;
    gap: 30px;
    min-width: 0;
}

.website-catalog__series {
    align-self: start;
    display: grid;
    background: #fff;
    border: 1px solid #e0e6eb;
    border-radius: 10px;
}

.website-catalog__series a {
    padding: 14px 20px;
    color: #121416;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.website-catalog__series a + a {
    border-top: 1px solid #e0e6eb;
}

.website-catalog__series .website-catalog__series-title {
    padding-block: 18px;
    color: var(--white);
    font-size: 22px;
    font-weight: 500;
}

.website-catalog__series a:first-child {
    border-radius: 9px 9px 0 0;
}

.website-catalog__series a:last-child {
    border-radius: 0 0 9px 9px;
}

.website-catalog__series a:hover,
.website-catalog__series a[aria-current] {
    background: #f6f8fa;
    color: var(--cyan);
}

.website-catalog__group {
    display: grid;
    gap: 30px;
    min-width: 0;
}

.website-catalog__series-preview {
    padding: 20px;
    border: 1px solid #dce3e9;
    border-radius: 5px;
    background: linear-gradient(45deg, #fff, #e0e6eb);
    overflow-wrap: anywhere;
}

.website-catalog__series-preview h2 {
    margin: 0;
    font-size: clamp(20px, 3vw, 26px);
    font-weight: 500;
}

.website-catalog__series-preview p {
    margin: 10px 0 0;
    color: #3d4e55;
    font-size: 15px;
    line-height: 1.3;
    white-space: pre-line;
}

.website-catalog .model-grid {
    gap: 20px;
}

.website-catalog .model-card {
    min-width: 0;
    background: #fff;
    border: 1px solid #e0e6eb;
    border-radius: 5px;
}

.model-card__media {
    width: 100%;
    max-height: 250px;
}

.model-card__media img {
    padding: 18px;
}

.model-card__caption {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 15px;
}

.model-card h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.model-card__indicators,
.model-card__gll {
    display: flex;
    align-items: center;
}

.model-card__indicators {
    gap: 12px;
}

.model-card__gll {
    gap: 2px;
    font-size: 14px;
}

.model-card__description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.model-card__more {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    padding: 5px 10px 5px 15px;
    min-height: 36px;
    border: 1px solid #667c85;
    border-radius: 5px;
    color: #3d4e55;
    text-decoration: none;
}

.model-card__more svg {
    flex: none;
    color: #667c85;
}

.model-card__more:hover {
    border-color: var(--cyan);
    color: var(--cyan);
}

@media (max-width: 740px) {
    .website-catalog {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .website-catalog__main { grid-column: 1; }
    .website-catalog__group { gap: 20px; }
    .website-catalog__series a { padding-block: 10px; }
    .website-catalog__series .website-catalog__series-title { padding-block: 14px; }
}

.catalog-breadcrumbs {
    margin-bottom: clamp(24px, 4vw, 36px);
    font-size: 14px;
}

.catalog-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.catalog-breadcrumbs li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.catalog-breadcrumbs a {
    text-decoration-color: #b4bac1;
    text-underline-offset: 5px;
}

.catalog-breadcrumbs a:hover,
.catalog-breadcrumbs__home {
    color: var(--cyan);
}

.catalog-breadcrumbs__home {
    display: inline-flex;
}

.catalog-breadcrumbs + .speaker-heading {
    margin-top: 0;
}

.speaker-overview {
    display: grid;
    gap: 25px;
    margin-bottom: 40px;
}

.speaker-overview--gallery {
    grid-template-columns: minmax(0, 1.07fr) minmax(0, 1fr);
    align-items: start;
}

.speaker-overview__description {
    padding: clamp(16px, 2.5vw, 30px);
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: #fff;
}

.speaker-overview__description p {
    margin: 0 0 12px;
    white-space: pre-line;
}

.speaker-overview__description a {
    color: var(--cyan);
}

.speaker-overview__request {
    width: min(100%, 270px);
    margin-top: 25px;
    text-align: center;
    box-shadow: 0 18px 40px #1768ae38;
}

.speaker-carousel {
    display: flex;
    align-items: stretch;
    gap: clamp(12px, 2vw, 25px);
    min-width: 0;
}

.speaker-carousel__main {
    position: relative;
    flex: 1;
    min-width: 0;
    aspect-ratio: 1;
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: #fff;
}

.speaker-carousel__main .swiper-slide a {
    display: block;
    height: 100%;
    padding: 14px;
}

.speaker-carousel img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.speaker-carousel__rail {
    position: relative;
    flex: 0 0 clamp(58px, 6.5vw, 80px);
}

.speaker-carousel__thumbnails {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    overflow: auto;
    scrollbar-width: none;
}

.speaker-carousel__thumbnails button,
.speaker-carousel__arrow {
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: #fff;
    color: inherit;
    cursor: pointer;
}

.speaker-carousel__thumbnails button {
    flex: none;
    width: 100%;
    aspect-ratio: 1.08;
    min-height: 0;
    padding: 6px;
}

.speaker-carousel__thumbnails button[aria-current="true"] {
    border-color: var(--cyan);
}

.speaker-carousel__controls {
    position: absolute;
    z-index: 2;
    inset: auto 14px 14px auto;
    display: flex;
    gap: 10px;
}

.speaker-carousel__arrow {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
}

.speaker-carousel__arrow span {
    width: 12px;
    height: 12px;
    border: solid currentColor;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
}

.speaker-carousel__arrow--previous span {
    transform: rotate(-135deg);
}

@media (max-width: 760px) {
    .speaker-overview--gallery { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 560px) {
    .speaker-carousel { flex-direction: column-reverse; }
    .speaker-carousel__main { flex: none; width: 100%; }
    .speaker-carousel__rail { flex-basis: auto; }

    .speaker-carousel__thumbnails {
        position: static;
        flex-direction: row;
        gap: 8px;
    }

    .speaker-carousel__thumbnails button { width: 64px; }
}

.website-cookie-notice {
    position: fixed;
    z-index: 19;
    inset-inline: 16px;
    bottom: max(16px, env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 24px;
    width: fit-content;
    max-width: min(calc(100% - 32px), 720px);
    margin-inline: auto;
    padding: 16px 20px;
    border: 1px solid #dce3e8;
    border-radius: 10px;
    background: #fff;
    color: #11252e;
    box-shadow: 0 6px 24px #11252e26;
}

.website-cookie-notice[hidden],
.website-cookie-notice[inert] {
    display: none;
}

.website-cookie-notice p {
    flex: 1 1 320px;
    margin: 0;
}

.website-cookie-notice a {
    color: #195e9e;
    text-decoration: underline;
}

.website-cookie-notice button {
    border: 0;
    font: inherit;
    cursor: pointer;
}
