:root {
  --ts-navy: #071d36;
  --ts-navy-2: #0d2f55;
  --ts-blue: #1f63d5;
  --ts-blue-dark: #174ca4;
  --ts-sky: #eaf3ff;
  --ts-ink: #101b2e;
  --ts-muted: #667085;
  --ts-line: #dbe3ee;
  --ts-surface: #f6f8fb;
  --ts-white: #ffffff;
  --ts-success: #16784a;
  --ts-warning: #995f00;
  --ts-radius-sm: 10px;
  --ts-radius: 18px;
  --ts-radius-lg: 28px;
  --ts-shadow: 0 20px 60px rgba(7, 29, 54, 0.12);
  --ts-shadow-soft: 0 10px 30px rgba(7, 29, 54, 0.08);
  --ts-wrap: min(1240px, calc(100% - 40px));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ts-ink);
  background: var(--ts-white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .site-header { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: var(--ts-blue); text-decoration: none; }
a:hover { color: var(--ts-blue-dark); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(31, 99, 213, 0.28);
  outline-offset: 3px;
}

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background: #f1f1f1; clip: auto !important; clip-path: none; color: #21759b;
  display: block; font-size: 14px; font-weight: 700; height: auto; left: 5px;
  line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px;
  width: auto; z-index: 100000;
}
.ts-wrap { width: var(--ts-wrap); margin-inline: auto; }
.ts-section { padding: 78px 0; }
.ts-section--soft { background: var(--ts-surface); }
.ts-section-heading { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.ts-kicker {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px;
  color: var(--ts-blue); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
}
.ts-kicker::before { content: ""; width: 22px; height: 2px; background: currentColor; }
.ts-section-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.12; letter-spacing: -.04em; }
.ts-section-heading p { margin: 14px 0 0; color: var(--ts-muted); font-size: 1.08rem; }
.ts-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 20px; border: 1px solid transparent; border-radius: 10px;
  background: var(--ts-blue); color: #fff; font-size: .92rem; font-weight: 800; line-height: 1;
  cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.ts-btn:hover { color: #fff; background: var(--ts-blue-dark); transform: translateY(-1px); box-shadow: 0 10px 20px rgba(31, 99, 213, .2); }
.ts-btn--secondary { background: #fff; border-color: var(--ts-line); color: var(--ts-ink); }
.ts-btn--secondary:hover { background: var(--ts-surface); color: var(--ts-ink); box-shadow: none; }
.ts-btn--ghost { background: transparent; color: var(--ts-ink); border-color: transparent; padding-inline: 8px; }
.ts-btn--ghost:hover { color: var(--ts-blue); background: transparent; box-shadow: none; }
.ts-btn svg { width: 18px; height: 18px; flex: 0 0 auto; }

/* Header */
.ts-topbar { background: var(--ts-navy); color: #dbeafe; font-size: .78rem; }
.ts-topbar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ts-topbar__group { display: flex; align-items: center; gap: 22px; }
.ts-topbar a { color: #e9f2ff; display: inline-flex; align-items: center; gap: 7px; }
.ts-topbar svg { width: 15px; height: 15px; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(219,227,238,.8); }
.ts-navbar { min-height: 76px; display: grid; grid-template-columns: 255px 1fr auto; align-items: center; gap: 28px; }
.site-branding { min-width: 0; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 52px; width: auto; }
.ts-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ts-ink); }
.ts-brand:hover { color: var(--ts-ink); }
.ts-brand__mark {
  width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px;
  background: linear-gradient(145deg, var(--ts-navy), var(--ts-blue)); color: #fff; box-shadow: 0 8px 18px rgba(31,99,213,.2);
}
.ts-brand__mark svg { width: 25px; height: 25px; }
.ts-brand__text { min-width: 0; }
.ts-brand__name { display: block; font-weight: 900; font-size: 1.1rem; letter-spacing: -.025em; }
.ts-brand__name span { color: var(--ts-blue); }
.ts-brand__tagline { display: block; color: var(--ts-muted); font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.primary-menu, .primary-menu ul { list-style: none; margin: 0; padding: 0; }
.primary-menu { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2.3vw, 34px); }
.primary-menu a { color: var(--ts-ink); font-size: .9rem; font-weight: 750; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: var(--ts-blue); }
.primary-menu .menu-item-has-children { position: relative; }
.primary-menu .sub-menu {
  position: absolute; left: -16px; top: calc(100% + 18px); width: 220px; padding: 10px;
  background: #fff; border: 1px solid var(--ts-line); border-radius: 14px; box-shadow: var(--ts-shadow-soft);
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s ease;
}
.primary-menu .menu-item-has-children:hover > .sub-menu,
.primary-menu .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.primary-menu .sub-menu a { display: block; padding: 10px 12px; border-radius: 8px; }
.primary-menu .sub-menu a:hover { background: var(--ts-surface); }
.ts-nav-actions { display: flex; align-items: center; gap: 8px; }
.ts-icon-btn {
  position: relative; width: 42px; height: 42px; display: grid; place-items: center;
  background: transparent; color: var(--ts-ink); border: 0; border-radius: 50%; cursor: pointer;
}
.ts-icon-btn:hover { background: var(--ts-surface); }
.ts-icon-btn svg { width: 21px; height: 21px; }
.ts-menu-toggle { display: none; }

/* Hero */
.ts-hero { position: relative; overflow: hidden; background: linear-gradient(90deg, #fff 0%, #fff 42%, #edf4ff 42%, #e7eef7 100%); }
.ts-hero::before {
  content: ""; position: absolute; inset: 0 0 0 48%; pointer-events: none;
  background:
    radial-gradient(circle at 68% 20%, rgba(31,99,213,.18), transparent 28%),
    linear-gradient(145deg, transparent 0 45%, rgba(7,29,54,.06) 46% 48%, transparent 49%),
    repeating-linear-gradient(0deg, transparent 0 36px, rgba(7,29,54,.025) 37px 38px);
}
.ts-hero__inner { min-height: 560px; display: grid; grid-template-columns: .94fr 1.06fr; align-items: stretch; position: relative; }
.ts-hero__copy { padding: 84px 46px 70px 0; align-self: center; }
.ts-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 999px; background: var(--ts-sky); color: var(--ts-blue); font-size: .75rem; font-weight: 850; }
.ts-hero h1 { margin: 20px 0 20px; max-width: 650px; font-size: clamp(3rem, 5vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.ts-hero h1 span { color: var(--ts-blue); }
.ts-hero__lead { max-width: 620px; margin: 0; color: #3f4d63; font-size: clamp(1rem, 1.5vw, 1.19rem); }
.ts-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.ts-hero__trust { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 38px; color: #3c485d; font-size: .82rem; }
.ts-hero__trust span { display: inline-flex; align-items: center; gap: 8px; }
.ts-hero__trust svg { width: 17px; height: 17px; color: var(--ts-blue); }
.ts-hero__visual { position: relative; min-height: 560px; display: grid; place-items: center; }
.ts-machine {
  position: relative; width: min(560px, 92%); aspect-ratio: 1.15; border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.1)),
    radial-gradient(circle at 50% 30%, #b8c6d8 0 9%, #35455a 9.5% 12%, #172438 12.5% 21%, transparent 21.5%),
    linear-gradient(178deg, transparent 0 56%, #9b6d46 57% 61%, #6d472d 62% 65%, #b98456 66% 72%, transparent 73%),
    linear-gradient(145deg, #d8e1ec, #a9b7c8);
  box-shadow: 0 30px 80px rgba(7,29,54,.22); overflow: hidden;
}
.ts-machine::before {
  content: ""; position: absolute; left: 44%; top: 17%; width: 14%; height: 57%; border-radius: 12px 12px 40% 40%;
  background: linear-gradient(90deg, #172234, #d8e0e9 23%, #5d6b7c 48%, #111b2c 76%, #344157);
  box-shadow: 0 0 0 11px #1b283b, 0 0 0 18px #6f7e91, 0 22px 22px rgba(0,0,0,.26);
}
.ts-machine::after {
  content: ""; position: absolute; left: 49%; top: 66%; width: 4%; height: 20%; border-radius: 0 0 8px 8px;
  background: repeating-linear-gradient(45deg, #d4a85e 0 4px, #5b4023 5px 8px); box-shadow: 0 8px 12px rgba(0,0,0,.25);
}
.ts-swarf { position: absolute; inset: auto 4% 4% 4%; height: 25%; opacity: .52; background: repeating-radial-gradient(ellipse at center, #7b4b25 0 2px, transparent 3px 11px); transform: rotate(-3deg); }
.ts-tool-chip {
  position: absolute; display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px 8px 8px;
  border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ts-ink); border: 1px solid rgba(255,255,255,.8);
  box-shadow: 0 12px 26px rgba(7,29,54,.14); font-size: .78rem; font-weight: 800; backdrop-filter: blur(10px);
}
.ts-tool-chip__icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--ts-sky); color: var(--ts-blue); }
.ts-tool-chip__icon svg { width: 19px; height: 19px; }
.ts-tool-chip--one { left: 1%; top: 14%; }
.ts-tool-chip--two { right: -2%; top: 22%; }
.ts-tool-chip--three { left: 2%; bottom: 16%; }
.ts-tool-chip--four { right: -1%; bottom: 13%; }

/* Selector */
.ts-selector-shell { position: relative; z-index: 4; margin-top: -42px; }
.ts-selector-card { background: #fff; border: 1px solid var(--ts-line); border-radius: 24px; box-shadow: var(--ts-shadow); padding: 28px; }
.ts-selector-card__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 24px; }
.ts-selector-card__head h2 { margin: 0; font-size: clamp(1.5rem, 2vw, 2.1rem); letter-spacing: -.03em; }
.ts-selector-card__head p { margin: 6px 0 0; color: var(--ts-muted); }
.ts-selector-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; background: #ecfdf3; color: var(--ts-success); font-size: .76rem; font-weight: 800; white-space: nowrap; }
.ts-selector-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(22,120,74,.12); }
.ts-selector-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 12px; align-items: end; }
.ts-field label { display: block; margin: 0 0 7px; color: #344054; font-size: .77rem; font-weight: 800; }
.ts-field select, .ts-field input {
  width: 100%; min-height: 48px; padding: 0 38px 0 13px; border: 1px solid #cfd8e5; border-radius: 10px; background-color: #fff; color: var(--ts-ink);
}
.ts-field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #667085 50%), linear-gradient(135deg, #667085 50%, transparent 50%); background-position: calc(100% - 18px) 20px, calc(100% - 13px) 20px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.ts-selector-result { display: none; margin-top: 22px; padding: 22px; border-radius: 16px; border: 1px solid #b9d2f7; background: linear-gradient(135deg, #f7fbff, #edf5ff); }
.ts-selector-result.is-visible { display: grid; grid-template-columns: 72px 1fr auto; gap: 18px; align-items: center; animation: tsFade .25s ease both; }
@keyframes tsFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.ts-selector-result__icon { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 16px; background: #fff; color: var(--ts-blue); box-shadow: var(--ts-shadow-soft); }
.ts-selector-result__icon svg { width: 34px; height: 34px; }
.ts-selector-result h3 { margin: 0 0 6px; font-size: 1.18rem; }
.ts-selector-result p { margin: 0; color: #475467; }
.ts-result-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ts-result-meta span { padding: 5px 8px; border-radius: 7px; background: #fff; color: #344054; font-size: .74rem; font-weight: 700; border: 1px solid #d6e3f4; }
.ts-result-warning { margin-top: 10px; color: var(--ts-warning); font-size: .76rem; }

/* How it works */
.ts-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ts-step { position: relative; padding: 26px 24px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(7,29,54,.04); }
.ts-step::after { content: ""; position: absolute; top: 51px; right: -21px; width: 22px; height: 1px; background: var(--ts-line); }
.ts-step:last-child::after { display: none; }
.ts-step__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ts-step__number { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--ts-blue); color: #fff; font-size: .8rem; font-weight: 900; }
.ts-step__icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 14px; background: var(--ts-sky); color: var(--ts-blue); }
.ts-step__icon svg { width: 28px; height: 28px; }
.ts-step h3 { margin: 0 0 8px; font-size: 1rem; }
.ts-step p { margin: 0; color: var(--ts-muted); font-size: .88rem; }

/* Main dashboard */
.ts-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 28px; align-items: start; }
.ts-panel { background: #fff; border: 1px solid var(--ts-line); border-radius: 20px; padding: 22px; box-shadow: 0 8px 24px rgba(7,29,54,.04); }
.ts-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.ts-panel__head h2, .ts-panel__head h3 { margin: 0; font-size: 1.16rem; }
.ts-panel__head > svg { width: 18px; height: 18px; flex: 0 0 auto; }
.ts-link-arrow { display: inline-flex; align-items: center; gap: 7px; color: var(--ts-blue); font-size: .82rem; font-weight: 800; }
.ts-categories { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ts-category-card { overflow: hidden; border: 1px solid var(--ts-line); border-radius: 14px; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.ts-category-card:hover { transform: translateY(-3px); box-shadow: var(--ts-shadow-soft); }
.ts-category-card__art { position: relative; aspect-ratio: 1.55; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg, #eef3f8, #d7e0ea); }
.ts-category-card__art::before { content: ""; position: absolute; width: 180px; height: 180px; border: 1px solid rgba(31,99,213,.14); border-radius: 50%; }
.ts-category-card__art svg { position: relative; width: 74px; height: 74px; color: var(--ts-navy); filter: drop-shadow(0 10px 10px rgba(7,29,54,.18)); }
.ts-category-card__body { padding: 15px; }
.ts-category-card h3 { margin: 0 0 12px; font-size: .94rem; }
.ts-category-card .ts-btn { width: 100%; min-height: 40px; padding-inline: 12px; font-size: .78rem; }
.ts-side-stack { display: grid; gap: 18px; }
.ts-market-card { color: #fff; background: linear-gradient(145deg, var(--ts-navy), #0b3868); border-color: transparent; }
.ts-market-card .ts-panel__head h3 { color: #fff; }
.ts-market-map { position: relative; min-height: 115px; margin: 4px 0 14px; border-radius: 14px; background: radial-gradient(circle at 30% 40%, rgba(255,255,255,.18) 0 2%, transparent 3%), linear-gradient(140deg, rgba(255,255,255,.08), transparent); overflow: hidden; }
.ts-market-map svg { position: absolute; inset: 12px; width: calc(100% - 24px); height: calc(100% - 24px); opacity: .42; }
.ts-markets { display: grid; gap: 11px; }
.ts-market { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.11); }
.ts-market:first-child { border-top: 0; }
.ts-market__flag { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); font-size: 1rem; }
.ts-market strong { display: block; font-size: .86rem; }
.ts-market small { display: block; color: #b9c9db; font-size: .69rem; }
.ts-market svg { width: 16px; height: 16px; color: #9fc5f8; }
.ts-resource-list { list-style: none; margin: 0; padding: 0; }
.ts-resource-list li + li { border-top: 1px solid var(--ts-line); }
.ts-resource-list a { display: grid; grid-template-columns: 31px 1fr auto; align-items: center; gap: 10px; padding: 13px 0; color: var(--ts-ink); font-size: .84rem; font-weight: 700; }
.ts-resource-list a:hover { color: var(--ts-blue); }
.ts-resource-list svg { width: 17px; height: 17px; }
.ts-resource-list__icon { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; background: var(--ts-sky); color: var(--ts-blue); }

/* Stats */
.ts-stats { border-top: 1px solid #dbe8f7; border-bottom: 1px solid #dbe8f7; background: linear-gradient(90deg, #f0f7ff, #fbfdff); }
.ts-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.ts-stat { display: flex; align-items: center; gap: 14px; min-height: 118px; padding: 24px; border-left: 1px solid #dbe8f7; }
.ts-stat:first-child { border-left: 0; }
.ts-stat__icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #fff; color: var(--ts-blue); box-shadow: var(--ts-shadow-soft); }
.ts-stat__icon svg { width: 25px; height: 25px; }
.ts-stat strong { display: block; font-size: 1.15rem; line-height: 1.1; }
.ts-stat span { display: block; margin-top: 3px; color: var(--ts-muted); font-size: .8rem; }

/* Content */
.site-main--inner { width: var(--ts-wrap); margin: 0 auto; padding: 64px 0 90px; }
.entry-header { margin-bottom: 28px; }
.entry-title { margin: 0; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.05; letter-spacing: -.045em; }
.entry-meta { margin-top: 10px; color: var(--ts-muted); font-size: .85rem; }
.entry-content { max-width: 820px; }
.entry-content > * { margin-top: 0; margin-bottom: 1.4em; }
.entry-content h2, .entry-content h3, .entry-content h4 { line-height: 1.2; letter-spacing: -.025em; }
.entry-content h2 { margin-top: 1.8em; font-size: 2rem; }
.entry-content h3 { margin-top: 1.6em; font-size: 1.45rem; }
.entry-content img { border-radius: 16px; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: 12px; border: 1px solid var(--ts-line); text-align: left; }
.post-card { padding: 24px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fff; }
.post-card + .post-card { margin-top: 18px; }
.post-card h2 { margin: 0 0 10px; }
.post-card p { color: var(--ts-muted); }
.ts-not-found { min-height: 52vh; display: grid; place-items: center; text-align: center; }

/* Footer */
.site-footer { color: #dbe7f5; background: var(--ts-navy); }
.ts-newsletter { border-bottom: 1px solid rgba(255,255,255,.12); }
.ts-newsletter__inner { min-height: 110px; display: grid; grid-template-columns: 1fr minmax(360px, .9fr) 1.2fr; align-items: center; gap: 34px; }
.ts-newsletter h2 { margin: 0; color: #fff; font-size: 1rem; }
.ts-newsletter p { margin: 3px 0 0; color: #9fb3c8; font-size: .78rem; }
.ts-newsletter-form { display: flex; }
.ts-newsletter-form input { width: 100%; min-height: 46px; padding: 0 14px; border: 0; border-radius: 9px 0 0 9px; }
.ts-newsletter-form button { min-width: 112px; border-radius: 0 9px 9px 0; }
.ts-footer-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ts-footer-benefit { display: flex; align-items: center; gap: 10px; }
.ts-footer-benefit svg { width: 27px; height: 27px; color: #8fbcff; }
.ts-footer-benefit strong { display: block; color: #fff; font-size: .78rem; }
.ts-footer-benefit span { display: block; color: #9fb3c8; font-size: .68rem; }
.ts-footer-main { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 42px; padding: 54px 0 42px; }
.ts-footer-brand p { max-width: 330px; color: #a8bbcf; font-size: .86rem; }
.ts-footer-title { margin: 0 0 14px; color: #fff; font-size: .92rem; }
.ts-footer-menu { list-style: none; margin: 0; padding: 0; }
.ts-footer-menu li + li { margin-top: 8px; }
.ts-footer-menu a { color: #a8bbcf; font-size: .82rem; }
.ts-footer-menu a:hover { color: #fff; }
.ts-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.ts-footer-bottom__inner { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #8fa3b8; font-size: .75rem; }
.ts-social { display: flex; gap: 8px; }
.ts-social a { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: #dbe7f5; }
.ts-social a:hover { background: rgba(255,255,255,.08); color: #fff; }
.ts-social svg { width: 16px; height: 16px; }

/* Mobile search overlay */
.ts-search-overlay { position: fixed; inset: 0; z-index: 90; display: none; place-items: start center; padding-top: 12vh; background: rgba(7,29,54,.78); backdrop-filter: blur(8px); }
.ts-search-overlay.is-open { display: grid; }
.ts-search-box { width: min(680px, calc(100% - 32px)); padding: 22px; border-radius: 18px; background: #fff; box-shadow: var(--ts-shadow); }
.ts-search-box__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.ts-search-box__top strong { font-size: 1.1rem; }
.ts-search-form { display: flex; gap: 10px; }
.ts-search-form input { flex: 1; min-height: 50px; padding: 0 14px; border: 1px solid var(--ts-line); border-radius: 10px; }

@media (max-width: 1100px) {
  .ts-navbar { grid-template-columns: 220px 1fr auto; gap: 18px; }
  .primary-menu { gap: 18px; }
  .ts-dashboard { grid-template-columns: 1fr 310px; }
  .ts-selector-form { grid-template-columns: repeat(2, 1fr); }
  .ts-selector-form .ts-btn { grid-column: span 2; }
  .ts-newsletter__inner { grid-template-columns: .8fr 1fr; padding: 24px 0; }
  .ts-footer-benefits { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  :root { --ts-wrap: min(100% - 28px, 760px); }
  body.admin-bar .site-header { top: 46px; }
  .ts-topbar__group:first-child a:nth-child(n+2) { display: none; }
  .ts-navbar { min-height: 68px; grid-template-columns: 1fr auto; }
  .main-navigation { position: fixed; top: 102px; left: 14px; right: 14px; padding: 16px; border: 1px solid var(--ts-line); border-radius: 16px; background: #fff; box-shadow: var(--ts-shadow); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .2s ease; }
  .main-navigation.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .primary-menu { align-items: stretch; flex-direction: column; gap: 4px; }
  .primary-menu a { display: block; padding: 11px 12px; border-radius: 9px; }
  .primary-menu a:hover { background: var(--ts-surface); }
  .primary-menu .sub-menu { position: static; width: auto; padding: 0 0 0 14px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .ts-menu-toggle { display: grid; }
  .ts-nav-actions .ts-account-btn { display: none; }
  .ts-hero { background: linear-gradient(180deg, #fff 0 47%, #eef4fb 47% 100%); }
  .ts-hero::before { inset: 45% 0 0; }
  .ts-hero__inner { min-height: auto; grid-template-columns: 1fr; }
  .ts-hero__copy { padding: 64px 0 40px; text-align: center; }
  .ts-hero h1, .ts-hero__lead { margin-inline: auto; }
  .ts-hero__actions, .ts-hero__trust { justify-content: center; }
  .ts-hero__visual { min-height: 450px; }
  .ts-machine { width: min(600px, 92%); }
  .ts-selector-shell { margin-top: -20px; }
  .ts-steps { grid-template-columns: repeat(2, 1fr); }
  .ts-step::after { display: none; }
  .ts-dashboard { grid-template-columns: 1fr; }
  .ts-side-stack { grid-template-columns: repeat(2, 1fr); }
  .ts-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .ts-stat:nth-child(3) { border-left: 0; border-top: 1px solid #dbe8f7; }
  .ts-stat:nth-child(4) { border-top: 1px solid #dbe8f7; }
  .ts-footer-main { grid-template-columns: 1.3fr repeat(2, 1fr); }
  .ts-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  :root { --ts-wrap: calc(100% - 24px); }
  .ts-section { padding: 56px 0; }
  .ts-topbar__inner { min-height: 32px; }
  .ts-topbar__group { gap: 12px; }
  .ts-topbar__group:last-child a:last-child { display: none; }
  .ts-brand__tagline { display: none; }
  .ts-brand__name { font-size: 1rem; }
  .ts-brand__mark { width: 38px; height: 38px; }
  .ts-nav-actions { gap: 2px; }
  .ts-nav-actions .ts-cart-btn { display: none; }
  .ts-hero h1 { font-size: clamp(2.75rem, 14vw, 4rem); }
  .ts-hero__copy { padding-top: 48px; }
  .ts-hero__actions { align-items: stretch; flex-direction: column; }
  .ts-hero__actions .ts-btn { width: 100%; }
  .ts-hero__trust { display: grid; grid-template-columns: 1fr 1fr; text-align: left; }
  .ts-hero__visual { min-height: 340px; }
  .ts-machine { width: 100%; border-radius: 22px; }
  .ts-tool-chip { font-size: .66rem; padding: 6px 9px 6px 6px; }
  .ts-tool-chip__icon { width: 28px; height: 28px; }
  .ts-tool-chip--one { left: -4px; }
  .ts-tool-chip--two { right: -4px; }
  .ts-tool-chip--three { left: -4px; }
  .ts-tool-chip--four { right: -4px; }
  .ts-selector-card { padding: 20px; border-radius: 18px; }
  .ts-selector-card__head { flex-direction: column; }
  .ts-selector-form { grid-template-columns: 1fr; }
  .ts-selector-form .ts-btn { grid-column: auto; }
  .ts-selector-result.is-visible { grid-template-columns: 54px 1fr; }
  .ts-selector-result__icon { width: 50px; height: 50px; }
  .ts-selector-result .ts-btn { grid-column: 1 / -1; width: 100%; }
  .ts-steps { grid-template-columns: 1fr; }
  .ts-categories { grid-template-columns: repeat(2, 1fr); }
  .ts-side-stack { grid-template-columns: 1fr; }
  .ts-stats__grid { grid-template-columns: 1fr; }
  .ts-stat, .ts-stat:nth-child(n) { border-left: 0; border-top: 1px solid #dbe8f7; }
  .ts-stat:first-child { border-top: 0; }
  .ts-newsletter__inner { grid-template-columns: 1fr; gap: 18px; }
  .ts-footer-benefits { grid-template-columns: 1fr; }
  .ts-footer-main { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .ts-footer-brand { grid-column: 1 / -1; }
  .ts-footer-bottom__inner { padding: 18px 0; align-items: flex-start; flex-direction: column; }
}

@media (max-width: 430px) {
  .ts-categories { grid-template-columns: 1fr; }
  .ts-footer-main { grid-template-columns: 1fr; }
  .ts-hero__trust { grid-template-columns: 1fr; }
  .ts-search-form { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Version 1.1 — images fidèles à la maquette */
.ts-hero__visual--image {
  min-height: 0;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  overflow: hidden;
  border-radius: 0;
}
.ts-hero__visual--image img {
  width: 100%;
  height: 100%;
  min-height: 343px;
  object-fit: cover;
  object-position: center;
  display: block;
}
.ts-category-card__art {
  background: #eef1f4;
}
.ts-category-card__art::before { display: none; }
.ts-category-card__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .25s ease;
}
.ts-category-card:hover .ts-category-card__art img { transform: scale(1.025); }
@media (max-width: 980px) {
  .ts-hero__visual--image img { min-height: 300px; }
}
@media (max-width: 680px) {
  .ts-hero__visual--image { border-radius: 18px; }
  .ts-hero__visual--image img { min-height: 240px; }
}


/* Version 1.2 — layout aligned to Option 2 mockup */
:root { --ts-wrap: min(1528px, calc(100% - 36px)); }
.site-header { position: sticky; top: 0; }
.ts-home-v2 { background: #fff; }
.ts-hero-v2 { background: #fff; border-bottom: 1px solid #eef1f5; }
.ts-hero-v2__inner {
  display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 58%);
  align-items: stretch; gap: 0; min-height: 385px;
}
.ts-hero-v2__copy { padding: 38px 0 18px; }
.ts-hero-v2__eyebrow {
  display: inline-flex; align-items: center; gap: 12px; margin-bottom: 28px; padding: 14px 22px;
  border-radius: 999px; background: #eaf2ff; color: var(--ts-blue); font-size: .95rem; font-weight: 800;
}
.ts-hero-v2__eyebrow svg { width: 30px; height: 30px; }
.ts-hero-v2 h1 {
  margin: 0; max-width: 640px; color: #0f1830; font-size: clamp(3.8rem, 5vw, 5rem);
  line-height: .96; letter-spacing: -.06em; font-weight: 900;
}
.ts-hero-v2 h1 span { color: var(--ts-blue); }
.ts-hero-v2__lead { max-width: 620px; margin: 24px 0 0; font-size: 1.1rem; line-height: 1.58; color: #45546e; }
.ts-hero-v2__actions { display: flex; align-items: center; gap: 16px; margin-top: 30px; }
.ts-hero-v2__actions .ts-btn { min-height: 56px; padding-inline: 28px; border-radius: 10px; font-size: .94rem; }
.ts-hero-v2__actions .ts-btn--ghost { padding-inline: 6px; }
.ts-hero-v2__trust {
  display: flex; flex-wrap: wrap; gap: 24px 32px; margin-top: 40px; padding-top: 18px;
  border-top: 1px solid #eef1f5; color: #405065; font-size: .86rem; font-weight: 700;
}
.ts-hero-v2__trust span { display: inline-flex; align-items: center; gap: 10px; }
.ts-hero-v2__trust svg { width: 18px; height: 18px; color: var(--ts-blue); }
.ts-hero-v2__visual {
  position: relative; display: flex; align-items: stretch; justify-content: stretch; overflow: hidden;
  background: linear-gradient(90deg, #edf3fb 0%, #edf3fb 4%, #fff 12%);
}
.ts-hero-v2__visual::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(255,255,255,.65), rgba(255,255,255,0) 18%);
}
.ts-hero-v2__visual img { width: 100%; height: 100%; min-height: 345px; object-fit: cover; object-position: center; display: block; }

.ts-home-grid-v2 { padding: 18px 0 0; }
.ts-home-grid-v2__inner { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 22px; align-items: start; }
.ts-home-grid-v2__main { min-width: 0; }
.ts-home-process-v2 { padding: 0 0 18px; }
.ts-home-process-v2 h2 { margin: 0 0 20px; text-align: center; font-size: 1.12rem; font-weight: 900; letter-spacing: -.02em; }
.ts-steps-v2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ts-step-v2 { position: relative; padding: 18px 14px 12px; min-height: 154px; }
.ts-step-v2__number {
  width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--ts-blue); color: #fff;
  font-size: .95rem; font-weight: 900; margin: 0 auto 12px;
}
.ts-step-v2__icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: #f0f5ff; color: var(--ts-blue); margin: 0 auto 14px; }
.ts-step-v2__icon svg { width: 29px; height: 29px; }
.ts-step-v2 h3 { margin: 0 0 10px; font-size: .98rem; line-height: 1.25; }
.ts-step-v2 p { margin: 0; color: #59677c; font-size: .88rem; line-height: 1.55; }

.ts-home-categories-v2 { margin-top: 4px; padding: 14px 18px 18px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fbfcfe; }
.ts-home-categories-v2 h2 { margin: 0 0 16px; font-size: 1.18rem; letter-spacing: -.02em; }
.ts-categories-v2 { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.ts-category-card-v2 {
  overflow: hidden; border: 1px solid #dfe6ef; border-radius: 12px; background: #fff; box-shadow: 0 2px 10px rgba(7,29,54,.04);
  transition: transform .18s ease, box-shadow .18s ease;
}
.ts-category-card-v2:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(7,29,54,.08); }
.ts-category-card-v2__art { aspect-ratio: 1.55; background: #eef1f4; }
.ts-category-card-v2__art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ts-category-card-v2__body { padding: 14px 12px 14px; text-align: center; }
.ts-category-card-v2__body h3 { margin: 0 0 12px; font-size: .97rem; line-height: 1.25; }
.ts-category-card-v2__body .ts-btn { width: 100%; min-height: 38px; padding-inline: 10px; border-radius: 9px; font-size: .78rem; box-shadow: none; }

.ts-home-grid-v2__aside { display: grid; gap: 16px; }
.ts-side-card-v2 { padding: 18px 18px 12px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(7,29,54,.04); }
.ts-side-card-v2--markets { background: linear-gradient(145deg, #071d36, #0d3563); color: #fff; border-color: transparent; }
.ts-side-card-v2__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ts-side-card-v2__head h3 { margin: 0; font-size: 1.1rem; letter-spacing: -.02em; }
.ts-side-card-v2__head > svg { width: 16px; height: 16px; }
.ts-side-card-v2__map {
  position: relative; min-height: 108px; margin-bottom: 10px; border-radius: 14px; overflow: hidden;
  background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.02));
}
.ts-side-card-v2__map svg { position: absolute; inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px); opacity: .35; }
.ts-markets-v2 { display: grid; gap: 4px; }
.ts-market-v2 {
  display: grid; grid-template-columns: 36px 1fr auto; align-items: start; gap: 10px; padding: 12px 0;
  color: #fff; border-top: 1px solid rgba(255,255,255,.1);
}
.ts-market-v2:first-child { border-top: 0; }
.ts-market-v2__flag { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.1); }
.ts-market-v2 strong { display: block; font-size: .95rem; }
.ts-market-v2 small { display: block; margin-top: 2px; color: #d0deef; font-size: .73rem; line-height: 1.45; }
.ts-market-v2 svg { width: 15px; height: 15px; color: #b9d6ff; margin-top: 3px; }
.ts-resource-list-v2 { list-style: none; margin: 0; padding: 0; }
.ts-resource-list-v2 li + li { border-top: 1px solid #e7ecf3; }
.ts-resource-list-v2 a { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 10px; padding: 13px 0; color: var(--ts-ink); font-size: .9rem; font-weight: 700; }
.ts-resource-list-v2__icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; background: #eef4ff; color: var(--ts-blue); }
.ts-resource-list-v2__icon svg { width: 17px; height: 17px; }
.ts-resource-list-v2 a > svg:last-child { width: 14px; height: 14px; color: #738299; }

.ts-stats-v2 { margin-top: 16px; border-top: 1px solid #dbe8f7; border-bottom: 1px solid #dbe8f7; background: #f2f7fd; }
.ts-stats-v2__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ts-stat-v2 { display: flex; align-items: center; gap: 14px; min-height: 82px; padding: 20px 18px; }
.ts-stat-v2 + .ts-stat-v2 { border-left: 1px solid #dbe8f7; }
.ts-stat-v2__icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #fff; color: var(--ts-blue); box-shadow: 0 6px 18px rgba(7,29,54,.07); }
.ts-stat-v2__icon svg { width: 23px; height: 23px; }
.ts-stat-v2 strong { display: block; font-size: 1.05rem; line-height: 1.2; }
.ts-stat-v2 small { display: block; margin-top: 2px; color: #59677c; font-size: .84rem; line-height: 1.4; }

@media (max-width: 1280px) {
  :root { --ts-wrap: calc(100% - 30px); }
  .ts-home-grid-v2__inner { grid-template-columns: 1fr 340px; }
  .ts-categories-v2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .ts-hero-v2__inner { grid-template-columns: 1fr; }
  .ts-hero-v2__copy { text-align: center; padding-bottom: 28px; }
  .ts-hero-v2 h1, .ts-hero-v2__lead { margin-inline: auto; }
  .ts-hero-v2__actions, .ts-hero-v2__trust { justify-content: center; }
  .ts-home-grid-v2__inner { grid-template-columns: 1fr; }
  .ts-home-grid-v2__aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .ts-steps-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-categories-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-stats-v2__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-stat-v2:nth-child(3), .ts-stat-v2:nth-child(4) { border-top: 1px solid #dbe8f7; }
  .ts-stat-v2:nth-child(3) { border-left: 0; }
}
@media (max-width: 640px) {
  :root { --ts-wrap: calc(100% - 20px); }
  .ts-hero-v2__copy { padding-top: 28px; }
  .ts-hero-v2 h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
  .ts-hero-v2__eyebrow { padding: 10px 16px; font-size: .85rem; }
  .ts-hero-v2__actions { flex-direction: column; align-items: stretch; }
  .ts-hero-v2__actions .ts-btn { width: 100%; }
  .ts-hero-v2__trust { display: grid; grid-template-columns: 1fr; gap: 12px; text-align: left; }
  .ts-home-grid-v2 { padding-top: 10px; }
  .ts-steps-v2, .ts-home-grid-v2__aside, .ts-stats-v2__grid { grid-template-columns: 1fr; }
  .ts-categories-v2 { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ts-stat-v2, .ts-stat-v2 + .ts-stat-v2 { border-left: 0; border-top: 1px solid #dbe8f7; }
  .ts-stat-v2:first-child { border-top: 0; }
}
@media (max-width: 430px) {
  .ts-categories-v2 { grid-template-columns: 1fr; }
}


/* Version 1.2.1 — pixel-pass refinement based on result review */
.ts-hero-v2 { overflow: hidden; }
.ts-hero-v2__inner {
  grid-template-columns: minmax(0, 43.5%) minmax(0, 56.5%);
  min-height: 0;
  align-items: start;
}
.ts-hero-v2__copy {
  padding: 38px 18px 10px 0;
}
.ts-hero-v2__eyebrow {
  margin-bottom: 24px;
  padding: 12px 22px;
  font-size: .9rem;
}
.ts-hero-v2 h1 {
  max-width: 720px;
  font-size: clamp(3.35rem, 4.35vw, 4.65rem);
  line-height: .98;
  letter-spacing: -.065em;
}
.ts-hero-v2__lead {
  max-width: 600px;
  margin-top: 22px;
  font-size: 1rem;
  line-height: 1.55;
}
.ts-hero-v2__actions {
  margin-top: 26px;
  gap: 12px;
}
.ts-hero-v2__actions .ts-btn {
  min-height: 54px;
  padding-inline: 26px;
}
.ts-hero-v2__trust {
  gap: 16px 22px;
  margin-top: 28px;
  padding-top: 16px;
  font-size: .81rem;
}
.ts-hero-v2__visual {
  align-items: flex-start;
  justify-content: flex-start;
  background: linear-gradient(90deg, #ffffff 0%, #f8fbff 6%, #ffffff 14%);
}
.ts-hero-v2__visual::before {
  background: linear-gradient(90deg, rgba(255,255,255,.35), rgba(255,255,255,0) 16%);
}
.ts-hero-v2__visual img {
  width: 100%;
  height: auto;
  min-height: auto;
  object-fit: contain;
  object-position: top left;
}
.ts-home-grid-v2 {
  padding-top: 8px;
}
.ts-home-grid-v2__inner {
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) 360px;
}
.ts-home-process-v2 {
  padding-bottom: 12px;
}
.ts-home-process-v2 h2 {
  margin-bottom: 14px;
}
.ts-steps-v2 {
  gap: 10px;
}
.ts-step-v2 {
  padding: 14px 10px 10px;
  min-height: 142px;
}
.ts-step-v2__number { margin-bottom: 8px; }
.ts-step-v2__icon { width: 50px; height: 50px; margin-bottom: 12px; }
.ts-step-v2__icon svg { width: 26px; height: 26px; }
.ts-step-v2 h3 { font-size: .94rem; margin-bottom: 8px; }
.ts-step-v2 p { font-size: .84rem; }
.ts-home-categories-v2 {
  padding: 12px 14px 16px;
}
.ts-home-categories-v2 h2 { margin-bottom: 14px; }
.ts-categories-v2 {
  gap: 14px;
}
.ts-category-card-v2__body {
  padding: 12px 10px 12px;
}
.ts-category-card-v2__body h3 {
  font-size: .9rem;
  margin-bottom: 10px;
}
.ts-side-card-v2 {
  padding: 16px 16px 10px;
}
.ts-side-card-v2__head h3 { font-size: 1.02rem; }
.ts-side-card-v2__map { min-height: 96px; }
.ts-market-v2 { padding: 10px 0; }
.ts-market-v2 strong { font-size: .9rem; }
.ts-market-v2 small { font-size: .71rem; }
.ts-resource-list-v2 a { padding: 11px 0; font-size: .86rem; }
.ts-stats-v2 { margin-top: 12px; }
.ts-stats-v2__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ts-stat-v2 {
  min-height: 76px;
  padding: 16px 14px;
}
.ts-stat-v2 strong { font-size: 1rem; }
.ts-stat-v2 small { font-size: .8rem; }
@media (max-width: 1380px) {
  .ts-hero-v2__inner { grid-template-columns: minmax(0, 45%) minmax(0, 55%); }
  .ts-home-grid-v2__inner { grid-template-columns: minmax(0, 1fr) 342px; }
}
@media (max-width: 1100px) {
  .ts-hero-v2__copy { padding-right: 0; }
  .ts-hero-v2__visual img { width: 100%; }
}


/* Version 1.2.2 — header pixel pass based on approved mockup */
.ts-topbar .ts-wrap,
.site-header .ts-wrap {
  width: min(1416px, calc(100% - 48px));
}
.ts-topbar {
  height: 31px;
  min-height: 31px;
  background: #061a31;
  color: #edf5ff;
  font-size: 11px;
  line-height: 1;
}
.ts-topbar__inner {
  min-height: 31px;
  height: 31px;
  padding: 0;
}
.ts-topbar__group {
  gap: 29px;
  height: 31px;
}
.ts-topbar__group:last-child { gap: 22px; }
.ts-topbar a {
  min-height: 31px;
  gap: 7px;
  color: #f1f6fc;
  font-weight: 500;
  white-space: nowrap;
}
.ts-topbar a:hover { color: #fff; }
.ts-topbar svg { width: 14px; height: 14px; stroke-width: 1.65; }
.ts-topbar-caret {
  width: 5px;
  height: 5px;
  margin-left: -2px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: .8;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 79px;
  min-height: 79px;
  background: #fff;
  border-bottom: 1px solid #e5eaf0;
  backdrop-filter: none;
  box-shadow: none;
}
body.admin-bar .site-header { top: 32px; }
.ts-navbar {
  min-height: 79px;
  height: 79px;
  display: grid;
  grid-template-columns: 255px minmax(0, 1fr) 170px;
  align-items: center;
  gap: 22px;
  padding: 0;
}
.site-branding {
  display: flex;
  align-items: center;
  height: 79px;
  overflow: visible;
}
.ts-brand--image {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.ts-brand--image img {
  display: block;
  width: 230px;
  height: 56px;
  max-width: none;
  object-fit: contain;
  object-position: left center;
}
.custom-logo-link { line-height: 0; }
.custom-logo { max-width: 230px; max-height: 56px; width: auto; height: auto; }
.main-navigation {
  height: 79px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.primary-menu {
  width: auto;
  min-height: 79px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 43px;
}
.primary-menu > li {
  display: flex;
  align-items: center;
  min-height: 79px;
}
.primary-menu > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 79px;
  padding: 0;
  color: #07182e;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.primary-menu > li > a:hover,
.primary-menu .current-menu-item > a { color: #145dbe; }
.primary-menu > li:nth-child(5) > a::after {
  content: "";
  width: 5px;
  height: 5px;
  margin: -3px 0 0 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
}
.ts-nav-actions {
  height: 79px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
}
.ts-icon-btn {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 50%;
  color: #07182e;
}
.ts-icon-btn:hover { background: #f4f7fb; color: #145dbe; }
.ts-icon-btn svg { width: 23px; height: 23px; stroke-width: 1.75; }
.ts-cart-btn { margin-left: 1px; }
.ts-cart-count {
  position: absolute;
  top: -2px;
  right: -3px;
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #07182e;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  border: 2px solid #fff;
}
.ts-menu-toggle { display: none; }
@media (max-width: 1260px) {
  .ts-topbar .ts-wrap,
  .site-header .ts-wrap { width: calc(100% - 36px); }
  .ts-navbar { grid-template-columns: 225px minmax(0, 1fr) 150px; }
  .ts-brand--image img { width: 210px; height: auto; }
  .primary-menu { gap: 27px; }
}
@media (max-width: 980px) {
  .site-header { height: 68px; min-height: 68px; }
  .ts-navbar { min-height: 68px; height: 68px; grid-template-columns: 1fr auto; }
  .site-branding { height: 68px; }
  .ts-brand--image img { width: 195px; height: auto; }
  .main-navigation {
    position: fixed;
    top: 99px;
    left: 14px;
    right: 14px;
    height: auto;
    display: block;
  }
  .primary-menu,
  .primary-menu > li,
  .primary-menu > li > a { min-height: auto; height: auto; }
  .primary-menu { gap: 4px; }
  .primary-menu > li { display: block; }
  .primary-menu > li > a { display: block; padding: 11px 12px; }
  .ts-nav-actions { height: 68px; gap: 4px; }
  .ts-menu-toggle { display: grid; }
}
@media (max-width: 640px) {
  .ts-topbar .ts-wrap,
  .site-header .ts-wrap { width: calc(100% - 24px); }
  .ts-topbar__group:first-child a:nth-child(2),
  .ts-topbar__group:first-child a:nth-child(3) { display: none; }
  .ts-topbar__group:last-child a:last-child { display: none; }
  .ts-brand--image img { width: 175px; }
}


/* Version 1.2.3 — HERO pixel pass, approved first mockup */
@media (min-width: 1101px) {
  .ts-hero-v2 {
    height: 343px;
    min-height: 343px;
    overflow: hidden;
    background: #fff;
    border-bottom: 1px solid #edf1f5;
  }
  .ts-hero-v2 .ts-wrap {
    width: 100%;
    max-width: none;
    margin: 0;
  }
  .ts-hero-v2__inner {
    height: 343px;
    min-height: 343px;
    display: grid;
    grid-template-columns: 46% 54%;
    gap: 0;
    align-items: stretch;
  }
  .ts-hero-v2__copy {
    position: relative;
    z-index: 2;
    min-width: 0;
    padding: 43px 24px 18px max(24px, calc((100vw - 1416px) / 2 + 16px));
    background: #fff;
    overflow: visible;
  }
  .ts-hero-v2__eyebrow { display: none !important; }
  .ts-hero-v2 h1 {
    width: 540px;
    max-width: 100%;
    margin: 0;
    color: #0b172d;
    font-size: 45px;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -2.2px;
  }
  .ts-hero-v2 h1 span { color: #1f63d5; }
  .ts-hero-v2__lead {
    width: 565px;
    max-width: 100%;
    margin: 17px 0 0;
    color: #101b2e;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.48;
  }
  .ts-hero-v2__actions {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
  }
  .ts-hero-v2__actions .ts-btn {
    min-height: 42px;
    height: 42px;
    padding: 0 24px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    box-shadow: none;
  }
  .ts-hero-v2__actions .ts-btn:first-child { text-transform: uppercase; }
  .ts-hero-v2__actions .ts-btn:first-child svg { width: 16px; height: 16px; }
  .ts-hero-v2__actions .ts-btn--ghost {
    min-width: 190px;
    padding: 0 6px;
    justify-content: flex-start;
    color: #07182e;
    background: transparent;
    font-size: 12px;
    text-transform: none;
  }
  .ts-hero-v2__actions .ts-btn--ghost svg {
    width: 20px;
    height: 20px;
    color: #145dbe;
  }
  .ts-hero-v2__trust {
    position: absolute;
    left: max(24px, calc((100vw - 1416px) / 2 + 16px));
    bottom: 17px;
    z-index: 4;
    width: max-content;
    max-width: none;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 29px;
    margin: 0;
    padding: 0;
    border: 0;
    color: #26374d;
    font-size: 9px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
  }
  .ts-hero-v2__trust span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .ts-hero-v2__trust svg {
    width: 17px;
    height: 17px;
    color: #071d36;
    stroke-width: 1.6;
  }
  .ts-hero-v2__visual {
    position: relative;
    z-index: 1;
    height: 343px;
    min-height: 343px;
    overflow: hidden;
    background: #e9eef5;
  }
  .ts-hero-v2__visual::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    width: 13%;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,.82), rgba(255,255,255,0));
  }
  .ts-hero-v2__visual img {
    display: block;
    width: 100%;
    height: 343px;
    min-height: 343px;
    object-fit: cover;
    object-position: center center;
  }
}
@media (min-width: 1101px) and (max-width: 1260px) {
  .ts-hero-v2__inner { grid-template-columns: 47% 53%; }
  .ts-hero-v2 h1 { font-size: 42px; width: 505px; }
  .ts-hero-v2__lead { width: 515px; font-size: 14px; }
  .ts-hero-v2__trust { gap: 20px; font-size: 8.5px; }
}
@media (max-width: 1100px) {
  .ts-hero-v2 { height: auto; min-height: 0; }
  .ts-hero-v2__copy { padding-top: 52px; }
  .ts-hero-v2__eyebrow { display: none !important; }
  .ts-hero-v2 h1 { font-size: clamp(2.8rem, 8vw, 4.1rem); line-height: 1.02; }
  .ts-hero-v2__visual { min-height: 0; }
  .ts-hero-v2__visual img { width: 100%; height: auto; min-height: 0; object-fit: contain; }
}


/* Version 1.2.4 — PROCESS section pixel pass */
@media (min-width: 1101px) {
  .ts-home-grid-v2 {
    padding: 0;
    background: #fff;
  }
  .ts-home-grid-v2 > .ts-wrap {
    width: min(1416px, calc(100% - 48px));
  }
  .ts-home-grid-v2__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 384px;
    gap: 31px;
    align-items: start;
  }
  .ts-home-process-v2 {
    height: 209px;
    min-height: 209px;
    padding: 17px 10px 0;
    overflow: hidden;
    background: #fff;
  }
  .ts-home-process-v2 h2 {
    margin: 0;
    color: #07182e;
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.25px;
  }
  .ts-steps-v2 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 24px;
  }
  .ts-step-v2 {
    min-height: 0;
    padding: 0 23px 0 12px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: left;
  }
  .ts-step-v2::after { display: none !important; }
  .ts-step-v2__top {
    height: 54px;
    display: flex;
    align-items: center;
    gap: 29px;
    margin: 0 0 10px;
  }
  .ts-step-v2__number {
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
    margin: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #1764c8;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    box-shadow: none;
  }
  .ts-step-v2__icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #07182e;
    box-shadow: none;
  }
  .ts-step-v2__icon svg {
    width: 43px;
    height: 43px;
    stroke-width: 1.55;
  }
  .ts-step-v2 h3 {
    margin: 0 0 7px;
    color: #07182e;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0;
  }
  .ts-step-v2 p {
    max-width: 185px;
    margin: 0;
    color: #27364a;
    font-size: 9.5px;
    font-weight: 400;
    line-height: 1.55;
  }
  .ts-home-categories-v2 {
    margin-top: 0;
  }
  .ts-home-grid-v2__aside {
    padding-top: 12px;
  }
}
@media (min-width: 1101px) and (max-width: 1260px) {
  .ts-home-grid-v2__inner {
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: 24px;
  }
  .ts-step-v2 { padding-right: 14px; }
  .ts-step-v2__top { gap: 19px; }
  .ts-step-v2 p { max-width: 165px; }
}
@media (max-width: 1100px) {
  .ts-step-v2__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
  }
  .ts-step-v2__number,
  .ts-step-v2__icon { margin: 0; }
}


/* Version 1.2.5 — CATEGORIES section pixel pass */
@media (min-width: 1101px) {
  .ts-home-categories-v2 {
    width: calc(100% - 3px);
    height: 211px;
    min-height: 211px;
    margin: 0;
    padding: 10px 10px 12px;
    overflow: hidden;
    border: 1px solid #e8ebef;
    border-radius: 11px;
    background: #f7f8fa;
    box-shadow: none;
  }
  .ts-home-categories-v2 h2 {
    height: 22px;
    margin: 0 0 8px 2px;
    color: #07182e;
    font-size: 13px;
    font-weight: 900;
    line-height: 22px;
    letter-spacing: -.15px;
  }
  .ts-categories-v2 {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 19px;
    align-items: start;
  }
  .ts-category-card-v2 {
    height: 147px;
    min-height: 147px;
    overflow: hidden;
    border: 1px solid #e2e5e9;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 3px 8px rgba(7,29,54,.05);
    transform: none;
  }
  .ts-category-card-v2:hover {
    transform: none;
    box-shadow: 0 5px 12px rgba(7,29,54,.08);
  }
  .ts-category-card-v2__art {
    width: 100%;
    height: 77px;
    aspect-ratio: auto;
    overflow: hidden;
    border: 0;
    background: #ececec;
  }
  .ts-category-card-v2__art img {
    width: 100%;
    height: 77px;
    object-fit: cover;
    object-position: center;
    display: block;
    transform: none !important;
  }
  .ts-category-card-v2__body {
    height: 69px;
    padding: 8px 8px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    background: #fff;
  }
  .ts-category-card-v2__body h3 {
    width: 100%;
    min-height: 13px;
    margin: 0 0 8px;
    overflow: hidden;
    color: #07182e;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 13px;
    letter-spacing: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .ts-category-card-v2__body .ts-btn,
  .ts-category-card-v2__body .ts-btn--secondary {
    width: auto;
    min-width: 88px;
    max-width: 100%;
    min-height: 24px;
    height: 24px;
    margin: 0;
    padding: 0 10px;
    border: 1px solid #8db9f5;
    border-radius: 4px;
    background: #fff;
    color: #145dbe;
    box-shadow: none;
    font-size: 8px;
    font-weight: 700;
    line-height: 22px;
    white-space: nowrap;
    transform: none;
  }
  .ts-category-card-v2__body .ts-btn:hover,
  .ts-category-card-v2__body .ts-btn--secondary:hover {
    background: #f4f8ff;
    color: #145dbe;
    box-shadow: none;
    transform: none;
  }
}
@media (min-width: 1101px) and (max-width: 1260px) {
  .ts-categories-v2 { gap: 11px; }
  .ts-category-card-v2__body h3 { font-size: 8.5px; }
  .ts-category-card-v2__body .ts-btn { min-width: 78px; padding-inline: 7px; font-size: 7.5px; }
}


/* Version 1.2.6 — RIGHT SIDEBAR pixel pass */
@media (min-width: 1101px) {
  .ts-home-grid-v2__aside {
    width: 384px;
    display: grid;
    grid-template-rows: 205px 202px;
    gap: 4px;
    padding-top: 12px;
  }
  .ts-side-card-v2 {
    width: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e6e9ee;
    border-radius: 11px;
    background: #fff;
    box-shadow: none;
  }
  .ts-side-card-v2--markets {
    height: 205px;
    padding: 14px 17px 13px;
    display: grid;
    grid-template-columns: 154px minmax(0, 1fr);
    grid-template-rows: 24px 73px 55px;
    column-gap: 15px;
    row-gap: 5px;
    color: #fff;
    border: 0;
    background: linear-gradient(145deg, #061d36 0%, #082d54 55%, #0b3968 100%);
  }
  .ts-side-card-v2--markets .ts-side-card-v2__head {
    grid-column: 1 / -1;
    grid-row: 1;
    height: 24px;
    margin: 0;
    padding: 0;
    align-items: start;
  }
  .ts-side-card-v2--markets .ts-side-card-v2__head h3 {
    margin: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 18px;
    letter-spacing: 0;
  }
  .ts-side-card-v2--markets .ts-side-card-v2__head > svg {
    width: 11px;
    height: 11px;
    margin-top: 2px;
    opacity: .55;
  }
  .ts-side-card-v2__map {
    grid-column: 1;
    grid-row: 2;
    width: 154px;
    height: 73px;
    min-height: 0;
    margin: 0;
    border-radius: 0;
    background: url('../images/sidebar-world-map.webp') center / contain no-repeat;
  }
  .ts-side-card-v2__map svg { display: none; }
  .ts-markets-v2 { display: contents; }
  .ts-market-v2 {
    min-width: 0;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 27px minmax(0, 1fr) 8px;
    align-items: start;
    gap: 8px;
    color: #fff;
    border: 0;
  }
  .ts-market-v2:nth-child(1) {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
  }
  .ts-market-v2:nth-child(2) {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
  }
  .ts-market-v2:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
    width: 140px;
    align-self: start;
    grid-template-columns: 22px minmax(0,1fr);
    padding-top: 5px;
  }
  .ts-market-v2:nth-child(3) small,
  .ts-market-v2:nth-child(3) > svg:last-child { display: none; }
  .ts-market-v2__flag {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: transparent;
    font-size: 17px;
    line-height: 1;
  }
  .ts-market-v2:nth-child(3) .ts-market-v2__flag {
    width: 19px;
    height: 19px;
    font-size: 12px;
  }
  .ts-market-v2 strong {
    display: block;
    margin: 0;
    color: #fff;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 13px;
  }
  .ts-market-v2 small {
    display: block;
    margin: 2px 0 0;
    color: #d4dfeb;
    font-size: 7px;
    font-weight: 400;
    line-height: 1.45;
  }
  .ts-market-v2 > svg:last-child {
    width: 8px;
    height: 8px;
    margin-top: 4px;
    color: #9db4cc;
  }

  .ts-side-card-v2:not(.ts-side-card-v2--markets) {
    height: 202px;
    padding: 13px 17px 10px;
    background: #fbfbfc;
  }
  .ts-side-card-v2:not(.ts-side-card-v2--markets) .ts-side-card-v2__head {
    height: 24px;
    margin: 0 0 2px;
    padding: 0;
  }
  .ts-side-card-v2:not(.ts-side-card-v2--markets) .ts-side-card-v2__head h3 {
    margin: 0;
    color: #07182e;
    font-size: 12px;
    font-weight: 900;
    line-height: 20px;
    letter-spacing: 0;
  }
  .ts-resource-list-v2 {
    margin: 0;
    padding: 0;
  }
  .ts-resource-list-v2 li,
  .ts-resource-list-v2 li + li { border: 0; }
  .ts-resource-list-v2 a {
    min-height: 31px;
    padding: 4px 0;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 10px;
    align-items: center;
    gap: 9px;
    color: #07182e;
    font-size: 8.5px;
    font-weight: 800;
    line-height: 1.2;
  }
  .ts-resource-list-v2__icon {
    width: 20px;
    height: 20px;
    border-radius: 5px;
    background: transparent;
    color: #0c4b97;
  }
  .ts-resource-list-v2__icon svg {
    width: 14px;
    height: 14px;
    stroke-width: 1.7;
  }
  .ts-resource-list-v2 a > svg:last-child {
    width: 9px;
    height: 9px;
    color: #07182e;
    stroke-width: 2;
  }
}
@media (min-width: 1101px) and (max-width: 1260px) {
  .ts-home-grid-v2__aside { width: 350px; }
  .ts-side-card-v2--markets { grid-template-columns: 140px minmax(0,1fr); column-gap: 10px; }
  .ts-side-card-v2__map { width: 140px; }
}


/* Version 1.2.7 — STATS + HOME FOOTER pixel pass */
@media (min-width: 1101px) {
  .ts-stats-v2 {
    margin-top: 11px;
    height: 69px;
    border-top: 1px solid #d8e5f5;
    border-bottom: 1px solid #d8e5f5;
    background: linear-gradient(90deg, #eff7ff 0%, #f7fbff 52%, #eef7ff 100%);
  }
  .ts-stats-v2__grid {
    height: 68px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
  }
  .ts-stat-v2 {
    min-height: 68px;
    height: 68px;
    padding: 0 36px;
    display: flex;
    align-items: center;
    gap: 15px;
    border: 0 !important;
  }
  .ts-stat-v2__icon {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    display: grid;
    place-items: center;
    border-radius: 0;
    background: transparent;
    color: #1166d7;
    box-shadow: none;
  }
  .ts-stat-v2__icon svg {
    width: 31px;
    height: 31px;
    stroke-width: 1.65;
  }
  .ts-stat-v2 strong {
    display: block;
    margin: 0;
    color: #07182e;
    font-size: 13px;
    font-weight: 900;
    line-height: 16px;
    white-space: nowrap;
  }
  .ts-stat-v2 small {
    display: block;
    margin: 1px 0 0;
    color: #1e3048;
    font-size: 8.5px;
    font-weight: 500;
    line-height: 12px;
    white-space: nowrap;
  }

  .site-footer--home {
    margin: 0;
    padding: 0;
    background: #061d36;
  }
  .ts-home-footerbar {
    height: 68px;
    background: linear-gradient(90deg, #061d36 0%, #082748 55%, #061d36 100%);
    color: #fff;
  }
  .ts-home-footerbar__inner {
    height: 68px;
    display: grid;
    grid-template-columns: 184px 295px minmax(0, 1fr);
    align-items: center;
    gap: 22px;
  }
  .ts-home-footerbar__intro {
    min-width: 0;
  }
  .ts-home-footerbar__intro strong,
  .ts-home-footerbar__intro span {
    display: block;
  }
  .ts-home-footerbar__intro strong {
    color: #fff;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 14px;
    white-space: nowrap;
  }
  .ts-home-footerbar__intro span {
    margin-top: 2px;
    color: #d2deeb;
    font-size: 8px;
    line-height: 12px;
  }
  .ts-home-footerbar__form {
    width: 295px;
    display: grid;
    grid-template-columns: 1fr 82px;
    gap: 0;
  }
  .ts-home-footerbar__form input {
    width: 100%;
    height: 34px;
    min-height: 34px;
    padding: 0 14px;
    border: 0;
    border-radius: 6px 0 0 6px;
    background: #fff;
    color: #07182e;
    font-size: 8.5px;
  }
  .ts-home-footerbar__form .ts-btn {
    min-height: 34px;
    height: 34px;
    padding: 0 12px;
    border-radius: 0 6px 6px 0;
    background: #1d66d2;
    color: #fff;
    font-size: 8.5px;
    font-weight: 800;
    box-shadow: none;
    transform: none;
  }
  .ts-home-footerbar__benefits {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 26px;
  }
  .ts-home-footerbar__benefit {
    min-width: 0;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
  }
  .ts-home-footerbar__benefit > svg {
    width: 28px;
    height: 28px;
    color: #fff;
    stroke-width: 1.4;
  }
  .ts-home-footerbar__benefit span,
  .ts-home-footerbar__benefit strong,
  .ts-home-footerbar__benefit small {
    display: block;
  }
  .ts-home-footerbar__benefit strong {
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    line-height: 13px;
    white-space: nowrap;
  }
  .ts-home-footerbar__benefit small {
    margin-top: 1px;
    color: #d7e1ec;
    font-size: 7.5px;
    font-weight: 400;
    line-height: 11px;
    white-space: nowrap;
  }
}
@media (max-width: 1100px) {
  .ts-home-footerbar { padding: 22px 0; }
  .ts-home-footerbar__inner { display: grid; gap: 18px; }
  .ts-home-footerbar__form { display: grid; grid-template-columns: 1fr auto; }
  .ts-home-footerbar__benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .ts-home-footerbar__benefit { display: flex; align-items: center; gap: 10px; }
  .ts-home-footerbar__benefit > svg { width: 26px; height: 26px; color: #fff; }
  .ts-home-footerbar__intro strong, .ts-home-footerbar__benefit strong { color: #fff; }
  .ts-home-footerbar__intro span, .ts-home-footerbar__benefit small { color: #d7e1ec; }
}
@media (max-width: 640px) {
  .ts-home-footerbar__benefits { grid-template-columns: 1fr; }
  .ts-home-footerbar__form { grid-template-columns: 1fr; gap: 8px; }
  .ts-home-footerbar__form input, .ts-home-footerbar__form .ts-btn { border-radius: 7px; }
}


/* Version 1.3 — functional selector page */
.ts-selector-page { background: #f7f9fc; }
.ts-selector-page__hero { padding: 62px 0 54px; background: linear-gradient(135deg,#fff 0%,#eef5ff 100%); border-bottom: 1px solid var(--ts-line); }
.ts-selector-page__hero-inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 40px; align-items: center; }
.ts-selector-page__kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 17px; color: var(--ts-blue); font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.ts-selector-page__kicker svg { width: 18px; height: 18px; }
.ts-selector-page__hero h1 { max-width: 820px; margin: 0; font-size: clamp(2.5rem,4.2vw,4.3rem); line-height: 1.02; letter-spacing: -.055em; }
.ts-selector-page__hero p { max-width: 780px; margin: 18px 0 0; color: #526177; font-size: 1.05rem; }
.ts-selector-page__hero-note { display: flex; align-items: center; gap: 14px; min-width: 260px; padding: 20px 22px; border: 1px solid #cfe0f8; border-radius: 18px; background: rgba(255,255,255,.82); box-shadow: var(--ts-shadow-soft); }
.ts-selector-page__hero-note > svg { width: 36px; height: 36px; color: var(--ts-blue); }
.ts-selector-page__hero-note strong,.ts-selector-page__hero-note span { display: block; }
.ts-selector-page__hero-note strong { font-size: .96rem; }
.ts-selector-page__hero-note span { margin-top: 2px; color: var(--ts-muted); font-size: .78rem; }
.ts-selector-page__body { padding: 50px 0 86px; }
.ts-selector-page__layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 28px; align-items: start; }
.ts-selector-workspace { padding: 28px; border: 1px solid var(--ts-line); border-radius: 22px; background: #fff; box-shadow: var(--ts-shadow-soft); }
.ts-selector-form--page { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 18px; }
.ts-selector-field-card { position: relative; min-width: 0; padding: 20px 18px 18px 68px; border: 1px solid #dce4ef; border-radius: 15px; background: #fff; }
.ts-selector-field-card__icon { position: absolute; left: 18px; top: 18px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: var(--ts-blue); background: #edf4ff; }
.ts-selector-field-card__icon svg { width: 20px; height: 20px; }
.ts-selector-field-card label { display: block; min-height: 42px; margin-bottom: 9px; color: #26354b; font-size: .84rem; font-weight: 850; line-height: 1.35; }
.ts-selector-field-card select, .ts-selector-field-card input[type="number"] { width: 100%; min-height: 47px; padding: 0 38px 0 12px; border: 1px solid #cbd6e4; border-radius: 9px; background-color: #fff; color: var(--ts-ink); }
.ts-selector-submit { grid-column: 1/-1; min-height: 55px; margin-top: 4px; }
.ts-selector-result--page { margin-top: 24px; padding: 24px; border-radius: 17px; }
.ts-selector-result--page.is-visible { grid-template-columns: 68px minmax(0,1fr) auto; }
.ts-selector-result__label { display: block; margin-bottom: 5px; color: var(--ts-blue); font-size: .71rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.ts-selector-result--page h2 { margin: 0 0 8px; font-size: 1.35rem; }
.ts-selector-aside { display: grid; gap: 18px; }
.ts-selector-aside__card { padding: 22px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(7,29,54,.045); }
.ts-selector-aside__card--dark { color: #fff; background: linear-gradient(145deg,var(--ts-navy),#0b3b70); border-color: transparent; }
.ts-selector-aside__card h2 { margin: 0 0 14px; font-size: 1.03rem; }
.ts-selector-aside__card p { margin: 0; color: #617086; font-size: .86rem; }
.ts-selector-aside__card--dark ul { list-style: none; margin: 0; padding: 0; }
.ts-selector-aside__card--dark li { display: flex; gap: 10px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.12); font-size: .83rem; }
.ts-selector-aside__card--dark li:first-child { border-top: 0; }
.ts-selector-aside__card--dark li svg { width: 17px; height: 17px; flex: 0 0 auto; color: #73aaff; }
.ts-selector-aside__title { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.ts-selector-aside__title h2 { margin: 0; }
.ts-selector-aside__title svg { width: 22px; height: 22px; color: var(--ts-blue); }
@media (max-width: 980px) {
 .ts-selector-page__hero-inner,.ts-selector-page__layout { grid-template-columns: 1fr; }
 .ts-selector-page__hero-note { width: fit-content; }
 .ts-selector-aside { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 720px) {
 .ts-selector-page__hero { padding: 44px 0 38px; }
 .ts-selector-page__body { padding: 28px 0 60px; }
 .ts-selector-workspace { padding: 18px; }
 .ts-selector-form--page,.ts-selector-aside { grid-template-columns: 1fr; }
 .ts-selector-result--page.is-visible { grid-template-columns: 54px 1fr; }
 .ts-selector-result--page .ts-btn { grid-column: 1/-1; width: 100%; }
}


/* Complete V1 internal pages — preserves the validated visual system */
.ts-platform-page{background:#fff}.ts-platform-hero{padding:64px 0;background:linear-gradient(135deg,#f7faff,#edf4ff);border-bottom:1px solid var(--ts-line)}.ts-platform-hero__inner{max-width:980px}.ts-platform-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--ts-blue);font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.ts-platform-kicker svg{width:20px;height:20px}.ts-platform-hero h1{margin:14px 0 12px;font-size:clamp(2.5rem,5vw,4.4rem);line-height:1;letter-spacing:-.055em}.ts-platform-hero p{max-width:760px;margin:0;color:var(--ts-muted);font-size:1.12rem}.ts-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.ts-platform-content{padding:64px 0 90px}.ts-platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ts-platform-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ts-feature-card{padding:26px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.05)}.ts-feature-card>span{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--ts-sky);color:var(--ts-blue)}.ts-feature-card>span svg{width:25px;height:25px}.ts-feature-card h2{margin:18px 0 8px;font-size:1.18rem}.ts-feature-card p{color:var(--ts-muted)}.ts-feature-card a{display:inline-flex;align-items:center;gap:8px;font-weight:800}.ts-feature-card a svg{width:16px}.ts-prose-card{max-width:920px;padding:34px;border:1px solid var(--ts-line);border-radius:20px;background:#fff;box-shadow:var(--ts-shadow-soft)}.ts-prose-card h2{margin-top:28px}.ts-prose-card h2:first-child{margin-top:0}.ts-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px}.ts-contact-form,.ts-contact-aside{padding:28px;border:1px solid var(--ts-line);border-radius:20px;background:#fff;box-shadow:var(--ts-shadow-soft)}.ts-contact-form{display:grid;gap:17px}.ts-contact-form label{display:grid;gap:7px;font-weight:800}.ts-contact-form input,.ts-contact-form textarea{width:100%;padding:12px 14px;border:1px solid #cfd8e5;border-radius:10px}.ts-contact-aside h2{margin-top:0}.ts-notice-success{margin-bottom:20px;padding:14px 18px;border-radius:10px;background:#ecfdf3;color:#16784a;font-weight:800}.ts-tool-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px}.ts-tool-detail h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05}.ts-tool-facts{align-self:start;padding:24px;border:1px solid var(--ts-line);border-radius:18px;background:#f8fbff;position:sticky;top:120px}.ts-tool-facts h2{margin-top:0}@media(max-width:900px){.ts-platform-grid,.ts-platform-grid--3,.ts-contact-layout,.ts-tool-detail{grid-template-columns:1fr}}@media(max-width:640px){.ts-platform-hero{padding:44px 0}.ts-hero-actions{flex-direction:column;align-items:stretch}.ts-platform-content{padding:44px 0 64px}.ts-prose-card,.ts-contact-form,.ts-contact-aside,.ts-feature-card{padding:22px}}


/* 1.5.0 — Guides and product system */
.ts-section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 28px}.ts-section-intro h2{margin:0 0 6px;font-size:1.65rem}.ts-section-intro p{margin:0;color:var(--ts-muted)}
.ts-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;padding:15px 18px;border:1px solid var(--ts-line);border-radius:14px;background:#fff}.ts-filter-bar>span{display:flex;align-items:center;gap:9px;font-weight:800}.ts-filter-bar svg{width:18px;height:18px}.ts-filter-bar .search-form{display:flex;gap:8px}.ts-filter-bar .search-field{min-height:42px;border:1px solid var(--ts-line);border-radius:9px;padding:0 12px}.ts-filter-bar .search-submit{min-height:42px;border:0;border-radius:9px;background:var(--ts-blue);color:#fff;padding:0 16px;font-weight:800}
.ts-content-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ts-editorial-card{display:grid;grid-template-columns:210px 1fr;overflow:hidden;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.05)}.ts-editorial-card__media{min-height:230px;display:grid;place-items:center;background:#edf3fa;color:var(--ts-blue)}.ts-editorial-card__media img{width:100%;height:100%;object-fit:cover}.ts-editorial-card__media svg{width:58px;height:58px}.ts-editorial-card__body{padding:24px}.ts-editorial-card__meta{color:var(--ts-muted);font-size:.75rem;font-weight:700}.ts-editorial-card h2{margin:8px 0 10px;font-size:1.25rem;line-height:1.25}.ts-editorial-card p{margin:0 0 16px;color:var(--ts-muted)}.ts-text-link{display:inline-flex;align-items:center;gap:8px;font-weight:800}.ts-text-link svg{width:16px;height:16px}.ts-coming-soon{display:inline-flex;padding:7px 10px;border-radius:8px;background:#f3f6fa;color:#667085;font-size:.75rem;font-weight:800}
.ts-empty-state{grid-column:1/-1;padding:60px 30px;text-align:center;border:1px dashed #cbd5e1;border-radius:18px;background:#fff}.ts-empty-state>span{width:70px;height:70px;display:grid;place-items:center;margin:0 auto 18px;border-radius:18px;background:var(--ts-sky);color:var(--ts-blue)}.ts-empty-state svg{width:36px;height:36px}.ts-empty-state h2{margin:0 0 8px}.ts-empty-state p{margin:0 auto 20px;max-width:560px;color:var(--ts-muted)}
.ts-article-hero{padding:62px 0;background:linear-gradient(180deg,#f7fbff,#fff);border-bottom:1px solid var(--ts-line)}.ts-article-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:54px;align-items:center}.ts-article-hero h1{margin:10px 0 16px;font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.055em}.ts-article-hero p{max-width:720px;color:var(--ts-muted);font-size:1.08rem}.ts-article-meta{margin-top:22px;color:#526176;font-size:.83rem;font-weight:700}.ts-article-hero__image{aspect-ratio:1.55;overflow:hidden;border-radius:20px;box-shadow:var(--ts-shadow)}.ts-article-hero__image img{width:100%;height:100%;object-fit:cover}.ts-article-layout{display:grid;grid-template-columns:minmax(0,820px) 330px;justify-content:center;gap:50px;padding:62px 0 90px}.ts-article-content{font-size:1.03rem}.ts-article-content h2{margin-top:2em;font-size:1.85rem}.ts-article-content h3{margin-top:1.6em;font-size:1.35rem}.ts-article-content img{border-radius:14px}.ts-article-aside{min-width:0}.ts-sticky-card{position:sticky;top:130px;padding:24px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:var(--ts-shadow-soft)}.ts-sticky-card h2{margin:0 0 10px;font-size:1.2rem}.ts-sticky-card h3{margin:22px 0 8px;font-size:1rem}.ts-sticky-card p{color:var(--ts-muted)}.ts-sticky-card .ts-btn{width:100%}.ts-safety-note{margin-top:42px;padding:20px 22px;border-left:4px solid #d88b00;border-radius:10px;background:#fff8e8}.ts-safety-note p{margin:4px 0 0}
.ts-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ts-product-card{overflow:hidden;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.05)}.ts-product-card__media{aspect-ratio:1.48;display:grid;place-items:center;background:#eef2f6;color:var(--ts-blue)}.ts-product-card__media img{width:100%;height:100%;object-fit:cover}.ts-product-card__media svg{width:64px;height:64px}.ts-product-card__body{padding:20px}.ts-product-card__type{color:var(--ts-blue);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ts-product-card h2{margin:7px 0 9px;font-size:1.15rem}.ts-product-card p{color:var(--ts-muted);font-size:.9rem}.ts-mini-specs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.ts-mini-specs span{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:#f5f7fa;color:#526176;font-size:.72rem;font-weight:700}.ts-mini-specs svg{width:14px;height:14px}.ts-product-card .ts-btn{width:100%}
.ts-tool-hero{padding:56px 0;background:linear-gradient(180deg,#f7fbff,#fff);border-bottom:1px solid var(--ts-line)}.ts-tool-hero__grid{display:grid;grid-template-columns:460px minmax(0,1fr);gap:54px;align-items:center}.ts-tool-hero__media{aspect-ratio:1.35;display:grid;place-items:center;overflow:hidden;border-radius:20px;background:#eef2f6;color:var(--ts-blue);box-shadow:var(--ts-shadow-soft)}.ts-tool-hero__media>svg{width:90px;height:90px}.ts-tool-hero__media img{width:100%;height:100%;object-fit:cover}.ts-tool-hero h1{margin:10px 0 14px;font-size:clamp(2.5rem,4.5vw,4.25rem);line-height:1.02;letter-spacing:-.055em}.ts-tool-hero p{color:var(--ts-muted);font-size:1.05rem}.ts-tool-actions{display:flex;align-items:center;gap:16px;margin-top:24px}.ts-neutral-commerce-note{padding:8px 11px;border-radius:8px;background:#f3f5f7;color:#667085;font-size:.75rem;font-weight:800}.ts-tool-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px}.ts-spec-table{overflow:hidden;border:1px solid var(--ts-line);border-radius:18px;background:#fff}.ts-spec-table h2{margin:0;padding:20px 22px;border-bottom:1px solid var(--ts-line);font-size:1.25rem}.ts-spec-table>div{display:grid;grid-template-columns:220px 1fr;gap:18px;padding:14px 22px;border-bottom:1px solid #edf0f4}.ts-spec-table>div:last-child{border-bottom:0}.ts-spec-table span{color:var(--ts-muted)}.ts-tool-description{margin-top:24px}
@media(max-width:980px){.ts-content-list-grid,.ts-product-grid{grid-template-columns:1fr 1fr}.ts-editorial-card{grid-template-columns:1fr}.ts-editorial-card__media{min-height:190px}.ts-article-hero__grid,.ts-article-layout,.ts-tool-hero__grid,.ts-tool-layout{grid-template-columns:1fr}.ts-article-hero__image{max-width:650px}.ts-tool-hero__media{max-width:560px}.ts-sticky-card{position:static}}
@media(max-width:640px){.ts-section-intro,.ts-filter-bar{align-items:stretch;flex-direction:column}.ts-filter-bar .search-form{width:100%}.ts-filter-bar .search-field{min-width:0;width:100%}.ts-content-list-grid,.ts-product-grid{grid-template-columns:1fr}.ts-article-hero,.ts-tool-hero{padding:42px 0}.ts-article-layout{padding:44px 0 70px}.ts-spec-table>div{grid-template-columns:1fr;gap:4px}.ts-tool-actions{align-items:stretch;flex-direction:column}.ts-neutral-commerce-note{text-align:center}}


/* 1.6.0 — supplier directory and technical resources */
.ts-directory-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}.ts-directory-toolbar a{padding:8px 13px;border:1px solid var(--ts-line);border-radius:999px;background:#fff;color:var(--ts-ink);font-size:.82rem;font-weight:800}.ts-directory-toolbar a:hover{border-color:var(--ts-blue);color:var(--ts-blue)}
.ts-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ts-directory-card{overflow:hidden;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.05)}.ts-directory-card__media{height:155px;display:grid;place-items:center;background:#eef4fb;color:var(--ts-blue)}.ts-directory-card__media img{width:100%;height:100%;object-fit:cover}.ts-directory-card__media svg{width:58px;height:58px}.ts-directory-card__body{padding:20px}.ts-directory-card__meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--ts-blue);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ts-directory-card h2{margin:0 0 8px;font-size:1.18rem}.ts-directory-card p{margin:0 0 14px;color:var(--ts-muted);font-size:.88rem}.ts-directory-card dl{margin:0 0 16px}.ts-directory-card dl div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-top:1px solid var(--ts-line);font-size:.8rem}.ts-directory-card dt{font-weight:800}.ts-directory-card dd{margin:0;text-align:right;color:var(--ts-muted)}
.ts-resource-grid-pro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ts-resource-card-pro{display:grid;grid-template-columns:58px 1fr;gap:16px;padding:22px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.04)}.ts-resource-card-pro__icon{width:58px;height:58px;display:grid;place-items:center;border-radius:14px;background:var(--ts-sky);color:var(--ts-blue)}.ts-resource-card-pro__icon svg{width:30px;height:30px}.ts-resource-card-pro__meta{display:flex;gap:8px;flex-wrap:wrap}.ts-resource-card-pro__meta span{padding:4px 7px;border-radius:6px;background:#f2f5f9;color:#536176;font-size:.68rem;font-weight:800}.ts-resource-card-pro h2{margin:9px 0 7px;font-size:1.13rem}.ts-resource-card-pro p{margin:0 0 11px;color:var(--ts-muted);font-size:.88rem}.ts-resource-card-pro a{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:800}.ts-resource-card-pro a svg{width:15px;height:15px}
.ts-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.ts-detail-sidebar{padding:22px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.05)}.ts-detail-sidebar h2{margin:0 0 16px}.ts-spec-list{margin:0 0 18px}.ts-spec-list div{padding:10px 0;border-top:1px solid var(--ts-line)}.ts-spec-list div:first-child{border-top:0}.ts-spec-list dt{font-size:.72rem;font-weight:900;text-transform:uppercase;color:#667085}.ts-spec-list dd{margin:4px 0 0;font-weight:700}.ts-detail-sidebar .ts-btn{width:100%;margin-top:9px}.ts-safety-note,.ts-warning-box{margin-top:18px;padding:14px;border-left:4px solid #d99a00;background:#fff8e8;color:#684b00;font-size:.82rem}.ts-warning-box strong{display:block;margin-bottom:5px}.ts-empty-state{padding:42px;border:1px dashed #bdc9d8;border-radius:18px;text-align:center;background:#fbfcfe}.ts-empty-state h2{margin-top:0}
@media(max-width:1000px){.ts-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-detail-layout{grid-template-columns:1fr}.ts-detail-sidebar{order:-1}}@media(max-width:680px){.ts-directory-grid,.ts-resource-grid-pro{grid-template-columns:1fr}.ts-resource-card-pro{grid-template-columns:48px 1fr;padding:17px}.ts-resource-card-pro__icon{width:48px;height:48px}}


/* Version 1.7 — technical calculators */
.ts-calculators-content { padding: 52px 0 84px; background: var(--ts-surface); }
.ts-calculator-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; padding: 7px; border: 1px solid var(--ts-line); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(7,29,54,.04); }
.ts-calculator-tabs button { flex: 1 1 150px; min-height: 44px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; color: #405065; font-weight: 800; cursor: pointer; }
.ts-calculator-tabs button.is-active { background: var(--ts-blue); color: #fff; box-shadow: 0 8px 16px rgba(31,99,213,.2); }
.ts-calculator-panel { display: none; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; align-items: start; }
.ts-calculator-panel.is-active { display: grid; }
.ts-calculator-card, .ts-formula-card { border: 1px solid var(--ts-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 34px rgba(7,29,54,.06); }
.ts-calculator-card { padding: 28px; }
.ts-calculator-card--wide { grid-column: 1 / -1; }
.ts-calculator-card__intro { display: flex; align-items: center; gap: 15px; margin-bottom: 24px; }
.ts-calculator-card__intro > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 15px; background: var(--ts-sky); color: var(--ts-blue); }
.ts-calculator-card__intro > span svg { width: 28px; height: 28px; }
.ts-calculator-card__intro h2 { margin: 0; font-size: 1.45rem; letter-spacing: -.03em; }
.ts-calculator-card__intro p { margin: 4px 0 0; color: var(--ts-muted); }
.ts-calc-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; align-items: end; }
.ts-calc-form--compat { grid-template-columns: repeat(3, minmax(0,1fr)) auto; }
.ts-calc-form label { display: grid; gap: 8px; color: #344054; font-size: .82rem; font-weight: 800; }
.ts-calc-form label > span { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; }
.ts-calc-form input, .ts-calc-form select { width: 100%; min-height: 50px; padding: 0 13px; border: 1px solid #cfd8e5; background: #fff; color: var(--ts-ink); }
.ts-calc-form label > span input { border-radius: 10px 0 0 10px; }
.ts-calc-form label > span select, .ts-calc-form label > span em { min-width: 88px; border-radius: 0 10px 10px 0; border-left: 0; }
.ts-calc-form label > span em { display: grid; place-items: center; padding: 0 13px; border: 1px solid #cfd8e5; border-left: 0; background: #f8fafc; color: #667085; font-style: normal; font-weight: 700; }
.ts-calc-form > label > select, .ts-calc-form > label > input { border-radius: 10px; }
.ts-calc-form .ts-btn { min-height: 50px; }
.ts-calc-result { display: none; margin-top: 22px; padding: 20px; border: 1px solid #bcd4f5; border-radius: 14px; background: linear-gradient(135deg,#f7fbff,#edf5ff); }
.ts-calc-result:not(:empty) { display: grid; gap: 6px; }
.ts-calc-result.is-error { border-color: #efc2c2; background: #fff5f5; color: #9c2525; }
.ts-calc-result__label { color: var(--ts-blue); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ts-calc-result strong { font-size: 1.6rem; line-height: 1.2; }
.ts-calc-result > span:not(.ts-calc-result__label) { color: #405065; font-weight: 700; }
.ts-calc-result small { margin-top: 6px; color: #667085; line-height: 1.55; }
.ts-calc-result ul { margin: 5px 0 0; padding-left: 20px; color: #405065; }
.ts-formula-card { padding: 24px; }
.ts-formula-card h3 { margin: 0 0 16px; font-size: 1.05rem; }
.ts-formula-card code { display: block; padding: 16px; border-radius: 12px; background: #071d36; color: #e8f2ff; font-size: .92rem; white-space: normal; }
.ts-formula-card p { margin: 16px 0 0; color: var(--ts-muted); font-size: .88rem; line-height: 1.65; }
.ts-calculator-safety { display: grid; grid-template-columns: 48px 1fr; gap: 16px; margin-top: 24px; padding: 22px; border: 1px solid #f0d59c; border-radius: 16px; background: #fff9eb; color: #6f520e; }
.ts-calculator-safety > svg { width: 34px; height: 34px; }
.ts-calculator-safety strong { display: block; margin-bottom: 4px; }
.ts-calculator-safety p { margin: 0; line-height: 1.6; }
@media (max-width: 900px) {
 .ts-calculator-panel { grid-template-columns: 1fr; }
 .ts-calc-form, .ts-calc-form--compat { grid-template-columns: 1fr 1fr; }
 .ts-formula-card { grid-row: 2; }
}
@media (max-width: 600px) {
 .ts-calculators-content { padding: 34px 0 60px; }
 .ts-calculator-card { padding: 20px; }
 .ts-calc-form, .ts-calc-form--compat { grid-template-columns: 1fr; }
 .ts-calculator-card__intro { align-items: flex-start; }
 .ts-calculator-card__intro h2 { font-size: 1.2rem; }
 .ts-calculator-safety { grid-template-columns: 1fr; }
}


/* Version 1.8 — advanced search and catalogue filters */
.ts-advanced-filters{margin:0 0 30px;padding:20px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.05)}
.ts-advanced-filters__top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.ts-advanced-filters__top>div{display:flex;align-items:baseline;gap:12px}.ts-advanced-filters__top strong{font-size:1.05rem}.ts-advanced-filters__top span{color:var(--ts-muted);font-size:.82rem}.ts-advanced-filters__top>a{font-size:.8rem;font-weight:800}
.ts-advanced-filters__grid{display:grid;grid-template-columns:1.25fr repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}.ts-advanced-filters--compact .ts-advanced-filters__grid{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) auto;max-width:850px}
.ts-advanced-filters label{display:grid;gap:6px}.ts-advanced-filters label>span{color:#405065;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.ts-advanced-filters input,.ts-advanced-filters select{width:100%;min-height:46px;padding:0 12px;border:1px solid #cfd8e5;border-radius:10px;background:#fff;color:var(--ts-ink)}.ts-advanced-filters select{padding-right:34px}.ts-advanced-filters .ts-btn{min-height:46px;white-space:nowrap}
.ts-search-page-form{display:flex;gap:10px;max-width:820px;margin:0 0 30px}.ts-search-page-form input{flex:1;min-width:0;min-height:52px;padding:0 16px;border:1px solid #cfd8e5;border-radius:11px;font-size:1rem}
.ts-search-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ts-search-result-card{padding:22px;border:1px solid var(--ts-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.05)}.ts-search-result-card__type{color:var(--ts-blue);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ts-search-result-card h2{margin:8px 0 10px;font-size:1.18rem;line-height:1.3}.ts-search-result-card h2 a{color:var(--ts-ink)}.ts-search-result-card p{color:var(--ts-muted);font-size:.9rem}.ts-search-result-card .ts-text-link{display:inline-flex;align-items:center;gap:7px;font-weight:800}.ts-search-result-card .ts-text-link svg{width:15px;height:15px}
.ts-empty-state{grid-column:1/-1;padding:50px 28px;border:1px dashed #cfd8e5;border-radius:18px;background:#fbfcfe;text-align:center}.ts-empty-state>span{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 14px;border-radius:16px;background:var(--ts-sky);color:var(--ts-blue)}.ts-empty-state>span svg{width:30px;height:30px}
@media(max-width:1180px){.ts-advanced-filters__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ts-advanced-filters__grid .ts-btn{width:100%}.ts-search-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ts-advanced-filters__top{align-items:flex-start;flex-direction:column}.ts-advanced-filters__top>div{align-items:flex-start;flex-direction:column;gap:2px}.ts-advanced-filters__grid,.ts-advanced-filters--compact .ts-advanced-filters__grid{grid-template-columns:1fr}.ts-search-page-form{flex-direction:column}.ts-search-page-form .ts-btn{width:100%}.ts-search-results-grid{grid-template-columns:1fr}}


/* Version 1.9.0 — market localization */
.ts-market-switcher { gap: 10px !important; }
.ts-market-switcher__active { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 800; }
.ts-market-switcher > a { min-width: 34px; justify-content: center; padding: 2px 6px; border-radius: 999px; color: #dbeafe; background: rgba(255,255,255,.06); }
.ts-market-switcher > a:hover { color: #fff; background: rgba(255,255,255,.14); }
.ts-market-page-head { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 34px; align-items: center; margin-bottom: 30px; padding: 28px; border: 1px solid var(--ts-line); border-radius: 20px; background: linear-gradient(135deg,#fff,#f4f8ff); }
.ts-market-page-flag { display: inline-grid; place-items: center; width: 52px; height: 52px; margin-bottom: 14px; border-radius: 50%; background: #fff; box-shadow: var(--ts-shadow-soft); font-size: 1.6rem; }
.ts-market-page-head h2 { margin: 0 0 10px; font-size: clamp(1.8rem,3vw,2.65rem); line-height: 1.08; letter-spacing: -.04em; }
.ts-market-page-head p { margin: 0; max-width: 760px; color: var(--ts-muted); }
.ts-market-specs { margin: 0; padding: 18px; border-radius: 16px; background: var(--ts-navy); color: #fff; }
.ts-market-specs div { display: grid; grid-template-columns: 95px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.12); }
.ts-market-specs div:first-child { border-top: 0; }
.ts-market-specs dt { color: #a9c5e3; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ts-market-specs dd { margin: 0; font-weight: 800; }
.ts-market-actions { margin-bottom: 24px; }
.ts-market-commerce-note { display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; padding: 20px 22px; border: 1px solid #cfe0f8; border-radius: 16px; background: #f4f8ff; }
.ts-market-commerce-note > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; background: #fff; color: var(--ts-blue); }
.ts-market-commerce-note svg { width: 24px; height: 24px; }
.ts-market-commerce-note strong { display: block; margin-bottom: 4px; }
.ts-market-commerce-note p { margin: 0; color: var(--ts-muted); }
@media (max-width: 780px) {
 .ts-market-switcher__active span:last-child { display: none; }
 .ts-market-switcher > a span { display: none; }
 .ts-market-page-head { grid-template-columns: 1fr; padding: 22px; }
}

/* Version 1.9.4 — footer restored to the validated theme */
.ts-footer-logo {
  display: inline-flex;
  align-items: center;
  width: 230px;
  max-width: 100%;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.ts-footer-logo img {
  display: block;
  width: 230px;
  max-width: 100%;
  height: auto;
  background: transparent;
}
.ts-footer-brand > .ts-brand { display: none; }
@media (max-width: 640px) {
  .ts-footer-logo,
  .ts-footer-logo img { width: 205px; }
}

/* 1.9.8 — Resource pages only. Existing 1.9.6 theme styles remain unchanged. */
.ts-resource-page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ts-resource-page-card { display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: start; padding: 24px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(7,29,54,.04); }
.ts-resource-page-card__icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 14px; background: var(--ts-sky); color: var(--ts-blue); }
.ts-resource-page-card__icon svg { width: 28px; height: 28px; }
.ts-resource-page-card h2 { margin: 0 0 8px; font-size: 1.18rem; letter-spacing: -.025em; }
.ts-resource-page-card p { margin: 0 0 14px; color: var(--ts-muted); }
.ts-resource-page-card a { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.ts-resource-page-card a svg { width: 16px; height: 16px; }
.ts-resource-principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; padding: 22px; border: 1px solid #dbe8f7; border-radius: 18px; background: #f5f9ff; }
.ts-resource-principles > div { display: flex; align-items: center; gap: 12px; }
.ts-resource-principles > div > svg { width: 26px; height: 26px; color: var(--ts-blue); flex: 0 0 auto; }
.ts-resource-principles strong, .ts-resource-principles small { display: block; }
.ts-resource-principles small { margin-top: 2px; color: var(--ts-muted); line-height: 1.4; }
.ts-resource-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 28px; align-items: start; }
.ts-resource-detail-main { padding: 28px; border: 1px solid var(--ts-line); border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(7,29,54,.04); }
.ts-resource-detail-section + .ts-resource-detail-section { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--ts-line); }
.ts-resource-detail-section h2 { margin: 0 0 10px; font-size: 1.35rem; letter-spacing: -.025em; }
.ts-resource-detail-section p { margin: 0; color: #475467; }
.ts-resource-detail-sidebar { position: sticky; top: 130px; padding: 24px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(7,29,54,.04); }
.ts-resource-detail-sidebar h2 { margin: 0 0 10px; font-size: 1.18rem; }
.ts-resource-detail-sidebar p { margin: 0 0 18px; color: var(--ts-muted); }
.ts-resource-detail-sidebar .ts-btn { width: 100%; }
.ts-resource-detail-sidebar .ts-btn + .ts-btn { margin-top: 10px; }
@media (max-width: 900px) {
  .ts-resource-page-grid, .ts-resource-detail-layout { grid-template-columns: 1fr; }
  .ts-resource-principles { grid-template-columns: 1fr; }
  .ts-resource-detail-sidebar { position: static; }
}
@media (max-width: 600px) {
  .ts-resource-page-card { grid-template-columns: 1fr; }
}


/* Version 1.9.9 — restore only the complete homepage footer */
.site-footer--home .ts-footer-main { padding-top: 52px; padding-bottom: 44px; }
.site-footer--home .ts-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
@media (max-width: 640px) {
  .site-footer--home .ts-footer-main { padding-top: 38px; padding-bottom: 34px; }
}

/* Version 1.9.18 — ER11 shank-diameter compatibility check */
.ts-er11-compatibility { padding: 30px 0 0; background: #fff; }
.ts-er11-compatibility[hidden] { display: none; }
.ts-er11-compatibility__card {
  padding: 28px; border: 1px solid var(--ts-line); border-radius: 20px; background: #fff;
  box-shadow: 0 12px 36px rgba(7,29,54,.07);
}
.ts-er11-compatibility__intro h2 { margin: 6px 0 8px; font-size: clamp(1.5rem,2.5vw,2.15rem); letter-spacing: -.035em; }
.ts-er11-compatibility__intro p { max-width: 820px; margin: 0; color: var(--ts-muted); }
.ts-er11-compatibility__form {
  display: grid; grid-template-columns: minmax(220px, 360px) 150px auto; gap: 14px; align-items: end; margin-top: 22px;
}
.ts-er11-compatibility__result {
  display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 14px; margin-top: 20px; padding: 18px 20px;
  border: 1px solid var(--ts-line); border-radius: 14px; background: #f8fafc;
}
.ts-er11-compatibility__result[hidden] { display: none; }
.ts-er11-compatibility__status { width: 12px; height: 12px; margin-top: 6px; border-radius: 50%; background: #98a2b3; box-shadow: 0 0 0 5px rgba(152,162,179,.13); }
.ts-er11-compatibility__result h3 { margin: 0 0 5px; font-size: 1.08rem; }
.ts-er11-compatibility__result p { margin: 0; color: #475467; }
.ts-er11-compatibility__result.is-compatible { border-color: #9bd7b5; background: #f0fdf4; }
.ts-er11-compatibility__result.is-compatible .ts-er11-compatibility__status { background: #168a4e; box-shadow: 0 0 0 5px rgba(22,138,78,.12); }
.ts-er11-compatibility__result.is-compatible h3 { color: #11643b; }
.ts-er11-compatibility__result.is-incompatible,
.ts-er11-compatibility__result.is-error { border-color: #f3b2b2; background: #fff5f5; }
.ts-er11-compatibility__result.is-incompatible .ts-er11-compatibility__status,
.ts-er11-compatibility__result.is-error .ts-er11-compatibility__status { background: #c43232; box-shadow: 0 0 0 5px rgba(196,50,50,.12); }
.ts-er11-compatibility__result.is-incompatible h3,
.ts-er11-compatibility__result.is-error h3 { color: #9f1f1f; }
@media (max-width: 720px) {
  .ts-er11-compatibility__card { padding: 20px; }
  .ts-er11-compatibility__form { grid-template-columns: 1fr; }
  .ts-er11-compatibility__form .ts-btn { width: 100%; }
}


/* Version 1.9.19 — explicit ER11 pass/fail colors */
.ts-er11-compatibility__result.is-compatible {
  border-color: #79d39b;
  background: #ecfdf3;
}
.ts-er11-compatibility__result.is-compatible h3,
.ts-er11-compatibility__result.is-compatible p {
  color: #086c38;
}
.ts-er11-compatibility__result.is-incompatible,
.ts-er11-compatibility__result.is-error {
  border-color: #ef8f8f;
  background: #fff1f1;
}
.ts-er11-compatibility__result.is-incompatible h3,
.ts-er11-compatibility__result.is-incompatible p,
.ts-er11-compatibility__result.is-error h3,
.ts-er11-compatibility__result.is-error p {
  color: #9f1f1f;
}


/* Tool reviews — added in 1.9.20 without changing existing layouts. */
.ts-review-card__top,.ts-review-hero__facts{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.ts-review-type{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--ts-blue)}.ts-review-score{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:var(--ts-navy);color:#fff;font-size:.78rem;font-weight:900}.ts-review-score--large{padding:10px 15px;font-size:1rem}.ts-review-evidence{display:inline-flex;margin:0 0 14px;padding:7px 10px;border-radius:8px;font-size:.75rem;font-weight:800}.ts-review-evidence.is-tested{background:#ecfdf3;color:#16784a}.ts-review-evidence.is-analysis{background:#fff8e8;color:#8a5a00}.ts-review-hero__facts{margin-top:20px}.ts-review-hero__facts .ts-review-evidence{margin:0}.ts-review-verdict{display:grid;grid-template-columns:54px 1fr;gap:18px;margin-bottom:24px;padding:24px;border:1px solid #b9d2f7;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#edf5ff)}.ts-review-verdict>span{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:#fff;color:var(--ts-blue)}.ts-review-verdict>span svg{width:28px;height:28px}.ts-review-verdict h2{margin:0 0 7px}.ts-review-verdict p{margin:0;color:#475467}.ts-review-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.ts-review-list{padding:24px;border:1px solid var(--ts-line);border-radius:18px;background:#fff}.ts-review-list h2{margin:0 0 14px;font-size:1.2rem}.ts-review-list ul{margin:0;padding-left:20px}.ts-review-list li+li{margin-top:8px}.ts-review-list--pros{border-top:4px solid #21a366}.ts-review-list--cons{border-top:4px solid #d64545}.ts-review-content{max-width:none}.ts-review-disclosure{padding:12px;border-radius:10px;background:#f3f6fa;color:#5d6b7d;font-size:.82rem}.ts-review-empty{grid-column:1/-1}.ts-review-empty>span{width:64px;height:64px;display:grid;place-items:center;margin-bottom:18px;border-radius:18px;background:var(--ts-sky);color:var(--ts-blue)}.ts-review-empty>span svg{width:32px;height:32px}@media(max-width:720px){.ts-review-pros-cons{grid-template-columns:1fr}.ts-review-verdict{grid-template-columns:1fr}.ts-review-verdict>span{width:46px;height:46px}}


/* 1.9.22 — Products dropdown and review-category navigation only. */
.ts-review-category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}.ts-review-category-nav a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--ts-line);border-radius:999px;background:#fff;color:var(--ts-ink);font-size:.8rem;font-weight:800}.ts-review-category-nav a:hover,.ts-review-category-nav a.is-active{border-color:var(--ts-blue);background:var(--ts-sky);color:var(--ts-blue)}


/* 1.9.26 — review methodology, safely merged onto the 1.9.21 base. */
.ts-review-methodology{margin-bottom:28px;padding:24px;border:1px solid var(--ts-line);border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.04)}
.ts-review-methodology__intro{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start;margin-bottom:20px}
.ts-review-methodology__icon{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--ts-sky);color:var(--ts-blue)}
.ts-review-methodology__icon svg{width:28px;height:28px}
.ts-review-methodology h2{margin:0 0 6px;font-size:1.35rem}
.ts-review-methodology p{margin:0;color:var(--ts-muted)}
.ts-review-methodology__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ts-review-methodology__grid>div{padding:16px;border:1px solid var(--ts-line);border-radius:14px;background:var(--ts-surface)}
.ts-review-methodology__grid strong{display:block;margin-bottom:5px;font-size:.92rem}
.ts-review-methodology__grid span{display:block;color:var(--ts-muted);font-size:.8rem;line-height:1.5}
@media(max-width:980px){.ts-review-methodology__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ts-review-methodology__intro{grid-template-columns:1fr}.ts-review-methodology__grid{grid-template-columns:1fr}}


/* 1.9.28 — optional detailed review scoring. */
.ts-review-score-breakdown{margin-bottom:20px;padding:22px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.04)}
.ts-review-score-breakdown h2{margin:0 0 18px;font-size:1.2rem}
.ts-review-score-breakdown>p{margin:16px 0 0;color:var(--ts-muted);font-size:.78rem;line-height:1.5}
.ts-review-score-row+.ts-review-score-row{margin-top:15px}
.ts-review-score-row>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:.84rem}
.ts-review-score-row strong{color:var(--ts-navy);white-space:nowrap}
.ts-review-score-track{display:block;height:8px;overflow:hidden;border-radius:999px;background:#e9eef5}
.ts-review-score-track>span{display:block;height:100%;border-radius:inherit;background:var(--ts-blue)}


/* 1.9.29 — optional evidence panel for Tests & Avis. */
.ts-review-evidence-panel{margin-bottom:24px;padding:24px;border:1px solid #b9d2f7;border-radius:18px;background:#f7fbff}
.ts-review-evidence-panel h2{margin:0 0 14px;font-size:1.2rem}
.ts-review-evidence-panel ul{margin:0;padding-left:20px}
.ts-review-evidence-panel li+li{margin-top:8px}


/* 1.9.31 — optional bilingual technical specifications for Tests & Avis. */
.ts-review-specifications{margin-bottom:24px;padding:24px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.04)}
.ts-review-specifications h2{margin:0 0 16px;font-size:1.2rem}
.ts-review-specifications__table{overflow:hidden;border:1px solid var(--ts-line);border-radius:12px}
.ts-review-specifications__row{display:grid;grid-template-columns:minmax(160px,42%) minmax(0,1fr);align-items:center;min-height:48px}
.ts-review-specifications__row+.ts-review-specifications__row{border-top:1px solid var(--ts-line)}
.ts-review-specifications__row span,.ts-review-specifications__row strong{padding:12px 15px}
.ts-review-specifications__row span{height:100%;background:var(--ts-surface);color:var(--ts-muted);font-size:.84rem;font-weight:800}
.ts-review-specifications__row strong{color:var(--ts-ink);font-size:.88rem;overflow-wrap:anywhere}
@media(max-width:560px){.ts-review-specifications{padding:18px}.ts-review-specifications__row{grid-template-columns:1fr}.ts-review-specifications__row span{border-bottom:1px solid var(--ts-line)}}

/* Version 1.9.32 — optional audience-fit panel for Tests & Avis. */
.ts-review-audience{margin-bottom:24px;padding:24px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.04)}
.ts-review-audience>h2{margin:0 0 16px;font-size:1.2rem}
.ts-review-audience__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ts-review-audience__card{padding:18px;border:1px solid var(--ts-line);border-radius:14px;background:var(--ts-surface)}
.ts-review-audience__card h3{margin:0 0 12px;font-size:1rem}
.ts-review-audience__card ul{margin:0;padding-left:20px}
.ts-review-audience__card li+li{margin-top:7px}
.ts-review-audience__card.is-best{border-color:#b9d2f7;background:#f7fbff}
.ts-review-audience__card.is-not-for{border-color:#d9dee7;background:#fafbfc}
@media(max-width:640px){.ts-review-audience{padding:18px}.ts-review-audience__grid{grid-template-columns:1fr}}



/* Version 1.9.33 — optional bilingual FAQ for Tests & Avis. */
.ts-review-faq{margin-top:24px;padding:24px;border:1px solid var(--ts-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,29,54,.04)}
.ts-review-faq>h2{margin:0 0 16px;font-size:1.2rem}
.ts-review-faq__items{display:grid;gap:10px}
.ts-review-faq__item{overflow:hidden;border:1px solid var(--ts-line);border-radius:12px;background:var(--ts-surface)}
.ts-review-faq__item summary{position:relative;cursor:pointer;list-style:none;padding:15px 46px 15px 16px;color:var(--ts-ink);font-size:.9rem;font-weight:850}
.ts-review-faq__item summary::-webkit-details-marker{display:none}
.ts-review-faq__item summary::after{content:'+';position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--ts-blue);font-size:1.25rem;font-weight:900}
.ts-review-faq__item[open] summary::after{content:'−'}
.ts-review-faq__item p{margin:0;padding:0 16px 16px;color:var(--ts-muted);font-size:.88rem;line-height:1.65}
.ts-review-faq__item[open] summary{color:var(--ts-blue)}
@media(max-width:640px){.ts-review-faq{padding:18px}}


/* About page */
.ts-about-page { display: grid; gap: 72px; }
.ts-about-intro {
  display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr); gap: 54px; align-items: center;
}
.ts-about-intro__copy h2,
.ts-about-section__head h2,
.ts-about-method__intro h2,
.ts-about-panel h2,
.ts-about-cta h2 {
  margin: 0; letter-spacing: -.04em; line-height: 1.12;
}
.ts-about-intro__copy h2 { max-width: 720px; font-size: clamp(2.25rem, 4.7vw, 4.25rem); }
.ts-about-lead { margin: 22px 0 12px; color: #344054; font-size: 1.12rem; }
.ts-about-intro__copy > p:not(.ts-about-lead) { margin: 0; color: var(--ts-muted); }
.ts-about-intro__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ts-about-visual { min-width: 0; }
.ts-about-visual__image,
.ts-about-visual__placeholder {
  display: block; width: 100%; aspect-ratio: 1.08; border-radius: 28px; border: 1px solid #cfe0f5; box-shadow: var(--ts-shadow);
}
.ts-about-visual__image { aspect-ratio: 2 / 1; object-fit: cover; object-position: center; }
.ts-about-visual__placeholder {
  position: relative; overflow: hidden; display: grid; place-items: center; color: #fff;
  background:
    radial-gradient(circle at 75% 25%, rgba(255,255,255,.25), transparent 25%),
    radial-gradient(circle at 20% 85%, rgba(77,154,255,.28), transparent 30%),
    linear-gradient(145deg, var(--ts-navy), var(--ts-blue));
}
.ts-about-visual__placeholder::before,
.ts-about-visual__placeholder::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }
.ts-about-visual__placeholder::before { width: 72%; aspect-ratio: 1; }
.ts-about-visual__placeholder::after { width: 48%; aspect-ratio: 1; }
.ts-about-visual__main-icon { position: relative; z-index: 2; width: 122px; height: 122px; display: grid; place-items: center; border-radius: 32px; background: rgba(255,255,255,.14); backdrop-filter: blur(10px); box-shadow: 0 22px 42px rgba(0,0,0,.22); }
.ts-about-visual__main-icon svg { width: 68px; height: 68px; }
.ts-about-visual__chip { position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ts-ink); font-size: .78rem; font-weight: 850; box-shadow: 0 12px 28px rgba(0,0,0,.16); }
.ts-about-visual__chip svg { width: 18px; height: 18px; color: var(--ts-blue); }
.ts-about-visual__chip--one { left: 7%; top: 15%; }
.ts-about-visual__chip--two { right: 5%; top: 23%; }
.ts-about-visual__chip--three { left: 11%; bottom: 12%; }
.ts-about-section__head { max-width: 830px; margin-bottom: 30px; }
.ts-about-section__head h2,
.ts-about-method__intro h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
.ts-about-section__head p,
.ts-about-method__intro p { margin: 14px 0 0; color: var(--ts-muted); font-size: 1.04rem; }
.ts-about-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.ts-about-pillar { padding: 26px 23px; border: 1px solid var(--ts-line); border-radius: 18px; background: #fff; box-shadow: 0 9px 26px rgba(7,29,54,.05); }
.ts-about-pillar > span { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 15px; background: var(--ts-sky); color: var(--ts-blue); }
.ts-about-pillar > span svg { width: 28px; height: 28px; }
.ts-about-pillar h3 { margin: 0 0 8px; font-size: 1.04rem; }
.ts-about-pillar p { margin: 0; color: var(--ts-muted); font-size: .9rem; }
.ts-about-method { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 52px; padding: 42px; border-radius: 26px; background: var(--ts-surface); border: 1px solid var(--ts-line); }
.ts-about-method__intro { align-self: start; }
.ts-about-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ts-about-steps li { display: grid; grid-template-columns: 52px 1fr; gap: 16px; padding: 18px; border: 1px solid var(--ts-line); border-radius: 15px; background: #fff; }
.ts-about-steps li > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; background: var(--ts-navy); color: #fff; font-size: .76rem; font-weight: 900; }
.ts-about-steps h3 { margin: 0 0 4px; font-size: .98rem; }
.ts-about-steps p { margin: 0; color: var(--ts-muted); font-size: .88rem; }
.ts-about-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ts-about-panel { padding: 32px; border-radius: 22px; border: 1px solid var(--ts-line); background: #fff; box-shadow: 0 10px 30px rgba(7,29,54,.05); }
.ts-about-panel__icon { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 20px; border-radius: 16px; background: var(--ts-sky); color: var(--ts-blue); }
.ts-about-panel__icon svg { width: 30px; height: 30px; }
.ts-about-panel h2 { font-size: clamp(1.55rem, 2.5vw, 2.1rem); }
.ts-about-panel p { margin: 14px 0 0; color: var(--ts-muted); }
.ts-about-cta { display: flex; align-items: center; justify-content: space-between; gap: 34px; padding: 38px; border-radius: 24px; background: linear-gradient(135deg, var(--ts-navy), var(--ts-navy-2)); color: #fff; }
.ts-about-cta .ts-kicker { color: #9cc5ff; }
.ts-about-cta h2 { max-width: 790px; font-size: clamp(1.8rem, 3.5vw, 3rem); }
.ts-about-cta p { max-width: 780px; margin: 12px 0 0; color: #d6e3f4; }
.ts-about-cta__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; flex: 0 0 auto; }
.ts-about-cta .ts-btn--secondary { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.09); color: #fff; }
.ts-about-cta .ts-btn--secondary:hover { background: rgba(255,255,255,.16); color: #fff; }

@media (max-width: 1050px) {
  .ts-about-intro { grid-template-columns: 1fr; }
  .ts-about-visual { max-width: 720px; width: 100%; }
  .ts-about-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-about-method { grid-template-columns: 1fr; }
  .ts-about-cta { align-items: flex-start; flex-direction: column; }
  .ts-about-cta__actions { justify-content: flex-start; }
}
@media (max-width: 680px) {
  .ts-about-page { gap: 52px; }
  .ts-about-pillars,
  .ts-about-split { grid-template-columns: 1fr; }
  .ts-about-method,
  .ts-about-panel,
  .ts-about-cta { padding: 24px; }
  .ts-about-visual__chip--two { right: 3%; }
  .ts-about-intro__actions,
  .ts-about-cta__actions { display: grid; width: 100%; }
  .ts-about-intro__actions .ts-btn,
  .ts-about-cta__actions .ts-btn { width: 100%; }
}

/* Contact form improvements — v1.9.47 */
.ts-contact-form select{width:100%;padding:12px 14px;border:1px solid #cfd8e5;border-radius:10px;background:#fff;color:var(--ts-text)}
.ts-contact-form__note{margin:0;color:var(--ts-muted);font-size:.92rem;line-height:1.55}
.ts-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ts-notice-error{margin-bottom:20px;padding:14px 18px;border-radius:10px;background:#fff1f2;color:#b42318;font-weight:800}

/* Sitemap page — 1.9.49 */
.ts-sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ts-sitemap-card ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0}.ts-sitemap-card li{border-top:1px solid var(--ts-line)}.ts-sitemap-card li:first-child{border-top:0}.ts-sitemap-card li a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;color:var(--ts-ink);font-weight:750}.ts-sitemap-card li a:hover{color:var(--ts-blue)}.ts-sitemap-card li a svg{width:16px;height:16px;flex:0 0 auto}@media(max-width:800px){.ts-sitemap-grid{grid-template-columns:1fr}}


/* 1.9.54 — Selector summary, reset and print controls */
.ts-selector-result__actions{display:grid;gap:10px;align-self:start;min-width:190px}
.ts-selector-result__actions .ts-btn{width:100%;justify-content:center}
.ts-selection-summary{margin:18px 0;padding:15px 16px;border:1px solid #dce6f3;border-radius:12px;background:#fff}
.ts-selection-summary:empty{display:none}
.ts-selection-summary__title{display:block;margin-bottom:10px;color:#24364f;font-size:.82rem;font-weight:900}
.ts-selection-summary__list{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:7px 14px;margin:0}
.ts-selection-summary__list dt{color:#66758a;font-size:.78rem;font-weight:800}
.ts-selection-summary__list dd{margin:0;color:#1e2f46;font-size:.82rem;font-weight:750}
@media(max-width:720px){
 .ts-selector-result__actions{grid-column:1/-1;grid-template-columns:1fr;min-width:0;width:100%}
 .ts-selection-summary__list{grid-template-columns:1fr;gap:3px}
 .ts-selection-summary__list dd{margin-bottom:8px}
}
@media print{
 body.ts-print-selector-result *{visibility:hidden!important}
 body.ts-print-selector-result #ts-selector-result,
 body.ts-print-selector-result #ts-selector-result *{visibility:visible!important}
 body.ts-print-selector-result #ts-selector-result{display:grid!important;position:absolute;left:0;top:0;width:100%;margin:0;padding:24px;border:0;box-shadow:none;background:#fff}
 body.ts-print-selector-result .ts-selector-result__actions{display:none!important}
 body.ts-print-selector-result .ts-result-warning{border:1px solid #bbb;background:#fff;color:#111}
}


/* 1.9.55 — Copy and share selector recommendation */
.ts-selector-action-status{display:block;min-height:1.2em;text-align:center;color:#1769aa;font-size:.82rem;font-weight:800;line-height:1.35}
@media print{body.ts-print-selector-result .ts-selector-action-status{display:none!important}}


/* Selector preparation and safety checklist — 1.9.57 */
.ts-preparation-checklist{margin:16px 0 0;padding:15px 16px;border:1px solid #dce6f3;border-radius:12px;background:#f8fbff}
.ts-preparation-checklist:empty{display:none}
.ts-preparation-checklist__title{display:block;margin-bottom:9px;color:#24364f;font-size:.84rem;font-weight:900}
.ts-preparation-checklist ul{margin:0;padding-left:20px;color:#40536b}
.ts-preparation-checklist li{margin:5px 0;font-size:.81rem;line-height:1.48}
@media print{body.ts-print-selector-result .ts-preparation-checklist{border:1px solid #bbb;background:#fff;color:#111}}


/* Selector diagnostic signs — 1.9.58 */
.ts-diagnostic-signs{margin:16px 0 0;padding:15px 16px;border:1px solid #f1d7b8;border-radius:12px;background:#fffaf4}
.ts-diagnostic-signs:empty{display:none}
.ts-diagnostic-signs__title{display:block;margin-bottom:6px;color:#7a4317;font-size:.84rem;font-weight:900}
.ts-diagnostic-signs p{margin:0 0 8px;color:#6c4d33;font-size:.8rem;line-height:1.5}
.ts-diagnostic-signs ul{margin:0;padding-left:20px;color:#594a3f}
.ts-diagnostic-signs li{margin:5px 0;font-size:.81rem;line-height:1.48}
@media print{body.ts-print-selector-result .ts-diagnostic-signs{border:1px solid #bbb;background:#fff;color:#111}}


/* Selector corrective actions — 1.9.59 */
.ts-corrective-actions{margin:16px 0 0;padding:15px 16px;border:1px solid #cfe0f5;border-radius:12px;background:#f5f9ff}
.ts-corrective-actions:empty{display:none}
.ts-corrective-actions__title{display:block;margin-bottom:6px;color:#234a78;font-size:.84rem;font-weight:900}
.ts-corrective-actions p{margin:0 0 8px;color:#405a76;font-size:.8rem;line-height:1.5}
.ts-corrective-actions ol{margin:0;padding-left:22px;color:#344c66}
.ts-corrective-actions li{margin:6px 0;font-size:.81rem;line-height:1.5}
@media print{body.ts-print-selector-result .ts-corrective-actions{border:1px solid #bbb;background:#fff;color:#111}}


/* Selector guidance confidence and refusal — 1.9.60 */
.ts-result-confidence{margin:14px 0 0;padding:13px 15px;border:1px solid #d8e3ef;border-radius:12px;background:#f8fbff}
.ts-result-confidence:empty{display:none}
.ts-result-confidence__title{display:block;margin-bottom:5px;font-size:.83rem;font-weight:900;color:#263b55}
.ts-result-confidence p{margin:0;font-size:.79rem;line-height:1.5;color:#40536b}
.ts-result-confidence.is-standard{border-color:#cce8d7;background:#f4fbf7}
.ts-result-confidence.is-standard .ts-result-confidence__title{color:#22613d}
.ts-result-confidence.is-caution{border-color:#f0d6a8;background:#fff9ee}
.ts-result-confidence.is-caution .ts-result-confidence__title{color:#80500f}
.ts-result-confidence.is-refused{border-color:#efc4c4;background:#fff5f5}
.ts-result-confidence.is-refused .ts-result-confidence__title{color:#8f2424}
.ts-result-confidence.is-refused p{color:#6d3333}
@media print{body.ts-print-selector-result .ts-result-confidence{border:1px solid #bbb;background:#fff;color:#111}}


/* Selector recommendation reasoning — 1.9.61 */
.ts-result-reasoning{margin:14px 0 0;padding:15px 16px;border:1px solid #cfe0f5;border-radius:12px;background:#f6f9fe}
.ts-result-reasoning:empty{display:none}
.ts-result-reasoning__title{display:block;margin-bottom:8px;color:#234a78;font-size:.84rem;font-weight:900}
.ts-result-reasoning ul{margin:0;padding-left:20px;color:#40536b}
.ts-result-reasoning li{margin:5px 0;font-size:.81rem;line-height:1.5}
@media print{body.ts-print-selector-result .ts-result-reasoning{border:1px solid #bbb;background:#fff;color:#111}}


/* ToolSelector 1.9.62 — checks before buying */
.ts-purchase-checks{margin:16px 0 0;padding:15px 16px;border:1px solid #d8e5d2;border-radius:12px;background:#f7fbf5}
.ts-purchase-checks:empty{display:none}
.ts-purchase-checks__title{display:block;margin-bottom:8px;color:#315c2d;font-size:.84rem;font-weight:900}
.ts-purchase-checks ul{margin:0;padding-left:20px;color:#415841}
.ts-purchase-checks li{margin:5px 0;font-size:.81rem;line-height:1.5}
@media print{body.ts-print-selector-result .ts-purchase-checks{border:1px solid #bbb;background:#fff;color:#111}}


/* Selector local memory — 1.9.64 */
.ts-selector-memory { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:0 0 18px; padding:14px 16px; border:1px solid var(--ts-border,#d9e0e7); border-radius:12px; background:#f7f9fb; }
.ts-selector-memory__copy { display:flex; flex-direction:column; gap:3px; flex:1 1 260px; }
.ts-selector-memory__copy strong { color:var(--ts-text,#17212b); }
.ts-selector-memory__copy span { color:var(--ts-muted,#65717d); font-size:.92rem; }
.ts-selector-memory__actions { display:flex; gap:8px; flex-wrap:wrap; }
.ts-selector-memory__actions .ts-btn { min-height:40px; padding:9px 13px; }
.ts-selector-memory__status { flex-basis:100%; min-height:1.15em; color:var(--ts-primary,#1677ff); font-size:.9rem; font-weight:600; }
@media (max-width:640px) { .ts-selector-memory__actions { width:100%; } .ts-selector-memory__actions .ts-btn { flex:1 1 auto; justify-content:center; } }


/* Selector local history — 1.9.65 */
.ts-selector-history { margin:0 0 20px; padding:16px; border:1px solid var(--ts-border,#d9e0e7); border-radius:12px; background:#fff; }
.ts-selector-history__head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.ts-selector-history__head > div { display:flex; flex-direction:column; gap:3px; }
.ts-selector-history__head strong { color:var(--ts-text,#17212b); }
.ts-selector-history__head span { color:var(--ts-muted,#65717d); font-size:.92rem; }
.ts-selector-history__head .ts-btn { min-height:38px; padding:8px 12px; flex:0 0 auto; }
.ts-selector-history__head > .ts-selector-history__tools { display:flex; flex-direction:row; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.ts-selector-history__tools .ts-btn { white-space:nowrap; }
.ts-selector-history__list { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.ts-selector-history__item { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; border:1px solid var(--ts-border,#d9e0e7); border-radius:10px; background:#f7f9fb; }
.ts-selector-history__copy { min-width:0; display:flex; flex-direction:column; gap:2px; }
.ts-selector-history__copy strong { color:var(--ts-text,#17212b); overflow-wrap:anywhere; }
.ts-selector-history__copy span,.ts-selector-history__copy small { color:var(--ts-muted,#65717d); overflow-wrap:anywhere; }
.ts-selector-history__copy small { font-size:.8rem; }
.ts-selector-history__note { margin:5px 0 0; padding:7px 9px; border-left:3px solid var(--ts-primary,#1677ff); border-radius:0 6px 6px 0; background:#fff; color:var(--ts-text,#17212b); font-size:.88rem; line-height:1.45; overflow-wrap:anywhere; }
.ts-selector-history__actions { display:flex; gap:8px; flex-wrap:wrap; flex:0 0 auto; }
.ts-selector-history__actions .ts-btn { min-height:36px; padding:7px 11px; }
.ts-selector-history__empty { padding:12px; border:1px dashed var(--ts-border,#d9e0e7); border-radius:10px; color:var(--ts-muted,#65717d); text-align:center; }
.ts-selector-history__status { display:block; min-height:1.15em; margin-top:10px; color:var(--ts-primary,#1677ff); font-size:.9rem; font-weight:600; }
@media (max-width:700px) {
  .ts-selector-history__head,.ts-selector-history__item { align-items:stretch; flex-direction:column; }
  .ts-selector-history__head .ts-btn,.ts-selector-history__actions { width:100%; }
  .ts-selector-history__head > .ts-selector-history__tools { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ts-selector-history__tools .ts-btn:last-child { grid-column:1 / -1; }
  .ts-selector-history__actions .ts-btn { flex:1 1 auto; justify-content:center; }
}

/* Named and favorite selector presets — 1.9.66 */
.ts-selector-history__item.is-favorite { border-color:var(--ts-primary,#1677ff); box-shadow:0 0 0 1px color-mix(in srgb,var(--ts-primary,#1677ff) 18%,transparent); }
.ts-selector-history__favorite.is-active { font-weight:700; }
.ts-selector-history__actions { align-items:center; }
@media (max-width: 680px) {
  .ts-selector-history__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Saved selection comparison — 1.9.68 */
.ts-selector-history__compare.is-active {
  border-color: var(--ts-primary, #1677ff);
  color: var(--ts-primary, #1677ff);
  font-weight: 700;
}
.ts-selector-compare {
  margin: 0 0 20px;
  padding: 16px;
  border: 1px solid var(--ts-border, #d9e0e7);
  border-radius: 12px;
  background: #fff;
}
.ts-selector-compare[hidden] { display: none; }
.ts-selector-compare__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.ts-selector-compare__head > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ts-selector-compare__head strong { color: var(--ts-text, #17212b); }
.ts-selector-compare__head span {
  color: var(--ts-muted, #65717d);
  font-size: .92rem;
}
.ts-selector-compare__table-wrap { overflow-x: auto; }
.ts-selector-compare__table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}
.ts-selector-compare__table th,
.ts-selector-compare__table td {
  padding: 11px 12px;
  border: 1px solid var(--ts-border, #d9e0e7);
  text-align: left;
  vertical-align: top;
}
.ts-selector-compare__table thead th {
  background: #eef3f8;
  color: var(--ts-text, #17212b);
}
.ts-selector-compare__table tbody th {
  width: 28%;
  background: #f7f9fb;
  color: var(--ts-text, #17212b);
}
.ts-selector-compare__table td.is-different {
  background: #fff7dc;
  font-weight: 700;
}
@media (max-width: 680px) {
  .ts-selector-compare__head { flex-direction: column; }
  .ts-selector-compare__head .ts-btn { width: 100%; justify-content: center; }
}


/* Enriched saved selection comparison — 1.9.69 */
.ts-selector-compare__technical-row th {
  color: var(--ts-primary, #0a66c2);
}
.ts-selector-compare__notes {
  white-space: pre-line;
  min-width: 240px;
  line-height: 1.55;
}

/* Copy and print saved comparison — 1.9.70 */
.ts-selector-compare__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.ts-selector-compare__actions .ts-btn {
  min-height: 38px;
  padding: 8px 12px;
  white-space: nowrap;
}
.ts-selector-compare__actions .ts-btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}
@media (max-width: 680px) {
  .ts-selector-compare__actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
}
@media print {
  body.ts-print-selector-comparison * { visibility: hidden !important; }
  body.ts-print-selector-comparison .ts-selector-compare,
  body.ts-print-selector-comparison .ts-selector-compare * { visibility: visible !important; }
  body.ts-print-selector-comparison .ts-selector-compare {
    display: block !important;
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    margin: 0;
    padding: 20px;
    border: 0;
    box-shadow: none;
    background: #fff;
  }
  body.ts-print-selector-comparison .ts-selector-compare__actions { display: none !important; }
  body.ts-print-selector-comparison .ts-selector-compare__table-wrap { overflow: visible; }
  body.ts-print-selector-comparison .ts-selector-compare__table {
    min-width: 0;
    width: 100%;
    font-size: 10pt;
  }
  body.ts-print-selector-comparison .ts-selector-compare__table th,
  body.ts-print-selector-comparison .ts-selector-compare__table td {
    break-inside: avoid;
    border-color: #999;
    background: #fff !important;
    color: #111 !important;
  }
  body.ts-print-selector-comparison .ts-selector-compare__table td.is-different {
    font-weight: 700;
    text-decoration: underline;
  }
}


/* Selection history filters — 1.9.75 */
.ts-selector-history__filters { display:grid; grid-template-columns:minmax(180px,2fr) repeat(2,minmax(150px,1fr)) auto auto; gap:10px; align-items:end; margin:0 0 12px; padding:12px; border:1px solid var(--ts-border,#d9e0e7); border-radius:10px; background:#f7f9fb; }
.ts-selector-history__filters label { display:flex; flex-direction:column; gap:5px; min-width:0; color:var(--ts-text,#17212b); font-size:.82rem; font-weight:700; }
.ts-selector-history__filters input[type=search],.ts-selector-history__filters select { width:100%; min-height:40px; padding:8px 10px; border:1px solid var(--ts-border,#d9e0e7); border-radius:8px; background:#fff; color:var(--ts-text,#17212b); font:inherit; font-weight:400; }
.ts-selector-history__favorite-filter { flex-direction:row!important; align-items:center; min-height:40px; padding:8px 10px; border:1px solid var(--ts-border,#d9e0e7); border-radius:8px; background:#fff; white-space:nowrap; }
.ts-selector-history__favorite-filter input { margin:0; }
.ts-selector-history__filters > .ts-btn { min-height:40px; padding:8px 11px; white-space:nowrap; }
@media (max-width:1050px) { .ts-selector-history__filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .ts-selector-history__filters > .ts-btn { width:100%; } }
@media (max-width:640px) { .ts-selector-history__filters { grid-template-columns:1fr; } }


/* Selector compatibility preflight — 1.9.78 */
.ts-selector-compatibility{grid-column:1/-1;display:none;padding:12px 14px;border:1px solid #d8e3ef;border-radius:12px;background:#f8fbff;color:#40536b;font-size:.84rem;font-weight:700;line-height:1.45}
.ts-selector-compatibility:not(:empty){display:block}
.ts-selector-compatibility.is-valid{border-color:#cce8d7;background:#f4fbf7;color:#22613d}
.ts-selector-compatibility.is-warning{border-color:#f0d6a8;background:#fff9ee;color:#80500f}
.ts-selector-compatibility.is-error{border-color:#efc4c4;background:#fff5f5;color:#8f2424}
.ts-selector-compatibility.is-idle{border-style:dashed;color:#617087}
.ts-selector-submit:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.65)}

/* 1.9.87 — 404 recovery actions */
.ts-404-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.ts-not-found .ts-search-page-form{margin-top:24px;max-width:760px}@media(max-width:640px){.ts-404-actions .ts-btn{width:100%;justify-content:center}}

/* Result decision summary — 2.0.6 */
.ts-result-decision{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 0}
.ts-result-decision:empty{display:none}
.ts-result-decision__item{min-width:0;padding:13px 14px;border:1px solid #d8e3ef;border-radius:12px;background:#fff}
.ts-result-decision__label{display:block;margin-bottom:6px;color:#66758a;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.ts-result-decision__value{display:block;color:#22364f;font-size:.82rem;line-height:1.42;font-weight:850;overflow-wrap:anywhere}
.ts-result-decision.is-standard .ts-result-decision__item:nth-child(2){border-color:#cce8d7;background:#f4fbf7}
.ts-result-decision.is-caution .ts-result-decision__item:nth-child(2){border-color:#f0d6a8;background:#fff9ee}
.ts-result-decision.is-refused .ts-result-decision__item:nth-child(1),
.ts-result-decision.is-refused .ts-result-decision__item:nth-child(2){border-color:#efc4c4;background:#fff5f5}
.ts-result-decision.is-refused .ts-result-decision__item:nth-child(1) .ts-result-decision__value,
.ts-result-decision.is-refused .ts-result-decision__item:nth-child(2) .ts-result-decision__value{color:#8f2424}
@media(max-width:760px){.ts-result-decision{grid-template-columns:1fr}}
@media print{body.ts-print-selector-result .ts-result-decision{grid-template-columns:repeat(3,1fr)}body.ts-print-selector-result .ts-result-decision__item{border:1px solid #bbb;background:#fff;color:#111}}


/* Catalogue technical-sheet alignment — 2.0.7 */
.ts-tool-family-lock-note{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:8px 11px;border-radius:9px;background:#f3f6fa;color:#526176;font-size:.78rem;font-weight:800}.ts-tool-family-lock-note svg{width:15px;height:15px}.ts-tool-decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}.ts-tool-decision-card{padding:17px 18px;border:1px solid var(--ts-line);border-radius:14px;background:#fff;box-shadow:var(--ts-shadow-soft)}.ts-tool-decision-card span{display:block;margin-bottom:6px;color:var(--ts-muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.ts-tool-decision-card strong{display:block;line-height:1.35}.ts-tool-decision-card--validation{border-left:4px solid #d99a00}.ts-tool-buying-checks{margin-top:24px}.ts-tool-buying-checks h2{margin:8px 0 14px}.ts-tool-buying-checks ul{margin:0;padding-left:1.2rem}.ts-tool-buying-checks li{margin:8px 0;color:#344054}.ts-tool-validation-note{margin:18px 0 0;padding:12px 14px;border-left:4px solid #d99a00;border-radius:8px;background:#fff8e8;color:#5d4a16}.ts-tool-calculator-link{margin-top:10px}.ts-tool-inline-action{margin-top:18px}.ts-tool-inline-action .ts-btn{width:auto}@media(max-width:780px){.ts-tool-decision-grid{grid-template-columns:1fr}.ts-tool-actions{flex-wrap:wrap}.ts-tool-inline-action .ts-btn{width:100%}}

/* Family category navigation lock — 2.0.8 */
.ts-family-orientation{margin-bottom:28px}

/* ToolSelector 2.0.15 — front-end client account */
.ts-account-hero{padding:56px 0 34px;background:linear-gradient(180deg,#eef5ff 0%,#f7faff 100%);border-bottom:1px solid var(--ts-border,#d9e2ef)}
.ts-account-hero .ts-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--ts-blue,#1f63d5);font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}
.ts-account-hero .ts-eyebrow svg{width:18px;height:18px;max-width:18px;max-height:18px;flex:0 0 18px}
.ts-account-hero h1{margin:10px 0 12px;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.045em;color:#101a2d}
.ts-account-hero p{max-width:760px;margin:0;color:#5b6a81;font-size:1.05rem;line-height:1.7}
.ts-account-section{padding-top:34px;padding-bottom:64px}
.ts-account-notice{margin:0 0 22px;padding:14px 16px;border:1px solid #cdd9e8;border-radius:12px;background:#fff;font-weight:700}
.ts-account-notice--success{border-color:#9ed4b1;background:#f0fbf4;color:#195e35}
.ts-account-notice--error{border-color:#e7b0b0;background:#fff5f5;color:#8d2525}
.ts-account-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin-bottom:18px;border:1px solid #d8e1ed;border-radius:16px;background:#fff}
.ts-account-toolbar>div{display:flex;flex-direction:column;gap:3px}.ts-account-toolbar strong{font-size:1.12rem}.ts-account-toolbar span{color:#66758b;font-size:.9rem}
.ts-account-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.ts-account-stat{padding:20px;border:1px solid #d8e1ed;border-radius:16px;background:#fff}.ts-account-stat strong{display:block;font-size:2rem;line-height:1;color:#113b68}.ts-account-stat span{display:block;margin-top:8px;color:#66758b;font-size:.9rem}
.ts-account-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.ts-account-actions .ts-btn svg{width:18px;height:18px}
.ts-account-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ts-account-card{padding:22px;border:1px solid #d8e1ed;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(16,35,61,.035)}.ts-account-card--wide{grid-column:1/-1}.ts-account-card h2{margin:0;font-size:1.25rem}.ts-account-card>p{color:#68778c;line-height:1.65}
.ts-account-card__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.ts-account-card__head>div{display:flex;align-items:center;gap:10px}.ts-account-card__head>span{font-size:.84rem;color:#7a8798}.ts-account-card__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef5ff;color:var(--ts-blue,#1f63d5)}.ts-account-card__icon svg{width:18px;height:18px}
.ts-account-form{display:grid;gap:14px}.ts-account-form label{display:grid;gap:6px;font-weight:700;font-size:.9rem}.ts-account-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd7e6;border-radius:10px;background:#fff;color:#142036}.ts-account-form input:focus{outline:2px solid color-mix(in srgb,var(--ts-blue,#1f63d5) 24%,transparent);border-color:var(--ts-blue,#1f63d5)}.ts-account-form input:disabled{background:#f4f6f8;color:#738196}.ts-account-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ts-account-check{display:flex!important;align-items:center;grid-template-columns:none!important;gap:8px!important;font-weight:500!important}.ts-account-check input{width:16px;height:16px;min-height:0}.ts-account-form .ts-btn{justify-self:start}
.ts-account-auth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px;margin:0 auto}.ts-account-auth--single{grid-template-columns:minmax(0,600px);justify-content:center}.ts-account-card--register{background:#f8fbff}.ts-account-text-link{display:inline-block;margin-top:16px;color:var(--ts-blue,#1f63d5);font-weight:700;text-decoration:none}.ts-account-text-link:hover{text-decoration:underline}
.ts-account-selections{display:grid;gap:10px}.ts-account-selection{display:flex;justify-content:space-between;gap:20px;padding:14px 15px;border:1px solid #dfe6ef;border-radius:12px;background:#fbfcfe}.ts-account-selection>div:first-child{display:grid;gap:3px}.ts-account-selection strong{font-size:.96rem}.ts-account-selection span,.ts-account-selection small{color:#68778c}.ts-account-selection small{margin-top:3px}.ts-account-selection__meta{display:flex;align-items:flex-end;flex-direction:column;gap:5px;white-space:nowrap;font-size:.8rem;color:#7b8797}.ts-account-favorite{color:#7b5a00!important;font-weight:700}.ts-account-empty{padding:24px;text-align:center;border:1px dashed #cbd7e6;border-radius:12px;background:#fafcff}.ts-account-empty p{margin-top:0;color:#68778c}
@media(max-width:760px){.ts-account-hero{padding-top:34px}.ts-account-layout,.ts-account-auth,.ts-account-stats{grid-template-columns:1fr}.ts-account-form__row{grid-template-columns:1fr}.ts-account-toolbar,.ts-account-selection{align-items:flex-start;flex-direction:column}.ts-account-selection__meta{align-items:flex-start}.ts-account-card__head{align-items:flex-start;flex-direction:column}}


/* 2.0.16 — saved client machines */
.ts-account-form select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd7e6;border-radius:10px;background:#fff;color:#142036}
.ts-account-machines{display:grid;gap:10px;margin:0 0 20px}.ts-account-machine{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 15px;border:1px solid #dfe6ef;border-radius:12px;background:#fbfcfe}.ts-account-machine__main{display:grid;gap:4px}.ts-account-machine__main>span,.ts-account-machine__main small{color:#68778c}.ts-account-machine__meta{display:flex;gap:7px;flex-wrap:wrap}.ts-account-machine__meta span{padding:4px 8px;border-radius:999px;background:#eef5ff;color:#36536f;font-size:.78rem;font-weight:700}.ts-account-machine__delete{margin:0}.ts-account-machine-form{padding-top:18px;border-top:1px solid #e3e9f1}
.ts-selector-machine-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:14px 20px;align-items:center;margin-bottom:14px;padding:16px 18px;border:1px solid #cfdceb;border-radius:14px;background:#f8fbff}.ts-selector-machine-profile>div{display:grid;gap:3px}.ts-selector-machine-profile strong{font-size:.96rem}.ts-selector-machine-profile span{color:#65758b;font-size:.84rem;line-height:1.45}.ts-selector-machine-profile select{width:100%;min-height:44px;padding:9px 12px;border:1px solid #c5d3e4;border-radius:10px;background:#fff;color:#142036}.ts-selector-machine-profile__status{grid-column:1/-1;min-height:1.2em;color:#45617d!important;font-size:.8rem!important}
@media(max-width:900px){.ts-account-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-selector-machine-profile{grid-template-columns:1fr}}
@media(max-width:760px){.ts-account-machine{align-items:flex-start;flex-direction:column}.ts-account-machine__delete{width:100%}.ts-account-machine__delete .ts-btn{width:100%}.ts-account-stats{grid-template-columns:1fr}}

/* 2.0.17 — client tool inventory */
.ts-selector-saved-tools{display:grid;gap:12px;margin-bottom:14px;padding:16px 18px;border:1px solid #cfdceb;border-radius:14px;background:#fff}
.ts-selector-saved-tools__head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.ts-selector-saved-tools__head>div{display:grid;gap:3px}
.ts-selector-saved-tools__head strong{font-size:.96rem}
.ts-selector-saved-tools__head span{color:#65758b;font-size:.84rem;line-height:1.45}
.ts-selector-saved-tools__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}
.ts-selector-saved-tool{display:grid;gap:3px;padding:11px 12px;border:1px solid #e0e7f0;border-radius:11px;background:#f8fbff}
.ts-selector-saved-tool strong{font-size:.88rem;color:#142036}
.ts-selector-saved-tool span,.ts-selector-saved-tool small{color:#65758b;font-size:.76rem;line-height:1.35}
.ts-selector-saved-tools__status{min-height:1.2em;color:#45617d;font-size:.8rem}
@media(max-width:760px){.ts-selector-saved-tools__head{align-items:flex-start;flex-direction:column}.ts-selector-saved-tools__head .ts-btn{width:100%}}


/* 2.0.18 — customer cut sheets */
.ts-account-cut-sheet__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ts-account-cut-sheet__actions form{margin:0}.ts-account-form__hint{margin:0;color:#68778c;font-size:.9rem;line-height:1.55}.ts-selector-cut-sheets .ts-selector-saved-tool .ts-btn{margin-top:8px;width:max-content}.ts-selector-cut-sheets .ts-selector-saved-tool small{color:#68778c}@media(max-width:760px){.ts-account-cut-sheet__actions{width:100%}.ts-account-cut-sheet__actions .ts-btn{width:100%}}
.ts-account-form textarea{width:100%;padding:10px 12px;border:1px solid #cbd7e6;border-radius:10px;background:#fff;color:#142036;resize:vertical;font:inherit;line-height:1.5}.ts-account-form textarea:focus{outline:2px solid color-mix(in srgb,var(--ts-blue,#1f63d5) 24%,transparent);border-color:var(--ts-blue,#1f63d5)}

/* 2.0.19 — customer projects */
.ts-account-project-picker {
  margin: 0;
  padding: 16px;
  border: 1px solid var(--ts-border, #dfe3e8);
  border-radius: 12px;
}
.ts-account-project-picker legend {
  padding: 0 6px;
  font-weight: 700;
}
.ts-account-project-picker label {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 8px 0;
  cursor: pointer;
}
.ts-account-project-picker input[type="checkbox"] {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}
.ts-account-project__sheets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.ts-account-project__sheets .ts-btn {
  padding: 8px 12px;
  font-size: .88rem;
}


/* 2.0.20 — project editing and corrected project cards */
.ts-account-project__edit{margin-top:14px;border-top:1px solid var(--ts-border,#dfe3e8);padding-top:12px}.ts-account-project__edit summary{cursor:pointer;font-weight:700;color:var(--ts-blue,#1f63d5);list-style-position:inside}.ts-account-project-edit-form{margin-top:14px}.ts-account-project-edit-form .ts-account-project-picker{max-height:220px;overflow:auto;background:#fff}.ts-account-project-edit-form .ts-btn{width:max-content}@media(max-width:760px){.ts-account-project-edit-form .ts-btn{width:100%}}


/* ToolSelector 2.0.23 — customer account dashboard navigation */
.ts-account-jumpnav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin:0 0 22px;padding:10px;border:1px solid #d8e1ed;border-radius:16px;background:#fff}
.ts-account-jumpnav a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:11px;color:#26364c;font-size:.82rem;font-weight:800;text-decoration:none;background:#f7f9fc;transition:border-color .15s ease,background .15s ease}
.ts-account-jumpnav a:hover,.ts-account-jumpnav a:focus-visible{border-color:#b9cbe1;background:#eef5ff;outline:none}
.ts-account-jumpnav strong{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#e6effd;color:#164f9f;font-size:.75rem}
.ts-account-page section[id]{scroll-margin-top:110px}
@media(max-width:1100px){.ts-account-jumpnav{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.ts-account-jumpnav{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.ts-account-jumpnav a{min-height:42px}}
@media(max-width:420px){.ts-account-jumpnav{grid-template-columns:1fr}}

/* 2.0.24 — customer data controls */
.ts-account-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ts-account-data-panel{padding:18px;border:1px solid #d8e1ed;border-radius:14px;background:#f9fbfd}.ts-account-data-panel h3{margin:0 0 8px;font-size:1rem}.ts-account-data-panel>p{margin:0 0 14px;color:#68778c;line-height:1.6}.ts-account-danger-zone{border-style:dashed}.ts-btn--danger{font-weight:800}.ts-account-danger-zone .ts-account-form{margin-top:12px}@media(max-width:760px){.ts-account-data-grid{grid-template-columns:1fr}}


/* 2.0.25 — Customer email verification */
.ts-account-email-verification{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:16px 18px;border:1px solid #efd18d;border-radius:14px;background:#fffaf0;color:#5e481b}
.ts-account-email-verification>div{display:flex;flex-direction:column;gap:4px;min-width:0}.ts-account-email-verification strong{font-size:.95rem}.ts-account-email-verification span{color:#75613a;font-size:.86rem;line-height:1.45}.ts-account-email-verification form{margin:0;flex:0 0 auto}
@media(max-width:760px){.ts-account-email-verification{align-items:flex-start;flex-direction:column}.ts-account-email-verification form,.ts-account-email-verification .ts-btn{width:100%}}

/* Quote request workflow — 2.0.29 */
.ts-quote-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:28px;align-items:start}.ts-quote-summary{display:grid;gap:18px}.ts-quote-summary__list{display:grid;gap:0;margin:16px 0}.ts-quote-summary__list>div{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.16)}.ts-quote-summary__list dt{opacity:.72}.ts-quote-summary__list dd{margin:0;font-weight:700;overflow-wrap:anywhere}.ts-form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.ts-account-quote-list{display:grid;gap:12px}.ts-account-quote{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--ts-border,#dfe3e8);border-radius:14px;background:#fff}.ts-account-quote__main{display:grid;gap:5px}.ts-account-quote__main>span,.ts-account-quote__main>small{color:var(--ts-muted,#5d6673)}.ts-account-quote__meta{display:flex;flex-wrap:wrap;gap:7px}.ts-account-quote__meta span{padding:4px 8px;border-radius:999px;background:var(--ts-soft,#f3f5f7);font-size:12px}.ts-account-quote__status{display:grid;justify-items:end;gap:5px}.ts-account-quote__status strong{white-space:nowrap}.ts-account-quote__status small{color:var(--ts-muted,#5d6673)}@media(max-width:900px){.ts-quote-grid{grid-template-columns:1fr}.ts-account-quote{grid-template-columns:1fr}.ts-account-quote__status{justify-items:start}}@media(max-width:600px){.ts-quote-summary__list>div{grid-template-columns:1fr;gap:3px}}

/* Version 2.0.35 — mobile responsive stabilization */
@media (max-width: 980px) {
  body.ts-menu-open { overflow: hidden; }

  .main-navigation {
    top: 99px;
    left: 12px;
    right: 12px;
    max-height: calc(100dvh - 111px);
    padding: 10px;
    overflow-y: auto;
    overscroll-behavior: contain;
    text-align: left;
    -webkit-overflow-scrolling: touch;
  }
  body.admin-bar .main-navigation { max-height: calc(100dvh - 157px); }

  .primary-menu {
    width: 100%;
    align-items: stretch;
    gap: 1px;
  }
  .primary-menu > li {
    position: relative;
    width: 100%;
    border-bottom: 1px solid #eef2f7;
  }
  .primary-menu > li:last-child { border-bottom: 0; }
  .primary-menu > li > a {
    width: 100%;
    min-height: 42px;
    padding: 10px 44px 10px 10px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    font-size: 13px;
    line-height: 1.25;
    white-space: normal;
  }
  .primary-menu > li:not(.menu-item-has-children) > a { padding-right: 10px; }
  .primary-menu > li:nth-child(5) > a::after { display: none; }

  .primary-menu .sub-menu {
    position: static;
    width: 100%;
    margin: 0;
    padding: 0 0 7px 12px;
    display: none;
    border: 0;
    border-left: 2px solid #e7eef8;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .primary-menu .menu-item-has-children.is-submenu-open > .sub-menu { display: block; }
  .primary-menu .sub-menu a {
    min-height: 36px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    border-radius: 7px;
    font-size: 12px;
    line-height: 1.25;
  }
  .ts-submenu-toggle {
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 2;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #07182e;
    cursor: pointer;
  }
  .ts-submenu-toggle:hover,
  .ts-submenu-toggle:focus-visible { background: #f1f5fa; color: #145dbe; }
  .ts-submenu-toggle::before {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translate(-1px,-1px);
    transition: transform .18s ease;
  }
  .menu-item-has-children.is-submenu-open > .ts-submenu-toggle::before {
    transform: rotate(225deg) translate(-1px,-1px);
  }
}

@media (min-width: 981px) {
  .ts-submenu-toggle { display: none !important; }
}

@media (max-width: 640px) {
  :root { --ts-wrap: calc(100% - 24px); }

  /* Header: larger logo and safer market touch targets. */
  .ts-topbar .ts-wrap,
  .site-header .ts-wrap { width: calc(100% - 24px); }
  .ts-topbar__inner { gap: 8px; }
  .ts-topbar__group { gap: 7px; }
  .ts-market-switcher {
    margin-left: auto;
    gap: 4px !important;
    padding-right: 2px;
  }
  .ts-market-switcher__active {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 0 5px;
  }
  .ts-market-switcher a {
    min-width: 40px;
    min-height: 31px;
    padding: 0 8px;
    justify-content: center;
    border-radius: 6px;
  }
  .ts-brand--image img { width: 205px; max-width: 100%; height: auto; }
  .custom-logo { max-width: 205px; max-height: 58px; }
  .ts-nav-actions .ts-account-btn { display: grid; }

  /* Home hero: image first, then copy/action, with less vertical whitespace. */
  .ts-hero-v2 { overflow: visible; }
  .ts-hero-v2 .ts-wrap { width: 100%; }
  .ts-hero-v2__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 0;
  }
  .ts-hero-v2__visual {
    order: -1;
    width: 100%;
    height: auto;
    min-height: 0;
    background: #eef3f8;
  }
  .ts-hero-v2__visual::before { display: none; }
  .ts-hero-v2__visual img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 2.25 / 1;
    object-fit: cover;
    object-position: center;
  }
  .ts-hero-v2__copy {
    width: var(--ts-wrap);
    margin-inline: auto;
    padding: 20px 0 18px;
    text-align: left;
  }
  .ts-hero-v2 h1 {
    margin: 0;
    max-width: none;
    font-size: clamp(2.2rem, 11.5vw, 3.15rem);
    line-height: 1.02;
    letter-spacing: -.045em;
  }
  .ts-hero-v2__lead {
    margin-top: 14px;
    max-width: none;
    font-size: .98rem;
    line-height: 1.5;
  }
  .ts-hero-v2__actions { margin-top: 18px; gap: 8px; }
  .ts-hero-v2__actions .ts-btn {
    min-height: 48px;
    height: auto;
    padding: 0 18px;
  }
  .ts-hero-v2__actions .ts-btn--ghost { justify-content: center; }
  .ts-hero-v2__trust {
    position: static;
    width: 100%;
    max-width: none;
    margin-top: 18px;
    padding-top: 14px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    border-top: 1px solid #eef1f5;
    font-size: .78rem;
    line-height: 1.35;
    white-space: normal;
  }

  /* Compact home spacing. */
  .ts-home-grid-v2 { padding-top: 6px; }
  .ts-home-grid-v2__inner { gap: 10px; }
  .ts-home-process-v2 { padding-bottom: 8px; }
  .ts-home-process-v2 h2 { margin-bottom: 10px; }
  .ts-steps-v2 { gap: 8px; }
  .ts-step-v2 { min-height: 0; padding: 11px 10px; }

  /* Tool categories: one full-width card per row, never compressed. */
  .ts-home-categories-v2 {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 12px;
    overflow: visible;
  }
  .ts-home-categories-v2 h2 { margin-bottom: 10px; }
  .ts-categories-v2 {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px;
  }
  .ts-category-card-v2 {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(112px, 36%) minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
  }
  .ts-category-card-v2__art {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 112px;
    aspect-ratio: auto;
  }
  .ts-category-card-v2__body {
    min-width: 0;
    padding: 14px 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .ts-category-card-v2__body h3 {
    margin-bottom: 10px;
    overflow-wrap: anywhere;
    font-size: .96rem;
  }
  .ts-category-card-v2__body .ts-btn {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    white-space: normal;
    line-height: 1.2;
  }

  /* Markets served: always a normal in-flow card on phones, never overlay-like. */
  .ts-home-grid-v2__aside {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 10px;
    padding: 0;
    transform: none !important;
  }
  .ts-side-card-v2,
  .ts-side-card-v2--markets {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0;
    padding: 14px !important;
    display: block !important;
    overflow: hidden;
    transform: none !important;
  }
  .ts-side-card-v2__head { margin-bottom: 8px !important; }
  .ts-side-card-v2__map { display: none !important; }
  .ts-markets-v2 { display: grid !important; gap: 0; }
  .ts-market-v2 {
    width: 100%;
    min-width: 0;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 18px !important;
    align-items: center;
    gap: 10px;
    padding: 10px 0 !important;
  }
  .ts-market-v2__flag {
    width: 38px;
    height: 38px;
    font-size: 1.15rem;
  }
  .ts-market-v2 small { line-height: 1.35; }
  .ts-resource-list-v2 a { padding: 9px 0; }

  .ts-stats-v2 { margin-top: 8px; }
  .ts-stat-v2 { min-height: 64px; padding: 12px 8px; }
}

@media (max-width: 380px) {
  .ts-brand--image img { width: 185px; }
  .custom-logo { max-width: 185px; }
  .ts-nav-actions { gap: 2px; }
  .ts-icon-btn { width: 30px; height: 30px; }
  .ts-icon-btn svg { width: 20px; height: 20px; }
  .ts-category-card-v2 { grid-template-columns: 104px minmax(0, 1fr); }
  .ts-category-card-v2__art { min-height: 104px; }
  .ts-market-switcher__active span:last-child { display: none; }
}

/* Version 2.0.39 — mobile home grid root-cause fix.
   A later desktop pixel-pass reintroduced a two-column grid after the
   original responsive rules. On phones/tablets that collapsed the main
   content next to a fixed-width sidebar. Force the home layout back to a
   single in-flow column below the desktop breakpoint. */
@media (max-width: 1100px) {
  .ts-home-grid-v2__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: start !important;
  }

  .ts-home-grid-v2__main,
  .ts-home-grid-v2__aside {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .ts-home-grid-v2__aside {
    position: static !important;
    inset: auto !important;
    transform: none !important;
  }

  .ts-home-process-v2,
  .ts-home-categories-v2,
  .ts-steps-v2,
  .ts-categories-v2,
  .ts-side-card-v2 {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 640px) {
  .ts-home-grid-v2__inner {
    gap: 12px !important;
  }

  .ts-home-grid-v2__main,
  .ts-home-grid-v2__aside {
    overflow: visible !important;
  }

  .ts-side-card-v2,
  .ts-side-card-v2--markets {
    float: none !important;
    clear: both !important;
  }
}


/* Version 2.0.41 — exact approved family icon artwork */
.ts-feature-card > span.ts-family-approved-icon {
  width: 60px;
  height: 60px;
  padding: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: transparent;
  color: inherit;
}
.ts-feature-card > span.ts-family-approved-icon img {
  display: block;
  width: 60px;
  height: 60px;
  max-width: none;
  object-fit: cover;
  border-radius: 13px;
}


/* Version 2.0.42 — exact approved family artwork on all family surfaces */
.ts-approved-family-icon {
  display:block;
  flex:0 0 auto;
  object-fit:cover;
}
.ts-approved-family-icon--hero {
  width:160px !important;
  height:160px !important;
  max-width:160px !important;
  border-radius:24px;
  object-fit:cover !important;
}
.ts-platform-kicker--family,
.ts-selector-page__kicker--family {
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.ts-approved-family-icon--kicker {
  width:28px !important;
  height:28px !important;
  max-width:28px !important;
  border-radius:7px;
}
.ts-product-card__approved-icon {
  width:100%;
  min-height:210px;
  display:grid;
  place-items:center;
  background:#eef2f6;
}
.ts-approved-family-icon--card {
  width:128px !important;
  height:128px !important;
  max-width:128px !important;
  border-radius:20px;
}
@media(max-width:640px){
  .ts-approved-family-icon--hero {
    width:132px !important;
    height:132px !important;
    max-width:132px !important;
  }
  .ts-product-card__approved-icon{min-height:180px}
  .ts-approved-family-icon--card {
    width:112px !important;
    height:112px !important;
    max-width:112px !important;
  }
}


/* Version 2.0.43 — approved family icon consistency audit */
.ts-approved-family-icon--field{width:36px!important;height:36px!important;max-width:36px!important;border-radius:10px;object-fit:cover!important}
.ts-selector-field-card__icon:has(.ts-approved-family-icon--field){padding:0;overflow:hidden;background:transparent}
.ts-approved-family-icon--result{width:64px!important;height:64px!important;max-width:64px!important;border-radius:16px;object-fit:cover!important}
.ts-selector-result__icon:has(.ts-approved-family-icon--result){padding:0;overflow:hidden;background:transparent}
.ts-approved-family-icon--calculator,.ts-approved-family-icon--resource-card{width:54px!important;height:54px!important;max-width:54px!important;border-radius:15px;object-fit:cover!important}
.ts-calculator-card__intro>span:has(.ts-approved-family-icon--calculator),.ts-resource-page-card__icon--approved-family{padding:0;overflow:hidden;background:transparent}
.ts-approved-family-icon--stat{width:32px!important;height:32px!important;max-width:32px!important;border-radius:8px;object-fit:cover!important}
.ts-approved-family-icon--sitemap{width:44px!important;height:44px!important;max-width:44px!important;border-radius:12px;object-fit:cover!important}
@media(max-width:640px){.ts-approved-family-icon--result{width:50px!important;height:50px!important;max-width:50px!important;border-radius:13px}}


/* Version 2.0.44 — strict icon color normalization. Icon geometry unchanged; palette is embedded in approved PNG assets. */

/* 2.0.45 — neutral manufacturer labels */
.ts-product-card__brand{display:inline-flex;align-items:center;margin-top:7px;padding:4px 8px;border:1px solid #dce7f5;border-radius:999px;background:#f7faff;color:#334155;font-size:.72rem;font-weight:800;line-height:1}.ts-brand-identification-note{margin:10px 2px 24px;color:var(--ts-muted);font-size:.78rem;line-height:1.55}
