@media (max-width: 1279px) {
    .tm-carousel__arrow {
        z-index: 1;
    }

    .tm-carousel__arrow--prev {
        left: calc(var(--gutter) + 16px);
    }

    .tm-carousel__arrow--next {
        right: calc(var(--gutter) + 16px);
    }
}

@media (max-width: 1279px) {
    .tm-hero {
        height: min(801px, 100svh);
        min-height: 560px;
    }

    .tm-hero__text {
        left: 0;
        display: grid;
        place-content: center;
        height: 100%;
        padding-top: 0;
    }

    .tm-intro {
        min-height: 0;
        padding: var(--sp-9) 0;
    }

    .tm-intro__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--sp-6);
    }

    .tm-intro__title,
    .tm-intro__body {
        padding: 0;
    }

    .tm-intro__body {
        margin-right: 0;
        text-align: left;
    }

    .tm-intro__stripe,
    .tm-hero__stripe {
        display: none;
    }

    .tm-sheet__head {
        padding-top: calc(var(--header-h) + var(--sp-6));
    }

    .tm-sheet__sections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--sp-8);
    }

    .tm-landing {
        background-size: 100% 100%;
    }

    .tm-pills {
        flex-wrap: wrap;
    }

    .tm-pills > li {
        flex: 1 1 200px;
    }

    .tm-band {
        height: auto;
        padding-block: var(--sp-10) 200px;
    }
    .tm-burger {
        display: block;
    }

    .tm-header__right {
        position: fixed;
        inset: 0;
        z-index: 2;
        flex-direction: column;
        align-items: stretch;
        height: 100dvh;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 0 var(--gutter) var(--sp-7);
        background: var(--grad-panel);
        color: var(--c-on-accent);
        visibility: hidden;
        opacity: 0;
        transform: translateY(-12px);
        transition: opacity var(--ease), transform var(--ease), visibility var(--ease);
    }

    .is-open .tm-header__right {
        visibility: visible;
        opacity: 1;
        transform: none;
    }

    .tm-menu__top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex: none;
        height: 50px;
        margin: 52px 0 var(--sp-6);
    }

    .tm-menu__logo {
        width: 180px;
        max-width: 60%;
    }

    .tm-menu__logo svg {
        width: 100%;
        height: auto;
    }

    .tm-menu__close {
        position: relative;
        width: 44px;
        height: 44px;
        margin-right: -6px;
        color: inherit;
    }

    .tm-menu__close::before,
    .tm-menu__close::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 26px;
        height: 1px;
        background-color: currentColor;
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .tm-menu__close::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .tm-nav__list {
        flex-direction: column;
        align-items: stretch;
        white-space: normal;
    }

    .tm-nav__item {
        flex-wrap: wrap;
        align-items: center;
        border-bottom: 1px solid color-mix(in srgb, var(--c-on-accent) 35%, transparent);
    }

    .tm-nav__item + .tm-nav__item::before {
        content: none;
    }

    .tm-nav__link {
        flex: 1;
        padding: var(--sp-4) 0;
        font-family: var(--ff-display);
        font-size: var(--fs-card);
        font-style: italic;
        font-weight: var(--fw-light);
        line-height: 1.2;
    }

    .tm-nav__toggle {
        display: grid;
        place-items: center;
        width: 44px;
        height: 44px;
        margin-right: -10px;
        color: inherit;
    }

    .tm-nav__toggle svg {
        width: 16px;
        height: 8px;
        transition: transform var(--ease);
    }

    .is-expanded > .tm-nav__toggle svg {
        transform: rotate(180deg);
    }

    .tm-nav__sub,
    .tm-nav__item + .tm-nav__item .tm-nav__sub {
        position: static;
        display: none;
        flex-basis: 100%;
        width: auto;
        padding: 0 0 var(--sp-4) var(--sp-4);
        border-radius: 0;
        background: none;
        font-size: var(--fs-nav);
        line-height: 1.3;
        visibility: visible;
        opacity: 1;
    }

    .tm-nav__item.is-expanded > .tm-nav__sub {
        display: block;
    }

    .tm-nav__sub::before {
        content: none;
    }

    .tm-nav__sublink {
        display: block;
        padding: var(--sp-2) 0;
    }

    .tm-btn--header {
        align-self: stretch;
        height: 48px;
        margin: var(--sp-6) 0 0;
        border-color: var(--c-on-accent);
        background-color: var(--c-on-accent);
        color: var(--c-accent-deep);
        font-weight: var(--fw-semibold);
    }

    .tm-header--on-light .tm-btn--header {
        background-color: var(--c-on-accent);
    }

    .tm-lang {
        align-self: center;
        margin: var(--sp-5) 0 0;
        font-size: var(--fs-body);
    }

    .tm-lang__current {
        display: none;
    }

    .tm-lang__list {
        position: static;
        display: flex;
        gap: var(--sp-5);
        padding: 0;
        background: none;
        visibility: visible;
        opacity: 1;
    }

    .tm-lang__list::before {
        content: none;
    }

    .is-locked {
        overflow: hidden;
    }

    .tm-footer__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: var(--sp-7);
    }

    .tm-footer__logo {
        grid-column: 1 / -1;
        margin: var(--sp-5) 0 0;
    }

    .tm-footer__contact::before,
    .tm-social::before,
    .tm-footer__stripe,
    .tm-contact-form__stripe {
        display: none;
    }

    .tm-footer__contact {
        padding-left: 0;
    }

    .tm-social {
        grid-column: 1 / -1;
        grid-auto-flow: column;
        padding: 0;
    }

    .tm-contact-form {
        grid-template-columns: minmax(0, 36%) minmax(0, 1fr);
    }

    .tm-contact-form__body {
        padding: var(--sp-8) var(--sp-7);
    }
}

@media (max-width: 767px) {
    .tm-carousel {
        --hotspot: 28px;
        --hotspot-halo: 6px;
    }

    .tm-hotspot__box,
    .tm-hotspot--right .tm-hotspot__box,
    .tm-hotspot--below .tm-hotspot__box {
        top: auto;
        right: var(--sp-3);
        bottom: var(--sp-3);
        left: var(--sp-3);
        width: auto;
        max-width: none;
        padding: var(--sp-3) var(--sp-4);
    }

    .tm-header__logo {
        width: 180px;
    }

    .tm-footer {
        padding-top: var(--sp-8);
    }

    .tm-footer__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .tm-whatsapp {
        width: 56px;
        height: 56px;
        margin-top: -28px;
    }

    .tm-whatsapp svg {
        width: 29px;
        height: 29px;
    }

    .tm-quota {
        height: 56px;
        margin-top: -28px;
        padding-right: var(--sp-4);
        font-size: var(--fs-nav);
    }

    .tm-quota__seal {
        width: 54px;
    }

    .tm-footer__legal {
        margin-inline: var(--gutter);
    }

    .tm-page-title {
        padding-top: calc(var(--header-h) + var(--sp-4));
        padding-bottom: var(--sp-7);
    }

    .tm-contact-form {
        grid-template-columns: minmax(0, 1fr);
        border-radius: var(--r-panel-sm);
    }

    .tm-contact-form__media {
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 3;
        border-radius: var(--r-panel-sm) var(--r-panel-sm) 0 0;
    }

    .tm-contact-form__body {
        padding: var(--sp-7) var(--sp-5);
    }

    .tm-choice-row__label {
        flex-basis: 100%;
    }

    .tm-carousel__frame {
        border-radius: var(--r-panel-sm) var(--r-panel-sm) var(--r-panel-sm) 0;
    }

    .tm-sheet__sections {
        grid-template-columns: minmax(0, 1fr);
        row-gap: var(--sp-6);
    }

    .tm-sheet__sections--flow {
        columns: 1;
    }

    .tm-sheet__intro {
        font-size: var(--fs-text-lg);
    }

    .tm-sheet__rule,
    .tm-sheet__rule--after-media,
    .tm-sheet__rule--end,
    .tm-sheet__video,
    .tm-sheet__related {
        margin-top: var(--sp-7);
    }

    .tm-pills > li {
        flex-basis: 100%;
        max-width: none;
    }

    .tm-video__play {
        width: 72px;
        height: 72px;
    }

    .tm-seals {
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--sp-6) var(--sp-7);
        padding-block: var(--sp-8);
    }

    .tm-seals__item {
        width: calc(var(--w) * 0px);
    }
}

@media (max-width: 1279px) {
    .tm-slider {
        height: clamp(460px, 120vw, 801px);
    }

    .tm-slider__text {
        display: grid;
        place-content: center;
        height: 100%;
        padding-top: 0;
    }

    .tm-slider__links {
        max-width: 760px;
        column-gap: var(--sp-5);
        transform: none;
    }

    .tm-slider__arrow {
        top: calc(50% - 14px);
    }

    .tm-slider__arrow--prev {
        left: var(--gutter);
    }

    .tm-slider__arrow--next {
        right: var(--gutter);
    }

    .tm-slider__line,
    .tm-about__stripe {
        display: none;
    }

    .tm-about {
        height: auto;
        padding-block: var(--sp-9);
    }

    .tm-about__inner {
        grid-template-columns: minmax(0, 1fr);
        row-gap: var(--sp-6);
    }

    .tm-about__image {
        margin: 0;
    }

    .tm-about__text {
        margin-right: 0;
        padding-top: 0;
    }

    .tm-about__title {
        margin-left: 0;
        white-space: normal;
    }

    .tm-gallery__slide {
        width: calc(100vw - 120px);
    }

    .tm-gallery__track {
        gap: 40px;
    }

    .tm-gallery__arrow {
        top: calc(50% - 14px);
    }

    .tm-gallery__arrow--prev {
        left: 20px;
    }

    .tm-gallery__arrow--next {
        right: 20px;
    }

    .tm-reviews {
        height: auto;
        padding-bottom: var(--sp-9);
    }

    .tm-promo {
        display: flex;
        flex-direction: column;
        height: auto;
    }

    .tm-promo__media {
        position: relative;
        aspect-ratio: 16 / 9;
    }

    .tm-promo__card {
        position: relative;
        top: auto;
        left: auto;
        z-index: 1;
        width: auto;
        min-height: 0;
        margin: calc(var(--sp-8) * -1) var(--gutter) 0;
    }

    .tm-posts {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
        gap: var(--sp-6);
    }

    .tm-post__link {
        height: auto;
        min-height: 0;
    }

    .tm-post__image {
        height: auto;
        aspect-ratio: 400 / 352;
    }

    .tm-blog-home__all {
        margin-bottom: var(--sp-9);
    }
}

@media (max-width: 767px) {
    .tm-slider__title {
        font-size: var(--fs-h2);
    }

    .tm-slider__text {
        padding-inline: var(--sp-7);
    }

    .tm-slider__links {
        display: flex;
        flex-direction: column;
        gap: var(--sp-2);
    }

    .tm-slider__links a {
        justify-self: auto;
    }

    .tm-gallery__slide {
        width: calc(100vw - 80px);
    }

    .tm-gallery__track {
        gap: 20px;
    }

    .tm-gallery__arrow {
        color: var(--c-on-accent);
    }

    .tm-reviews {
        margin-top: -80px;
        padding-top: 160px;
    }

    .tm-reviews__track {
        gap: 40px;
    }

    .tm-review {
        width: calc(100vw - 2 * var(--gutter));
        padding: 70px 44px 0;
    }

    .tm-review::before,
    .tm-review::after {
        font-size: 120px;
    }

    .tm-review__author {
        padding-right: 0;
    }

    .tm-reviews__arrow {
        top: auto;
        bottom: -48px;
    }

    .tm-reviews__arrow--prev {
        left: calc(50% - 40px);
    }

    .tm-reviews__arrow--next {
        right: calc(50% - 40px);
    }

    .tm-promo__card {
        padding: var(--sp-6) var(--gutter);
    }

    .tm-promo__title {
        font-size: var(--fs-h3);
    }

    .tm-posts {
        grid-template-columns: minmax(0, 1fr);
    }

    .tm-space__title,
    .tm-blog-home__title {
        margin-top: var(--sp-9);
    }

    .tm-gallery,
    .tm-posts {
        margin-top: var(--sp-6);
    }
}

@media (max-width: 1279px) {
    .tm-hero__label {
        position: static;
        justify-self: center;
        margin-bottom: var(--sp-3);
        transform: none;
    }

    .tm-hero--short {
        height: min(701px, 80svh);
        min-height: 480px;
    }

    .tm-split,
    .tm-facilities {
        height: auto;
        padding-block: var(--sp-9);
    }

    .tm-split__columns,
    .tm-facilities,
    .tm-financing {
        grid-template-columns: minmax(0, 1fr);
        row-gap: var(--sp-7);
    }

    .tm-split__columns {
        margin-top: var(--sp-7);
    }

    .tm-facilities__art {
        left: 0;
        justify-self: center;
        margin-top: 0;
    }

    .tm-wide-photo {
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .tm-quote {
        margin: var(--sp-7) auto var(--sp-9);
    }

    .tm-insurers {
        height: auto;
        padding-bottom: 180px;
    }

    .tm-financing {
        min-height: 0;
        padding-block: var(--sp-8) var(--sp-9);
    }

    .tm-financing__lead {
        max-width: none;
    }

    .tm-team__grid,
    .tm-article {
        width: auto;
        margin-inline: var(--gutter);
    }

    .tm-team__grid {
        column-gap: var(--sp-7);
    }

    .tm-team__grid--founders {
        margin-top: -200px;
    }

    .tm-team__photo::before {
        height: 57%;
    }

    .tm-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 362px));
    }

    .tm-post-nav__link {
        padding: var(--sp-7) var(--sp-6) 90px;
    }

    .tm-post-nav__link--prev .tm-post-nav__arrow {
        left: var(--sp-6);
    }

    .tm-post-nav__link--next .tm-post-nav__arrow {
        right: var(--sp-6);
    }

    .tm-info {
        gap: var(--sp-7);
    }
}

@media (max-width: 767px) {
    .tm-team__grid {
        grid-template-columns: minmax(0, 1fr);
        row-gap: var(--sp-8);
    }

    .tm-member__lead {
        font-size: var(--fs-text-lg);
        line-height: 24px;
    }

    .tm-team__grid--founders {
        margin-top: -120px;
    }

    .tm-member__name,
    .tm-team__title {
        font-size: var(--fs-h3);
    }

    .tm-member__role {
        font-size: var(--fs-serif);
        line-height: 1.3;
    }

    .tm-facilities__art {
        width: 100%;
        max-width: 460px;
    }

    .tm-facilities__logo {
        left: 16%;
        width: 61%;
    }

    .tm-facilities__stripe {
        display: none;
    }

    .tm-split__title,
    .tm-section-title,
    .tm-insurers__title {
        font-size: var(--fs-h3);
    }

    .tm-quote {
        font-size: var(--fs-lead);
    }

    .tm-marquee__item {
        width: 260px;
        height: 110px;
    }

    .tm-marquee__item img {
        max-width: 70%;
    }

    .tm-marquee__track {
        margin-left: calc(50% - 650px);
    }

    .tm-location__map,
    .tm-location__map iframe,
    .tm-tour__frame,
    .tm-tour__frame iframe {
        height: 420px;
    }

    .tm-tour {
        margin-top: var(--sp-8);
    }

    .tm-tour__frame {
        margin-top: var(--sp-6);
    }

    .tm-blog-grid {
        grid-template-columns: minmax(0, 1fr);
        margin-top: -40px;
    }

    .tm-blog-card__link {
        height: 420px;
    }

    .tm-blog-card__title {
        font-size: var(--fs-text-lg);
        line-height: 24px;
    }

    .tm-article__body {
        columns: 1;
    }

    .tm-article__body h2 {
        font-size: var(--fs-h3);
    }

    .tm-post-nav {
        grid-template-columns: minmax(0, 1fr);
    }

    .tm-post-nav__link {
        min-height: 260px;
    }

    .tm-post-nav__title {
        font-size: var(--fs-lead);
    }

    .tm-info {
        flex-direction: column;
        gap: var(--sp-5);
        padding-inline: var(--gutter);
    }

    .tm-error__actions {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 1319px) {
    .tm-kids__list {
        padding-right: 1px;
    }

    .tm-kids .tm-kid {
        flex: 1 1 calc(100% / 3);
        width: auto;
        height: 320px;
    }
}

@media (max-width: 767px) {
    .tm-kids .tm-kid {
        flex-basis: 50%;
        height: 260px;
    }

    .tm-kids .tm-kid__text {
        bottom: 24px;
        padding-inline: 12px;
    }
}

@media (max-width: 479px) {
    .tm-kids .tm-kid {
        flex-basis: 100%;
        height: 220px;
    }
}
