/* Hero */
.tm-hero { position: relative; min-height: 100vh; min-height: 100svh; color: #f7f7f7; overflow: hidden; display: flex; align-items: stretch; margin: 0; }
.tm-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.tm-hero-video { width: 100%; height: 100%; object-fit: cover; }
.tm-hero-overlay { position: absolute; inset: 0; background: #000; opacity: .45; }
.tm-hero-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100%;
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: clamp(12px, 1.5vh, 60px) clamp(20px, 4vw, 76px) clamp(32px, 25vh, 142px);
    box-sizing: border-box;
}
.tm-hero h1 { font-size: clamp(42px, 4.8vw, 200px); line-height: 1.05; margin: 0; letter-spacing: -0.6px; max-width: 100%; }
.tm-hero-subtitle {
    font-size: clamp(16px, 1.1vw, 40px);
    line-height: 1.55;
    max-width: min(580px, 100%);
    margin: 0;
    /*text-align: center;*/
    /*justify-self: center;*/
    align-self: center;
}
.tm-hero-actions { display: flex; gap: 12px; margin-top: 0; flex-wrap: wrap; justify-self: start; align-self: end; padding-bottom: clamp(12px, 2vh, 28px); }
.btn-primary { background: #00a9a0; border: none; color: #fff; padding: 16px 24px; border-radius: 4px; font-weight: 600; min-width: 260px; height: 62px; display: inline-flex; align-items: center; justify-content: center; letter-spacing: 0.1px; box-shadow: 0 6px 18px rgba(0,0,0,0.2); }

@media (min-width: 901px) {
    .tm-hero-content { padding-left: clamp(40px, 8vw, 120px); padding-right: clamp(40px, 8vw, 120px); }
}

/* Why */
.tm-why { padding: 71px 0; background: #fff; color: #0f172a; min-height: 80vh; }
.tm-why .container { max-width: 1200px; }
.tm-why-inner { display: grid; grid-template-columns: 0.75fr 1.6fr; align-items: center; gap: 1px; justify-items: start; }
.tm-why-card { border-radius: 20px; padding: 24px; display: grid; place-items: center; overflow: visible; box-shadow: 0 18px 38px rgba(0,0,0,0.08); max-width: 310px; width: 100%; aspect-ratio: 3/5; justify-self: start; margin-left: -8%; }
.tm-why-card img { width: 125%; height: auto; object-fit: contain; border-radius: 50%; mix-blend-mode: normal; transform: translate(20%, 18%); }
.tm-why-text .kicker { text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px; color: #0fa5c9; }
.tm-why-text { max-width: 780px; margin: 0; text-align: left; }
.tm-why-text h2 { margin: 12px 0 18px; color: #0f172a; font-size: clamp(26px, 3vw, 34px); }
.tm-why-text .rich-text { color: #2d3748; line-height: 1.7; text-align: left; }

@media (max-width: 900px) {
    .tm-why-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .tm-why-card {
        order: -1;
        margin-left: 0;
        max-width: 260px;
        justify-self: center;
    }
    .tm-why-card img {
        width: 100%;
        transform: none;
        border-radius: 18px;
    }
    .tm-why-text {
        max-width: 100%;
    }
}

/* NAD Leaders */
.tm-nad { padding: 86px 0; background: #ffffff; color: #0f172a; }
.tm-nad-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 52px; align-items: center; }
.tm-nad--right .tm-nad-inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.tm-nad--right .tm-nad-media { order: 2; }
.tm-nad--right .tm-nad-content { order: 1; }
.tm-nad-media img { width: 100%; height: auto; display: block; }
.tm-nad-content h2 { margin: 0 0 16px; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.15; }
.tm-nad-content .hl { color: #00a9a0; }
.tm-nad-content .rich-text { color: #2d3748; line-height: 1.7; margin-bottom: 18px; }
.tm-nad-list { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 12px; }
.tm-nad-list li { display: flex; gap: 12px; align-items: flex-start; color: #2d3748; line-height: 1.5; }
.tm-nad-list li::before { content: \"✓\"; width: 26px; height: 26px; border-radius: 999px; background: #4fb7b1; color: #ffffff; font-size: 14px; font-weight: 700; display: grid; place-items: center; flex: 0 0 auto; margin-top: 2px; }
.tm-nad-note { color: #1c2a39; font-weight: 600; }

/* Benefits Grid */
.tm-benefits { padding: 86px 0; background: #f5f9f9; color: #0f172a; }
.tm-benefits-head { text-align: center; max-width: 880px; margin: 0 auto 42px; }
.tm-benefits h2 { margin: 0 0 12px; font-size: clamp(28px, 3.2vw, 40px); }
.tm-benefits .hl { color: #00a9a0; }
.tm-benefits-subtitle { margin: 0; color: #55616d; line-height: 1.6; }
.tm-benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.tm-benefit-card { background: #ffffff; border: 1px solid rgba(0, 169, 160, 0.35); border-radius: 18px; padding: 26px 22px; text-align: center; box-shadow: 0 10px 24px rgba(12, 20, 22, 0.06); }
.tm-benefit-icon { width: 70px; height: 70px; border-radius: 999px; border: 2px solid rgba(0, 169, 160, 0.5); display: grid; place-items: center; margin: 0 auto 14px; }
.tm-benefit-icon img { width: 32px; height: 32px; object-fit: contain; }
.tm-benefit-card h3 { margin: 0; font-size: 18px; color: #0f6b66; }
.tm-benefit-card p { margin: 10px 0 0; color: #566472; font-size: 14.5px; line-height: 1.5; }

/* How It Works */
.tm-how { padding: 86px 0; background: #ffffff; color: #0f172a; }
.tm-how-inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 52px; align-items: center; }
.tm-how--left .tm-how-media { order: -1; }
.tm-how-content h2 { margin: 0 0 18px; font-size: clamp(28px, 3.2vw, 40px); }
.tm-how-content .hl { color: #00a9a0; }
.tm-how-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.tm-how-list li { display: flex; gap: 12px; align-items: flex-start; color: #2d3748; line-height: 1.5; }
.tm-how-list li::before { content: \"✓\"; width: 26px; height: 26px; border-radius: 999px; background: #4fb7b1; color: #ffffff; font-size: 14px; font-weight: 700; display: grid; place-items: center; flex: 0 0 auto; margin-top: 2px; }
.tm-how-media img { width: 100%; height: auto; display: block; border-radius: 16px; }

/* Certifications */
.tm-certs { padding: 86px 0; background: #ffffff; color: #0f172a; }
.tm-certs h2 { text-align: center; margin: 0 0 12px; font-size: clamp(26px, 3vw, 36px); }
.tm-certs-subtitle { text-align: center; margin: 0 0 32px; color: #566472; }
.tm-certs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.tm-cert-card { background: #ffffff; border: 1px solid rgba(0, 169, 160, 0.35); border-radius: 24px; padding: 30px 26px; text-align: center; box-shadow: 0 16px 34px rgba(10, 18, 20, 0.08); }
.tm-cert-icon { width: 70px; height: 70px; border-radius: 999px; border: 2px solid rgba(0, 169, 160, 0.45); display: grid; place-items: center; margin: 0 auto 14px; }
.tm-cert-icon img { width: 32px; height: 32px; object-fit: contain; }
.tm-cert-card h3 { margin: 0 0 8px; font-size: 17px; color: #0f6b66; }
.tm-cert-card p { margin: 0; color: #566472; font-size: 14px; line-height: 1.5; }
.tm-certs-logos-title { text-align: center; margin: 36px 0 18px; color: #4fb7b1; font-weight: 600; }
.tm-certs-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.tm-cert-logo { background: #59b9b3; color: #ffffff; padding: 22px 18px; border-radius: 6px; text-align: center; font-weight: 600; box-shadow: none; width: 240px; max-width: 100%; }
.tm-cert-logo img { max-height: 34px; width: auto; object-fit: contain; }

/* Achievements */
.tm-achievements { background: #111; color: #f4f4f4; padding: 80px 0; text-align: center; }
.tm-achievements h2 { margin: 0 0 32px; font-size: clamp(26px, 3vw, 40px); font-weight: 400; letter-spacing: -0.3px; }
.tm-achievements .hl { color: #1ed5c1; }
.tm-achievements-inner { display: flex; flex-direction: column; gap: 24px; align-items: center; }
.tm-achievements-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; width: 100%; }
.tm-achievements .stat { background: transparent; border: none; padding: 12px; }
.tm-achievements .number { font-size: clamp(42px, 6vw, 72px); font-weight: 700; }
.tm-achievements .label { color: #e0e5ef; font-size: 16px; margin-top: 6px; }

/* Featured */
.tm-featured { padding: 86px 0 94px; background: #fdfdfd; color: #0f172a; }
.tm-featured .container { max-width: 1320px; }
.tm-featured-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 38px; flex-wrap: wrap; }
.tm-featured-head .texts { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.tm-featured h2 { margin: 0; font-size: clamp(32px, 5vw, 52px); font-weight: 600; letter-spacing: -0.25px; line-height: 1.08; }
.tm-featured .hl { color: #0fa5c9; }
.tm-featured .subtitle { letter-spacing: 0.04em; font-size: 15px; color: #0fa5c9; margin: 0; font-weight: 600; text-transform: uppercase; line-height: 1.3; }
.tm-featured .btn-secondary { background: #00a9a0; color: #fff; border: none; padding: 14px 22px; border-radius: 30px; font-weight: 700; letter-spacing: 0.3px; text-transform: uppercase; box-shadow: 0 10px 24px rgba(0,169,160,0.18); }
.tm-featured .products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 32px; align-items: start; justify-items: center; }
.tm-featured .product-card { background: transparent; border: none; box-shadow: none; display: flex; flex-direction: column; width: 100%; max-width: 520px; }
.tm-featured .product-card .thumb {
  height: 520px;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-color: transparent;
  border-radius: 0;
  margin-bottom: 18px;
  display: block;
  text-decoration: none;
}
.tm-featured .product-card .content { padding: 4px 4px 0; gap: 6px; }
.tm-featured .product-card h3 { font-size: 19px; margin: 0 0 6px; font-weight: 700; letter-spacing: -0.2px; text-transform: uppercase; }
.tm-featured .product-card h3 a { color: #0f172a; text-decoration: none; }
.tm-featured .product-card p { color: #3b4251; margin: 0; font-size: 15px; line-height: 1.45; }

/* Partners */
.tm-partners { padding: 68px 0 64px; background: #fff; text-align: center; }
.tm-partners .container { max-width: 1400px; overflow: visible; }
.tm-partners h2 { margin: 0 0 28px; font-size: clamp(26px, 3vw, 36px); font-weight: 700; color: #0f172a; }
.tm-partners .hl { color: #00a9a0; }
.partners-marquee {
  position: relative;
  overflow: visible;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 0 6vw;
}
.partners-track { display: flex; flex-wrap: nowrap; width: max-content; gap: 72px; align-items: center; animation: partners-slide 30s linear infinite; animation-play-state: running; }
.partners-marquee.is-animated .partners-track { animation-play-state: running; }
.partners-marquee:hover .partners-track { animation-play-state: running; }
.tm-partners .partner { display: grid; place-items: center; padding: 10px 8px; flex: 0 0 auto; min-width: 190px; }
.tm-partners img { max-height: 140px; max-width: 312px; object-fit: contain; filter: none; }

@keyframes partners-slide {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* CTA */
.tm-cta { --cta-pad-top: 86px; --cta-marquee-gap: 18px; background: #0b0b0b; color: #e8eef7; padding: var(--cta-pad-top) 0 0; border-bottom: none; }
.tm-cta-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; position: relative; }
.tm-cta-inner::after { content: ""; position: absolute; top: calc(-1 * var(--cta-pad-top)); bottom: calc(-1 * var(--cta-marquee-gap)); left: 50%; width: 1px; background: rgba(255,255,255,0.2); }
.tm-cta-left { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 40px; align-items: start; text-align: left; padding-right: 40px; }
.tm-cta-left .cta-col { display: flex; flex-direction: column; gap: 14px; }
.tm-cta .hl { color: #00a9a0; }
.tm-cta-left .cta-heading { margin: 0; font-size: 20px; font-weight: 600; color: #e8eef7; }
.tm-cta-left .contacts { display: grid; gap: 8px; }
.tm-cta-left .contact { margin: 0; font-size: 16px; }
.tm-cta-left .rich-text { font-size: 17px; line-height: 1.55; max-width: 480px; text-align: left; }
.tm-cta-left .cta-social-links { display: flex; flex-direction: row; gap: 10px; flex-wrap: wrap; align-items: center; }
.tm-cta-left .cta-social-links .contact-widget-item { flex-shrink: 0; }
.tm-cta-left .cta-instagram-wrap { display: flex; justify-content: center; }
.tm-cta-right { text-align: left; align-self: start; padding-left: 12px; margin-top: -6px; }
.tm-cta-right h2 { margin: 0 0 18px; font-size: clamp(28px, 2.6vw, 42px); font-weight: 600; white-space: normal; }
.tm-cta .btn-primary { min-width: 280px; height: 64px; font-size: 17px; letter-spacing: 0.3px; }

.tm-cta-marquee { position: relative; z-index: 3; overflow: hidden; border-top: 1px solid rgba(255,255,255,0.2); margin-top: var(--cta-marquee-gap); padding: 30px 24px 12px; display: flex; align-items: center; background: #0b0b0b; }
.tm-cta-marquee .marquee-track { display: flex; gap: 0; align-items: center; animation: cta-marquee 16s linear infinite; animation-play-state: running; white-space: nowrap; font-size: 84px; letter-spacing: 0.08em; color: transparent; text-transform: uppercase; font-weight: 600; line-height: 1.15; -webkit-text-stroke: 1.5px #00a9a0; text-stroke: 1.5px #00a9a0; }
.tm-cta-marquee.is-animated .marquee-track { animation-play-state: running; }
.tm-cta-marquee .marquee-track span { position: relative; top: 18px; padding: 0 24px; }
.tm-cta-marquee:hover .marquee-track { animation-play-state: running; }
@keyframes cta-marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .partners-track,
    .tm-cta-marquee .marquee-track {
        animation: none;
        transform: translateX(0);
    }
}

@media (max-width: 900px) {
    .tm-nad-inner,
    .tm-how-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .tm-nad-media {
        order: -1;
        max-width: 520px;
        justify-self: center;
    }
    .tm-nad--right .tm-nad-media {
        order: -1;
    }
    .tm-how-media {
        order: -1;
    }
    .tm-cta-inner { grid-template-columns: 1fr; }
    .tm-cta-inner::after { display: none; }
    .tm-cta-left { grid-template-columns: 1fr; padding-right: 0; }
    .tm-cta-right { padding-left: 0; margin-top: 16px; }
    .tm-cta-right h2 { white-space: normal; }
}

@media (max-width: 640px) {
    .tm-hero-content {
        padding: 20px 18px 36px;
    }
    .tm-hero h1 {
        font-size: clamp(30px, 9.5vw, 46px);
        line-height: 1.08;
        letter-spacing: -0.3px;
    }
    .tm-hero-subtitle {
        font-size: 15px;
        line-height: 1.55;
        max-width: 100%;
    }
    .tm-hero-actions {
        width: 100%;
    }
    .tm-hero .btn-primary {
        width: 100%;
        min-width: 0;
        height: 54px;
        font-size: 16px;
    }
    .tm-why-text .kicker {
        font-size: 11px;
        letter-spacing: 0.1em;
    }
    .tm-why-text h2 {
        font-size: 24px;
        margin: 10px 0 14px;
    }
    .tm-why-text .rich-text {
        font-size: 15px;
        line-height: 1.6;
    }
    .tm-featured .product-card .thumb {
        height: auto;
        aspect-ratio: 4 / 5;
        background-size: cover;
        background-position: center;
        margin-bottom: 10px;
    }
    .tm-nad { padding: 64px 0; }
    .tm-nad-content h2 { font-size: 26px; }
    .tm-nad-list li { font-size: 14.5px; }
    .tm-benefits { padding: 64px 0; }
    .tm-benefits-head { text-align: left; }
    .tm-benefits h2 { font-size: 24px; }
    .tm-benefits-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
    .tm-benefit-card { padding: 18px 16px; }
    .tm-benefit-icon { width: 56px; height: 56px; }
    .tm-benefit-icon img { width: 26px; height: 26px; }
    .tm-how { padding: 64px 0; }
    .tm-how-content h2 { font-size: 24px; }
    .tm-how-list li { font-size: 14.5px; }
    .tm-certs { padding: 64px 0; }
    .tm-certs h2 { font-size: 24px; }
    .tm-certs-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
    .tm-cert-card { padding: 18px 16px; }
    .tm-certs-logos { gap: 12px; }
    .tm-cert-logo { padding: 14px 12px; border-radius: 6px; width: 160px; }
}

/* Buttons */
.btn-secondary { background: rgba(0,0,0,0.06); border: 1px solid rgba(0,0,0,0.1); padding: 10px 16px; border-radius: 10px; color: #0f172a; }
