/*
 * Temorya Public Experience 2026 — v9.0.13
 * New semantic design system. No legacy utility/override dependency.
 */

:root {
    color-scheme: light;
    --tm-brand: #0e7490;
    --tm-brand-rgb: 14, 116, 144;
    --tm-brand-fg: #0e7490;
    --tm-accent: #6d4aff;
    --tm-accent-rgb: 109, 74, 255;
    --tm-page: #edf3f7;
    --tm-page-strong: #e1eaf0;
    --tm-surface: #ffffff;
    --tm-surface-soft: #f4f7f9;
    --tm-surface-raised: #ffffff;
    --tm-ink: #101923;
    --tm-ink-soft: #2b3b4b;
    --tm-muted: #526273;
    --tm-faint: #657586;
    --tm-line: #c9d5dd;
    --tm-line-strong: #aebfca;
    --tm-focus: #0b84a5;
    --tm-success: #087f5b;
    --tm-success-soft: #e6f7f0;
    --tm-on-success: #ffffff;
    --tm-warning: #a45c00;
    --tm-warning-soft: #fff3dc;
    --tm-on-warning: #ffffff;
    --tm-danger: #be3144;
    --tm-danger-soft: #fff0f2;
    --tm-on-danger: #ffffff;
    --tm-info: #1d62a8;
    --tm-info-soft: #eaf4ff;
    --tm-on-brand: #ffffff;
    --tm-shadow-sm: 0 1px 2px rgba(16, 25, 35, .06), 0 8px 22px -16px rgba(16, 25, 35, .34);
    --tm-shadow-md: 0 18px 42px -24px rgba(16, 25, 35, .42), 0 4px 12px rgba(16, 25, 35, .06);
    --tm-shadow-lg: 0 32px 76px -30px rgba(16, 25, 35, .48), 0 10px 24px rgba(16, 25, 35, .08);
    --tm-radius-sm: .7rem;
    --tm-radius-md: 1.1rem;
    --tm-radius-lg: 1.65rem;
    --tm-radius-xl: 2.25rem;
    --tm-container: 82rem;
    --tm-header-height: 4rem;
    --tm-ease: cubic-bezier(.22, 1, .36, 1);
}

html.dark,
html[data-theme="dark"] {
    color-scheme: dark;
    --tm-page: #071018;
    --tm-brand-fg: #55c7e5;
    --tm-page-strong: #0a1620;
    --tm-surface: #0e1a24;
    --tm-surface-soft: #101f2c;
    --tm-surface-raised: #172936;
    --tm-ink: #f4f8fb;
    --tm-ink-soft: #c6d1da;
    --tm-muted: #a9b8c5;
    --tm-faint: #91a3b2;
    --tm-line: #2d414f;
    --tm-line-strong: #405a69;
    --tm-focus: #55c7e5;
    --tm-success: #55d6aa;
    --tm-success-soft: #0b2d27;
    --tm-on-success: #071018;
    --tm-warning: #f3ba63;
    --tm-warning-soft: #302412;
    --tm-on-warning: #071018;
    --tm-danger: #ff8c9a;
    --tm-danger-soft: #35171d;
    --tm-on-danger: #071018;
    --tm-info: #82bfff;
    --tm-info-soft: #10263c;
    --tm-shadow-sm: 0 1px 2px rgba(0, 0, 0, .18), 0 10px 24px rgba(0, 0, 0, .12);
    --tm-shadow-md: 0 22px 55px rgba(0, 0, 0, .28);
    --tm-shadow-lg: 0 36px 90px rgba(0, 0, 0, .38);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-width: 0;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--tm-header-height) + 1rem);
    background: var(--tm-page);
}

body.tm-site {
    min-width: 0;
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(circle at 12% -8%, rgba(var(--tm-brand-rgb), .08), transparent 28rem),
        radial-gradient(circle at 92% 14%, rgba(var(--tm-accent-rgb), .055), transparent 30rem),
        var(--tm-page);
    color: var(--tm-ink-soft);
    font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.tm-lock {
    overflow: hidden;
}

body.tm-site img,
body.tm-site svg,
body.tm-site video {
    display: block;
    max-width: 100%;
}

body.tm-site button,
body.tm-site input,
body.tm-site select,
body.tm-site textarea {
    font: inherit;
}

body.tm-site button,
body.tm-site [role="button"] {
    touch-action: manipulation;
}

body.tm-site a {
    color: inherit;
    text-decoration: none;
}

[hidden] {
    display: none !important;
}

body.tm-site h1,
body.tm-site h2,
body.tm-site h3,
body.tm-site h4,
body.tm-site p {
    margin-top: 0;
}

body.tm-site h1,
body.tm-site h2,
body.tm-site h3,
body.tm-site h4 {
    color: var(--tm-ink);
    font-family: "Manrope", "Inter", sans-serif;
    line-height: 1.08;
    letter-spacing: -.035em;
}

body.tm-site :focus-visible {
    outline: 3px solid color-mix(in srgb, var(--tm-focus) 65%, transparent);
    outline-offset: 3px;
}

body.tm-site ::selection {
    background: #4f46e5;
    color: #ffffff;
}

body.tm-site ::-moz-selection { background: #4f46e5; color: #ffffff; }

html.dark body.tm-site ::selection {
    background: #67e8f9;
    color: #082f49;
}

html.dark body.tm-site ::-moz-selection { background: #67e8f9; color: #082f49; }

.tm-skip-link {
    position: fixed;
    top: .75rem;
    left: .75rem;
    z-index: 1000;
    translate: 0 -160%;
    padding: .75rem 1rem;
    border-radius: var(--tm-radius-sm);
    background: #101923;
    color: #ffffff;
    font-weight: 800;
    transition: translate .18s ease;
}

.tm-skip-link:focus {
    translate: 0;
}

body.tm-site .tm-skip-link {
    color: #ffffff;
}

.tm-main {
    min-height: 55vh;
}

.tm-context-page {
    --tm-context-accent: var(--tm-brand);
}

.tm-context-page .tm-hero {
    background:
        radial-gradient(circle at 84% 12%, color-mix(in srgb, var(--tm-context-accent) 16%, transparent), transparent 26rem),
        radial-gradient(circle at 10% 90%, color-mix(in srgb, var(--tm-context-accent) 8%, transparent), transparent 24rem);
}

.tm-context-page .tm-eyebrow {
    border-color: color-mix(in srgb, var(--tm-context-accent) 28%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-context-accent) 9%, var(--tm-surface));
    color: color-mix(in srgb, var(--tm-context-accent) 62%, var(--tm-ink));
}

.tm-context-page .tm-gradient-text {
    background-image: linear-gradient(112deg, var(--tm-context-accent), color-mix(in srgb, var(--tm-context-accent) 52%, var(--tm-accent)));
}

.tm-context-page .tm-type-switcher a[aria-current="page"],
.tm-context-page .tm-chip[aria-pressed="true"],
.tm-context-page .tm-chip.is-active {
    border-color: color-mix(in srgb, var(--tm-context-accent) 54%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-context-accent) 11%, var(--tm-surface));
    color: color-mix(in srgb, var(--tm-context-accent) 62%, var(--tm-ink));
}

.tm-container {
    width: min(calc(100% - 2rem), var(--tm-container));
    margin-inline: auto;
}

.tm-container--reading {
    width: min(calc(100% - 2rem), 76rem);
    margin-inline: auto;
}

.tm-section {
    position: relative;
    padding-block: clamp(3.25rem, 5vw, 4.75rem);
}

.tm-section--compact {
    padding-block: clamp(2.25rem, 3vw, 3.25rem);
}

.tm-section--surface {
    border-block: 1px solid var(--tm-line);
    background: color-mix(in srgb, var(--tm-surface) 78%, transparent);
}

.tm-section-head {
    display: grid;
    gap: 1rem;
    max-width: 48rem;
    margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.tm-section-head--split {
    max-width: none;
}

.tm-section-head__aside {
    max-width: 34rem;
}

.tm-eyebrow {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .55rem;
    min-height: 2rem;
    padding: .38rem .72rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 25%, var(--tm-line));
    border-radius: 999px;
    background: color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface));
    color: color-mix(in srgb, var(--tm-brand) 82%, var(--tm-ink));
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.tm-eyebrow::before {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 .28rem color-mix(in srgb, currentColor 12%, transparent);
    content: "";
}

.tm-display {
    max-width: 14ch;
    margin-bottom: 1.2rem;
    font-size: clamp(2.5rem, 5vw, 4.8rem);
    font-weight: 820;
    line-height: .96;
    text-wrap: balance;
}

.tm-title {
    margin-bottom: .8rem;
    font-size: clamp(1.8rem, 3.2vw, 3.3rem);
    font-weight: 800;
    text-wrap: balance;
}

.tm-title--small {
    font-size: clamp(1.45rem, 2.2vw, 2.25rem);
}

.tm-lead {
    max-width: 62ch;
    margin-bottom: 0;
    color: var(--tm-muted);
    font-size: clamp(.98rem, 1.35vw, 1.15rem);
    line-height: 1.65;
    text-wrap: pretty;
}

.tm-gradient-text {
    background: linear-gradient(112deg, var(--tm-brand), color-mix(in srgb, var(--tm-accent) 74%, var(--tm-brand)));
    background-clip: text;
    color: transparent;
}

.tm-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
}

.tm-btn {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .75rem 1.1rem;
    border: 1px solid transparent;
    border-radius: .9rem;
    background: linear-gradient(135deg, var(--tm-brand), color-mix(in srgb, var(--tm-brand) 72%, var(--tm-accent)));
    box-shadow: 0 12px 28px color-mix(in srgb, var(--tm-brand) 23%, transparent);
    color: var(--tm-on-brand);
    cursor: pointer;
    font-size: .92rem;
    font-weight: 800;
    line-height: 1.15;
    transition: translate .2s var(--tm-ease), box-shadow .2s var(--tm-ease), filter .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}

/* `body.tm-site a { color: inherit; }` intentionally normalizes links, but its
   element specificity must never override action text contrast. */
body.tm-site .tm-btn {
    color: var(--tm-on-brand);
}

.tm-btn:hover {
    translate: 0 -2px;
    box-shadow: 0 18px 34px color-mix(in srgb, var(--tm-brand) 29%, transparent);
    filter: saturate(1.08);
}

.tm-btn:active {
    translate: 0;
}

.tm-btn[disabled],
.tm-btn[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .55;
    translate: none;
}

.tm-btn--secondary {
    border-color: var(--tm-line-strong);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    color: var(--tm-ink);
}

body.tm-site .tm-btn--secondary {
    color: var(--tm-ink);
}

.tm-btn--secondary:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 40%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-brand) 5%, var(--tm-surface));
    box-shadow: var(--tm-shadow-md);
}

.tm-btn--quiet {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    color: var(--tm-ink-soft);
}

body.tm-site .tm-btn--quiet {
    color: var(--tm-ink-soft);
}

.tm-btn--quiet:hover {
    background: var(--tm-surface-soft);
    box-shadow: none;
    color: var(--tm-ink);
}

.tm-btn--danger {
    background: var(--tm-danger);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--tm-danger) 24%, transparent);
}

body.tm-site .tm-btn--danger {
    color: var(--tm-on-danger);
}

.tm-btn--small {
    min-height: 2.75rem;
    padding: .55rem .85rem;
    border-radius: .75rem;
    font-size: .82rem;
}

.tm-btn--wide {
    width: 100%;
}

.tm-icon-btn {
    position: relative;
    display: inline-grid;
    width: 2.85rem;
    height: 2.85rem;
    place-items: center;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: color-mix(in srgb, var(--tm-surface) 92%, transparent);
    color: var(--tm-ink-soft);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease, translate .18s ease;
}

.tm-icon-btn:hover,
.tm-icon-btn[aria-expanded="true"] {
    border-color: color-mix(in srgb, var(--tm-brand) 35%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface));
    color: var(--tm-brand-fg);
    translate: 0 -1px;
}

.tm-icon-btn svg,
.tm-btn svg,
.tm-nav-link svg,
.tm-menu-link svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    stroke-width: 2;
}

.tm-badge {
    display: inline-flex;
    min-height: 1.65rem;
    align-items: center;
    gap: .35rem;
    padding: .2rem .55rem;
    border: 1px solid var(--tm-line);
    border-radius: 999px;
    background: var(--tm-surface-soft);
    color: var(--tm-muted);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
}

.tm-badge--success {
    border-color: color-mix(in srgb, var(--tm-success) 25%, var(--tm-line));
    background: var(--tm-success-soft);
    color: var(--tm-success);
}

.tm-badge--brand {
    border-color: color-mix(in srgb, var(--tm-brand) 28%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: color-mix(in srgb, var(--tm-brand) 82%, var(--tm-ink));
}

.tm-card,
.tm-surface {
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-card {
    height: 100%;
    padding: clamp(1rem, 2vw, 1.35rem);
}

.tm-card--interactive {
    transition: translate .25s var(--tm-ease), border-color .25s ease, box-shadow .25s var(--tm-ease);
}

.tm-card--interactive:hover {
    translate: 0 -.25rem;
    border-color: color-mix(in srgb, var(--tm-brand) 30%, var(--tm-line));
    box-shadow: var(--tm-shadow-md);
}

.tm-grid {
    display: grid;
    gap: 1rem;
    grid-auto-rows: 1fr;
}

.tm-grid > * {
    min-width: 0;
    height: 100%;
}

.tm-grid--2,
.tm-grid--3,
.tm-grid--4 {
    grid-template-columns: 1fr;
}

.tm-kpi {
    display: grid;
    gap: .25rem;
}

.tm-kpi strong {
    color: var(--tm-ink);
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.45rem, 3vw, 2.2rem);
    letter-spacing: -.04em;
}

.tm-kpi span {
    color: var(--tm-muted);
    font-size: .82rem;
    font-weight: 700;
}

.tm-list {
    display: grid;
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tm-list li {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
}

.tm-list li > svg,
.tm-list__icon {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: .22rem;
    flex: 0 0 auto;
    color: var(--tm-success);
}

.tm-field {
    display: grid;
    gap: .45rem;
}

.tm-field label,
.tm-label {
    color: var(--tm-ink-soft);
    font-size: .82rem;
    font-weight: 800;
}

.tm-input,
.tm-select,
.tm-textarea {
    width: 100%;
    min-height: 3.1rem;
    padding: .78rem .95rem;
    border: 1px solid var(--tm-line-strong);
    border-radius: .85rem;
    background: var(--tm-surface);
    color: var(--tm-ink);
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.tm-textarea {
    min-height: 8.5rem;
    resize: vertical;
}

.tm-input::placeholder,
.tm-textarea::placeholder {
    color: var(--tm-faint);
}

.tm-input:focus,
.tm-select:focus,
.tm-textarea:focus {
    border-color: var(--tm-focus);
    box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--tm-focus) 13%, transparent);
}

.tm-input.tm-invalid,
.tm-select.tm-invalid,
.tm-textarea.tm-invalid,
.tm-invalid {
    border-color: var(--tm-danger);
    box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--tm-danger) 12%, transparent);
}

.tm-form-grid {
    display: grid;
    gap: 1rem;
}

.tm-alert {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .9rem 1rem;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: var(--tm-surface-soft);
    color: var(--tm-ink-soft);
}

.tm-alert--success {
    border-color: color-mix(in srgb, var(--tm-success) 26%, var(--tm-line));
    background: var(--tm-success-soft);
    color: var(--tm-success);
}

.tm-alert--danger {
    border-color: color-mix(in srgb, var(--tm-danger) 25%, var(--tm-line));
    background: var(--tm-danger-soft);
    color: var(--tm-danger);
}

.tm-empty {
    display: grid;
    min-height: 18rem;
    place-items: center;
    padding: 2rem;
    border: 1px dashed var(--tm-line-strong);
    border-radius: var(--tm-radius-lg);
    background: color-mix(in srgb, var(--tm-surface) 74%, transparent);
    text-align: center;
}

.tm-empty__icon {
    display: grid;
    width: 4rem;
    height: 4rem;
    margin-inline: auto;
    place-items: center;
    border-radius: 1.25rem;
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

/* Header and navigation */
.tm-statusbar {
    border-bottom: 1px solid var(--tm-line);
    background: color-mix(in srgb, var(--tm-page-strong) 78%, transparent);
    color: var(--tm-muted);
    font-size: .75rem;
}

.tm-statusbar__inner {
    display: flex;
    min-height: 2.125rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.tm-statusbar__group {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .75rem;
}

.tm-statusbar__link {
    display: inline-flex;
    min-height: 2.125rem;
    align-items: center;
    gap: .4rem;
    color: var(--tm-muted);
    font-weight: 700;
    transition: color .18s ease;
}

.tm-statusbar__link:hover {
    color: var(--tm-ink);
}

.tm-status {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--tm-success);
    font-weight: 800;
}

.tm-status::before {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 .25rem color-mix(in srgb, currentColor 12%, transparent);
    content: "";
}

.tm-currency {
    min-height: 1.85rem;
    padding: .15rem 1.65rem .15rem .55rem;
    border: 1px solid var(--tm-line);
    border-radius: .6rem;
    background: var(--tm-surface);
    color: var(--tm-ink-soft);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 850;
}

.tm-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid color-mix(in srgb, var(--tm-line) 84%, transparent);
    background: color-mix(in srgb, var(--tm-page) 83%, transparent);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
    backdrop-filter: blur(20px) saturate(150%);
}

.tm-header__inner {
    display: flex;
    min-height: var(--tm-header-height);
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}

.tm-brand {
    display: inline-flex;
    min-width: 0;
    flex: 0 0 auto;
    align-items: center;
    gap: .7rem;
}

.tm-brand img {
    width: auto;
    max-width: 9.75rem;
    height: 2.1rem;
    object-fit: contain;
}

body.tm-site .tm-logo--dark {
    display: none;
}

html.dark body.tm-site .tm-logo--light,
html[data-theme="dark"] body.tm-site .tm-logo--light {
    display: none;
}

html.dark body.tm-site .tm-logo--dark,
html[data-theme="dark"] body.tm-site .tm-logo--dark {
    display: block;
}

.tm-brand img + .tm-logo-fallback,
.tm-brand img + img + .tm-logo-fallback {
    display: none;
}

.tm-brand__fallback {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border-radius: .85rem;
    background: linear-gradient(145deg, var(--tm-brand), var(--tm-accent));
    box-shadow: 0 10px 26px color-mix(in srgb, var(--tm-brand) 24%, transparent);
    color: #fff;
    font-family: "Manrope", sans-serif;
    font-size: 1.15rem;
    font-weight: 900;
}

.tm-brand__word {
    color: var(--tm-ink);
    font-family: "Manrope", sans-serif;
    font-size: 1.16rem;
    font-weight: 850;
    letter-spacing: -.04em;
}

.tm-nav {
    display: none;
    align-items: center;
    gap: .15rem;
}

.tm-nav-item {
    position: relative;
}

.tm-nav-link {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    gap: .4rem;
    padding: .55rem .68rem;
    border: 0;
    border-radius: .75rem;
    background: transparent;
    color: var(--tm-ink-soft);
    cursor: pointer;
    font-size: .84rem;
    font-weight: 780;
    white-space: nowrap;
    transition: background .18s ease, color .18s ease;
}

.tm-nav-link:hover,
.tm-nav-link[aria-expanded="true"],
.tm-nav-link[aria-current="page"] {
    background: color-mix(in srgb, var(--tm-brand) 8%, transparent);
    color: var(--tm-brand-fg);
}

.tm-nav-link__chevron {
    width: .85rem;
    height: .85rem;
    opacity: .58;
    transition: rotate .18s ease;
}

.tm-nav-link[aria-expanded="true"] .tm-nav-link__chevron {
    rotate: 180deg;
}

.tm-mega {
    position: absolute;
    top: calc(100% + .8rem);
    left: 50%;
    width: min(46rem, 85vw);
    padding: .75rem;
    border: 1px solid var(--tm-line);
    border-radius: 1.35rem;
    background: color-mix(in srgb, var(--tm-surface) 96%, transparent);
    box-shadow: var(--tm-shadow-lg);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -.5rem) scale(.985);
    transform-origin: top center;
    transition: opacity .18s ease, transform .22s var(--tm-ease);
}

.tm-mega[data-open="true"] {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0) scale(1);
}

.tm-mega__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .5rem .6rem .85rem;
}

.tm-mega__title {
    margin: 0;
    color: var(--tm-ink);
    font-size: .85rem;
    font-weight: 850;
    letter-spacing: -.01em;
}

.tm-mega__all {
    color: var(--tm-brand-fg);
    font-size: .75rem;
    font-weight: 850;
}

.tm-mega__grid {
    display: grid;
    gap: .35rem;
}

.tm-menu-link {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 4rem;
    padding: .65rem;
    border-radius: .95rem;
    transition: background .18s ease, color .18s ease;
}

.tm-menu-link:hover {
    background: color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface));
}

.tm-menu-link__icon {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    place-items: center;
    border-radius: .75rem;
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-menu-link__copy {
    min-width: 0;
}

.tm-menu-link__copy strong,
.tm-menu-link__copy span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-menu-link__copy strong {
    color: var(--tm-ink);
    font-size: .82rem;
}

.tm-menu-link__copy span {
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-header-actions {
    display: flex;
    align-items: center;
    gap: .4rem;
    flex: 0 0 auto;
}

.tm-header-actions > .tm-btn,
.tm-auth-label {
    flex-shrink: 0;
    white-space: nowrap;
}

.tm-search-trigger {
    display: none;
    min-width: 8.5rem;
    min-height: 2.5rem;
    align-items: center;
    gap: .55rem;
    padding: .5rem .65rem;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: var(--tm-surface-soft);
    color: var(--tm-muted);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 700;
}

.tm-search-trigger kbd {
    margin-left: auto;
    padding: .1rem .35rem;
    border: 1px solid var(--tm-line);
    border-bottom-width: 2px;
    border-radius: .35rem;
    background: var(--tm-surface);
    color: var(--tm-faint);
    font: 700 .65rem/1.2 "Inter", sans-serif;
}

.tm-count {
    position: absolute;
    top: -.35rem;
    right: -.35rem;
    display: inline-flex;
    min-width: 1.2rem;
    height: 1.2rem;
    align-items: center;
    justify-content: center;
    padding-inline: .25rem;
    border: 2px solid var(--tm-page);
    border-radius: 999px;
    background: var(--tm-danger);
    color: #fff;
    font-size: .62rem;
    font-weight: 900;
    line-height: 1;
}

.tm-count[data-visible="true"] {
    display: inline-flex;
}

.tm-popover {
    position: absolute;
    top: calc(100% + .65rem);
    right: 0;
    z-index: 130;
    width: min(22rem, calc(100vw - 1.5rem));
    max-height: min(34rem, calc(100dvh - 6rem));
    overflow: auto;
    border: 1px solid var(--tm-line);
    border-radius: 1.2rem;
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-lg);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-.45rem) scale(.985);
    transform-origin: top right;
    transition: opacity .18s ease, transform .22s var(--tm-ease);
}

.tm-popover[data-open="true"] {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.tm-popover__head,
.tm-popover__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--tm-line);
}

.tm-popover__head strong {
    color: var(--tm-ink);
    font-size: .88rem;
}

.tm-popover__foot {
    border-top: 1px solid var(--tm-line);
    border-bottom: 0;
    background: var(--tm-surface-soft);
}

.tm-popover__list {
    display: grid;
    padding: .45rem;
}

.tm-popover__link {
    display: flex;
    min-height: 2.8rem;
    align-items: center;
    gap: .7rem;
    padding: .65rem .7rem;
    border-radius: .75rem;
    color: var(--tm-ink-soft);
    font-size: .82rem;
    font-weight: 720;
    transition: background .16s ease, color .16s ease;
}

.tm-popover__link:hover {
    background: var(--tm-surface-soft);
    color: var(--tm-ink);
}

.tm-popover__link svg {
    width: 1rem;
    height: 1rem;
    color: var(--tm-brand-fg);
}

.tm-avatar {
    display: inline-grid;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    place-items: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 30%, var(--tm-line));
    border-radius: .9rem;
    background: linear-gradient(145deg, color-mix(in srgb, var(--tm-brand) 18%, var(--tm-surface)), color-mix(in srgb, var(--tm-accent) 12%, var(--tm-surface)));
    color: var(--tm-brand-fg);
    font-family: "Manrope", sans-serif;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.tm-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tm-user-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .75rem;
    padding: 1rem;
    border-bottom: 1px solid var(--tm-line);
    background: linear-gradient(135deg, color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface)), var(--tm-surface));
}

.tm-user-card strong,
.tm-user-card span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-user-card strong {
    color: var(--tm-ink);
    font-size: .86rem;
}

.tm-user-card span {
    color: var(--tm-muted);
    font-size: .72rem;
}

.tm-cart-empty {
    display: grid;
    min-height: 9rem;
    place-items: center;
    padding: 1.5rem;
    color: var(--tm-muted);
    font-size: .82rem;
    text-align: center;
}

.tm-cart-item {
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--tm-line);
}

.tm-cart-item__icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border-radius: .75rem;
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-cart-item__copy {
    min-width: 0;
}

.tm-cart-item__copy strong,
.tm-cart-item__copy span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-cart-item__copy strong {
    color: var(--tm-ink);
    font-size: .82rem;
}

.tm-cart-item__copy span {
    color: var(--tm-muted);
    font-size: .72rem;
}

.tm-mobile-trigger {
    display: inline-grid;
}

.tm-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 190;
    border: 0;
    background: rgba(3, 10, 16, .58);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
}

.tm-drawer-backdrop[data-open="true"] {
    opacity: 1;
    pointer-events: auto;
}

.tm-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 200;
    display: grid;
    width: min(100%, 25rem);
    grid-template-rows: auto minmax(0, 1fr) auto;
    border-left: 1px solid var(--tm-line);
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--tm-brand) 10%, transparent), transparent 16rem),
        var(--tm-page);
    box-shadow: var(--tm-shadow-lg);
    transform: translateX(104%);
    transition: transform .35s var(--tm-ease);
}

.tm-drawer[data-open="true"] {
    transform: translateX(0);
}

.tm-drawer__head,
.tm-drawer__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-bottom: 1px solid var(--tm-line);
    background: var(--tm-surface);
}

.tm-drawer__body {
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .85rem;
}

.tm-drawer__foot {
    display: grid;
    border-top: 1px solid var(--tm-line);
    border-bottom: 0;
}

.tm-drawer-group {
    display: grid;
    gap: .3rem;
    padding-block: .45rem;
}

.tm-drawer-label {
    padding: .5rem .65rem .25rem;
    color: var(--tm-faint);
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.tm-drawer-link,
.tm-drawer-summary {
    display: flex;
    min-height: 3rem;
    align-items: center;
    gap: .7rem;
    padding: .72rem .75rem;
    border: 0;
    border-radius: .85rem;
    background: transparent;
    color: var(--tm-ink-soft);
    font-size: .9rem;
    font-weight: 780;
    text-align: left;
}

.tm-drawer-link:hover,
.tm-drawer-summary:hover,
.tm-drawer-link[aria-current="page"] {
    background: var(--tm-surface);
    color: var(--tm-brand-fg);
}

.tm-drawer-link[aria-current="page"] {
    box-shadow: inset 3px 0 0 var(--tm-brand-fg), var(--tm-shadow-sm);
}

.tm-drawer-summary {
    width: 100%;
    cursor: pointer;
}

.tm-drawer-summary svg:last-child {
    margin-left: auto;
}

.tm-drawer-children {
    display: grid;
    gap: .2rem;
    padding: .25rem 0 .35rem 1rem;
}

.tm-drawer-children[hidden] {
    display: none;
}

.tm-drawer-children a {
    display: flex;
    min-height: 2.65rem;
    align-items: center;
    gap: .6rem;
    padding: .55rem .7rem;
    border-left: 1px solid var(--tm-line);
    color: var(--tm-muted);
    font-size: .82rem;
    font-weight: 700;
}

.tm-drawer-children a:hover {
    border-color: var(--tm-brand-fg);
    color: var(--tm-brand-fg);
}

.tm-dialog {
    width: min(44rem, calc(100% - 1.25rem));
    max-height: min(46rem, calc(100dvh - 2rem));
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: 1.35rem;
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-lg);
    color: var(--tm-ink-soft);
}

.tm-dialog::backdrop {
    background: rgba(3, 10, 16, .63);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.tm-dialog__head {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: 1rem;
    border-bottom: 1px solid var(--tm-line);
}

.tm-dialog__body {
    max-height: calc(100dvh - 9rem);
    overflow: auto;
    padding: 1rem;
}

.tm-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
}

.tm-search-suggestions {
    display: grid;
    gap: .4rem;
    margin-top: 1rem;
}

.tm-search-suggestions a {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 3.5rem;
    padding: .55rem .65rem;
    border-radius: .85rem;
    transition: background .16s ease;
}

.tm-search-suggestions a:hover {
    background: var(--tm-surface-soft);
}

/* v9.0.13 — bounded, readable global search dialog. */
#tmSearchDialog.tm-search-dialog {
    width: min(42rem, calc(100vw - 2rem));
    max-width: none;
    max-height: min(44rem, calc(100dvh - 2rem));
    margin: auto;
    overflow: hidden;
    overscroll-behavior: contain;
    border-color: color-mix(in srgb, var(--tm-brand) 18%, var(--tm-line));
    background:
        radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--tm-accent) 9%, transparent), transparent 16rem),
        var(--tm-surface);
}

#tmSearchDialog .tm-dialog__head {
    min-height: 4.5rem;
    padding: .85rem 1rem;
    background: color-mix(in srgb, var(--tm-surface) 94%, transparent);
}

#tmSearchDialog .tm-dialog__head > .tm-menu-link__icon {
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 2.5rem;
}

#tmSearchDialog .tm-search-dialog__title {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: .12rem;
}

#tmSearchDialog .tm-search-dialog__title strong {
    overflow: hidden;
    color: var(--tm-ink) !important;
    font-size: .9rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#tmSearchDialog .tm-search-dialog__title .tm-note {
    overflow: hidden;
    font-size: .68rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#tmSearchDialog .tm-dialog__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    align-content: start;
    align-items: start;
    max-height: calc(100dvh - 7.5rem);
    gap: .85rem;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1rem;
}

#tmSearchDialog .tm-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: .65rem;
    width: 100%;
    height: auto;
    min-width: 0;
}

#tmSearchDialog .tm-search-form > * { min-width: 0; }

#tmSearchDialog .tm-search-form .tm-input {
    display: block;
    width: 100%;
    height: 3.2rem;
    min-height: 3.2rem;
    max-height: 3.2rem;
    padding: .72rem .9rem;
    overflow: hidden;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#tmSearchDialog .tm-search-form .tm-btn {
    width: auto;
    min-width: 8.5rem;
    min-height: 3.2rem;
    height: 3.2rem;
    align-self: stretch;
    padding-inline: 1rem;
    white-space: nowrap;
}

#tmSearchResults {
    width: 100%;
    min-width: 0;
    max-height: min(27rem, calc(100dvh - 14rem));
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--tm-brand) 28%, transparent) transparent;
}

#tmSearchDialog .tm-search-suggestions {
    width: 100%;
    min-width: 0;
    margin-top: 0;
}

#tmSearchDialog .tm-search-suggestions a {
    width: 100%;
    min-width: 0;
    grid-template-columns: 2.35rem minmax(0, 1fr) 1rem;
    gap: .65rem;
    overflow: hidden;
    border: 1px solid transparent;
}

#tmSearchDialog .tm-search-suggestions a:hover,
#tmSearchDialog .tm-search-suggestions a:focus-visible {
    border-color: color-mix(in srgb, var(--tm-brand) 20%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-brand) 6%, var(--tm-surface-soft));
}

#tmSearchDialog .tm-search-suggestions .tm-menu-link__copy,
#tmSearchDialog .tm-search-suggestions .tm-menu-link__copy > * {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Hero, narrative and data modules */
.tm-hero {
    position: relative;
    isolation: isolate;
    overflow: clip;
    padding-block: clamp(3.5rem, 5.5vw, 5rem);
}

.tm-hero::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-line) 45%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--tm-line) 45%, transparent) 1px, transparent 1px);
    background-size: 3.5rem 3.5rem;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent 78%);
    content: "";
    opacity: .55;
}

.tm-hero::after {
    position: absolute;
    top: -18rem;
    left: 50%;
    z-index: -1;
    width: min(70rem, 100vw);
    height: 44rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 16%, transparent);
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--tm-brand) 12%, transparent), transparent 67%);
    content: "";
    transform: translateX(-50%);
}

.tm-hero__grid {
    display: grid;
    align-items: center;
    gap: clamp(2rem, 4vw, 4rem);
}

.tm-hero__copy {
    position: relative;
    z-index: 1;
}

.tm-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
    margin-top: 1.4rem;
    color: var(--tm-muted);
    font-size: .78rem;
    font-weight: 720;
}

.tm-hero__meta span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.tm-hero-panel {
    position: relative;
    min-height: 21rem;
    padding: .8rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 22%, var(--tm-line));
    border-radius: clamp(1.4rem, 4vw, 2.4rem);
    background: linear-gradient(145deg, color-mix(in srgb, var(--tm-surface) 96%, transparent), color-mix(in srgb, var(--tm-brand) 5%, var(--tm-surface)));
    box-shadow: var(--tm-shadow-lg);
}

.tm-hero-panel__window {
    height: 100%;
    min-height: 19.5rem;
    padding: 1rem;
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: calc(clamp(1.4rem, 4vw, 2.4rem) - .55rem);
    background: var(--tm-surface);
}

.tm-window-bar {
    display: flex;
    min-height: 2.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid var(--tm-line);
}

.tm-window-dots {
    display: flex;
    gap: .35rem;
}

.tm-window-dots i {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--tm-line-strong);
}

.tm-stack-builder {
    display: grid;
    gap: 1rem;
    padding-top: 1rem;
}

.tm-purpose-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.tm-purpose {
    display: grid;
    min-height: 5.5rem;
    align-content: space-between;
    padding: .8rem;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: var(--tm-surface-soft);
    color: var(--tm-ink-soft);
    cursor: pointer;
    text-align: left;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.tm-purpose:hover,
.tm-purpose[aria-pressed="true"],
.tm-purpose.is-selected {
    border-color: var(--tm-brand-fg);
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-purpose strong {
    color: var(--tm-ink);
    font-size: .78rem;
}

.tm-purpose span {
    color: var(--tm-muted);
    font-size: .67rem;
}

.tm-recommendation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .85rem;
    border: 1px solid color-mix(in srgb, var(--tm-success) 24%, var(--tm-line));
    border-radius: .9rem;
    background: var(--tm-success-soft);
}

.tm-recommendation strong,
.tm-recommendation span {
    display: block;
}

.tm-recommendation strong {
    color: var(--tm-ink);
    font-size: .82rem;
}

.tm-recommendation span {
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-trust-strip {
    display: grid;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--tm-brand) 4%, var(--tm-surface)), var(--tm-surface));
    box-shadow: var(--tm-shadow-sm);
}

.tm-container > .tm-trust-strip {
    margin-block: clamp(1.25rem, 2.5vw, 2rem);
}

.tm-home-proof {
    position: relative;
    padding-block: .75rem clamp(1.75rem, 3vw, 2.75rem);
}

.tm-home-proof .tm-trust-strip {
    margin: 0;
    min-height: 6.25rem;
    align-items: center;
    padding: clamp(1rem, 2vw, 1.3rem);
}

.tm-home-proof .tm-trust-item {
    min-height: 3.5rem;
    padding-inline: clamp(.15rem, 1.2vw, .75rem);
}

.tm-home-proof .tm-trust-item + .tm-trust-item {
    border-left: 1px solid var(--tm-line);
}

.tm-home-proof .tm-trust-item__icon {
    width: 2.65rem;
    height: 2.65rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 16%, var(--tm-line));
}

.tm-home-proof .tm-trust-item strong {
    font-size: 1rem;
    line-height: 1.05;
}

.tm-home-proof .tm-trust-item strong + span {
    margin-top: .2rem;
    font-size: .72rem;
}

.tm-trust-item {
    display: flex;
    align-items: center;
    gap: .7rem;
}

.tm-trust-item__icon {
    display: grid;
    width: 2.3rem;
    height: 2.3rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: .7rem;
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-trust-item strong,
.tm-trust-item span {
    display: block;
}

.tm-trust-item strong {
    color: var(--tm-ink);
    font-size: .78rem;
}

.tm-trust-item span {
    color: var(--tm-muted);
    font-size: .69rem;
}

.tm-bento {
    display: grid;
    grid-auto-rows: minmax(13rem, auto);
    gap: 1rem;
}

.tm-bento__item {
    position: relative;
    display: grid;
    min-width: 0;
    align-content: space-between;
    overflow: hidden;
    padding: clamp(1.15rem, 3vw, 1.75rem);
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-bento__item::after {
    position: absolute;
    right: -3rem;
    bottom: -4rem;
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--tm-brand) 11%, transparent), transparent 70%);
    content: "";
    pointer-events: none;
}

.tm-bento__item h3 {
    margin-bottom: .5rem;
    font-size: clamp(1.15rem, 2.5vw, 1.65rem);
}

.tm-bento__item p {
    margin-bottom: 0;
    color: var(--tm-muted);
    font-size: .88rem;
}

.tm-mini-chart {
    display: grid;
    grid-template-columns: repeat(12, minmax(.25rem, 1fr));
    align-items: end;
    gap: .3rem;
    height: 7rem;
    margin-top: 1rem;
}

.tm-mini-chart i {
    min-height: .55rem;
    border-radius: 999px 999px .25rem .25rem;
    background: linear-gradient(to top, var(--tm-brand), color-mix(in srgb, var(--tm-brand) 45%, var(--tm-accent)));
    opacity: .82;
    transform-origin: bottom;
    animation: tm-chart-in .8s var(--tm-ease) both;
}

.tm-flow {
    display: grid;
    gap: .75rem;
}

.tm-flow__step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .85rem;
    padding: 1rem 0;
    border-bottom: 1px solid var(--tm-line);
}

.tm-flow__step:last-child {
    border-bottom: 0;
}

.tm-flow__number {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 28%, var(--tm-line));
    border-radius: .8rem;
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: var(--tm-brand-fg);
    font-family: "Manrope", sans-serif;
    font-size: .76rem;
    font-weight: 900;
}

.tm-flow__step h3 {
    margin: 0 0 .3rem;
    font-size: 1rem;
}

.tm-flow__step p {
    margin: 0;
    color: var(--tm-muted);
    font-size: .82rem;
}

/* Product catalogue */
.tm-page-hero {
    position: relative;
    overflow: clip;
    padding-block: clamp(2.5rem, 4.5vw, 4rem);
    border-bottom: 1px solid var(--tm-line);
    background: linear-gradient(155deg, color-mix(in srgb, var(--tm-brand) 8%, var(--tm-page)), var(--tm-page) 52%, color-mix(in srgb, var(--tm-accent) 5%, var(--tm-page)));
}

.tm-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin: 0 0 1.25rem;
    padding: 0;
    color: var(--tm-muted);
    font-size: .74rem;
    font-weight: 720;
    list-style: none;
}

.tm-breadcrumb a:hover {
    color: var(--tm-brand-fg);
}

.tm-catalog {
    display: grid;
    gap: 1.25rem;
}

.tm-catalog__sidebar {
    display: none;
}

.tm-filter-panel {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-md);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-filter-group {
    display: grid;
    gap: .45rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--tm-line);
}

.tm-filter-group:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.tm-filter-group__title {
    margin: 0 0 .25rem;
    color: var(--tm-ink);
    font-size: .78rem;
    font-weight: 850;
}

.tm-check {
    display: flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
    gap: .65rem;
    padding: .6rem .7rem;
    appearance: none;
    border: 1px solid transparent;
    border-radius: .75rem;
    background: transparent;
    color: var(--tm-ink-soft);
    cursor: pointer;
    font-size: .8rem;
    font-weight: 700;
    text-align: left;
    transition: border-color .16s ease, background .16s ease, color .16s ease, translate .16s ease;
}

.tm-check:hover {
    border-color: var(--tm-line);
    background: var(--tm-surface-soft);
    color: var(--tm-ink);
}

.tm-check.is-active,
.tm-check[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--tm-brand) 38%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-check svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.tm-check input {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--tm-brand-fg);
}

.tm-toolbar {
    display: grid;
    gap: .75rem;
    margin-bottom: 1rem;
}

.tm-toolbar__main,
.tm-toolbar__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
}

.tm-toolbar__search {
    position: relative;
    flex: 1 1 15rem;
}

.tm-toolbar__search svg {
    position: absolute;
    top: 50%;
    left: .85rem;
    width: 1rem;
    height: 1rem;
    color: var(--tm-faint);
    transform: translateY(-50%);
}

.tm-toolbar__search .tm-input {
    padding-left: 2.45rem;
}

.tm-chip-row {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .15rem .05rem .45rem;
    scrollbar-width: none;
}

.tm-chip-row::-webkit-scrollbar {
    display: none;
}

.tm-chip {
    display: inline-flex;
    min-height: 2.75rem;
    flex: 0 0 auto;
    align-items: center;
    gap: .4rem;
    padding: .55rem .8rem;
    border: 1px solid var(--tm-line);
    border-radius: 999px;
    background: var(--tm-surface);
    color: var(--tm-ink-soft);
    cursor: pointer;
    font-size: .77rem;
    font-weight: 780;
    transition: border-color .17s ease, background .17s ease, color .17s ease;
}

.tm-chip:hover,
.tm-chip[aria-pressed="true"],
.tm-chip.is-active {
    border-color: var(--tm-brand-fg);
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-category-deck {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: 1.25rem;
}

.tm-category-card {
    display: grid;
    min-width: 0;
    min-height: 4.75rem;
    grid-template-columns: 2.35rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .7rem;
    appearance: none;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    color: var(--tm-ink-soft);
    cursor: pointer;
    text-align: left;
    transition: border-color .18s ease, background .18s ease, color .18s ease, translate .18s var(--tm-ease), box-shadow .18s ease;
}

.tm-category-card:hover,
.tm-category-card.is-active,
.tm-category-card[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--tm-brand) 42%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface));
    box-shadow: var(--tm-shadow-md);
    color: var(--tm-brand-fg);
    translate: 0 -.12rem;
}

.tm-category-card__icon {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border-radius: .75rem;
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface-soft));
    color: var(--tm-brand-fg);
}

.tm-category-card > span:nth-child(2) {
    display: grid;
    min-width: 0;
    gap: .08rem;
}

.tm-category-card strong {
    overflow: hidden;
    color: var(--tm-ink);
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-category-card small {
    color: var(--tm-muted);
    font-size: .68rem;
    font-weight: 700;
}

.tm-category-card > svg {
    width: .9rem;
    height: .9rem;
}

.tm-view-toggle {
    display: inline-flex;
    gap: .25rem;
    padding: .2rem;
    border: 1px solid var(--tm-line);
    border-radius: .85rem;
    background: var(--tm-surface-soft);
}

.tm-view-toggle .tm-icon-btn {
    width: 2.45rem;
    height: 2.45rem;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.tm-view-toggle .tm-icon-btn.is-active,
.tm-view-toggle .tm-icon-btn[aria-pressed="true"] {
    border-color: var(--tm-line);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    color: var(--tm-brand-fg);
}

.tm-product-grid {
    display: grid;
    gap: 1rem;
    grid-auto-rows: 1fr;
}

.tm-product-grid--list {
    grid-template-columns: 1fr !important;
}

.tm-product-card {
    position: relative;
    display: grid;
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    transition: translate .25s var(--tm-ease), border-color .25s ease, box-shadow .25s var(--tm-ease);
}

[data-tm-catalog-key="services"] .tm-product-card {
    grid-template-rows: minmax(0, 1fr);
}

.tm-product-card:hover {
    translate: 0 -.25rem;
    border-color: color-mix(in srgb, var(--tm-brand) 32%, var(--tm-line));
    box-shadow: var(--tm-shadow-md);
}

.tm-product-card__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-bottom: 1px solid var(--tm-line);
    background: var(--tm-page-strong);
}

.tm-product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s var(--tm-ease);
}

.tm-product-card:hover .tm-product-card__media img {
    transform: scale(1.025);
}

.tm-product-card__badges {
    position: absolute;
    top: .75rem;
    left: .75rem;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.tm-product-card__body {
    display: flex;
    flex-direction: column;
    align-content: start;
    gap: .85rem;
    height: 100%;
    padding: 1rem;
}

.tm-product-card__category {
    color: var(--tm-brand-fg);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.tm-product-card__title {
    margin: 0;
    font-size: 1.06rem;
    line-height: 1.24;
    letter-spacing: -.025em;
}

.tm-product-card__title a::after {
    position: absolute;
    inset: 0;
    content: "";
}

.tm-product-card__description {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--tm-muted);
    font-size: .8rem;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.tm-product-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem .8rem;
    color: var(--tm-muted);
    font-size: .7rem;
    font-weight: 720;
}

.tm-product-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

.tm-product-card__foot {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: .75rem;
    margin-top: auto;
    padding-top: .85rem;
    border-top: 1px solid var(--tm-line);
}

.tm-price {
    display: grid;
    gap: .05rem;
}

.tm-price__from {
    color: var(--tm-muted);
    font-size: .64rem;
    font-weight: 760;
}

.tm-price strong {
    color: var(--tm-ink);
    font-family: "Manrope", sans-serif;
    font-size: 1.25rem;
    letter-spacing: -.035em;
}

.tm-price del {
    color: var(--tm-faint);
    font-size: .72rem;
}

.tm-card-actions {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.tm-quick-actions {
    position: absolute;
    top: .75rem;
    right: .75rem;
    z-index: 2;
    display: grid;
    gap: .35rem;
}

.tm-quick-actions .tm-icon-btn {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: .7rem;
    box-shadow: var(--tm-shadow-sm);
}

.tm-dialog.tm-dialog--wide {
    width: min(62rem, calc(100% - 1.25rem));
}

.tm-quickview {
    display: grid;
    gap: 1rem;
}

.tm-quickview__media {
    min-width: 0;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    border: 1px solid var(--tm-line);
    border-radius: 1.1rem;
    background: var(--tm-page-strong);
}

.tm-quickview__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tm-quickview__content {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: .85rem;
}

.tm-quickview__content .tm-lead {
    font-size: .9rem;
}

.tm-quickview__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.tm-quickview__stats span {
    display: flex;
    min-height: 3rem;
    align-items: center;
    gap: .4rem;
    padding: .65rem;
    border: 1px solid var(--tm-line);
    border-radius: .8rem;
    background: var(--tm-surface-soft);
    color: var(--tm-muted);
    font-size: .72rem;
}

.tm-quickview__stats strong {
    color: var(--tm-ink);
}

.tm-filter-drawer {
    position: fixed;
    inset: auto 0 0;
    z-index: 250;
    display: grid;
    max-height: 90dvh;
    grid-template-rows: auto minmax(0, 1fr) auto;
    border: 1px solid var(--tm-line);
    border-radius: 1.5rem 1.5rem 0 0;
    background: var(--tm-page);
    box-shadow: var(--tm-shadow-lg);
    transform: translateY(104%);
    transition: transform .35s var(--tm-ease);
}

.tm-filter-drawer[data-open="true"] {
    transform: translateY(0);
}

.tm-filter-drawer__head,
.tm-filter-drawer__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 1rem;
    border-bottom: 1px solid var(--tm-line);
    background: var(--tm-surface);
}

.tm-filter-drawer__body {
    overflow-y: auto;
    padding: 1rem;
}

.tm-filter-drawer__foot {
    border-top: 1px solid var(--tm-line);
    border-bottom: 0;
}

/* Product detail */
.tm-product-shell {
    display: grid;
    gap: clamp(1.25rem, 3vw, 2.5rem);
}

.tm-gallery {
    display: grid;
    gap: .75rem;
}

.tm-gallery__main {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-page-strong);
}

.tm-gallery__main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tm-gallery__thumbs {
    display: grid;
    grid-auto-columns: minmax(5rem, 7.5rem);
    grid-auto-flow: column;
    gap: .6rem;
    overflow-x: auto;
    padding-bottom: .25rem;
    scroll-snap-type: x proximity;
}

.tm-gallery__thumb {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: .75rem;
    background: var(--tm-page-strong);
    cursor: pointer;
    scroll-snap-align: start;
}

.tm-gallery__thumb[aria-current="true"] {
    border-color: var(--tm-brand-fg);
}

.tm-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tm-buybox {
    display: grid;
    gap: 1rem;
    padding: clamp(1.1rem, 3vw, 1.6rem);
    border: 1px solid color-mix(in srgb, var(--tm-brand) 20%, var(--tm-line));
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-md);
}

.tm-buybox__head {
    display: grid;
    gap: .65rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--tm-line);
}

.tm-buybox__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .5rem;
}

.tm-buybox__price strong {
    color: var(--tm-ink);
    font-family: "Manrope", sans-serif;
    font-size: clamp(2rem, 5vw, 3rem);
    letter-spacing: -.055em;
}

.tm-buybox__price span {
    color: var(--tm-muted);
    font-size: .76rem;
    font-weight: 720;
}

.tm-license-options {
    display: grid;
    gap: .55rem;
}

.tm-license-option {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    min-height: 4rem;
    padding: .7rem;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: var(--tm-surface-soft);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease;
}

.tm-license-option:has(input:checked),
.tm-license-option.is-selected {
    border-color: var(--tm-brand-fg);
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
}

.tm-license-option input {
    accent-color: var(--tm-brand-fg);
}

.tm-license-option strong,
.tm-license-option span {
    display: block;
}

.tm-license-option strong {
    color: var(--tm-ink);
    font-size: .82rem;
}

.tm-license-option span {
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-product-nav {
    position: sticky;
    top: var(--tm-header-height);
    z-index: 70;
    overflow-x: auto;
    border-block: 1px solid var(--tm-line);
    background: color-mix(in srgb, var(--tm-page) 90%, transparent);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    scrollbar-width: none;
}

.tm-product-nav::-webkit-scrollbar {
    display: none;
}

.tm-product-nav__inner {
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    gap: 1rem;
}

.tm-product-nav a {
    display: inline-flex;
    min-height: 3.5rem;
    flex: 0 0 auto;
    align-items: center;
    border-bottom: 2px solid transparent;
    color: var(--tm-muted);
    font-size: .78rem;
    font-weight: 780;
}

.tm-product-nav a:hover,
.tm-product-nav a[aria-current="true"] {
    border-color: var(--tm-brand-fg);
    color: var(--tm-brand-fg);
}

.tm-spec-grid {
    display: grid;
    gap: .65rem;
}

.tm-spec {
    display: grid;
    grid-template-columns: minmax(7rem, .8fr) minmax(0, 1.2fr);
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--tm-line);
}

.tm-spec dt {
    color: var(--tm-muted);
    font-size: .78rem;
    font-weight: 720;
}

.tm-spec dd {
    margin: 0;
    color: var(--tm-ink);
    font-size: .82rem;
    font-weight: 780;
}

.tm-mobile-buybar {
    position: fixed;
    inset: auto 0 0;
    z-index: 150;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .75rem max(1rem, env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    border-top: 1px solid var(--tm-line);
    background: color-mix(in srgb, var(--tm-surface) 94%, transparent);
    box-shadow: 0 -14px 32px rgba(8, 20, 30, .1);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

/* WordPress, hosting, proxy and services */
.tm-portal-grid {
    display: grid;
    gap: 1rem;
}

.tm-portal-card {
    position: relative;
    display: grid;
    min-height: 18rem;
    align-content: space-between;
    overflow: hidden;
    padding: 1.35rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    transition: translate .24s var(--tm-ease), border-color .24s ease, box-shadow .24s var(--tm-ease);
}

.tm-portal-card:hover {
    translate: 0 -.25rem;
    border-color: color-mix(in srgb, var(--tm-brand) 32%, var(--tm-line));
    box-shadow: var(--tm-shadow-md);
}

.tm-portal-card__visual {
    display: grid;
    min-height: 8rem;
    place-items: center;
    margin-bottom: 1.5rem;
    border-radius: 1rem;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--tm-brand) 14%, var(--tm-surface)), color-mix(in srgb, var(--tm-accent) 9%, var(--tm-surface))),
        var(--tm-surface-soft);
    color: var(--tm-brand-fg);
}

.tm-portal-card h3 {
    margin-bottom: .5rem;
    font-size: 1.35rem;
}

.tm-portal-card p {
    margin-bottom: 1rem;
    color: var(--tm-muted);
    font-size: .84rem;
}

.tm-type-switcher {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .35rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface-soft);
    scrollbar-width: none;
}

.tm-type-switcher[role="tablist"] {
    margin-bottom: 1.25rem;
}

.tm-type-switcher::-webkit-scrollbar {
    display: none;
}

.tm-type-switcher a,
.tm-type-switcher button {
    display: inline-flex;
    min-height: 2.75rem;
    flex: 0 0 auto;
    align-items: center;
    gap: .45rem;
    padding: .65rem .85rem;
    border: 0;
    border-radius: .75rem;
    background: transparent;
    color: var(--tm-muted);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 800;
}

.tm-type-switcher a[aria-current="page"],
.tm-type-switcher button[aria-pressed="true"],
.tm-type-switcher .is-active {
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    color: var(--tm-brand-fg);
}

.tm-wp-showcase {
    --tm-wp-showcase-accent: #7c3aed;
    display: grid;
    gap: 1rem;
    margin-block: 1.25rem;
    padding: clamp(1.15rem, 4vw, 2rem);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tm-wp-showcase-accent) 30%, var(--tm-line));
    border-radius: var(--tm-radius-xl);
    background:
        radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--tm-wp-showcase-accent) 17%, transparent), transparent 20rem),
        linear-gradient(145deg, var(--tm-surface), color-mix(in srgb, var(--tm-wp-showcase-accent) 6%, var(--tm-surface)));
    box-shadow: var(--tm-shadow-md);
}

.tm-wp-showcase--commerce { --tm-wp-showcase-accent: #b45309; }
.tm-wp-showcase--seo { --tm-wp-showcase-accent: #0f766e; }

.tm-wp-showcase__copy,
.tm-wp-showcase__signals {
    min-width: 0;
}

.tm-wp-showcase__flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-top: 1.25rem;
}

.tm-wp-showcase__flow span {
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    gap: .55rem;
    padding: .7rem;
    border: 1px solid var(--tm-line);
    border-radius: .85rem;
    background: color-mix(in srgb, var(--tm-surface) 88%, transparent);
    color: var(--tm-ink-soft);
    font-size: .78rem;
    font-weight: 800;
}

.tm-wp-showcase__flow b {
    color: color-mix(in srgb, var(--tm-wp-showcase-accent) 64%, var(--tm-ink));
    font-family: "JetBrains Mono", ui-monospace, monospace;
}

.tm-wp-showcase__signals {
    display: grid;
    gap: .7rem;
}

.tm-wp-showcase__signals article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .75rem;
    padding: .9rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-surface) 90%, transparent);
}

.tm-wp-showcase__signals h3 {
    margin: 0 0 .2rem;
    font-size: .9rem;
}

.tm-wp-showcase__signals p {
    margin: 0;
    color: var(--tm-muted);
    font-size: .75rem;
    line-height: 1.55;
}

.tm-decision {
    display: grid;
    gap: 1rem;
    padding: clamp(1.2rem, 3vw, 2rem);
    border: 1px solid color-mix(in srgb, var(--tm-brand) 22%, var(--tm-line));
    border-radius: var(--tm-radius-lg);
    background: linear-gradient(145deg, color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface)), var(--tm-surface));
}

.tm-range {
    width: 100%;
    accent-color: var(--tm-brand-fg);
}

.tm-plan-grid {
    display: grid;
    gap: 1rem;
    grid-auto-rows: 1fr;
}

.tm-plan {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    padding: 1.25rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-plan > .tm-btn:last-child,
.tm-plan > form:last-child,
.tm-plan > footer:last-child {
    margin-top: auto;
}

/* Reviews and compact pagination */
.tm-review-overview {
    display: flex;
    min-width: min(100%, 18rem);
    align-items: center;
    gap: 1rem;
    padding: .9rem 1rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-md);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-review-overview__score {
    display: flex;
    align-items: baseline;
    color: var(--tm-ink);
}

.tm-review-overview__score strong {
    font: 850 2rem/1 "Manrope", sans-serif;
    letter-spacing: -.05em;
}

.tm-review-overview__score span {
    color: var(--tm-muted);
    font-size: .8rem;
    font-weight: 800;
}

.tm-review-layout {
    display: grid;
    gap: 1.25rem;
    align-items: start;
}

.tm-review-feed,
.tm-review-list {
    display: grid;
    gap: .8rem;
}

.tm-review-list--grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
    grid-auto-rows: 1fr;
}

.tm-review-card {
    display: grid;
    min-width: 0;
    height: 100%;
    align-content: start;
    gap: .7rem;
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-md);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-review-card__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
}

.tm-review-card__person {
    display: grid;
    min-width: 0;
    gap: .1rem;
}

.tm-review-card__person strong,
.tm-review-card__person span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-review-card__person strong {
    color: var(--tm-ink);
    font-size: .84rem;
}

.tm-review-card__person span {
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-review-stars {
    display: inline-flex;
    align-items: center;
    gap: .18rem;
    color: var(--tm-line-strong);
}

.tm-review-stars svg {
    width: .95rem;
    height: .95rem;
}

.tm-review-stars .is-filled {
    fill: #f5b942;
    color: #c67a00;
}

.tm-review-verified {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .35rem;
    color: var(--tm-success);
    font-size: .7rem;
    font-weight: 850;
}

.tm-review-card__body {
    margin: 0;
    color: var(--tm-ink-soft);
    font-size: .84rem;
    line-height: 1.65;
}

.tm-review-compose {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid color-mix(in srgb, var(--tm-brand) 25%, var(--tm-line));
    border-radius: var(--tm-radius-lg);
    background: linear-gradient(145deg, color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface)), var(--tm-surface));
    box-shadow: var(--tm-shadow-md);
}

.tm-review-rating-input {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .35rem;
}

.tm-review-rating-input input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tm-review-rating-input span {
    display: flex;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    gap: .25rem;
    border: 1px solid var(--tm-line);
    border-radius: .7rem;
    background: var(--tm-surface);
    color: var(--tm-muted);
    cursor: pointer;
    font-size: .75rem;
    font-weight: 850;
}

.tm-review-rating-input input:checked + span,
.tm-review-rating-input label:hover span {
    border-color: #d89a16;
    background: color-mix(in srgb, #f5b942 13%, var(--tm-surface));
    color: color-mix(in srgb, #9a5b00 85%, var(--tm-ink));
}

.tm-review-rating-input input:focus-visible + span {
    outline: 3px solid color-mix(in srgb, var(--tm-brand) 60%, transparent);
    outline-offset: 2px;
}

.tm-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    margin-top: 1.25rem;
}

.tm-pagination__pages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}

.tm-pagination__item {
    display: inline-flex;
    min-width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .5rem .7rem;
    border: 1px solid var(--tm-line);
    border-radius: .72rem;
    background: var(--tm-surface);
    color: var(--tm-ink-soft);
    font-size: .78rem;
    font-weight: 850;
}

.tm-pagination__item:hover,
.tm-pagination__item.is-current {
    border-color: var(--tm-brand-fg);
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-pagination__item.is-current {
    box-shadow: inset 0 0 0 1px var(--tm-brand-fg);
}

.tm-pagination__ellipsis {
    color: var(--tm-faint);
    font-weight: 800;
}

.tm-plan--featured {
    border-color: color-mix(in srgb, var(--tm-brand) 55%, var(--tm-line));
    box-shadow: 0 22px 55px color-mix(in srgb, var(--tm-brand) 16%, transparent);
}

.tm-plan__ribbon {
    position: absolute;
    top: .9rem;
    right: .9rem;
}

.tm-plan__name {
    margin: 0;
    font-size: 1.25rem;
}

.tm-plan__audience {
    min-height: 2.6rem;
    margin: 0;
    color: var(--tm-muted);
    font-size: .8rem;
}

.tm-plan__price {
    display: flex;
    align-items: baseline;
    gap: .35rem;
}

.tm-plan__price strong {
    color: var(--tm-ink);
    font-family: "Manrope", sans-serif;
    font-size: 2.2rem;
    letter-spacing: -.05em;
}

.tm-plan__price span {
    color: var(--tm-muted);
    font-size: .72rem;
    font-weight: 720;
}

.tm-plan__renewal {
    padding: .65rem .75rem;
    border-radius: .7rem;
    background: var(--tm-surface-soft);
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-compare-wrap {
    overflow-x: auto;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-compare-table {
    width: 100%;
    border-collapse: collapse;
}

.tm-compare-table th,
.tm-compare-table td {
    padding: .85rem 1rem;
    border-bottom: 1px solid var(--tm-line);
    color: var(--tm-ink-soft);
    font-size: .78rem;
    text-align: left;
}

.tm-compare-table thead th {
    background: var(--tm-surface-soft);
    color: var(--tm-ink);
    font-size: .72rem;
    font-weight: 850;
}

.tm-compare-table tbody th {
    color: var(--tm-ink);
    font-weight: 780;
}

.tm-comparison-cards {
    display: grid;
    gap: .75rem;
}

.tm-comparison-card {
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-md);
    background: var(--tm-surface);
}

.tm-service-hero__facts {
    display: grid;
    gap: .75rem;
    margin-top: 1.5rem;
}

.tm-fact {
    padding-left: .85rem;
    border-left: 2px solid var(--tm-brand);
}

.tm-fact strong,
.tm-fact span {
    display: block;
}

.tm-fact strong {
    color: var(--tm-ink);
    font-size: .84rem;
}

.tm-fact span {
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-process {
    display: grid;
    gap: 0;
    counter-reset: process;
}

.tm-process__item {
    position: relative;
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 1rem;
    padding-bottom: 2rem;
    counter-increment: process;
}

.tm-process__item::before {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 35%, var(--tm-line));
    border-radius: .9rem;
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: var(--tm-brand-fg);
    content: counter(process, decimal-leading-zero);
    font-family: "Manrope", sans-serif;
    font-size: .72rem;
    font-weight: 900;
}

.tm-process__item::after {
    position: absolute;
    top: 3.2rem;
    bottom: .2rem;
    left: 1.5rem;
    width: 1px;
    background: var(--tm-line);
    content: "";
}

.tm-process__item:last-child::after {
    display: none;
}

.tm-process__item h3 {
    margin: .1rem 0 .35rem;
    font-size: 1.05rem;
}

.tm-process__item p {
    margin: 0;
    color: var(--tm-muted);
    font-size: .84rem;
}

.tm-case-study {
    display: grid;
    gap: 1.25rem;
    padding: clamp(1.25rem, 4vw, 2.5rem);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tm-success) 22%, var(--tm-line));
    border-radius: var(--tm-radius-xl);
    background: linear-gradient(135deg, var(--tm-success-soft), var(--tm-surface));
}

.tm-case-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.tm-case-metric {
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--tm-success) 18%, var(--tm-line));
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-surface) 80%, transparent);
}

.tm-case-metric strong,
.tm-case-metric span {
    display: block;
}

.tm-case-metric strong {
    color: var(--tm-ink);
    font-family: "Manrope", sans-serif;
    font-size: 1.4rem;
}

.tm-case-metric span {
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-service-outcome {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
    padding: clamp(1.2rem, 4vw, 2rem);
    border: 1px solid color-mix(in srgb, var(--tm-info) 24%, var(--tm-line));
    border-radius: var(--tm-radius-xl);
    background:
        radial-gradient(circle at 95% 5%, color-mix(in srgb, var(--tm-info) 13%, transparent), transparent 18rem),
        var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-service-outcome__intro h3 {
    margin: .65rem 0 .55rem;
    font-size: clamp(1.25rem, 3vw, 1.8rem);
}

.tm-service-outcome__intro p,
.tm-service-outcome__steps p {
    margin: 0;
    color: var(--tm-muted);
}

.tm-service-outcome__steps {
    display: grid;
    gap: .7rem;
}

.tm-service-outcome__steps > div {
    display: grid;
    gap: .35rem;
    padding: .95rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-surface-soft) 88%, transparent);
}

.tm-service-outcome__steps span {
    color: var(--tm-info);
    font: 800 .68rem/1.2 "JetBrains Mono", ui-monospace, monospace;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.tm-service-outcome__steps strong {
    color: var(--tm-ink);
    font-size: .9rem;
}

.tm-service-outcome__steps p {
    font-size: .78rem;
    line-height: 1.6;
}

.tm-service-outcome footer {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding-top: .9rem;
    border-top: 1px solid var(--tm-line);
    color: var(--tm-ink-soft);
    font-size: .78rem;
    line-height: 1.55;
}

.tm-service-outcome footer svg {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
    color: var(--tm-success);
}

/* Knowledge base and document reading */
.tm-kb-hero {
    padding-block: clamp(2.75rem, 5vw, 4.5rem);
    border-bottom: 1px solid var(--tm-line);
    background: linear-gradient(145deg, color-mix(in srgb, var(--tm-brand) 10%, var(--tm-page)), var(--tm-page));
    text-align: center;
}

.tm-kb-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
    width: min(100%, 43rem);
    margin: 1.5rem auto 0;
    padding: .45rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 24%, var(--tm-line));
    border-radius: 1rem;
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-md);
}

.tm-kb-search .tm-input {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
}

.tm-kb-categories {
    display: grid;
    gap: 1rem;
}

.tm-kb-category {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: .9rem;
    padding: 1.1rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-md);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    transition: translate .2s var(--tm-ease), border-color .2s ease;
}

.tm-kb-category:hover {
    translate: 0 -.18rem;
    border-color: color-mix(in srgb, var(--tm-brand) 30%, var(--tm-line));
}

.tm-kb-category__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: .9rem;
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-kb-category h3 {
    margin: 0 0 .35rem;
    font-size: 1rem;
}

.tm-kb-category p {
    margin: 0;
    color: var(--tm-muted);
    font-size: .78rem;
}

.tm-article-list {
    display: grid;
    gap: .55rem;
}

.tm-article-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 3.7rem;
    padding: .75rem .9rem;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: var(--tm-surface);
    transition: border-color .17s ease, background .17s ease;
}

.tm-article-link:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 30%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-brand) 5%, var(--tm-surface));
}

.tm-article-link strong,
.tm-article-link span {
    display: block;
}

.tm-article-link strong {
    overflow: hidden;
    color: var(--tm-ink);
    font-size: .84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-article-link span {
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-article-layout {
    display: grid;
    gap: 2rem;
}

.tm-article {
    min-width: 0;
    padding: clamp(1.15rem, 4vw, 2.5rem);
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-prose {
    min-width: 0;
    color: var(--tm-ink-soft);
    font-size: clamp(.96rem, 1.25vw, 1.06rem);
    line-height: 1.82;
    overflow-wrap: anywhere;
}

.tm-prose > *:first-child {
    margin-top: 0;
}

.tm-prose h2,
.tm-prose h3,
.tm-prose h4 {
    scroll-margin-top: calc(var(--tm-header-height) + 4.5rem);
}

.tm-prose h2 {
    margin: 2.5rem 0 1rem;
    font-size: clamp(1.45rem, 3vw, 2rem);
}

.tm-prose h3 {
    margin: 2rem 0 .8rem;
    font-size: clamp(1.2rem, 2.5vw, 1.5rem);
}

.tm-prose a {
    color: var(--tm-brand-fg);
    font-weight: 720;
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, var(--tm-brand) 35%, transparent);
    text-underline-offset: .2em;
}

.tm-prose img {
    height: auto;
    margin-block: 1.5rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
}

.tm-prose blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.2rem;
    border-left: 3px solid var(--tm-brand);
    border-radius: 0 .8rem .8rem 0;
    background: color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface));
    color: var(--tm-ink-soft);
}

.tm-prose pre {
    max-width: 100%;
    overflow-x: auto;
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: #08121c;
    color: #d7e5ee;
    font: .82rem/1.65 "JetBrains Mono", ui-monospace, monospace;
}

.tm-prose table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    -webkit-overflow-scrolling: touch;
}

.tm-prose th,
.tm-prose td {
    padding: .75rem;
    border: 1px solid var(--tm-line);
    font-size: .84rem;
    text-align: left;
}

.tm-prose th {
    background: var(--tm-surface-soft);
    color: var(--tm-ink);
}

.tm-toc {
    display: grid;
    gap: .6rem;
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-md);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-toc__title {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    color: var(--tm-ink);
    font-size: .78rem;
    font-weight: 850;
}

.tm-toc nav {
    display: grid;
    gap: .15rem;
}

.tm-toc a {
    display: block;
    padding: .45rem .55rem;
    border-left: 2px solid transparent;
    color: var(--tm-muted);
    font-size: .76rem;
    font-weight: 680;
}

.tm-toc a:hover,
.tm-toc a[aria-current="true"] {
    border-color: var(--tm-brand-fg);
    color: var(--tm-brand-fg);
}

.tm-feedback {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
    padding: 1.2rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-md);
    background: var(--tm-surface-soft);
}

.tm-accordion {
    display: grid;
    gap: .6rem;
    margin-top: 1.25rem;
}

.tm-accordion details {
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: var(--tm-surface-soft);
}

.tm-accordion summary {
    display: flex;
    min-height: 3.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    color: var(--tm-ink);
    cursor: pointer;
    font-size: .84rem;
    font-weight: 800;
    list-style: none;
}

.tm-accordion summary::-webkit-details-marker {
    display: none;
}

.tm-accordion summary svg {
    width: 1rem;
    height: 1rem;
    transition: rotate .18s ease;
}

.tm-accordion details[open] summary svg {
    rotate: 180deg;
}

.tm-accordion details > .tm-prose,
.tm-accordion details > div {
    padding: 0 1rem 1rem;
}

/* Contact, license, banking and legal */
.tm-split {
    display: grid;
    gap: clamp(1.25rem, 4vw, 3rem);
}

.tm-contact-methods {
    display: grid;
    gap: .75rem;
}

.tm-contact-method {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
    min-height: 4.5rem;
    padding: .85rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface);
}

.tm-contact-method__icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border-radius: .85rem;
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-contact-method strong,
.tm-contact-method span {
    display: block;
}

.tm-contact-method strong {
    color: var(--tm-ink);
    font-size: .84rem;
}

.tm-contact-method span {
    overflow: hidden;
    color: var(--tm-muted);
    font-size: .72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-map {
    position: relative;
    display: grid;
    min-height: 20rem;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-line) 55%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--tm-line) 55%, transparent) 1px, transparent 1px),
        color-mix(in srgb, var(--tm-brand) 5%, var(--tm-surface));
    background-size: 2rem 2rem;
}

.tm-map__pin {
    display: grid;
    width: 4.5rem;
    height: 4.5rem;
    place-items: center;
    border: .65rem solid color-mix(in srgb, var(--tm-brand) 18%, transparent);
    border-radius: 50%;
    background: var(--tm-brand);
    box-shadow: 0 18px 35px color-mix(in srgb, var(--tm-brand) 28%, transparent);
    color: #fff;
    background-clip: padding-box;
}

.tm-map__consent {
    display: grid;
    width: min(100% - 2rem, 19rem);
    min-height: 8rem;
    place-items: center;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 22%, var(--tm-line));
    border-radius: 1.25rem;
    background: color-mix(in srgb, var(--tm-surface) 92%, transparent);
    box-shadow: var(--tm-shadow-md);
    color: var(--tm-ink);
    cursor: pointer;
    text-align: center;
}

.tm-map__consent:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 48%, var(--tm-line));
    background: var(--tm-surface);
}

.tm-map__consent strong,
.tm-map__consent small {
    display: block;
}

.tm-map__consent small {
    margin-top: .3rem;
    color: var(--tm-muted);
    font-size: .75rem;
    line-height: 1.5;
}

.tm-map iframe {
    width: 100%;
    min-height: 20rem;
    border: 0;
}

.tm-license-console {
    display: grid;
    gap: 1rem;
    padding: clamp(1.2rem, 4vw, 2.2rem);
    border: 1px solid color-mix(in srgb, var(--tm-brand) 24%, var(--tm-line));
    border-radius: var(--tm-radius-xl);
    background: linear-gradient(145deg, var(--tm-surface), color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface)));
    box-shadow: var(--tm-shadow-lg);
}

.tm-license-status {
    display: grid;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface-soft);
}

.tm-license-status[data-state="valid"] {
    border-color: color-mix(in srgb, var(--tm-success) 32%, var(--tm-line));
    background: var(--tm-success-soft);
}

.tm-license-status[data-state="invalid"] {
    border-color: color-mix(in srgb, var(--tm-danger) 30%, var(--tm-line));
    background: var(--tm-danger-soft);
}

/* Cart and checkout */
.tm-cart-page,
.tm-checkout-layout {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.tm-cart-list,
.tm-checkout-stack,
.tm-checkout-summary__items,
.tm-payment-panels,
.tm-bank-list {
    display: grid;
    gap: .85rem;
}

.tm-cart-line {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-md);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-cart-line__media {
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-cart-line__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tm-cart-line__copy {
    min-width: 0;
}

.tm-cart-line__copy h2 {
    margin: 0 0 .25rem;
    overflow-wrap: anywhere;
    font-size: 1rem;
}

.tm-cart-line__copy > span {
    color: var(--tm-muted);
    font-size: .78rem;
    font-weight: 700;
}

.tm-cart-line__price {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding-top: .85rem;
    border-top: 1px solid var(--tm-line);
}

.tm-cart-line__price > strong {
    color: var(--tm-ink);
    font-family: "Manrope", sans-serif;
    font-size: 1.05rem;
}

.tm-quantity {
    display: inline-grid;
    grid-template-columns: 2.35rem minmax(2.4rem, auto) 2.35rem;
    align-items: center;
    margin-top: .8rem;
    overflow: hidden;
    border: 1px solid var(--tm-line-strong);
    border-radius: .8rem;
    background: var(--tm-surface-soft);
}

.tm-quantity button {
    display: grid;
    min-height: 2.35rem;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--tm-ink);
    cursor: pointer;
    font-weight: 900;
}

.tm-quantity button:hover {
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-quantity output {
    min-width: 2.4rem;
    text-align: center;
    color: var(--tm-ink);
    font-size: .82rem;
    font-weight: 850;
}

.tm-cart-summary,
.tm-checkout-summary,
.tm-checkout-card {
    padding: clamp(1rem, 3vw, 1.5rem);
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-cart-summary {
    display: grid;
    gap: 1rem;
}

.tm-coupon-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
}

.tm-cart-total {
    padding-top: .85rem;
    border-top: 1px solid var(--tm-line-strong);
}

.tm-cart-total dt,
.tm-cart-total dd {
    color: var(--tm-ink);
    font-size: 1rem;
    font-weight: 900;
}

.tm-checkout-progress {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 34rem;
    margin-top: 1.5rem;
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-surface) 82%, transparent);
}

.tm-checkout-progress__step {
    position: relative;
    display: grid;
    min-width: 0;
    justify-items: center;
    gap: .35rem;
    padding: .75rem .4rem;
    color: var(--tm-muted);
    font-size: .68rem;
    font-weight: 800;
    text-align: center;
}

.tm-checkout-progress__step + .tm-checkout-progress__step {
    border-left: 1px solid var(--tm-line);
}

.tm-checkout-progress__number {
    display: grid;
    width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    border-radius: 50%;
    background: var(--tm-page-strong);
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-checkout-progress__step[data-state="done"] {
    color: var(--tm-success);
}

.tm-checkout-progress__step[data-state="active"] {
    background: color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-checkout-progress__step[data-state="done"] .tm-checkout-progress__number {
    background: var(--tm-success);
    color: #fff;
}

.tm-checkout-progress__step[data-state="active"] .tm-checkout-progress__number {
    background: var(--tm-brand);
    color: #fff;
}

.tm-checkout-progress__number svg {
    width: .9rem;
    height: .9rem;
}

.tm-checkout-card {
    display: grid;
    gap: 1.25rem;
}

.tm-checkout-card__head,
.tm-checkout-summary__head {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--tm-line);
}

.tm-checkout-card__icon,
.tm-checkout-summary__icon {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: .85rem;
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-checkout-card__head h2,
.tm-checkout-summary__head h2 {
    margin: 0 0 .25rem;
    font-size: 1.05rem;
}

.tm-checkout-card__head p,
.tm-checkout-summary__head p {
    margin: 0;
    color: var(--tm-muted);
    font-size: .76rem;
}

.tm-segmented {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem;
    padding: .35rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface-soft);
}

.tm-segmented button {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: 1px solid transparent;
    border-radius: .75rem;
    background: transparent;
    color: var(--tm-muted);
    cursor: pointer;
    font-size: .82rem;
    font-weight: 850;
}

.tm-segmented button:hover {
    color: var(--tm-ink);
}

.tm-segmented button[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--tm-brand) 28%, var(--tm-line));
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
    color: var(--tm-brand-fg);
}

.tm-field-note,
.tm-field-error {
    margin: 0;
    font-size: .73rem;
}

.tm-field-note {
    color: var(--tm-muted);
}

.tm-field-error {
    display: flex;
    align-items: flex-start;
    gap: .35rem;
    color: var(--tm-danger);
    font-weight: 700;
}

.tm-field-error svg {
    width: .9rem;
    height: .9rem;
    margin-top: .12rem;
    flex: 0 0 auto;
}

.tm-info-panel {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .85rem;
    border: 1px solid color-mix(in srgb, var(--tm-info) 24%, var(--tm-line));
    border-radius: .9rem;
    background: var(--tm-info-soft);
    color: var(--tm-info);
    font-size: .76rem;
}

.tm-info-panel p {
    margin: 0;
}

.tm-info-panel svg {
    width: 1rem;
    height: 1rem;
    margin-top: .1rem;
    flex: 0 0 auto;
}

.tm-payment-options {
    display: grid;
    gap: .65rem;
}

.tm-payment-option {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--tm-line-strong);
    border-radius: 1rem;
    background: var(--tm-surface);
    color: var(--tm-ink-soft);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, translate .18s ease;
}

.tm-payment-option:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 40%, var(--tm-line));
    translate: 0 -1px;
}

.tm-payment-option:has(input:checked),
.tm-payment-option.is-selected {
    border-color: var(--tm-brand-fg);
    background: color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface));
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--tm-brand) 10%, transparent);
}

.tm-payment-option input {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0;
    accent-color: var(--tm-brand-fg);
}

.tm-payment-option strong,
.tm-payment-option span {
    display: block;
}

.tm-payment-option strong {
    color: var(--tm-ink);
    font-size: .84rem;
}

.tm-payment-option span {
    color: var(--tm-muted);
    font-size: .7rem;
}

.tm-payment-option > svg {
    width: 1.15rem;
    height: 1.15rem;
    color: var(--tm-brand-fg);
}

.tm-payment-panel {
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface-soft);
}

.tm-payment-panel[hidden] {
    display: none;
}

.tm-payment-panel h3 {
    margin: 0 0 .35rem;
    font-size: .9rem;
}

.tm-payment-panel > p:last-child {
    margin-bottom: 0;
}

.tm-bank-account,
.tm-crypto-account {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .85rem;
    border: 1px solid var(--tm-line);
    border-radius: .85rem;
    background: var(--tm-surface);
}

.tm-bank-account strong,
.tm-bank-account span,
.tm-bank-account code,
.tm-crypto-account strong,
.tm-crypto-account code {
    display: block;
    min-width: 0;
}

.tm-bank-account strong,
.tm-crypto-account strong {
    color: var(--tm-ink);
    font-size: .78rem;
}

.tm-bank-account span {
    color: var(--tm-muted);
    font-size: .68rem;
}

.tm-bank-account code,
.tm-crypto-account code {
    overflow-wrap: anywhere;
    color: var(--tm-ink-soft);
    font-size: .7rem;
}

.tm-copy-btn {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid var(--tm-line);
    border-radius: .7rem;
    background: var(--tm-surface-soft);
    color: var(--tm-muted);
    cursor: pointer;
}

.tm-copy-btn:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 35%, var(--tm-line));
    color: var(--tm-brand-fg);
}

.tm-checkout-agreement {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 22%, var(--tm-line));
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-brand) 6%, var(--tm-surface));
    color: var(--tm-ink-soft);
    cursor: pointer;
    font-size: .8rem;
}

.tm-checkout-agreement input {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: .15rem;
    flex: 0 0 auto;
    accent-color: var(--tm-brand-fg);
}

.tm-checkout-agreement a {
    color: var(--tm-brand-fg);
    font-weight: 850;
    text-decoration: underline;
    text-decoration-thickness: .08em;
    text-underline-offset: .18em;
}

.tm-checkout-submit {
    min-height: 3.5rem;
}

.tm-checkout-summary {
    display: grid;
    gap: 1rem;
}

.tm-checkout-item {
    display: grid;
    gap: .75rem;
    padding: .85rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface-soft);
}

.tm-checkout-item__main {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
}

.tm-checkout-item__icon {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border-radius: .75rem;
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-checkout-item__copy {
    min-width: 0;
}

.tm-checkout-item__copy strong,
.tm-checkout-item__copy span {
    display: block;
}

.tm-checkout-item__copy strong {
    overflow: hidden;
    color: var(--tm-ink);
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-checkout-item__copy span {
    color: var(--tm-muted);
    font-size: .68rem;
}

.tm-checkout-item__price {
    color: var(--tm-ink);
    font-size: .78rem;
    font-weight: 900;
    white-space: nowrap;
}

.tm-license-config {
    display: grid;
    gap: .55rem;
    padding-top: .75rem;
    border-top: 1px dashed var(--tm-line-strong);
}

.tm-license-config__title {
    margin: 0;
    color: var(--tm-muted);
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.tm-domain-row {
    position: relative;
}

.tm-domain-row svg {
    position: absolute;
    top: 50%;
    left: .75rem;
    width: .9rem;
    height: .9rem;
    color: var(--tm-faint);
    transform: translateY(-50%);
}

.tm-domain-row .tm-input {
    min-height: 2.55rem;
    padding-left: 2.15rem;
    font-size: .74rem;
}

.tm-summary-totals {
    display: grid;
    gap: .55rem;
    margin: 0;
}

.tm-summary-totals > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.tm-summary-totals dt {
    color: var(--tm-muted);
    font-size: .77rem;
}

.tm-summary-totals dd {
    margin: 0;
    color: var(--tm-ink-soft);
    font-size: .8rem;
    font-weight: 800;
}

.tm-summary-totals__total {
    padding-top: .85rem;
    border-top: 1px solid var(--tm-line-strong);
}

.tm-summary-totals__total dt,
.tm-summary-totals__total dd {
    color: var(--tm-ink);
    font-weight: 900;
}

.tm-summary-totals__total dd {
    font-family: "Manrope", sans-serif;
    font-size: 1.35rem;
}

.tm-security-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.tm-security-grid span {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .4rem;
    color: var(--tm-muted);
    font-size: .67rem;
    font-weight: 750;
}

.tm-security-grid svg {
    width: .85rem;
    height: .85rem;
    flex: 0 0 auto;
    color: var(--tm-success);
}

.tm-payment-layout {
    display: grid;
    gap: 1rem;
    align-items: start;
}

.tm-payment-frame {
    min-width: 0;
    min-height: 34rem;
    overflow: hidden;
}

.tm-payment-frame iframe {
    width: 100%;
    min-height: 34rem;
    border: 0;
    background: #fff;
}

.tm-payment-loading {
    min-height: 34rem;
    align-content: center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.tm-bank-grid {
    display: grid;
    gap: 1rem;
}

.tm-bank-card {
    position: relative;
    display: grid;
    gap: 1rem;
    overflow: hidden;
    padding: 1.2rem;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-bank-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}

.tm-bank-identity {
    display: flex;
    min-width: 0;
    flex: 1 1 17rem;
    align-items: center;
    gap: .85rem;
}

.tm-bank-identity > div {
    min-width: 0;
}

.tm-bank-identity h3 {
    margin: .25rem 0 0;
    overflow-wrap: anywhere;
}

.tm-bank-logo {
    display: grid;
    width: min(8.5rem, 100%);
    min-width: 0;
    min-height: 3rem;
    flex: 0 1 8.5rem;
    place-items: center;
    padding: .45rem .7rem;
    border: 1px solid var(--tm-line);
    border-radius: .7rem;
    background: #fff;
    color: #17202a;
    font-weight: 900;
}

.tm-bank-logo img {
    width: 100%;
    max-width: 8.5rem;
    height: 2.35rem;
    object-fit: contain;
}

.tm-iban {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .8rem;
    border: 1px dashed var(--tm-line-strong);
    border-radius: .85rem;
    background: var(--tm-surface-soft);
}

.tm-iban code {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--tm-ink);
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: .82rem;
    font-weight: 700;
}

.tm-doc-layout {
    display: grid;
    gap: 1.5rem;
}

.tm-doc-nav {
    display: flex;
    gap: .45rem;
    overflow-x: auto;
    padding: .35rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface);
    scrollbar-width: none;
}

.tm-doc-nav::-webkit-scrollbar {
    display: none;
}

.tm-doc-nav a,
.tm-doc-nav button {
    display: inline-flex;
    min-height: 2.75rem;
    flex: 0 0 auto;
    align-items: center;
    gap: .45rem;
    padding: .6rem .8rem;
    border: 0;
    border-radius: .75rem;
    background: transparent;
    color: var(--tm-muted);
    cursor: pointer;
    font-size: .76rem;
    font-weight: 800;
}

.tm-doc-nav a[aria-current="page"],
.tm-doc-nav button[aria-selected="true"],
.tm-doc-nav .is-active {
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-doc {
    min-width: 0;
    padding: clamp(1.2rem, 4vw, 2.5rem);
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-sm);
}

.tm-feature-panel {
    padding: clamp(1.15rem, 2.6vw, 1.85rem);
}

.tm-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
    gap: .85rem;
    margin-top: 1rem;
}

.tm-feature-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    align-items: center;
    gap: .2rem .85rem;
    min-height: 7.25rem;
    padding: 1rem;
}

.tm-feature-card .tm-trust-item__icon {
    grid-row: 1 / span 2;
    width: 2.65rem;
    height: 2.65rem;
}

.tm-feature-card h3,
.tm-feature-card p { margin: 0; }

.tm-feature-grid > .tm-feature-card:only-child {
    min-height: 6.5rem;
}

.tm-code {
    margin-top: 1.25rem;
    overflow: hidden;
    border: 1px solid #203443;
    border-radius: 1rem;
    background: #08131c;
    color: #dce9f1;
}

.tm-code__head {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .55rem .75rem;
    border-bottom: 1px solid #203443;
    background: #0d1b25;
    color: #9db0bd;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tm-code .tm-btn--quiet {
    color: #dce9f1;
}

.tm-code pre {
    max-width: 100%;
    margin: 0;
    overflow-x: auto;
    padding: 1rem;
    color: #dce9f1;
    font: .78rem/1.7 "JetBrains Mono", ui-monospace, monospace;
}

.tm-endpoint-list {
    display: grid;
    gap: .75rem;
    margin-top: 1.25rem;
}

.tm-endpoint {
    padding: 1rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface-soft);
}

.tm-endpoint__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
}

.tm-endpoint__head code {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--tm-brand-fg);
    font-family: "JetBrains Mono", ui-monospace, monospace;
    font-size: .77rem;
    font-weight: 700;
}

.tm-endpoint > p {
    margin: .75rem 0 0;
    color: var(--tm-muted);
    font-size: .8rem;
}

.tm-method {
    display: inline-flex;
    min-height: 1.7rem;
    align-items: center;
    padding: .2rem .55rem;
    border-radius: .45rem;
    font: 850 .66rem/1 "JetBrains Mono", ui-monospace, monospace;
}

.tm-method--get { background: var(--tm-info-soft); color: var(--tm-info); }
.tm-method--post { background: var(--tm-success-soft); color: var(--tm-success); }
.tm-method--put { background: var(--tm-warning-soft); color: var(--tm-warning); }
.tm-method--delete { background: var(--tm-danger-soft); color: var(--tm-danger); }

/* Footer and global utilities */
.tm-final-cta {
    position: relative;
    display: grid;
    gap: 1.5rem;
    overflow: hidden;
    padding: clamp(1.5rem, 5vw, 3.5rem);
    border: 1px solid color-mix(in srgb, var(--tm-brand) 28%, var(--tm-line));
    border-radius: var(--tm-radius-xl);
    background:
        radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--tm-accent) 16%, transparent), transparent 20rem),
        linear-gradient(135deg, color-mix(in srgb, var(--tm-brand) 11%, var(--tm-surface)), var(--tm-surface));
    box-shadow: var(--tm-shadow-md);
}

.tm-final-cta h2 {
    max-width: 18ch;
    margin-bottom: .7rem;
    font-size: clamp(1.8rem, 4vw, 3.4rem);
}

.tm-final-cta p {
    max-width: 58ch;
    margin: 0;
    color: var(--tm-muted);
}

.tm-footer {
    margin-top: clamp(2.5rem, 4vw, 4rem);
    border-top: 1px solid var(--tm-line);
    background: #07111a;
    color: #93a8b8;
}

body.tm-site .tm-footer .tm-brand__word,
body.tm-site .tm-footer h2,
body.tm-site .tm-footer h3,
body.tm-site .tm-footer h4,
body.tm-site .tm-footer strong {
    color: #f4f8fb;
}

.tm-footer__top {
    display: grid;
    gap: 2rem;
    padding-block: clamp(3rem, 4.5vw, 4.5rem);
}

.tm-footer__brand {
    max-width: 27rem;
}

.tm-footer__brand p {
    margin: 1rem 0 0;
    color: #8ea1b0;
    font-size: .86rem;
}

.tm-footer__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1rem;
}

.tm-footer__column h3 {
    margin-bottom: .8rem;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tm-footer__column ul {
    display: grid;
    gap: .58rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tm-footer__column a {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    color: #8ea1b0;
    font-size: .8rem;
    font-weight: 650;
    transition: color .16s ease, translate .16s ease;
}

.tm-footer__column a:hover {
    color: #fff;
    translate: .18rem 0;
}

.tm-footer__trust {
    display: grid;
    gap: .75rem;
    padding: 1rem;
    border: 1px solid #1d303d;
    border-radius: 1rem;
    background: #0b1822;
}

.tm-footer__trust span {
    display: flex;
    align-items: center;
    gap: .55rem;
    color: #a9bac6;
    font-size: .75rem;
    font-weight: 720;
}

.tm-footer__bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem;
    padding-block: 1.2rem;
    border-top: 1px solid #172936;
    color: #708697;
    font-size: .72rem;
}

.tm-footer__bottom-links {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
}

body.tm-site .tm-footer__bottom-links a,
body.tm-site .tm-footer__bottom-links button {
    color: #9bb0bf;
    font: inherit;
    font-weight: 680;
}

body.tm-site .tm-footer__bottom a:hover,
body.tm-site .tm-footer__bottom button:hover,
body.tm-site .tm-footer__bottom a:focus-visible,
body.tm-site .tm-footer__bottom button:focus-visible {
    color: #fff;
}

.tm-socials {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: 1rem;
}

.tm-socials a {
    display: grid;
    width: 2.45rem;
    height: 2.45rem;
    place-items: center;
    border: 1px solid #213543;
    border-radius: .75rem;
    background: #0d1c27;
    color: #9bb0bf;
    transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.tm-socials a:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 60%, #213543);
    background: color-mix(in srgb, var(--tm-brand) 22%, #0d1c27);
    color: #fff;
}

.tm-float-dock {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 120;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.tm-float-dock .tm-icon-btn {
    box-shadow: var(--tm-shadow-md);
}

.tm-toast-stack,
#toastHost {
    position: fixed;
    top: max(1rem, env(safe-area-inset-top));
    right: max(1rem, env(safe-area-inset-right));
    z-index: 1000;
    display: grid;
    width: min(24rem, calc(100vw - 2rem));
    gap: .55rem;
    pointer-events: none;
}

.tm-toast {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    min-height: 3.4rem;
    padding: .75rem .85rem;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-lg);
    color: var(--tm-ink-soft);
    pointer-events: auto;
    transition: opacity .25s ease, transform .25s var(--tm-ease);
}

.tm-toast > svg {
    width: 1.15rem;
    height: 1.15rem;
}

.tm-toast > span {
    font-size: .8rem;
    font-weight: 720;
}

.tm-toast > button {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border: 0;
    border-radius: .55rem;
    background: transparent;
    color: currentColor;
    cursor: pointer;
}

.tm-toast--success { border-color: color-mix(in srgb, var(--tm-success) 35%, var(--tm-line)); color: var(--tm-success); }
.tm-toast--error { border-color: color-mix(in srgb, var(--tm-danger) 35%, var(--tm-line)); color: var(--tm-danger); }
.tm-toast--warning { border-color: color-mix(in srgb, var(--tm-warning) 35%, var(--tm-line)); color: var(--tm-warning); }
.tm-toast--info { border-color: color-mix(in srgb, var(--tm-info) 35%, var(--tm-line)); color: var(--tm-info); }

.tm-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(3, 10, 16, .58);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

.tm-loading-card {
    display: grid;
    min-width: min(16rem, 100%);
    justify-items: center;
    gap: .85rem;
    padding: 1.4rem;
    border: 1px solid var(--tm-line);
    border-radius: 1rem;
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-lg);
}

.tm-loading-card p {
    margin: 0;
    color: var(--tm-ink-soft);
    font-size: .82rem;
    font-weight: 750;
}

.tm-spinner {
    width: 2rem;
    height: 2rem;
    border: .2rem solid var(--tm-line);
    border-top-color: var(--tm-brand-fg);
    border-radius: 50%;
    animation: tm-spin .7s linear infinite;
}

/* Shared notifications, dialogs and cookie consent */
.tm-notify-stack {
    position: fixed;
    top: max(1rem, env(safe-area-inset-top));
    right: max(1rem, env(safe-area-inset-right));
    z-index: 10000;
    display: grid;
    width: min(calc(100vw - 2rem), 24rem);
    gap: .7rem;
    pointer-events: none;
}

.tm-notify {
    --tm-notify-bg: #155a96;
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: .7rem;
    overflow: hidden;
    padding: .9rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 1rem;
    background: var(--tm-notify-bg);
    box-shadow: var(--tm-shadow-lg);
    color: #fff;
    pointer-events: auto;
    animation: tm-notify-in .32s var(--tm-ease) both;
}

.tm-notify--success { --tm-notify-bg: #087152; }
.tm-notify--error { --tm-notify-bg: #a72439; }
.tm-notify--warning { --tm-notify-bg: #875000; }
.tm-notify--info { --tm-notify-bg: #155a96; }

.tm-notify.is-leaving {
    animation: tm-notify-out .25s ease both;
}

.tm-notify > svg {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: .15rem;
}

.tm-notify__message {
    min-width: 0;
    font-size: .8rem;
    font-weight: 750;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.tm-notify__close {
    display: grid;
    width: 1.8rem;
    height: 1.8rem;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    cursor: pointer;
}

.tm-notify__close:hover {
    background: rgba(255, 255, 255, .24);
}

.tm-notify__close svg {
    width: .9rem;
    height: .9rem;
}

.tm-notify__progress {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: .2rem;
    background: rgba(255, 255, 255, .5);
    transform-origin: left;
    animation: tm-notify-shrink linear both;
}

.tm-dialog-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10001;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(3, 10, 16, .66);
    opacity: 0;
    transition: opacity .2s ease;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.tm-dialog-backdrop[data-open="true"] {
    opacity: 1;
}

.tm-dialog-backdrop > .tm-dialog {
    width: min(100%, 29rem);
    overflow: hidden;
    border: 1px solid var(--tm-line);
    border-radius: var(--tm-radius-lg);
    background: var(--tm-surface);
    box-shadow: var(--tm-shadow-lg);
    color: var(--tm-ink-soft);
    transform: translateY(.75rem) scale(.97);
    transition: transform .25s var(--tm-ease);
}

.tm-dialog-backdrop[data-open="true"] > .tm-dialog {
    transform: none;
}

.tm-dialog-backdrop .tm-dialog__body {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .9rem;
    padding: 1.25rem;
}

.tm-dialog-backdrop .tm-dialog__icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    place-items: center;
    border-radius: .9rem;
    background: var(--tm-danger-soft);
    color: var(--tm-danger);
}

.tm-dialog-backdrop .tm-dialog__icon[data-tone="brand"] {
    background: color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface));
    color: var(--tm-brand-fg);
}

.tm-dialog-backdrop .tm-dialog__icon[data-tone="emerald"] {
    background: var(--tm-success-soft);
    color: var(--tm-success);
}

.tm-dialog-backdrop .tm-dialog__icon[data-tone="amber"] {
    background: var(--tm-warning-soft);
    color: var(--tm-warning);
}

.tm-dialog-backdrop .tm-dialog__icon svg {
    width: 1.2rem;
    height: 1.2rem;
}

.tm-dialog-backdrop .tm-dialog__copy h3 {
    margin: 0 0 .4rem;
    font-size: 1.05rem;
}

.tm-dialog-backdrop .tm-dialog__copy p {
    margin: 0;
    color: var(--tm-muted);
    font-size: .82rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.tm-dialog-backdrop .tm-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .55rem;
    padding: .9rem 1.25rem 1.25rem;
    border-top: 1px solid var(--tm-line);
    background: var(--tm-surface-soft);
}

.tm-btn--success {
    background: var(--tm-success);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--tm-success) 24%, transparent);
}

body.tm-site .tm-btn--success {
    color: var(--tm-on-success);
}

.tm-btn--warning {
    background: #8a5200;
    box-shadow: 0 12px 28px rgba(138, 82, 0, .24);
}

body.tm-site .tm-btn--warning {
    color: #ffffff;
}

.tm-cookie {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9000;
    padding: 1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    pointer-events: none;
}

.tm-cookie__card {
    width: min(100%, 70rem);
    margin-inline: auto;
    overflow: hidden;
    border: 1px solid var(--tm-line-strong);
    border-radius: var(--tm-radius-lg);
    background: color-mix(in srgb, var(--tm-surface) 96%, transparent);
    box-shadow: var(--tm-shadow-lg);
    color: var(--tm-ink-soft);
    pointer-events: auto;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.tm-cookie__view {
    padding: clamp(1rem, 3vw, 1.5rem);
}

.tm-cookie__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .85rem;
}

.tm-cookie__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: .95rem;
    background: var(--tm-warning-soft);
    color: var(--tm-warning);
}

.tm-cookie__icon svg {
    width: 1.35rem;
    height: 1.35rem;
}

.tm-cookie__copy h3,
.tm-cookie__details h3 {
    margin: 0 0 .35rem;
    font-size: 1rem;
}

.tm-cookie__copy p {
    margin: 0;
    color: var(--tm-muted);
    font-size: .78rem;
    line-height: 1.65;
}

.tm-cookie__copy a {
    color: var(--tm-brand-fg);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: .18em;
}

.tm-cookie__actions {
    display: grid;
    gap: .5rem;
    margin-top: 1rem;
}

.tm-cookie__details {
    border-top: 1px solid var(--tm-line);
}

.tm-cookie__categories {
    display: grid;
    gap: .65rem;
}

.tm-cookie-category {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .7rem;
    padding: .85rem;
    border: 1px solid var(--tm-line);
    border-radius: .9rem;
    background: var(--tm-surface-soft);
    cursor: pointer;
}

.tm-cookie-category:has(input:focus-visible) {
    outline: 3px solid color-mix(in srgb, var(--tm-focus) 50%, transparent);
    outline-offset: 2px;
}

.tm-cookie-category[data-required="true"] {
    cursor: not-allowed;
    opacity: .82;
}

.tm-cookie-category input {
    width: 1.05rem;
    height: 1.05rem;
    margin-top: .18rem;
    accent-color: var(--tm-brand-fg);
}

.tm-cookie-category strong,
.tm-cookie-category span {
    display: block;
}

.tm-cookie-category strong {
    color: var(--tm-ink);
    font-size: .8rem;
}

.tm-cookie-category span {
    margin-top: .2rem;
    color: var(--tm-muted);
    font-size: .7rem;
    line-height: 1.55;
}

.tm-cookie-category__badge {
    display: inline-flex !important;
    width: fit-content;
    margin: .35rem 0 0 !important;
    padding: .2rem .45rem;
    border-radius: 999px;
    background: var(--tm-success-soft);
    color: var(--tm-success) !important;
    font-size: .62rem !important;
    font-weight: 850;
}

.tm-footer__bottom-links button {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--tm-muted);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.tm-footer__bottom-links button:hover {
    color: var(--tm-ink);
}

.tm-scrolltop {
    opacity: 0;
    pointer-events: none;
    transform: translateY(.5rem);
}

.tm-scrolltop[data-visible="true"] {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.tm-note {
    color: var(--tm-muted);
    font-size: .74rem;
}

.tm-divider {
    height: 1px;
    border: 0;
    background: var(--tm-line);
}

.tm-nowrap {
    white-space: nowrap;
}

.tm-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
}

[data-tm-reveal] {
    opacity: 1;
    transform: none;
}

.tm-ready [data-tm-reveal] {
    opacity: 0;
    transform: translateY(.75rem);
    transition: opacity .55s ease, transform .65s var(--tm-ease);
}

.tm-ready [data-tm-reveal].is-visible {
    opacity: 1;
    transform: none;
}

.tm-skeleton {
    min-height: 1rem;
    border-radius: .4rem;
    background: linear-gradient(90deg, var(--tm-page-strong), var(--tm-surface), var(--tm-page-strong));
    background-size: 220% 100%;
    animation: tm-shimmer 1.4s linear infinite;
}

@keyframes tm-shimmer {
    to { background-position: -220% 0; }
}

@keyframes tm-chart-in {
    from { opacity: 0; transform: scaleY(.08); }
    to { opacity: .82; transform: scaleY(1); }
}

@keyframes tm-spin {
    to { transform: rotate(360deg); }
}

@keyframes tm-notify-in {
    from { opacity: 0; transform: translateX(1.5rem) scale(.97); }
    to { opacity: 1; transform: none; }
}

@keyframes tm-notify-out {
    to { opacity: 0; transform: translateX(1.5rem) scale(.97); }
}

@keyframes tm-notify-shrink {
    to { transform: scaleX(0); }
}

@media (min-width: 36rem) {
    .tm-container,
    .tm-container--reading {
        width: min(calc(100% - 3rem), var(--tm-container));
    }

    .tm-grid--2,
    .tm-form-grid,
    .tm-trust-strip,
    .tm-kb-categories,
    .tm-bank-grid,
    .tm-case-study {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tm-product-grid,
    .tm-plan-grid,
    .tm-portal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tm-category-deck {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

    .tm-bento__item--wide {
        grid-column: span 2;
    }

    .tm-service-hero__facts,
    .tm-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tm-cart-line {
        grid-template-columns: 4.5rem minmax(0, 1fr) auto;
        align-items: center;
    }

    .tm-cart-line__media {
        width: 4.5rem;
        height: 4.5rem;
    }

    .tm-cart-line__price {
        grid-column: auto;
        display: grid;
        justify-items: end;
        padding: 0 0 0 1rem;
        border-top: 0;
        border-left: 1px solid var(--tm-line);
    }

    .tm-payment-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tm-cookie__actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    #temoryaConsentSimple.tm-cookie__view {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 1rem;
    }

    #temoryaConsentSimple .tm-cookie__actions {
        margin-top: 0;
    }

    .tm-footer__bottom {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}

@media (min-width: 48rem) {
    .tm-wp-showcase {
        grid-template-columns: minmax(0, .95fr) minmax(22rem, 1.05fr);
        align-items: center;
    }

    .tm-wp-showcase__signals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tm-service-outcome {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
        align-items: start;
    }

    .tm-service-outcome footer {
        grid-column: 1 / -1;
    }

    .tm-section-head--split {
        grid-template-columns: minmax(0, 1fr) minmax(18rem, .7fr);
        align-items: end;
        justify-content: space-between;
    }

    .tm-grid--3,
    .tm-product-grid,
    .tm-plan-grid,
    .tm-portal-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tm-grid--4,
    .tm-trust-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

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

    .tm-toolbar {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .tm-category-deck {
        grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    }

    .tm-product-grid--list .tm-product-card {
        grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
        grid-template-rows: 1fr;
    }

    [data-tm-catalog-key="services"] .tm-product-grid--list .tm-product-card {
        grid-template-columns: 1fr;
    }

    [data-tm-catalog-key="services"] .tm-product-grid--list .tm-product-card__body {
        grid-column: 1 / -1;
    }

    .tm-product-grid--list .tm-product-card__media {
        height: 100%;
        aspect-ratio: auto;
        border-right: 1px solid var(--tm-line);
        border-bottom: 0;
    }

    .tm-product-grid--list .tm-product-card__description {
        -webkit-line-clamp: 3;
    }

    .tm-quickview {
        grid-template-columns: minmax(0, 1fr) minmax(18rem, .9fr);
        align-items: stretch;
    }

    .tm-product-shell {
        grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr);
        align-items: start;
    }

    .tm-case-study {
        align-items: center;
    }

    .tm-final-cta {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

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

@media (max-width: 47.999rem) {
    .tm-product-grid--list .tm-product-card__media {
        aspect-ratio: 3 / 1;
    }

    .tm-product-grid--list .tm-product-card__body {
        gap: .65rem;
        padding: .85rem;
    }

    .tm-product-grid--list .tm-product-card__description {
        -webkit-line-clamp: 1;
    }

    .tm-product-grid--list .tm-product-card__meta {
        gap: .35rem .65rem;
    }

    .tm-product-grid--list .tm-product-card__foot {
        padding-top: .15rem;
    }
}

@media (min-width: 64rem) {
    .tm-container,
    .tm-container--reading {
        width: min(calc(100% - 4rem), var(--tm-container));
    }

    .tm-nav {
        display: flex;
    }

    .tm-mobile-trigger {
        display: none;
    }

    .tm-hero__grid {
        grid-template-columns: minmax(0, 1.03fr) minmax(25rem, .97fr);
    }

    .tm-review-layout {
        grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
    }

    .tm-review-compose {
        position: sticky;
        top: calc(var(--tm-header-height) + 4.5rem);
    }

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

    .tm-bento__item--wide {
        grid-column: span 2;
    }

    .tm-bento__item--tall {
        grid-row: span 2;
    }

    .tm-catalog {
        grid-template-columns: 16.5rem minmax(0, 1fr);
        align-items: start;
    }

    .tm-comparison-cards {
        display: none;
    }

    .tm-catalog__sidebar {
        position: sticky;
        top: calc(var(--tm-header-height) + 1rem);
        display: block;
    }

    .tm-filter-mobile-trigger,
    .tm-filter-drawer {
        display: none;
    }

    .tm-buybox {
        position: sticky;
        top: calc(var(--tm-header-height) + 4.5rem);
    }

    .tm-mobile-buybar {
        display: none;
    }

    .tm-split {
        grid-template-columns: minmax(0, 1fr) minmax(22rem, .82fr);
        align-items: start;
    }

    .tm-payment-layout {
        grid-template-columns: minmax(0, 1fr) 20rem;
    }

    .tm-cart-page {
        grid-template-columns: minmax(0, 1fr) 22rem;
    }

    .tm-cart-summary,
    .tm-checkout-summary {
        position: sticky;
        top: calc(var(--tm-header-height) + 1rem);
    }

    .tm-checkout-layout {
        grid-template-columns: minmax(0, 1fr) 23rem;
        gap: 1.25rem;
    }

    .tm-article-layout {
        grid-template-columns: minmax(0, 1fr) 17rem;
        align-items: start;
    }

    .tm-article-layout__aside,
    .tm-toc {
        position: sticky;
        top: calc(var(--tm-header-height) + 1rem);
    }

    .tm-doc-layout {
        grid-template-columns: 17rem minmax(0, 1fr);
        align-items: start;
    }

    .tm-doc-nav {
        position: sticky;
        top: calc(var(--tm-header-height) + 1rem);
        display: grid;
        overflow: visible;
    }

    .tm-doc-nav a,
    .tm-doc-nav button {
        width: 100%;
    }

    .tm-footer__top {
        grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.5fr) minmax(13rem, .55fr);
        align-items: start;
    }
}

@media (min-width: 84rem) {
    .tm-search-trigger {
        display: inline-grid;
        width: 2.6rem;
        min-width: 2.6rem;
        padding: 0;
        place-items: center;
    }

    .tm-search-trigger span,
    .tm-search-trigger kbd {
        display: none;
    }
}

@media (min-width: 96rem) {
    .tm-search-trigger {
        display: inline-flex;
        width: auto;
        min-width: 8.5rem;
        padding: .5rem .65rem;
    }

    .tm-search-trigger span,
    .tm-search-trigger kbd {
        display: initial;
    }
}

@media (min-width: 64rem) and (max-width: 89.99rem) {
    .tm-nav-link {
        gap: .32rem;
        padding-inline: .55rem;
        font-size: .8rem;
    }
}

@media (min-width: 84rem) and (max-width: 95.99rem) {
    .tm-brand img {
        max-width: 8.75rem;
    }

    .tm-nav-link {
        gap: .28rem;
        padding-inline: .5rem;
        font-size: .78rem;
    }

    .tm-header-actions {
        gap: .28rem;
    }

    .tm-header-actions .tm-btn--small {
        padding-inline: .72rem;
    }
}

@media (min-width: 64rem) and (max-width: 74.99rem) {
    .tm-nav {
        display: none;
    }

    .tm-mobile-trigger {
        display: inline-grid;
    }

    .tm-header-actions .tm-auth-label {
        display: none;
    }
}

@media (min-width: 80rem) {
    .tm-product-grid--wide {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .tm-plan-grid--4,
    .tm-portal-grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 63.99rem) {
    body:has(.tm-mobile-buybar) .tm-footer {
        padding-bottom: 5.75rem;
    }

    .tm-compare-wrap {
        display: none;
    }

    .tm-auth-label {
        display: none !important;
    }

    .tm-drawer__head {
        padding-top: max(1rem, env(safe-area-inset-top));
    }

    .tm-drawer__body {
        padding-right: max(.85rem, env(safe-area-inset-right));
        padding-bottom: max(.85rem, env(safe-area-inset-bottom));
    }

    .tm-drawer__foot {
        padding-right: max(1rem, env(safe-area-inset-right));
        padding-bottom: max(1rem, env(safe-area-inset-bottom));
    }

    .tm-drawer-children a {
        min-height: 2.75rem;
    }
}

@media (max-width: 35.99rem) {
    .tm-statusbar__group--secondary,
    .tm-header-actions .tm-auth-label,
    .tm-header-actions [data-desktop-only],
    .tm-header-actions [data-mobile-compact-hide] {
        display: none;
    }

    .tm-brand img {
        max-width: 8rem;
        height: 2.1rem;
    }

    .tm-header-actions {
        gap: .28rem;
    }

    .tm-bank-card__head {
        align-items: flex-start;
    }

    .tm-bank-identity {
        flex-basis: 100%;
        align-items: flex-start;
    }

    .tm-bank-logo {
        flex-basis: 7.25rem;
    }

    .tm-iban {
        grid-template-columns: 1fr;
    }

    .tm-iban .tm-btn,
    .tm-iban .tm-icon-btn {
        width: 100%;
    }

    .tm-statusbar__inner {
        justify-content: center;
    }

    .tm-display {
        font-size: clamp(2.3rem, 12vw, 3.35rem);
    }

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

    .tm-review-card__head .tm-review-stars {
        grid-column: 1 / -1;
        padding-left: 3.35rem;
    }

    .tm-review-rating-input {
        grid-template-columns: repeat(5, minmax(2.7rem, 1fr));
        overflow-x: auto;
        padding-bottom: .25rem;
    }

    .tm-pagination {
        justify-content: center;
    }

    .tm-pagination__item--direction span {
        display: none;
    }

    .tm-actions .tm-btn {
        width: 100%;
    }

    .tm-kb-search,
    .tm-search-form {
        grid-template-columns: 1fr;
    }

    #tmSearchDialog.tm-search-dialog {
        width: calc(100vw - 1rem);
        max-height: calc(100dvh - 1rem);
        border-radius: 1.05rem;
    }

    #tmSearchDialog .tm-dialog__head {
        min-height: 4rem;
        padding: .7rem .75rem;
    }

    #tmSearchDialog .tm-dialog__body {
        max-height: calc(100dvh - 5rem);
        padding: .75rem;
    }

    #tmSearchDialog .tm-search-form {
        grid-template-columns: 1fr;
    }

    #tmSearchDialog .tm-search-form .tm-btn {
        width: 100%;
        min-width: 0;
    }

    #tmSearchResults {
        max-height: calc(100dvh - 13rem);
    }

    #tmSearchDialog .tm-search-suggestions a {
        min-height: 3.35rem;
        grid-template-columns: 2.2rem minmax(0, 1fr) .9rem;
        padding: .5rem;
    }

    .tm-spec {
        grid-template-columns: 1fr;
        gap: .25rem;
    }

    .tm-footer__links {
        gap: 1.5rem .75rem;
    }
}

@media (max-width: 23.99rem) {
    .tm-brand img {
        max-width: 7rem;
    }

    .tm-header__inner {
        gap: .25rem;
    }

    .tm-header-actions .tm-icon-btn {
        width: 2.75rem;
        height: 2.75rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto;
        animation-duration: .01ms;
        animation-iteration-count: 1;
        transition-duration: .01ms;
    }

    [data-tm-reveal] {
        opacity: 1;
        transform: none;
    }
}

/* ========================================================================== */
/* v9.0.13 — Content density, editorial knowledge base and hosting cards       */
/* ========================================================================== */

/* Content grids size each row from its own content. Equal-height behaviour is
   retained inside explicit column grids without forcing every page row to the
   height of the largest row. */
.tm-grid {
    grid-auto-rows: auto;
}

.tm-grid > * {
    height: auto;
}

:is(.tm-grid--2, .tm-grid--3, .tm-grid--4) {
    align-items: stretch;
}

:is(.tm-grid--2, .tm-grid--3, .tm-grid--4) > * {
    height: 100%;
}

/* Shared icon and number breathing room. */
.tm-flow__number {
    width: 2.7rem;
    min-width: 2.7rem;
    height: 2.7rem;
    padding-inline: .35rem;
    line-height: 1;
}

:is(.tm-trust-item__icon, .tm-contact-method__icon, .tm-kb-category__icon, .tm-category-card__icon, .tm-empty__icon) {
    flex: 0 0 auto;
    place-items: center;
}

:is(.tm-trust-item__icon, .tm-contact-method__icon, .tm-kb-category__icon, .tm-category-card__icon, .tm-empty__icon) > svg {
    width: 1.22rem;
    height: 1.22rem;
    margin: 0;
}

.tm-journey-card {
    padding: clamp(1.25rem, 2.4vw, 1.6rem);
}

.tm-journey-card > .tm-flow__number {
    margin: .1rem 0 0 .1rem;
    border-color: color-mix(in srgb, var(--tm-brand) 42%, var(--tm-line));
    box-shadow: inset 0 0 0 .22rem color-mix(in srgb, var(--tm-brand) 4%, transparent);
}

/* Contact: remove artificial full-height rows and keep information cards dense. */
.tm-contact-layout,
.tm-contact-aside {
    align-items: start;
}

.tm-contact-form-card,
.tm-contact-info-card {
    height: auto;
    align-self: start;
}

.tm-contact-form-card {
    padding: clamp(1.15rem, 2.5vw, 1.75rem);
}

.tm-contact-form {
    gap: 1rem;
}

.tm-contact-form .tm-form-grid {
    align-items: start;
}

.tm-contact-form .tm-textarea {
    min-height: 10.5rem;
}

.tm-contact-privacy {
    min-height: 0;
    padding-block: .8rem;
}

.tm-contact-form > .tm-actions {
    margin-top: .15rem;
}

.tm-contact-aside {
    grid-auto-rows: auto;
    align-content: start;
    gap: 1rem;
}

.tm-contact-info-card {
    display: grid;
    align-content: start;
    gap: .7rem;
    padding: clamp(1rem, 2vw, 1.35rem);
}

.tm-contact-info-card > :is(h2, p, ul) {
    margin-bottom: 0;
}

.tm-contact-info-card .tm-grid {
    gap: .35rem;
}

.tm-contact-info-card .tm-bank-card__head {
    min-height: 2.1rem;
    padding-block: .35rem;
}

.tm-contact-location-card .tm-map,
.tm-contact-location-card .tm-map iframe {
    min-height: 15rem;
}

/* Compact final CTA contract shared by all public pages. */
.tm-section:has(.tm-final-cta) {
    padding-block: clamp(2rem, 3.5vw, 3.25rem);
}

.tm-final-cta {
    min-height: 0;
    align-items: center;
    gap: clamp(1.25rem, 3vw, 2.25rem);
    padding: clamp(1.5rem, 3.5vw, 2.6rem);
}

.tm-final-cta .tm-actions {
    align-items: center;
    justify-content: flex-end;
}

.tm-final-cta .tm-actions .tm-btn {
    flex: 0 0 auto;
}

.tm-cta-pair-section {
    padding-block: clamp(2rem, 3.5vw, 3.25rem);
}

.tm-cta-pair {
    display: grid;
    gap: 1rem;
}

.tm-cta-pair .tm-final-cta {
    height: 100%;
    grid-template-columns: 1fr;
    align-content: space-between;
    padding: clamp(1.35rem, 2.8vw, 2.15rem);
}

.tm-cta-pair .tm-final-cta h2 {
    font-size: clamp(1.65rem, 3vw, 2.65rem);
}

.tm-cta-pair .tm-final-cta .tm-actions {
    justify-content: flex-start;
}

/* Knowledge base: editorial blog + searchable documentation hub. */
.tm-kb-hero--editorial {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-block: clamp(2.75rem, 5vw, 4.6rem);
    text-align: left;
}

.tm-kb-hero--editorial::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-line) 28%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--tm-line) 28%, transparent) 1px, transparent 1px);
    background-size: 3.5rem 3.5rem;
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, .52), transparent 76%);
    content: "";
}

.tm-kb-hero--editorial::after {
    position: absolute;
    top: -18rem;
    right: -12rem;
    z-index: -1;
    width: 42rem;
    height: 42rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 18%, transparent);
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--tm-brand) 12%, transparent), transparent 68%);
    content: "";
}

.tm-kb-hero__grid {
    display: grid;
    align-items: center;
    gap: clamp(2rem, 5vw, 4.5rem);
}

.tm-kb-hero__copy {
    min-width: 0;
}

.tm-kb-hero__copy .tm-title {
    max-width: 14ch;
    margin-top: .85rem;
    font-size: clamp(2.25rem, 4.6vw, 4.35rem);
}

.tm-kb-hero__copy > .tm-lead {
    max-width: 54ch;
}

.tm-kb-hero__copy .tm-kb-search {
    width: min(100%, 43rem);
    margin: 1.5rem 0 0;
}

.tm-kb-popular-searches {
    width: min(100%, 43rem);
    justify-content: center;
    gap: .55rem;
    margin: 1rem 0 0;
    padding-top: .15rem;
}

.tm-kb-popular-searches .tm-chip {
    min-height: 2.45rem;
    padding-inline: .85rem;
}

.tm-kb-hero__panel {
    position: relative;
    display: grid;
    gap: 1rem;
    overflow: hidden;
    padding: clamp(1.1rem, 2.5vw, 1.55rem);
    border: 1px solid color-mix(in srgb, var(--tm-brand) 28%, var(--tm-line));
    border-radius: var(--tm-radius-xl);
    background: linear-gradient(145deg, color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface)), var(--tm-surface));
    box-shadow: var(--tm-shadow-lg);
}

.tm-kb-hero__panel::after {
    position: absolute;
    inset: auto -20% 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--tm-brand-fg), transparent);
    content: "";
    animation: tm-purpose-scan 4.4s ease-in-out infinite;
}

.tm-kb-hero__panel-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .8rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid var(--tm-line);
}

.tm-kb-hero__panel-head > div,
.tm-kb-hero__panel-head strong,
.tm-kb-hero__panel-head span {
    display: block;
    min-width: 0;
}

.tm-kb-hero__panel-head strong { color: var(--tm-ink); }
.tm-kb-hero__panel-head div > span { color: var(--tm-muted); font-size: .72rem; }

.tm-kb-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.tm-kb-metric {
    display: grid;
    min-width: 0;
    place-items: center;
    gap: .18rem;
    padding: .9rem .45rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 18%, var(--tm-line));
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-brand) 6%, var(--tm-surface));
    text-align: center;
}

.tm-kb-metric svg {
    width: 1.1rem;
    height: 1.1rem;
    margin-bottom: .22rem;
    color: var(--tm-brand-fg);
}

.tm-kb-metric strong {
    color: var(--tm-ink);
    font: 850 clamp(1.15rem, 2.2vw, 1.65rem)/1 "Manrope", sans-serif;
}

.tm-kb-metric span {
    color: var(--tm-muted);
    font-size: .66rem;
    font-weight: 750;
}

.tm-kb-hero__benefits {
    gap: .55rem;
    padding-top: .2rem;
}

.tm-kb-hero__benefits li {
    align-items: center;
    font-size: .76rem;
}

.tm-kb-content > .tm-section,
.tm-kb-content > [data-kb-default] > .tm-section {
    padding-block: clamp(2.5rem, 4vw, 3.75rem);
}

.tm-kb-featured {
    display: grid;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 28%, var(--tm-line));
    border-radius: var(--tm-radius-xl);
    background: linear-gradient(135deg, color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface)), var(--tm-surface));
    box-shadow: var(--tm-shadow-md);
}

.tm-kb-featured__copy {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: .85rem;
    padding: clamp(1.35rem, 4vw, 2.5rem);
}

.tm-kb-featured__copy > :is(h2, p) { margin-bottom: 0; }

.tm-kb-featured__meta {
    gap: .45rem;
}

.tm-kb-featured__visual {
    position: relative;
    display: grid;
    min-height: 16rem;
    place-items: center;
    align-content: center;
    gap: .5rem;
    overflow: hidden;
    border-top: 1px solid var(--tm-line);
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-line) 35%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--tm-line) 35%, transparent) 1px, transparent 1px),
        color-mix(in srgb, var(--tm-brand) 7%, var(--tm-page));
    background-size: 2.5rem 2.5rem;
    text-align: center;
}

.tm-kb-featured__visual > *:not(.tm-kb-featured__orbit) { position: relative; z-index: 1; }
.tm-kb-featured__visual strong { color: var(--tm-ink); }
.tm-kb-featured__visual > span:last-child { color: var(--tm-muted); font-size: .72rem; }

.tm-kb-featured__icon {
    display: grid;
    width: 4.75rem;
    height: 4.75rem;
    place-items: center;
    border: .6rem solid color-mix(in srgb, var(--tm-brand) 14%, transparent);
    border-radius: 50%;
    background: var(--tm-brand);
    color: var(--tm-on-brand);
    background-clip: padding-box;
    box-shadow: var(--tm-shadow-md);
}

.tm-kb-featured__icon svg { width: 1.55rem; height: 1.55rem; }

.tm-kb-featured__orbit {
    position: absolute;
    width: 14rem;
    height: 14rem;
    border: 1px dashed color-mix(in srgb, var(--tm-brand) 34%, var(--tm-line));
    border-radius: 50%;
    animation: tm-network-orbit 22s linear infinite;
}

.tm-kb-category {
    align-items: center;
    gap: 1rem;
    padding: 1.15rem;
}

.tm-kb-category__icon {
    width: 3.25rem;
    height: 3.25rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 20%, var(--tm-line));
    box-shadow: inset 0 1px color-mix(in srgb, #fff 38%, transparent);
}

.tm-kb-category > .tm-badge {
    align-self: center;
    margin-left: .25rem;
}

/* Product market signal now follows the actual catalogue. */
.tm-market-signal-section {
    padding-block: clamp(2.5rem, 4vw, 3.75rem);
    background:
        radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--tm-brand) 8%, transparent), transparent 24rem),
        color-mix(in srgb, var(--tm-surface) 72%, transparent);
}

/* Hosting and reusable plan cards. */
.tm-plan-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
    align-items: stretch;
}

.tm-hosting-plan {
    container-type: inline-size;
    isolation: isolate;
    overflow: hidden;
    gap: .9rem;
    padding: clamp(1.15rem, 2.2vw, 1.5rem);
    border-color: color-mix(in srgb, var(--tm-brand) 28%, var(--tm-line));
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface)), var(--tm-surface) 38%);
    box-shadow: 0 22px 50px -34px color-mix(in srgb, var(--tm-brand) 56%, rgba(16, 25, 35, .5));
    transition: transform .3s var(--tm-ease), border-color .25s ease, box-shadow .3s var(--tm-ease);
}

.tm-hosting-plan::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--tm-brand-fg), color-mix(in srgb, var(--tm-accent) 70%, var(--tm-brand)), transparent);
    content: "";
}

.tm-hosting-plan:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 58%, var(--tm-line));
    box-shadow: 0 30px 66px -34px color-mix(in srgb, var(--tm-brand) 72%, rgba(16, 25, 35, .6));
    transform: translateY(-5px);
}

.tm-hosting-plan__signal {
    position: absolute;
    top: .55rem;
    right: 1.1rem;
    display: flex;
    height: 1rem;
    align-items: end;
    gap: .16rem;
    opacity: .45;
}

.tm-hosting-plan__signal i {
    width: .18rem;
    height: 35%;
    border-radius: 999px;
    background: var(--tm-brand-fg);
    animation: tm-signal-bars 1.8s ease-in-out infinite alternate;
}

.tm-hosting-plan__signal i:nth-child(2) { height: 68%; animation-delay: -.4s; }
.tm-hosting-plan__signal i:nth-child(3) { height: 48%; animation-delay: -.8s; }
.tm-hosting-plan__signal i:nth-child(4) { height: 88%; animation-delay: -1.2s; }
.tm-hosting-plan__signal i:nth-child(5) { height: 58%; animation-delay: -1.5s; }

.tm-hosting-plan__head {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding-right: 4rem;
}

.tm-hosting-plan .tm-plan__ribbon {
    position: static;
    margin-left: auto;
}

.tm-hosting-plan .tm-plan__audience {
    min-height: 0;
    line-height: 1.55;
}

.tm-hosting-plan .tm-plan__price {
    min-height: 5rem;
    align-items: baseline;
    padding: 1rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 18%, var(--tm-line));
    border-radius: 1rem;
    background: linear-gradient(135deg, color-mix(in srgb, var(--tm-brand) 10%, var(--tm-surface)), color-mix(in srgb, var(--tm-accent) 7%, var(--tm-surface)));
}

.tm-hosting-plan .tm-plan__renewal {
    margin: 0;
    border: 1px solid color-mix(in srgb, var(--tm-line) 76%, transparent);
    line-height: 1.5;
}

.tm-plan__resource-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.tm-plan__resource-grid .tm-kpi {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    place-items: center;
    gap: .3rem;
    min-width: 0;
    padding: .7rem .3rem;
    border: 1px solid var(--tm-line);
    border-radius: .85rem;
    background: color-mix(in srgb, var(--tm-page) 58%, var(--tm-surface));
    text-align: center;
}

.tm-plan__resource-grid .tm-kpi > svg {
    width: 1.05rem;
    height: 1.05rem;
    color: var(--tm-brand-fg);
}

.tm-plan__resource-grid .tm-kpi strong {
    min-width: 0;
    max-width: 100%;
    font-size: clamp(.82rem, 1.15vw, 1rem);
    line-height: 1.1;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

.tm-plan__resource-grid .tm-kpi span {
    font-size: .62rem;
    line-height: 1.25;
}

@container (min-width: 34rem) {
    .tm-plan__resource-grid .tm-kpi {
        padding-inline: .75rem;
    }

    .tm-plan__resource-grid .tm-kpi strong {
        font-size: 1.15rem;
    }
}

.tm-hosting-plan .tm-list {
    gap: .6rem;
    padding-block: .2rem;
}

.tm-hosting-plan > .tm-btn:last-child {
    min-height: 3rem;
    box-shadow: 0 14px 28px -20px color-mix(in srgb, var(--tm-brand) 88%, transparent);
}

@media (min-width: 48rem) {
    .tm-cta-pair {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    .tm-kb-featured {
        grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr);
    }

    .tm-kb-featured__visual {
        border-top: 0;
        border-left: 1px solid var(--tm-line);
    }
}

@media (min-width: 64rem) {
    .tm-kb-hero__grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .7fr);
    }
}

@media (max-width: 47.999rem) {
    .tm-final-cta .tm-actions {
        justify-content: stretch;
    }

    .tm-kb-hero__copy,
    .tm-kb-hero__copy .tm-title,
    .tm-kb-hero__copy > .tm-lead {
        max-width: none;
    }

    .tm-kb-hero__copy .tm-kb-search {
        grid-template-columns: 1fr;
    }

    .tm-kb-popular-searches {
        justify-content: center;
    }
}

@media (max-width: 35.999rem) {
    .tm-contact-form-card,
    .tm-contact-info-card {
        border-radius: 1.15rem;
    }

    .tm-contact-location-card .tm-map,
    .tm-contact-location-card .tm-map iframe {
        min-height: 13rem;
    }

    .tm-kb-metrics {
        gap: .4rem;
    }

    .tm-kb-metric {
        padding: .75rem .25rem;
    }

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

    .tm-kb-category > .tm-badge {
        grid-column: 2;
        justify-self: start;
        margin-left: 0;
    }

    .tm-plan__resource-grid {
        grid-template-columns: 1fr;
    }

    .tm-hosting-plan__head {
        padding-right: 3.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tm-hosting-plan:hover {
        transform: none;
    }
}

@media print {
    .tm-statusbar,
    .tm-header,
    .tm-footer,
    .tm-float-dock,
    .tm-mobile-buybar,
    .tm-product-nav,
    .tm-actions {
        display: none;
    }

    body.tm-site,
    .tm-article,
    .tm-doc {
        background: #fff;
        color: #111;
        box-shadow: none;
    }
}

/* ========================================================================== */
/* v9.0.13 — Sharp layered public UI normalization (27 July 2026)             */
/* ========================================================================== */

.tm-card,
.tm-surface,
.tm-product-card,
.tm-category-card,
.tm-portal-card,
.tm-plan,
.tm-kb-category,
.tm-filter-panel,
.tm-checkout-card,
.tm-cart-card,
.tm-article,
.tm-doc {
    border-color: var(--tm-line-strong);
    background: linear-gradient(180deg, var(--tm-surface) 0%, color-mix(in srgb, var(--tm-surface) 94%, var(--tm-page-strong)) 100%);
    box-shadow: var(--tm-shadow-sm);
}

.tm-card:hover,
.tm-product-card:hover,
.tm-category-card:hover,
.tm-portal-card:hover,
.tm-kb-category:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 46%, var(--tm-line-strong));
    box-shadow: var(--tm-shadow-md);
}

.tm-eyebrow {
    min-height: 2.15rem;
    padding: .42rem .78rem;
    border-color: color-mix(in srgb, var(--tm-brand) 42%, var(--tm-line-strong));
    background: linear-gradient(180deg, color-mix(in srgb, var(--tm-brand) 12%, var(--tm-surface)), color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface)));
    box-shadow: inset 0 1px rgba(255, 255, 255, .72), 0 6px 14px -12px rgba(var(--tm-brand-rgb), .68);
    color: color-mix(in srgb, var(--tm-brand) 88%, var(--tm-ink));
    letter-spacing: .095em;
}

html.dark .tm-eyebrow {
    box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 8px 18px -14px rgba(var(--tm-brand-rgb), .7);
}

.tm-badge {
    min-height: 1.8rem;
    padding: .28rem .62rem;
    border-color: var(--tm-line-strong);
    background: color-mix(in srgb, var(--tm-surface) 90%, var(--tm-page-strong));
    color: var(--tm-ink-soft);
    box-shadow: inset 0 1px rgba(255, 255, 255, .72);
    letter-spacing: .015em;
}

html.dark .tm-badge {
    box-shadow: inset 0 1px rgba(255, 255, 255, .055);
}

.tm-product-card__media::after {
    position: absolute;
    inset: auto 0 0;
    height: 30%;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(7, 16, 24, .16));
    content: "";
}

.tm-product-card__badges {
    z-index: 2;
}

.tm-product-card__badges .tm-badge {
    border-color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .92);
    color: #173042;
    box-shadow: 0 9px 22px -14px rgba(7, 16, 24, .72), inset 0 1px rgba(255, 255, 255, .9);
    backdrop-filter: blur(12px) saturate(120%);
    -webkit-backdrop-filter: blur(12px) saturate(120%);
}

html.dark .tm-product-card__badges .tm-badge {
    border-color: rgba(148, 163, 184, .46);
    background: rgba(9, 20, 30, .9);
    color: #eef6fb;
    box-shadow: 0 10px 26px -14px rgba(0, 0, 0, .92), inset 0 1px rgba(255, 255, 255, .08);
}

.tm-product-card__category {
    display: inline-flex;
    width: fit-content;
    min-height: 1.85rem;
    align-items: center;
    gap: .42rem;
    padding: .3rem .62rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 34%, var(--tm-line-strong));
    border-radius: 999px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--tm-brand) 11%, var(--tm-surface)), color-mix(in srgb, var(--tm-brand) 6%, var(--tm-surface)));
    color: color-mix(in srgb, var(--tm-brand) 90%, var(--tm-ink));
    box-shadow: inset 0 1px rgba(255, 255, 255, .7);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .085em;
    line-height: 1;
}

.tm-product-card__category::before {
    width: .42rem;
    height: .42rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--tm-brand-fg);
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--tm-brand) 13%, transparent);
    content: "";
}

html.dark .tm-product-card__category {
    box-shadow: inset 0 1px rgba(255, 255, 255, .055);
}

.tm-category-card {
    border-width: 1px;
}

.tm-category-card.is-active,
.tm-category-card[aria-pressed="true"],
.tm-type-switcher a[aria-current="page"],
.tm-check.is-active,
.tm-check[aria-current="page"],
.tm-view-toggle .tm-icon-btn.is-active,
.tm-view-toggle .tm-icon-btn[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--tm-brand) 62%, var(--tm-line-strong));
    background: linear-gradient(180deg, color-mix(in srgb, var(--tm-brand) 14%, var(--tm-surface)), color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface)));
    box-shadow: inset 3px 0 var(--tm-brand-fg), var(--tm-shadow-sm);
    color: var(--tm-ink);
}

.tm-product-card__description,
.tm-product-card__meta,
.tm-price__from,
.tm-note,
.tm-lead {
    color: var(--tm-muted);
}

.tm-product-card__foot {
    border-top-color: var(--tm-line-strong);
}

.tm-filter-panel :where(input, select, textarea),
.tm-search-form :where(input, select),
.tm-kb-search :where(input, select),
.tm-form :where(input, select, textarea) {
    border-color: var(--tm-line-strong);
    background: var(--tm-surface);
    color: var(--tm-ink);
    box-shadow: inset 0 1px 2px rgba(16, 25, 35, .04);
}

html.dark .tm-filter-panel :where(input, select, textarea),
html.dark .tm-search-form :where(input, select),
html.dark .tm-kb-search :where(input, select),
html.dark .tm-form :where(input, select, textarea) {
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .24);
}

/* ========================================================================== */
/* v9.0.13 — Content rhythm, compact breadcrumbs and card-label polish         */
/* ========================================================================== */

/* Eyebrows are semantic overlines, not headings glued to a border. */
.tm-eyebrow + :is(.tm-display, .tm-title, h1, h2, h3) {
    margin-top: clamp(.72rem, 1.1vw, .95rem);
}

/* Direct children of a section header already receive its grid gap. */
.tm-section-head > .tm-eyebrow + :is(.tm-title, h1, h2, h3) {
    margin-top: 0;
}

.tm-badge + :is(h2, h3),
.tm-card > .tm-flow__number + h3 {
    margin-top: clamp(.68rem, 1vw, .88rem);
}

.tm-bento__item {
    grid-template-rows: auto minmax(0, 1fr) auto;
    align-content: start;
    gap: clamp(.85rem, 1.35vw, 1.1rem);
}

.tm-bento__item > .tm-badge {
    width: fit-content;
    max-width: 100%;
    justify-self: start;
}

.tm-bento__item > :is(.tm-actions, svg) {
    align-self: end;
}

.tm-grid > .tm-card > :is(.tm-badge, .tm-flow__number) {
    width: fit-content;
}

.tm-final-cta > div > .tm-eyebrow + h2 {
    margin-top: clamp(.8rem, 1.2vw, 1rem);
}

/* One-line breadcrumb rail: compact spacing, no page-level overflow masking. */
.tm-breadcrumb {
    flex-wrap: nowrap;
    gap: .24rem;
    width: max-content;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-block: .15rem;
    white-space: nowrap;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.tm-breadcrumb::-webkit-scrollbar {
    display: none;
}

.tm-breadcrumb > li {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-width: max-content;
}

.tm-breadcrumb > li[aria-current="page"] {
    min-width: 0;
    max-width: min(22rem, calc(100vw - 8rem));
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tm-breadcrumb svg {
    width: .86rem;
    height: .86rem;
    stroke-width: 2.25;
}

@media (max-width: 35.999rem) {
    .tm-breadcrumb {
        gap: .16rem;
        margin-bottom: 1rem;
        font-size: .69rem;
    }

    .tm-page-hero {
        padding-block: clamp(2.15rem, 9vw, 3rem);
    }

    .tm-eyebrow + :is(.tm-display, .tm-title, h1, h2, h3) {
        margin-top: .72rem;
    }

    .tm-section-head > .tm-eyebrow + :is(.tm-title, h1, h2, h3) {
        margin-top: 0;
    }
}

/* ========================================================================== */
/* v9.0.13 — Immersive public motion system (27 July 2026)                    */
/* ========================================================================== */

.tm-home-launch-system,
.tm-operation-stage,
.tm-catalog-showcase {
    position: relative;
    isolation: isolate;
    overflow: clip;
}

.tm-home-launch-system {
    background:
        radial-gradient(circle at 82% 24%, color-mix(in srgb, var(--tm-accent) 9%, transparent), transparent 30rem),
        linear-gradient(180deg, transparent, color-mix(in srgb, var(--tm-brand) 4%, var(--tm-page)) 68%, transparent);
}

.tm-operation-stage {
    background:
        radial-gradient(circle at 12% 42%, color-mix(in srgb, var(--tm-brand) 9%, transparent), transparent 28rem),
        radial-gradient(circle at 88% 72%, color-mix(in srgb, var(--tm-accent) 7%, transparent), transparent 26rem);
}

.tm-catalog-showcase {
    border-bottom: 1px solid color-mix(in srgb, var(--tm-brand) 12%, var(--tm-line));
    background:
        radial-gradient(circle at 76% 30%, color-mix(in srgb, var(--tm-brand) 12%, transparent), transparent 30rem),
        linear-gradient(180deg, color-mix(in srgb, var(--tm-brand) 3%, var(--tm-page)), var(--tm-page));
}

.tm-home-launch-system > :not(.tm-motion-network),
.tm-operation-stage > :not(.tm-motion-network),
.tm-catalog-showcase > :not(.tm-motion-network) {
    position: relative;
    z-index: 1;
}

.tm-motion-network {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.tm-motion-network::before,
.tm-motion-network::after {
    position: absolute;
    border-radius: 50%;
    content: "";
    filter: blur(1px);
}

.tm-motion-network::before {
    top: 12%;
    right: 4%;
    width: clamp(14rem, 32vw, 32rem);
    aspect-ratio: 1;
    background: radial-gradient(circle, color-mix(in srgb, var(--tm-brand) 10%, transparent), transparent 68%);
    animation: tm-network-breathe 7s ease-in-out infinite;
}

.tm-motion-network::after {
    bottom: 4%;
    left: 5%;
    width: clamp(10rem, 24vw, 24rem);
    aspect-ratio: 1;
    background: radial-gradient(circle, color-mix(in srgb, var(--tm-accent) 8%, transparent), transparent 70%);
    animation: tm-network-breathe 9s ease-in-out -3s infinite;
}

.tm-motion-network__orbit {
    position: absolute;
    top: 10%;
    right: -7rem;
    width: clamp(20rem, 42vw, 42rem);
    aspect-ratio: 1;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 20%, transparent);
    border-radius: 50%;
    animation: tm-network-orbit 24s linear infinite;
}

.tm-motion-network__orbit::before,
.tm-motion-network__orbit::after {
    position: absolute;
    width: .62rem;
    height: .62rem;
    border: 2px solid var(--tm-surface);
    border-radius: 50%;
    background: var(--tm-brand-fg);
    box-shadow: 0 0 0 .36rem color-mix(in srgb, var(--tm-brand) 13%, transparent), 0 0 1.4rem color-mix(in srgb, var(--tm-brand) 46%, transparent);
    content: "";
}

.tm-motion-network__orbit::before { top: 13%; left: 14%; }
.tm-motion-network__orbit::after { right: 4%; bottom: 27%; }

.tm-motion-network__orbit--two {
    top: 19%;
    right: 3%;
    width: clamp(13rem, 27vw, 27rem);
    border-style: dashed;
    border-color: color-mix(in srgb, var(--tm-accent) 22%, transparent);
    animation-direction: reverse;
    animation-duration: 18s;
}

.tm-motion-network__node {
    position: absolute;
    width: .66rem;
    height: .66rem;
    border: 2px solid var(--tm-surface);
    border-radius: 50%;
    background: var(--tm-brand-fg);
    box-shadow: 0 0 0 .42rem color-mix(in srgb, var(--tm-brand) 13%, transparent), 0 0 1.4rem color-mix(in srgb, var(--tm-brand) 42%, transparent);
    animation: tm-network-node 4.8s ease-in-out infinite;
}

.tm-motion-network__node--one { top: 22%; left: 4%; }
.tm-motion-network__node--two { top: 58%; right: 7%; animation-delay: -1.6s; }
.tm-motion-network__node--three { bottom: 13%; left: 48%; animation-delay: -3.1s; }

.tm-motion-network__beam {
    position: absolute;
    left: -18%;
    width: 136%;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tm-brand) 36%, transparent), transparent 72%);
    transform: rotate(-7deg);
}

.tm-motion-network__beam::after {
    display: block;
    width: 16%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--tm-brand-fg), transparent);
    box-shadow: 0 0 .8rem color-mix(in srgb, var(--tm-brand) 56%, transparent);
    content: "";
    animation: tm-network-scan 5.5s linear infinite;
}

.tm-motion-network__beam:nth-child(1) { top: 25%; }
.tm-motion-network__beam:nth-child(2) { top: 53%; transform: rotate(5deg); }
.tm-motion-network__beam:nth-child(3) { top: 80%; transform: rotate(-3deg); }
.tm-motion-network__beam:nth-child(2)::after { animation-delay: -1.8s; }
.tm-motion-network__beam:nth-child(3)::after { animation-delay: -3.6s; }

.tm-home-launch-system .tm-hero {
    padding-bottom: clamp(2.4rem, 4vw, 3.5rem);
}

.tm-home-launch-system .tm-home-proof {
    padding-top: 0;
}

.tm-hero-panel--live {
    isolation: isolate;
    transform: perspective(70rem) rotateY(-1.25deg) rotateX(.7deg);
    transition: transform .45s var(--tm-ease), box-shadow .45s var(--tm-ease), border-color .3s ease;
}

.tm-hero-panel--live:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 46%, var(--tm-line));
    box-shadow: 0 38px 90px -35px color-mix(in srgb, var(--tm-brand) 38%, rgba(16, 25, 35, .5));
    transform: perspective(70rem) rotateY(0) rotateX(0) translateY(-4px);
}

.tm-hero-panel:not(.tm-hero-panel--live) {
    isolation: isolate;
    transition: transform .4s var(--tm-ease), border-color .3s ease, box-shadow .4s var(--tm-ease);
}

.tm-hero-panel:not(.tm-hero-panel--live):hover {
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 44%, var(--tm-line));
    box-shadow: 0 34px 80px -32px color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 34%, rgba(16, 25, 35, .52));
    transform: translateY(-4px);
}

.tm-hero-panel:not(.tm-hero-panel--live) .tm-hero-panel__window {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-line) 30%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--tm-line) 30%, transparent) 1px, transparent 1px),
        var(--tm-surface);
    background-size: 2.5rem 2.5rem;
}

.tm-hero-panel:not(.tm-hero-panel--live) .tm-card {
    position: relative;
    overflow: hidden;
}

.tm-hero-panel:not(.tm-hero-panel--live) .tm-card::after {
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 72%, transparent), transparent);
    content: "";
    transform: translateX(-100%);
    animation: tm-card-scan 5.8s ease-in-out infinite;
}

.tm-context-page > .tm-container > .tm-trust-strip {
    position: relative;
    z-index: 3;
    margin-top: clamp(-2rem, -2vw, -1.15rem);
    border-color: color-mix(in srgb, var(--tm-context-accent) 24%, var(--tm-line));
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-context-accent) 5%, transparent) 1px, transparent 1px),
        linear-gradient(145deg, color-mix(in srgb, var(--tm-context-accent) 7%, var(--tm-surface)), var(--tm-surface));
    background-size: 3rem 100%, auto;
    box-shadow: 0 24px 56px -38px color-mix(in srgb, var(--tm-context-accent) 65%, rgba(16, 25, 35, .56));
}

.tm-context-page > .tm-container > .tm-trust-strip .tm-trust-item {
    position: relative;
    min-width: 0;
    padding: .25rem clamp(.15rem, 1vw, .7rem);
}

.tm-context-page > .tm-container > .tm-trust-strip .tm-trust-item::after {
    position: absolute;
    right: 12%;
    bottom: -.2rem;
    left: 12%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tm-context-accent) 48%, transparent), transparent);
    content: "";
    animation: tm-context-signal 3.4s ease-in-out infinite alternate;
}

.tm-context-page > .tm-container > .tm-trust-strip .tm-trust-item:nth-child(2)::after { animation-delay: -.8s; }
.tm-context-page > .tm-container > .tm-trust-strip .tm-trust-item:nth-child(3)::after { animation-delay: -1.6s; }
.tm-context-page > .tm-container > .tm-trust-strip .tm-trust-item:nth-child(4)::after { animation-delay: -2.4s; }

.tm-context-page > .tm-container > .tm-trust-strip .tm-trust-item__icon,
.tm-hero-panel .tm-trust-item__icon {
    display: grid;
    place-items: center;
}

.tm-context-page > .tm-container > .tm-trust-strip .tm-trust-item__icon svg,
.tm-hero-panel .tm-trust-item__icon svg {
    width: 1.3rem;
    height: 1.3rem;
    margin: 0;
}

.tm-hero-panel--live::before {
    position: absolute;
    inset: -1px;
    z-index: -1;
    padding: 1px;
    border-radius: inherit;
    background: conic-gradient(from var(--tm-motion-angle, 0deg), transparent 0 34%, color-mix(in srgb, var(--tm-brand) 70%, transparent), color-mix(in srgb, var(--tm-accent) 55%, transparent), transparent 66% 100%);
    content: "";
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    animation: tm-panel-border 7s linear infinite;
}

.tm-hero-panel__signal {
    position: absolute;
    top: 1.45rem;
    right: 1.55rem;
    z-index: 4;
    display: flex;
    align-items: end;
    gap: .18rem;
    height: 1rem;
    pointer-events: none;
}

.tm-hero-panel__signal i {
    width: .16rem;
    border-radius: 999px;
    background: var(--tm-success);
    animation: tm-signal-bars 1.25s ease-in-out infinite alternate;
}

.tm-hero-panel__signal i:nth-child(1) { height: 38%; }
.tm-hero-panel__signal i:nth-child(2) { height: 72%; animation-delay: -.45s; }
.tm-hero-panel__signal i:nth-child(3) { height: 100%; animation-delay: -.8s; }

.tm-hero-panel--live .tm-purpose {
    position: relative;
    overflow: hidden;
    transition: transform .22s var(--tm-ease), border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.tm-hero-panel--live .tm-purpose::after {
    position: absolute;
    inset: auto -35% 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--tm-brand-fg), transparent);
    content: "";
    opacity: 0;
    transform: translateX(-45%);
    transition: opacity .2s ease;
}

.tm-hero-panel--live .tm-purpose:hover,
.tm-hero-panel--live .tm-purpose[aria-pressed="true"] {
    transform: translateY(-2px);
    box-shadow: 0 14px 26px -22px color-mix(in srgb, var(--tm-brand) 78%, transparent);
}

.tm-hero-panel--live .tm-purpose[aria-pressed="true"]::after {
    opacity: 1;
    animation: tm-purpose-scan 2.8s ease-in-out infinite;
}

.tm-home-proof .tm-trust-strip {
    position: relative;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--tm-brand) 20%, var(--tm-line));
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-brand) 5%, transparent) 1px, transparent 1px),
        linear-gradient(180deg, color-mix(in srgb, var(--tm-brand) 5%, var(--tm-surface)), var(--tm-surface));
    background-size: 2.5rem 100%, auto;
}

.tm-trust-item--signal {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(2.8rem, .7fr);
    min-width: 0;
}

.tm-trust-item--signal .tm-trust-item__icon,
.tm-journey-card__icon {
    display: grid;
    place-items: center;
}

.tm-trust-item--signal .tm-trust-item__icon svg {
    width: 1.36rem;
    height: 1.36rem;
    margin: 0;
    stroke-width: 2.15;
}

.tm-trust-item__copy {
    min-width: 0;
}

.tm-stat-spark {
    display: flex !important;
    height: 2.6rem;
    align-items: end;
    justify-content: end;
    gap: .16rem;
}

.tm-stat-spark i {
    display: block;
    width: .22rem;
    height: calc(25% + (var(--tm-bar, 1) * 8%));
    border-radius: 999px;
    background: linear-gradient(to top, color-mix(in srgb, var(--tm-brand) 42%, var(--tm-line)), var(--tm-brand-fg));
    transform-origin: bottom;
    animation: tm-stat-wave 2.2s ease-in-out infinite alternate;
}

.tm-stat-spark i:nth-child(1) { --tm-bar: 1; animation-delay: -.2s; }
.tm-stat-spark i:nth-child(2) { --tm-bar: 4; animation-delay: -.8s; }
.tm-stat-spark i:nth-child(3) { --tm-bar: 2; animation-delay: -1.2s; }
.tm-stat-spark i:nth-child(4) { --tm-bar: 6; animation-delay: -.5s; }
.tm-stat-spark i:nth-child(5) { --tm-bar: 3; animation-delay: -1.5s; }
.tm-stat-spark i:nth-child(6) { --tm-bar: 5; animation-delay: -1s; }

.tm-section--operation {
    padding-bottom: clamp(2.2rem, 4vw, 3.2rem);
}

.tm-operation-console {
    position: relative;
    overflow: hidden;
    padding: 0;
    border-color: color-mix(in srgb, var(--tm-brand) 28%, var(--tm-line));
    background: linear-gradient(155deg, color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface)), var(--tm-surface));
}

.tm-operation-console::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 36%, color-mix(in srgb, var(--tm-brand) 7%, transparent) 50%, transparent 64%);
    content: "";
    pointer-events: none;
    transform: translateX(-110%);
    animation: tm-console-glint 7s ease-in-out infinite;
}

.tm-operation-console__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 3.15rem;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--tm-line);
    background: color-mix(in srgb, var(--tm-page-strong) 50%, var(--tm-surface));
}

.tm-operation-console__head > span {
    display: flex;
    gap: .3rem;
}

.tm-operation-console__head i {
    width: .52rem;
    height: .52rem;
    border-radius: 50%;
    background: var(--tm-line-strong);
}

.tm-operation-console__head i:first-child { background: var(--tm-danger); }
.tm-operation-console__head i:nth-child(2) { background: var(--tm-warning); }
.tm-operation-console__head i:nth-child(3) { background: var(--tm-success); }
.tm-operation-console__head strong { color: var(--tm-ink); font-size: .75rem; }

.tm-operation-console__head small {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--tm-success);
    font-size: .66rem;
    font-weight: 850;
}

.tm-operation-console__head small::before {
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 .24rem color-mix(in srgb, currentColor 13%, transparent);
    content: "";
    animation: tm-node-pulse 1.8s ease-in-out infinite;
}

.tm-operation-console .tm-flow {
    position: relative;
    z-index: 1;
    padding: .35rem 1rem .55rem;
}

.tm-operation-console .tm-flow__step {
    padding-block: 1rem;
}

.tm-flow-meter {
    display: block;
    height: .32rem;
    margin-top: .75rem;
    overflow: hidden;
    border-radius: 999px;
    background: color-mix(in srgb, var(--tm-line) 72%, transparent);
}

.tm-flow-meter i {
    display: block;
    width: var(--tm-meter);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--tm-brand-fg), color-mix(in srgb, var(--tm-accent) 58%, var(--tm-brand)));
    box-shadow: 0 0 1rem color-mix(in srgb, var(--tm-brand) 32%, transparent);
    transform-origin: left;
    animation: tm-meter-fill 1.2s var(--tm-ease) both;
}

.tm-section--journey {
    border-top-color: color-mix(in srgb, var(--tm-brand) 14%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-surface) 72%, transparent);
}

.tm-journey-grid {
    position: relative;
}

.tm-journey-grid::before {
    position: absolute;
    top: 3.05rem;
    right: 8%;
    left: 8%;
    z-index: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tm-brand) 36%, var(--tm-line)), transparent);
    content: "";
}

.tm-journey-card {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-content: start;
    gap: .85rem 1rem;
    overflow: hidden;
    min-height: 19rem;
}

.tm-journey-card > h3,
.tm-journey-card > p,
.tm-journey-card__chart {
    grid-column: 1 / -1;
}

.tm-journey-card__icon {
    justify-self: end;
    width: 3.05rem;
    height: 3.05rem;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 25%, var(--tm-line));
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: var(--tm-brand-fg);
    box-shadow: inset 0 1px color-mix(in srgb, #fff 55%, transparent);
}

.tm-journey-card__icon svg { width: 1.45rem; height: 1.45rem; }

.tm-journey-card__chart {
    display: flex;
    height: 4rem;
    align-items: end;
    gap: .38rem;
    margin-top: auto;
    padding: .75rem;
    border: 1px solid color-mix(in srgb, var(--tm-line) 80%, transparent);
    border-radius: .9rem;
    background: color-mix(in srgb, var(--tm-page) 62%, transparent);
}

.tm-journey-card__chart i {
    width: 100%;
    height: 34%;
    border-radius: .35rem .35rem .12rem .12rem;
    background: linear-gradient(to top, color-mix(in srgb, var(--tm-brand) 58%, var(--tm-line)), var(--tm-brand-fg));
    transform-origin: bottom;
    animation: tm-journey-chart 2.5s ease-in-out infinite alternate;
}

.tm-journey-card__chart i:nth-child(2) { height: 62%; animation-delay: -.8s; }
.tm-journey-card__chart i:nth-child(3) { height: 45%; animation-delay: -1.4s; }
.tm-journey-card__chart i:nth-child(4) { height: 82%; animation-delay: -.4s; }
.tm-journey-card__chart i:nth-child(5) { height: 70%; animation-delay: -1.1s; }

.tm-page-hero--catalog {
    padding-bottom: clamp(2.5rem, 5vw, 4.5rem);
    border-bottom: 0;
    background: transparent;
}

.tm-catalog-hero-grid {
    display: grid;
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
}

.tm-catalog-hero-copy {
    position: relative;
    z-index: 2;
}

.tm-catalog-radar {
    position: relative;
    width: min(100%, 27rem);
    aspect-ratio: 1;
    justify-self: center;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 20%, var(--tm-line));
    border-radius: 50%;
    background:
        linear-gradient(90deg, transparent 49.8%, color-mix(in srgb, var(--tm-brand) 14%, transparent) 50%, transparent 50.2%),
        linear-gradient(transparent 49.8%, color-mix(in srgb, var(--tm-brand) 14%, transparent) 50%, transparent 50.2%),
        radial-gradient(circle, color-mix(in srgb, var(--tm-brand) 7%, var(--tm-surface)), color-mix(in srgb, var(--tm-surface) 74%, transparent) 70%);
    box-shadow: inset 0 0 4rem color-mix(in srgb, var(--tm-brand) 8%, transparent), var(--tm-shadow-md);
}

.tm-catalog-radar__ring {
    position: absolute;
    inset: 12%;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 22%, var(--tm-line));
    border-radius: 50%;
}

.tm-catalog-radar__ring:nth-child(2) { inset: 27%; border-style: dashed; }
.tm-catalog-radar__ring:nth-child(3) { inset: 41%; }

.tm-catalog-radar__sweep {
    position: absolute;
    inset: 4%;
    overflow: hidden;
    border-radius: 50%;
    background: conic-gradient(from 0deg, transparent 0 82%, color-mix(in srgb, var(--tm-brand) 26%, transparent) 92%, transparent 100%);
    animation: tm-radar-sweep 5.5s linear infinite;
}

.tm-catalog-radar__node,
.tm-catalog-radar__core {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 30%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-surface) 93%, transparent);
    color: var(--tm-brand-fg);
    box-shadow: var(--tm-shadow-sm);
}

.tm-catalog-radar__node {
    width: 4.45rem;
    height: 4.45rem;
    border-radius: 1.2rem;
    animation: tm-radar-node 4s ease-in-out infinite;
}

.tm-catalog-radar__node svg { width: 1.3rem; height: 1.3rem; }
.tm-catalog-radar__node b { color: var(--tm-ink); font-size: .62rem; }
.tm-catalog-radar__node--one { top: 7%; left: 17%; }
.tm-catalog-radar__node--two { top: 25%; right: 2%; animation-delay: -1.3s; }
.tm-catalog-radar__node--three { right: 16%; bottom: 5%; animation-delay: -2.6s; }

.tm-catalog-radar__core {
    inset: 34%;
    align-content: center;
    gap: .25rem;
    border-radius: 50%;
    text-align: center;
    box-shadow: 0 0 0 .65rem color-mix(in srgb, var(--tm-brand) 6%, transparent), 0 18px 45px -20px color-mix(in srgb, var(--tm-brand) 70%, transparent);
    animation: tm-core-pulse 3.2s ease-in-out infinite;
}

.tm-catalog-radar__core svg { width: 1.35rem; height: 1.35rem; }
.tm-catalog-radar__core b { color: var(--tm-ink); font-size: .7rem; }
.tm-catalog-radar__core small { color: var(--tm-muted); font-size: .52rem; }

.tm-catalog-showcase .tm-section--compact {
    border-block: 1px solid color-mix(in srgb, var(--tm-brand) 13%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-surface) 68%, transparent);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.tm-market-signal-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem 1rem;
    overflow: hidden;
    min-height: 12rem;
}

.tm-market-signal-card > :not(.tm-market-signal-card__arrow, .tm-market-signal-card__pulse) {
    position: relative;
    z-index: 1;
    grid-column: 1;
}

.tm-market-signal-card__pulse {
    position: absolute;
    right: 3.8rem;
    bottom: 1rem;
    left: 1.25rem;
    display: flex;
    height: 2rem;
    align-items: end;
    gap: .35rem;
    opacity: .28;
}

.tm-market-signal-card__pulse i {
    width: 100%;
    height: 35%;
    border-radius: .3rem .3rem 0 0;
    background: var(--tm-brand-fg);
    transform-origin: bottom;
    animation: tm-market-pulse 2.4s ease-in-out infinite alternate;
}

.tm-market-signal-card__pulse i:nth-child(2) { height: 75%; animation-delay: -.5s; }
.tm-market-signal-card__pulse i:nth-child(3) { height: 48%; animation-delay: -1.2s; }
.tm-market-signal-card__pulse i:nth-child(4) { height: 88%; animation-delay: -.8s; }
.tm-market-signal-card__pulse i:nth-child(5) { height: 62%; animation-delay: -1.6s; }

.tm-market-signal-card__arrow {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    display: grid;
    width: 2.65rem;
    height: 2.65rem;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--tm-brand) 24%, var(--tm-line));
    border-radius: .85rem;
    background: color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface));
    color: var(--tm-brand-fg);
    transition: transform .25s var(--tm-ease), background .2s ease, color .2s ease;
}

.tm-market-signal-card:hover .tm-market-signal-card__arrow {
    background: var(--tm-brand);
    color: var(--tm-on-brand);
    transform: translate(2px, -2px) rotate(4deg);
}

.tm-product-nav {
    padding-block: .5rem;
    border-block-color: color-mix(in srgb, var(--tm-brand) 16%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-page) 82%, transparent);
    box-shadow: 0 12px 34px -30px color-mix(in srgb, var(--tm-ink) 60%, transparent);
}

.tm-product-nav__inner {
    min-height: 3.15rem;
    gap: .5rem;
}

.tm-product-nav a {
    position: relative;
    min-height: 2.85rem;
    gap: .55rem;
    padding: .55rem .95rem;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: .9rem;
    background: color-mix(in srgb, var(--tm-surface) 64%, transparent);
    color: var(--tm-muted);
    font-size: .8rem;
    box-shadow: inset 0 1px color-mix(in srgb, #fff 28%, transparent);
    transition: transform .22s var(--tm-ease), border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.tm-product-nav a::after {
    position: absolute;
    right: 18%;
    bottom: 0;
    left: 18%;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    content: "";
    opacity: 0;
    transform: scaleX(.3);
    transition: opacity .2s ease, transform .22s var(--tm-ease);
}

.tm-product-nav a svg {
    width: 1.02rem;
    height: 1.02rem;
    flex: 0 0 auto;
    transition: transform .22s var(--tm-ease);
}

.tm-product-nav a:hover {
    border-color: color-mix(in srgb, var(--tm-brand) 32%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-brand) 9%, var(--tm-surface));
    color: var(--tm-brand-fg);
    box-shadow: var(--tm-shadow-sm);
    transform: translateY(-2px);
}

.tm-product-nav a:hover svg { transform: rotate(-5deg) scale(1.08); }

.tm-product-nav a[aria-current="true"] {
    border-color: color-mix(in srgb, var(--tm-brand) 78%, var(--tm-line));
    background: linear-gradient(135deg, var(--tm-brand), color-mix(in srgb, var(--tm-brand) 62%, var(--tm-accent)));
    color: var(--tm-on-brand);
    box-shadow: 0 14px 28px -18px color-mix(in srgb, var(--tm-brand) 92%, transparent), inset 0 1px rgba(255, 255, 255, .22);
}

.tm-product-nav a[aria-current="true"]::after {
    opacity: .72;
    transform: scaleX(1);
}

@media (min-width: 48rem) {
    .tm-catalog-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(22rem, .78fr);
    }
}

@media (max-width: 63.99rem) {
    .tm-hero-panel--live {
        transform: none;
    }

    .tm-hero-panel:not(.tm-hero-panel--live):hover {
        transform: none;
    }

    .tm-motion-network__orbit {
        right: -13rem;
        opacity: .72;
    }

    .tm-trust-item--signal {
        grid-template-columns: auto minmax(0, 1fr) 3.6rem;
    }

    .tm-journey-grid::before {
        display: none;
    }
}

@media (max-width: 47.999rem) {
    .tm-home-proof .tm-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tm-home-proof .tm-trust-item + .tm-trust-item {
        border-left: 0;
    }

    .tm-home-proof .tm-trust-item:nth-child(even) {
        border-left: 1px solid var(--tm-line);
    }

    .tm-home-proof .tm-trust-item:nth-child(n + 3) {
        border-top: 1px solid var(--tm-line);
        padding-top: 1rem;
    }

    .tm-catalog-radar {
        width: min(100%, 22rem);
    }

    .tm-market-signal-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 35.999rem) {
    .tm-home-launch-system .tm-hero {
        padding-top: 2.75rem;
    }

    .tm-motion-network__node--three,
    .tm-stat-spark {
        display: none !important;
    }

    .tm-hero-panel--live {
        padding: .55rem;
        border-radius: 1.35rem;
    }

    .tm-hero-panel--live .tm-hero-panel__window {
        padding: .8rem;
        border-radius: 1rem;
    }

    .tm-hero-panel__signal {
        top: 1.13rem;
        right: 1.18rem;
    }

    .tm-purpose-grid {
        gap: .45rem;
    }

    .tm-purpose {
        min-height: 5.15rem;
        padding: .7rem;
    }

    .tm-recommendation {
        grid-template-columns: 1fr;
    }

    .tm-recommendation .tm-btn {
        width: 100%;
    }

    .tm-home-proof .tm-trust-strip {
        gap: 0;
        padding: .75rem;
        border-radius: 1.25rem;
    }

    .tm-home-proof .tm-trust-item {
        grid-template-columns: auto minmax(0, 1fr);
        gap: .55rem;
        min-height: 4.35rem;
        padding: .65rem;
    }

    .tm-home-proof .tm-trust-item__icon {
        width: 2.5rem;
        height: 2.5rem;
    }

    .tm-home-proof .tm-trust-item strong {
        font-size: .88rem;
    }

    .tm-home-proof .tm-trust-item strong + span {
        font-size: .63rem;
        line-height: 1.35;
    }

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

    .tm-operation-console__head small {
        grid-column: 2;
    }

    .tm-operation-console .tm-flow {
        padding-inline: .8rem;
    }

    .tm-journey-card {
        min-height: 17rem;
    }

    .tm-catalog-radar {
        width: min(100%, 19.5rem);
    }

    .tm-catalog-radar__node {
        width: 3.75rem;
        height: 3.75rem;
        border-radius: 1rem;
    }

    .tm-catalog-radar__node b { font-size: .55rem; }
    .tm-catalog-radar__core b { font-size: .62rem; }
    .tm-catalog-radar__core small { display: none; }

    .tm-product-nav {
        padding-block: .42rem;
        scroll-snap-type: inline proximity;
    }

    .tm-product-nav__inner {
        width: max-content;
        min-width: 100%;
        padding-right: 1rem;
    }

    .tm-product-nav a {
        min-height: 2.75rem;
        gap: .42rem;
        padding: .5rem .78rem;
        border-color: color-mix(in srgb, var(--tm-line) 78%, transparent);
        font-size: .72rem;
        scroll-snap-align: start;
    }
}

/* ========================================================================== */
/* v9.0.13 — Hosting / license operational stage and catalogue filters         */
/* ========================================================================== */

.tm-catalog-switch-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 9%, transparent), transparent 24rem),
        color-mix(in srgb, var(--tm-page) 88%, var(--tm-surface));
}

.tm-catalog-switch-section::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-line) 24%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--tm-line) 24%, transparent) 1px, transparent 1px);
    background-size: 3rem 3rem;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
    content: "";
}

.tm-catalog-filter {
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
    gap: .65rem;
    padding: .75rem;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 26%, var(--tm-line));
    border-radius: 1.25rem;
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 7%, var(--tm-surface)), var(--tm-surface));
    box-shadow: 0 22px 50px -38px color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 72%, rgba(15, 23, 42, .55));
}

.tm-service-catalog--licenses .tm-catalog-filter {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.75rem), 1fr));
}

.tm-catalog-filter::after {
    position: absolute;
    inset: auto 8% 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--tm-context-accent, var(--tm-brand)), transparent);
    content: "";
    opacity: .6;
    animation: tm-service-scan 5.8s ease-in-out infinite;
}

.tm-catalog-filter > :is(a, button) {
    position: relative;
    min-width: 0;
    min-height: 3.65rem;
    justify-content: flex-start;
    gap: .7rem;
    padding: .7rem .75rem;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tm-line) 88%, transparent);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-surface-soft) 88%, transparent);
    box-shadow: inset 0 1px color-mix(in srgb, #fff 36%, transparent);
    transition: transform .24s var(--tm-ease), border-color .22s ease, background .22s ease, box-shadow .24s var(--tm-ease);
}

.tm-catalog-filter > :is(a, button) > svg {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
    color: var(--tm-context-accent, var(--tm-brand-fg));
    transition: transform .24s var(--tm-ease);
}

.tm-catalog-filter > :is(a, button) .tm-badge {
    min-width: 1.75rem;
    margin-left: auto;
    justify-content: center;
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 24%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 8%, var(--tm-surface));
}

.tm-catalog-filter > :is(a, button):hover {
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 46%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 10%, var(--tm-surface));
    box-shadow: 0 15px 28px -24px color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 76%, transparent);
    transform: translateY(-2px);
}

.tm-catalog-filter > :is(a, button):hover > svg {
    transform: rotate(-6deg) scale(1.08);
}

.tm-catalog-filter > a[aria-current="page"],
.tm-catalog-filter > button[aria-selected="true"] {
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 68%, var(--tm-line));
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 19%, var(--tm-surface)), color-mix(in srgb, var(--tm-brand) 8%, var(--tm-surface)));
    color: var(--tm-ink);
    box-shadow: 0 18px 34px -26px color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 88%, transparent), inset 3px 0 var(--tm-context-accent, var(--tm-brand));
}

.tm-service-stage {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-block: 1px solid color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 18%, var(--tm-line));
    background:
        radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 12%, transparent), transparent 25rem),
        radial-gradient(circle at 88% 78%, color-mix(in srgb, var(--tm-accent) 9%, transparent), transparent 28rem),
        linear-gradient(145deg, color-mix(in srgb, var(--tm-surface) 88%, var(--tm-page)), var(--tm-page));
}

.tm-service-stage::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--tm-line) 28%, transparent) 1px, transparent 1px),
        linear-gradient(color-mix(in srgb, var(--tm-line) 28%, transparent) 1px, transparent 1px);
    background-size: 3.25rem 3.25rem;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .78), transparent 92%);
    content: "";
}

.tm-service-stage > .tm-container {
    position: relative;
    z-index: 2;
}

.tm-service-stage__visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

.tm-service-stage__orbit {
    position: absolute;
    top: -16rem;
    right: -12rem;
    width: 42rem;
    height: 42rem;
    border: 1px dashed color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 32%, transparent);
    border-radius: 50%;
    box-shadow: inset 0 0 0 5rem color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 2%, transparent);
    animation: tm-network-orbit 32s linear infinite;
}

.tm-service-stage__beam {
    position: absolute;
    left: -8%;
    width: 116%;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 54%, transparent), transparent);
    transform-origin: center;
    opacity: .48;
}

.tm-service-stage__beam--one { top: 27%; transform: rotate(-4deg); animation: tm-service-beam 5.6s ease-in-out infinite alternate; }
.tm-service-stage__beam--two { top: 72%; transform: rotate(3deg); animation: tm-service-beam 7.2s ease-in-out -2s infinite alternate-reverse; }

.tm-service-stage__node {
    position: absolute;
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 34%, var(--tm-line));
    border-radius: 1rem;
    background: color-mix(in srgb, var(--tm-surface) 88%, transparent);
    color: var(--tm-context-accent, var(--tm-brand-fg));
    box-shadow: 0 0 0 .6rem color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 4%, transparent), var(--tm-shadow-sm);
    animation: tm-network-node 5.4s ease-in-out infinite;
}

.tm-service-stage__node svg { width: 1.2rem; height: 1.2rem; }
.tm-service-stage__node--one { top: 12%; right: 8%; }
.tm-service-stage__node--two { top: 46%; left: 3%; animation-delay: -1.8s; }
.tm-service-stage__node--three { right: 4%; bottom: 12%; animation-delay: -3.1s; }

.tm-service-stage__pulse {
    position: absolute;
    right: 11%;
    bottom: 5%;
    display: flex;
    height: 3.25rem;
    align-items: end;
    gap: .28rem;
    opacity: .32;
}

.tm-service-stage__pulse i {
    width: .28rem;
    height: 36%;
    border-radius: 999px;
    background: var(--tm-context-accent, var(--tm-brand-fg));
    animation: tm-signal-bars 1.55s ease-in-out infinite alternate;
}

.tm-service-stage__pulse i:nth-child(2) { height: 72%; animation-delay: -.4s; }
.tm-service-stage__pulse i:nth-child(3) { height: 100%; animation-delay: -.75s; }
.tm-service-stage__pulse i:nth-child(4) { height: 58%; animation-delay: -1.05s; }
.tm-service-stage__pulse i:nth-child(5) { height: 84%; animation-delay: -1.3s; }

.tm-service-stage .tm-bento {
    position: relative;
    margin-bottom: clamp(1.5rem, 3vw, 2.4rem);
}

.tm-service-stage .tm-bento__item {
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 22%, var(--tm-line));
    background: linear-gradient(145deg, color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 7%, var(--tm-surface)), color-mix(in srgb, var(--tm-surface) 94%, transparent));
    box-shadow: 0 22px 48px -38px color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 62%, rgba(15, 23, 42, .55));
}

.tm-service-decision-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    align-items: stretch;
    gap: clamp(1rem, 3vw, 2rem);
    padding: clamp(1.15rem, 3vw, 2rem);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 34%, var(--tm-line));
    border-radius: var(--tm-radius-xl);
    background:
        radial-gradient(circle at 8% 18%, color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 14%, transparent), transparent 20rem),
        linear-gradient(135deg, color-mix(in srgb, var(--tm-surface) 94%, transparent), color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 6%, var(--tm-surface)));
    box-shadow: var(--tm-shadow-lg);
}

.tm-service-decision-shell::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--tm-context-accent, var(--tm-brand)), var(--tm-accent), transparent);
    content: "";
}

.tm-service-decision-shell > .tm-section-head {
    align-content: center;
    margin: 0;
    padding: clamp(.4rem, 2vw, 1rem);
}

.tm-service-decision-shell__status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    margin-top: 1rem;
    padding-top: .85rem;
    border-top: 1px solid color-mix(in srgb, var(--tm-line) 84%, transparent);
    color: var(--tm-muted);
    font-size: .7rem;
    font-weight: 800;
}

.tm-service-decision-shell__status span:first-child {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.tm-service-decision-shell__status i {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--tm-success);
    box-shadow: 0 0 0 .3rem color-mix(in srgb, var(--tm-success) 12%, transparent);
    animation: tm-node-pulse 2.4s ease-in-out infinite;
}

.tm-service-decision-shell .tm-decision {
    position: relative;
    align-content: center;
    padding: clamp(.8rem, 2vw, 1.2rem);
    overflow: hidden;
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 24%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-page) 42%, var(--tm-surface));
}

.tm-service-decision-shell .tm-purpose {
    position: relative;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 16%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-surface) 90%, transparent);
    box-shadow: inset 0 1px color-mix(in srgb, #fff 34%, transparent);
    transition: transform .22s var(--tm-ease), border-color .2s ease, background .2s ease, box-shadow .22s ease;
}

.tm-service-decision-shell .tm-purpose::after {
    position: absolute;
    inset: auto -35% 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--tm-context-accent, var(--tm-brand)), transparent);
    content: "";
    opacity: 0;
    transform: translateX(-35%);
}

.tm-service-decision-shell .tm-purpose:hover,
.tm-service-decision-shell .tm-purpose[aria-pressed="true"] {
    border-color: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 58%, var(--tm-line));
    background: color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 11%, var(--tm-surface));
    box-shadow: 0 16px 28px -24px color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 76%, transparent);
    transform: translateY(-2px);
}

.tm-service-decision-shell .tm-purpose[aria-pressed="true"]::after {
    opacity: .72;
    animation: tm-purpose-scan 3s ease-in-out infinite;
}

.tm-service-decision-shell .tm-recommendation {
    border-color: color-mix(in srgb, var(--tm-success) 36%, var(--tm-line));
    background: linear-gradient(135deg, color-mix(in srgb, var(--tm-success) 12%, var(--tm-surface)), color-mix(in srgb, var(--tm-context-accent, var(--tm-brand)) 6%, var(--tm-surface)));
    box-shadow: inset 3px 0 var(--tm-success);
}

@media (max-width: 63.999rem) {
    .tm-service-decision-shell {
        grid-template-columns: 1fr;
    }

    .tm-service-decision-shell > .tm-section-head {
        padding-bottom: 0;
    }

    .tm-service-stage__node--two {
        display: none;
    }
}

@media (max-width: 47.999rem) {
    .tm-catalog-filter,
    .tm-service-catalog--licenses .tm-catalog-filter {
        display: flex;
        gap: .55rem;
        padding: .6rem;
        overflow-x: auto;
        scroll-snap-type: inline proximity;
    }

    .tm-catalog-filter > :is(a, button) {
        min-width: 9.5rem;
        min-height: 3.35rem;
        scroll-snap-align: start;
    }

    .tm-service-stage__orbit {
        top: -8rem;
        right: -16rem;
        width: 32rem;
        height: 32rem;
    }

    .tm-service-stage__node {
        width: 2.65rem;
        height: 2.65rem;
    }

    .tm-service-stage__node--three,
    .tm-service-stage__pulse {
        display: none;
    }

    .tm-service-decision-shell {
        padding: 1rem;
        border-radius: 1.3rem;
    }
}

@media (max-width: 35.999rem) {
    .tm-service-decision-shell .tm-purpose-grid {
        grid-template-columns: 1fr;
    }
}

@keyframes tm-service-scan {
    0%, 100% { transform: translateX(-24%); opacity: .28; }
    50% { transform: translateX(24%); opacity: .78; }
}

@keyframes tm-service-beam {
    to { opacity: .16; transform: rotate(-1deg) scaleX(.68); }
}

@property --tm-motion-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

@keyframes tm-panel-border { to { --tm-motion-angle: 360deg; } }
@keyframes tm-network-orbit { to { transform: rotate(360deg); } }
@keyframes tm-network-breathe { 50% { opacity: .48; transform: scale(1.08); } }
@keyframes tm-network-node { 50% { transform: translateY(-9px); box-shadow: 0 0 0 .7rem color-mix(in srgb, var(--tm-brand) 5%, transparent), 0 0 1.8rem color-mix(in srgb, var(--tm-brand) 46%, transparent); } }
@keyframes tm-network-scan { from { transform: translateX(-10%); } to { transform: translateX(660%); } }
@keyframes tm-node-pulse { 50% { opacity: .55; box-shadow: 0 0 0 .45rem color-mix(in srgb, currentColor 5%, transparent); } }
@keyframes tm-signal-bars { to { transform: scaleY(.45); opacity: .62; } }
@keyframes tm-purpose-scan { 0%, 100% { transform: translateX(-45%); } 50% { transform: translateX(45%); } }
@keyframes tm-stat-wave { to { transform: scaleY(.52); opacity: .58; } }
@keyframes tm-console-glint { 0%, 68% { transform: translateX(-110%); } 88%, 100% { transform: translateX(110%); } }
@keyframes tm-meter-fill { from { transform: scaleX(0); } }
@keyframes tm-journey-chart { to { transform: scaleY(.58); opacity: .62; } }
@keyframes tm-radar-sweep { to { transform: rotate(360deg); } }
@keyframes tm-radar-node { 50% { transform: translateY(-7px) rotate(1deg); } }
@keyframes tm-core-pulse { 50% { box-shadow: 0 0 0 1rem color-mix(in srgb, var(--tm-brand) 3%, transparent), 0 22px 50px -20px color-mix(in srgb, var(--tm-brand) 76%, transparent); } }
@keyframes tm-market-pulse { to { transform: scaleY(.48); opacity: .55; } }
@keyframes tm-card-scan { 0%, 64% { transform: translateX(-100%); } 88%, 100% { transform: translateX(100%); } }
@keyframes tm-context-signal { to { opacity: .28; transform: scaleX(.58); } }

@media (prefers-reduced-motion: reduce) {
    .tm-hero-panel--live,
    .tm-hero-panel--live:hover,
    .tm-market-signal-card:hover .tm-market-signal-card__arrow,
    .tm-product-nav a:hover {
        transform: none;
    }

    .tm-motion-network,
    .tm-hero-panel__signal,
    .tm-stat-spark,
    .tm-market-signal-card__pulse,
    .tm-catalog-radar__sweep {
        opacity: .35;
    }

    .tm-catalog-filter::after,
    .tm-service-stage__orbit,
    .tm-service-stage__beam,
    .tm-service-stage__node,
    .tm-service-stage__pulse i,
    .tm-service-decision-shell__status i,
    .tm-service-decision-shell .tm-purpose::after {
        animation: none !important;
    }

    .tm-catalog-filter > :is(a, button):hover,
    .tm-service-decision-shell .tm-purpose:hover,
    .tm-service-decision-shell .tm-purpose[aria-pressed="true"] {
        transform: none;
    }
}
