/* Translation Excellence theme styles.
   Tokens live in theme.json. This file defines layout, the section
   rhythm, and a small set of shared components. */

:root {
	--te-ink: var(--wp--preset--color--ink);
	--te-slate: var(--wp--preset--color--slate);
	--te-navy: var(--wp--preset--color--navy);
	--te-navy-soft: var(--wp--preset--color--navy-soft);
	--te-steel: var(--wp--preset--color--steel);
	--te-steel-deep: var(--wp--preset--color--steel-deep);
	--te-sky: var(--wp--preset--color--sky);
	--te-ice: var(--wp--preset--color--ice);
	--te-cloud: var(--wp--preset--color--cloud);
	--te-line: var(--wp--preset--color--line);
	--te-signal: var(--wp--preset--color--signal);
	--te-r-sm: var(--wp--custom--radius--sm, 6px);
	--te-r-md: var(--wp--custom--radius--md, 10px);
	--te-r-lg: var(--wp--custom--radius--lg, 14px);
	--te-shadow: var(--wp--custom--shadow);
	--te-section: clamp(2.75rem, 5.5vw, 4.5rem);
	--te-util-h: 38px;
	--te-header-h: 72px;
	--te-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */
html { scroll-padding-top: calc(var(--te-header-h) + 16px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; font-feature-settings: "cv11", "ss01"; }
img { height: auto; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; border-radius: 3px; }
.wp-site-blocks > * + * { margin-block-start: 0; }
main.wp-block-group { margin-block-start: 0; }
main.wp-block-group > * { margin-block: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

/* ---------- Header ---------- */
.te-site-header { position: sticky; top: calc(-1 * var(--te-util-h)); z-index: 100; }
.admin-bar .te-site-header { top: calc(32px - var(--te-util-h)); }
.te-site-header > * { margin-block: 0; }

.te-utility { font-size: 0.8125rem; }
.te-utility__row { min-height: var(--te-util-h); gap: 0.5rem 1.5rem; }
.te-utility p { margin: 0; }
.te-utility__note { color: rgba(255,255,255,.72); }
.te-utility__links { display: flex; gap: 1.5rem; }
.te-utility a { color: rgba(255,255,255,.88); text-decoration: none; }
.te-utility a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.te-utility__phone { font-weight: 600; color: #fff !important; }
/* Language link: a small globe, set apart from the other links. */
.te-utility__lang { display: inline-flex; align-items: center; gap: 0.35rem; padding-left: 1.5rem; border-left: 1px solid rgba(255,255,255,.25); font-weight: 600; }
.te-utility__lang::before { content: ""; width: 0.95rem; height: 0.95rem; background: currentColor; -webkit-mask: var(--te-i-globe) center / contain no-repeat; mask: var(--te-i-globe) center / contain no-repeat; }

/* Solid background: a backdrop-filter here would trap the fixed mobile menu overlay inside the header. */
.te-header { background: #fff; border-bottom: 1px solid var(--te-line); }
.te-header__row { min-height: var(--te-header-h); gap: clamp(1rem, 1.6vw, 2rem); }
.te-logo { display: inline-flex; flex-shrink: 0; margin: 0 !important; }
.te-logo img { width: 150px !important; height: auto; aspect-ratio: 3 / 1; display: block; }

.te-nav { flex: 1; }
.te-nav .wp-block-navigation__container { gap: clamp(1rem, 1.55vw, 2rem); }
.te-nav .wp-block-navigation-item__content { color: var(--te-ink); text-decoration: none; font-size: 0.9375rem; font-weight: 550; padding-block: 1.5rem; position: relative; }
.te-nav > .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--te-steel-deep);
	transform: scaleX(0); transform-origin: left; transition: transform .2s var(--te-ease);
}
.te-nav .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.te-nav .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.te-nav .wp-block-navigation__submenu-icon { margin-left: 0.3rem; opacity: .6; }
.te-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--te-line) !important;
	border-radius: var(--te-r-md);
	box-shadow: var(--te-shadow);
	padding: 0.5rem !important;
	min-width: 280px !important;
	margin-top: -1px;
}
.te-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.6rem 0.85rem !important; font-weight: 500; border-radius: var(--te-r-sm); }
.te-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--te-cloud); color: var(--te-steel-deep); }
.te-header__actions { flex-shrink: 0; }
.te-header__cta .wp-block-button__link { padding: 0.7rem 1.15rem; }

.te-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem clamp(16px, 4vw, 40px) 2rem; }
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--te-line); }
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.0625rem; font-weight: 600; padding: 0.9rem 0 !important; }
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 0.75rem 0.75rem !important; }
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 0.9875rem; font-weight: 500; padding: 0.4rem 0 !important; color: var(--te-slate); }

/* Six top-level items fit on one row from 1024px; drop the search icon on the narrowest laptops. */
@media (max-width: 1099px) and (min-width: 1024px) { .te-header__actions .te-search { display: none; } }
@media (max-width: 781px) {
	.te-utility__note { display: none; }
	.te-utility__row { justify-content: center !important; }
}
/*
 * Hamburger menu below 1024px (tablets and phones), not just phones.
 * Core switches at 600px; between 600px and 1023px these rules restore the
 * phone behavior: show the menu button, hide the inline links, and use the
 * full-screen overlay when the menu is open.
 */
@media (min-width: 600px) and (max-width: 1023px) {
	.te-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.te-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
	.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static; width: auto; opacity: 1; visibility: visible; height: auto; min-width: 0 !important; box-shadow: none; border: 0 !important; background: transparent; }
	.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none; }
	.te-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0; }
}
@media (max-width: 1023px) {
	.te-header__row { gap: 0.75rem; }
	.te-nav { order: 3; flex: 0 0 auto; }
	.te-header__actions { margin-left: auto !important; }
}
@media (max-width: 599px) {
	.te-utility__desk { display: none; } /* Contact and Client login are in the phone menu. */
	.te-logo img { width: 116px !important; }
	.te-header__cta .wp-block-button__link { padding: 0.55rem 0.9rem; font-size: 0.875rem; }
	.te-utility__links { gap: 1.1rem; }
}

/* ---------- Buttons and links ---------- */
.wp-block-button .wp-block-button__link { text-decoration: none; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; transition: background-color .18s var(--te-ease), color .18s var(--te-ease), border-color .18s var(--te-ease), transform .18s var(--te-ease); }
.wp-block-button .wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-te-light .wp-block-button__link { background: #fff; color: var(--te-navy); }
.wp-block-button.is-style-te-light .wp-block-button__link:hover { background: var(--te-ice); }
.wp-block-button.is-style-te-signal .wp-block-button__link { background: var(--te-steel-deep); color: #fff; }
.wp-block-button.is-style-te-signal .wp-block-button__link:hover { background: var(--te-navy); }
.wp-block-button.is-style-outline.te-btn-outline-light .wp-block-button__link { color: #fff; border: 1.5px solid rgba(255,255,255,.6); background: transparent; padding: calc(0.85rem - 1.5px) calc(1.4rem - 1.5px); }
.wp-block-button.is-style-outline.te-btn-outline-light .wp-block-button__link:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.te-link { margin: 0; font-weight: 600; font-size: 0.9375rem; }
.te-link a { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--te-steel-deep); text-decoration: none; }
.te-link a::after { content: ""; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: var(--te-i-chevron) center / contain no-repeat; mask: var(--te-i-chevron) center / contain no-repeat; transition: transform .18s var(--te-ease); }
.te-link a:hover { color: var(--te-navy); text-decoration: underline; text-underline-offset: 4px; }
.te-link a:hover::after { transform: translateX(3px); }

/* ---------- Section rhythm ----------
   white > cloud alternation, navy for the authority and conversion bands. */
.te-section { padding-block: var(--te-section); }
.te-results, .te-tech, .te-certs { background: var(--te-cloud); }
.te-services, .te-industries, .te-process, .te-faq, .te-stats, .te-logos { background: #fff; }
.te-security, .te-cta { background: var(--te-navy); color: #fff; }

/* ---------- Section header ---------- */
.te-head { gap: 1.25rem 3rem; margin-bottom: clamp(1.75rem, 3vw, 2.5rem) !important; }
.te-head__text { max-width: 720px; }
.te-head__text > * { margin-block: 0; }
.te-head h2 { max-width: 24ch; }
.te-head__lede, .te-faq__intro .te-head__lede { margin-top: 1rem !important; font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); line-height: 1.6; color: var(--te-slate); max-width: 60ch; }
.te-head__link { padding-bottom: 0.35rem; }

/* Eyebrow label with the two-color TE logo mark (cyan-blue arc, orange-red E). */
.te-eyebrow {
	display: inline-flex; align-items: center; gap: 0.7rem; margin: 0 !important;
	font-size: 0.875rem; font-weight: 600; letter-spacing: 0.01em; line-height: 1.2; color: var(--te-steel-deep);
}
.te-eyebrow::before {
	content: ""; flex-shrink: 0; width: 1.75rem; height: 4px; border-radius: 4px;
	background: linear-gradient(90deg, #3FB0DD 0 45%, transparent 45% 55%, #E8551A 55% 100%);
}
.te-eyebrow + .wp-block-heading { margin-top: 0.9rem !important; }
.te-head--light .te-eyebrow, .te-security .te-eyebrow { color: var(--te-sky); }

/* Accent phrase inside section titles. */
.te-accent { color: var(--te-steel-deep); }
.te-head--light .te-accent, .te-security .te-accent { color: var(--te-sky); }
.te-head--light h2 { color: #fff; }
.te-head--light .te-head__lede { color: rgba(255,255,255,.78); }
.te-head--light .te-link a { color: var(--te-sky); }
.te-head--light .te-link a:hover { color: #fff; }

/* ---------- Icon system ----------
   .te-ico draws a 44px tinted badge (::before) with the icon (::after) centered on it. */
.te-ico { position: relative; --te-ico-top: 0px; --te-ico-left: 0px; --te-ico-bg: var(--te-ice); --te-ico-fg: var(--te-steel-deep); }
.te-ico::before { content: ""; display: block; width: 2.75rem; height: 2.75rem; border-radius: var(--te-r-md); background: var(--te-ico-bg); margin-bottom: 1.25rem; }
.te-ico::after {
	content: ""; position: absolute; top: calc(var(--te-ico-top) + 0.6875rem); left: calc(var(--te-ico-left) + 0.6875rem);
	width: 1.375rem; height: 1.375rem; background: var(--te-ico-fg);
	-webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat;
}

/* ---------- Hero ---------- */
.te-hero.wp-block-cover { padding-block: clamp(4.5rem, 10vw, 8rem) clamp(4rem, 8vw, 6.5rem); }
.te-hero .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(90deg, rgba(15,42,61,.97) 0%, rgba(15,42,61,.93) 32%, rgba(42,106,132,.62) 56%, rgba(42,106,132,0) 80%) !important;
}
/* Pin hero copy to the same 1240px grid as the logo and every section below. */
.te-hero.wp-block-cover { padding-inline: var(--wp--style--root--padding-left, clamp(16px, 4vw, 40px)); }
.te-hero .wp-block-cover__inner-container { width: 100% !important; max-width: var(--wp--style--global--wide-size, 1240px) !important; margin-inline: auto !important; }
.te-hero__content { color: #fff; }
.te-hero__content > * { margin-block: 0; max-width: 680px; }
.te-tagline { display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; font-weight: 550; color: var(--te-sky); letter-spacing: 0.01em; }
.te-tagline::before { content: ""; width: 2rem; height: 2px; background: var(--te-steel); flex-shrink: 0; }
.te-hero__title { color: #fff !important; margin-top: 1.5rem !important; max-width: 760px !important; line-height: 1.14 !important; }
.te-mark {
	/* A band 80% of the inline box tall, so it never touches the line above. */
	background: linear-gradient(#fff, #fff) 0 64% / 100% 80% no-repeat; color: var(--te-signal);
	padding: 0 0.2em; -webkit-box-decoration-break: clone; box-decoration-break: clone; white-space: nowrap;
}
.te-hero__lede { margin-top: 1.5rem !important; font-size: clamp(1.0625rem, 1.35vw, 1.1875rem); line-height: 1.65; color: rgba(255,255,255,.86); max-width: 56ch !important; }
.te-hero__ctas { margin-top: 2.25rem !important; gap: 0.75rem; }
.te-hero__call { margin-top: 1rem !important; font-size: 0.9375rem; color: rgba(255, 255, 255, .8); }
.te-hero__call a { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, .4); white-space: nowrap; }
.te-hero__call a:hover { border-bottom-color: #fff; }
/* Calendar icon for "Book a free consultation" buttons. */
.te-btn-cal .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; }
.te-btn-cal .wp-block-button__link::before { content: ""; flex-shrink: 0; width: 1.05rem; height: 1.05rem; background: currentColor; -webkit-mask: var(--te-i-calendar) center / contain no-repeat; mask: var(--te-i-calendar) center / contain no-repeat; }
.te-hero__trust { list-style: none; padding: 1.5rem 0 0 !important; margin-top: 2.75rem !important; border-top: 1px solid rgba(255,255,255,.16); display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; font-size: 0.875rem; font-weight: 500; color: rgba(255,255,255,.88); }
.te-hero__trust li { display: inline-flex; align-items: center; gap: 0.5rem; }
.te-hero__trust li::before { content: ""; width: 1rem; height: 1rem; background: var(--te-sky); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
@media (max-width: 640px) { .te-mark { white-space: normal; } }
@media (max-width: 781px) {
	.te-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(15,42,61,.88) 0%, rgba(15,42,61,.96) 60%) !important; }
	.te-hero.wp-block-cover { min-height: 0 !important; }
}

/* ---------- Stats ---------- */
.te-stats { border-bottom: 1px solid var(--te-line); padding-block: 2.25rem; }
.te-stats__row { gap: 0 !important; }
.te-stat { margin: 0; padding: 0.25rem 2rem; border-left: 1px solid var(--te-line); font-size: 0.9375rem; color: var(--te-slate); line-height: 1.4; }
.te-stat:first-child { border-left: 0; padding-left: 0; }
.te-stat strong { display: block; font-size: clamp(1.875rem, 3vw, 2.375rem); font-weight: 700; letter-spacing: -0.03em; color: var(--te-navy); line-height: 1.1; margin-bottom: 0.35rem; font-variant-numeric: tabular-nums; }
.te-count { font-variant-numeric: tabular-nums; }
.te-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (max-width: 781px) {
	.te-stats { padding-block: 1.25rem; }
	.te-stats__row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.te-stat { padding: 1rem 1.25rem; }
	.te-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
	.te-stat:nth-child(n+3) { border-top: 1px solid var(--te-line); }
}

/* ---------- Client logos ---------- */
.te-logos { padding-block: 2.5rem; border-bottom: 1px solid var(--te-line); }
.te-logos__inner { display: grid; grid-template-columns: 11rem 1fr; gap: 2.5rem; align-items: center; }
.te-logos__inner > * { margin: 0 !important; }
.te-logos__label { font-size: 0.875rem; font-weight: 600; color: var(--te-slate); line-height: 1.45; }
.te-logos__row { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1.5rem 2rem; align-items: center; }
.te-logos__row .wp-block-image { margin: 0; display: flex; justify-content: center; }
.te-logos__row img { height: 34px; width: 100%; max-width: 104px; object-fit: contain; filter: grayscale(1) contrast(1.1); opacity: .62; transition: opacity .2s, filter .2s; }
.te-logos__row img:hover { filter: none; opacity: 1; }
@media (max-width: 1024px) {
	.te-logos__inner { grid-template-columns: 1fr; gap: 1.5rem; text-align: center; }
	.te-logos__row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Marquee mode (enabled by logo-marquee.js; static grid without JS or with reduced motion). */
.te-logos__row.is-marquee {
	display: block; overflow: hidden; min-width: 0;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.te-marquee__track { display: flex; align-items: center; width: max-content; animation: te-marquee 38s linear infinite; }
.te-marquee__track > .wp-block-image { flex: 0 0 auto; width: 9.5rem; padding-inline: 1.5rem; box-sizing: border-box; margin: 0 !important; }
.te-marquee__track img { max-width: 100%; }
.te-logos__row.is-marquee:hover .te-marquee__track,
.te-logos__row.is-marquee:focus-within .te-marquee__track,
.te-logos__row.is-paused .te-marquee__track,
.te-logos__row.is-offscreen .te-marquee__track { animation-play-state: paused; }
@keyframes te-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.te-marquee__toggle {
	grid-column: 2; justify-self: end; margin-top: -1.25rem !important;
	display: inline-flex; align-items: center; gap: 0.4rem;
	font: 500 0.75rem/1 var(--wp--preset--font-family--inter); color: var(--te-slate);
	background: none; border: 0; padding: 0.4rem 0.2rem; cursor: pointer; min-height: 32px;
}
.te-marquee__toggle::before {
	content: ""; width: 0.8rem; height: 0.8rem; background: currentColor;
	-webkit-mask: linear-gradient(90deg, #000 0 35%, transparent 35% 65%, #000 65%) center / 100% 100% no-repeat;
	mask: linear-gradient(90deg, #000 0 35%, transparent 35% 65%, #000 65%) center / 100% 100% no-repeat;
}
.te-marquee__toggle[aria-pressed="true"]::before { -webkit-mask: none; mask: none; clip-path: polygon(15% 0, 100% 50%, 15% 100%); }
.te-marquee__toggle:hover { color: var(--te-steel-deep); }
@media (max-width: 1024px) {
	.te-marquee__toggle { grid-column: 1; justify-self: center; margin-top: -0.5rem !important; }
	.te-marquee__track > .wp-block-image { width: 8rem; padding-inline: 1.1rem; }
}

/* ---------- Problems we solve (interactive selector) ---------- */
.te-faq__intro h2 { font-size: clamp(1.75rem, 2.6vw, 2.25rem); }
.te-section.te-pains { background: var(--te-cloud); }

/* Shared pieces (with or without JavaScript) */
.te-selector { margin-block: 0 !important; }
.te-selector > * { margin: 0 !important; }
.te-selector__item > * { margin: 0 !important; }
.te-selector__q { font-size: 1rem !important; line-height: 1.4; font-weight: 600; letter-spacing: -0.01em; color: var(--te-ink); }
.te-selector__panel > * { margin: 0; }
.te-selector__label { font-size: 0.875rem; font-weight: 600; color: var(--te-steel-deep); }
.te-selector__headline { margin-top: 0.85rem !important; font-size: clamp(1.5rem, 2.3vw, 1.875rem); line-height: 1.25; font-weight: 650; letter-spacing: -0.02em; color: var(--te-navy); text-wrap: balance; }
.te-selector__fix { margin-top: 1.1rem !important; font-size: 1.0625rem; line-height: 1.65; color: var(--te-slate); max-width: 54ch; }
.te-selector__proof { margin-top: 1.75rem !important; display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; background: var(--te-ice); border-radius: var(--te-r-md); font-size: 0.875rem; line-height: 1.45; color: var(--te-slate); }
.te-selector__proof strong { font-size: 1.875rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1; color: var(--te-navy); white-space: nowrap; font-variant-numeric: tabular-nums; }
.te-selector__panel .te-link { margin-top: 1.6rem; }

/* Without JavaScript: every problem and answer as stacked cards */
.te-selector:not(.is-enhanced) { display: grid; gap: 1rem; }
.te-selector:not(.is-enhanced) .te-selector__item { background: #fff; border: 1px solid var(--te-line); border-radius: var(--te-r-lg); padding: 1.75rem 2rem; }
.te-selector:not(.is-enhanced) .te-selector__panel { margin-top: 1rem !important; }

/* Enhanced: a list of problems beside the open answer */
.te-selector.is-enhanced {
	position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: repeat(var(--rows, 6), auto) 1fr; row-gap: 0.25rem;
	background: #fff; border: 1px solid #BFCDD8; border-radius: 18px; overflow: hidden; box-shadow: var(--te-shadow);
}
.te-selector.is-enhanced::before { content: ""; grid-column: 1; grid-row: 1 / -1; background: #E6EDF2; border-right: 1px solid #BFCDD8; }
.te-selector.is-enhanced .te-selector__item { display: contents; }
.te-selector.is-enhanced .te-selector__q { grid-column: 1; grid-row: var(--row); position: relative; z-index: 1; margin: 0 0.75rem !important; }
.te-selector.is-enhanced .te-selector__item:first-child .te-selector__q { margin-top: 0.75rem !important; }
.te-selector.is-enhanced .te-selector__item:last-child .te-selector__q { margin-bottom: 0.75rem !important; }
.te-selector.is-enhanced .te-selector__panel { grid-column: 2; grid-row: 1 / -1; padding: clamp(2rem, 4vw, 3.25rem) clamp(1.75rem, 4vw, 3.5rem); display: flex; flex-direction: column; justify-content: center; }
.te-selector.is-enhanced .te-selector__panel[hidden] { display: none; }

.te-selector__btn {
	all: unset; box-sizing: border-box; position: relative; display: flex; align-items: center; gap: 0.9rem; width: 100%;
	padding: 0.95rem 1.1rem 0.95rem 4.15rem; min-height: 4rem; border-radius: var(--te-r-md); cursor: pointer;
	font: inherit; color: inherit; transition: background-color .18s var(--te-ease), color .18s var(--te-ease);
}
.te-selector__btn::before { content: ""; position: absolute; left: 1rem; top: 50%; width: 2.35rem; height: 2.35rem; margin-top: -1.175rem; border-radius: var(--te-r-sm); background: #fff; border: 1px solid #CCD8E1; transition: background-color .18s, border-color .18s; }
.te-selector__btn::after { content: ""; position: absolute; left: calc(1rem + 0.5875rem); top: 50%; width: 1.175rem; height: 1.175rem; margin-top: -0.5875rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-selector__btn:hover { background: #fff; }
.te-selector__btn[aria-expanded="true"] { background: var(--te-navy); color: #fff; }
.te-selector__btn[aria-expanded="true"]::before { background: rgba(124, 200, 230, .16); border-color: transparent; }
.te-selector__btn[aria-expanded="true"]::after { background: var(--te-sky); }
.te-selector__btn:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

/* Phones: single-open accordion, answer directly under its problem */
@media (max-width: 900px) {
	.te-selector.is-enhanced { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 0; padding: 0.5rem; background: #E6EDF2; }
	.te-selector.is-enhanced::before { display: none; }
	.te-selector.is-enhanced .te-selector__q { grid-column: 1; grid-row: auto; margin: 0 !important; }
	.te-selector.is-enhanced .te-selector__panel { grid-column: 1; grid-row: auto; padding: 1.5rem 1.25rem 1.75rem; margin: 0.35rem 0 0.75rem !important; background: #fff; border-radius: var(--te-r-md); border: 1px solid #BFCDD8; }
	.te-selector__headline { font-size: 1.375rem; }
	.te-selector__proof strong { font-size: 1.5rem; }
}

/* ---------- Cards (one system) ---------- */
.te-card { background: #fff; border: 1px solid var(--te-line); border-radius: var(--te-r-lg); overflow: hidden; position: relative; }
.te-card--link { transition: border-color .2s var(--te-ease), box-shadow .2s var(--te-ease), transform .2s var(--te-ease); }
.te-card--link:hover { border-color: rgba(42,106,132,.45); box-shadow: var(--te-shadow); transform: translateY(-2px); }
.te-card--link h3 a::after { content: ""; position: absolute; inset: 0; }
.te-card .wp-block-image { margin: 0; }
.te-card .wp-block-image img { width: 100%; display: block; border-radius: 0; }

/* ---------- Services ---------- */
.te-services__grid { gap: 1.25rem !important; }
.te-service { padding: 0; display: flex; flex-direction: column; }
.te-service > * { margin: 0 !important; }
.te-service h3 { padding: 1.35rem 1.5rem 0; font-size: 1.125rem !important; line-height: 1.3; }
.te-service p { padding: 0.5rem 1.5rem 1.6rem; font-size: 0.9375rem !important; line-height: 1.6; }
.te-service h3 a, .te-cred h3 a { color: inherit; text-decoration: none; }
.te-service:hover h3 a { color: var(--te-steel-deep); }

/* ---------- Security (navy authority band) ---------- */
.te-security h2 { color: #fff; }
.te-security .te-head__lede { color: rgba(255,255,255,.78); margin-top: 1rem !important; }
.te-split { gap: clamp(2.5rem, 6vw, 5.5rem); }
.te-split > .wp-block-column > * { margin-block: 0; }
.te-security__img { margin: 0; }
.te-security__img img { border-radius: var(--te-r-lg); width: 100%; }
.te-creds { margin-top: 2.25rem !important; border-top: 1px solid rgba(255,255,255,.14); }
.te-creds > * { margin: 0 !important; }
.te-cred { display: grid; grid-template-columns: 2.75rem 1fr; column-gap: 1.25rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(255,255,255,.14); --te-ico-top: 1.5rem; --te-ico-bg: rgba(124,200,230,.12); --te-ico-fg: var(--te-sky); }
.te-cred::before { grid-row: 1 / span 2; margin: 0; }
.te-cred > * { grid-column: 2; margin: 0; }
.te-cred h3 { font-size: 1.0625rem !important; color: #fff; }
.te-cred h3 a:hover { color: var(--te-sky); text-decoration: underline; text-underline-offset: 3px; }
.te-cred p { margin-top: 0.35rem; font-size: 0.9375rem; color: rgba(255,255,255,.74); line-height: 1.6; }
.te-chips { list-style: none; padding: 0; margin-top: 1.75rem !important; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.te-chips li { font-size: 0.8125rem; font-weight: 600; color: rgba(255,255,255,.9); padding: 0.35rem 0.8rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; }

/* ---------- Industries carousel ---------- */
.te-ind-track {
	display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 1.25rem) / 4); column-gap: 1.25rem;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	scrollbar-width: none; margin-block: 0 !important; padding-block: 0.25rem;
}
.te-ind-track::-webkit-scrollbar { display: none; }
.te-ind-track > * { margin: 0 !important; scroll-snap-align: start; }
.te-industry.wp-block-cover { border-radius: var(--te-r-lg); overflow: hidden; padding: 1.75rem; min-height: 440px !important; isolation: isolate; }
.te-industry .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(180deg, rgba(15,42,61,0) 0%, rgba(15,42,61,0) 42%, rgba(15,42,61,.38) 60%, rgba(15,42,61,.82) 80%, rgba(15,42,61,.94) 100%) !important; }
.te-industry .wp-block-cover__image-background { filter: saturate(1.08) contrast(1.06); backface-visibility: hidden; transform: translateZ(0); }
.te-industry .wp-block-cover__inner-container { width: 100%; }
.te-industry .wp-block-cover__inner-container > * { margin: 0; }
.te-industry h3 { font-size: 1.25rem !important; line-height: 1.25; letter-spacing: -0.015em; text-shadow: 0 1px 3px rgba(15,42,61,.4); }
.te-industry .wp-block-cover__inner-container p { margin-top: 0.6rem; color: rgba(255,255,255,.9); font-size: 0.9375rem; line-height: 1.55; text-shadow: 0 1px 2px rgba(15,42,61,.35); }
.te-industry h3 a { color: #fff; text-decoration: none; }
.te-industry h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.te-industry::after {
	content: ""; position: absolute; right: 1.25rem; top: 1.25rem; z-index: 1; width: 2.25rem; height: 2.25rem; border-radius: 50%;
	background: #fff var(--te-i-chevron) center / 1rem no-repeat; box-shadow: 0 4px 12px rgba(0,0,0,.18);
	transition: background-color .25s var(--te-ease), transform .25s var(--te-ease);
}
.te-industry img { transition: transform .7s var(--te-ease); }
.te-industry:hover img { transform: translateZ(0) scale(1.04); }
.te-industry:hover::after { transform: translateX(3px); background-color: var(--te-ice); }
.te-industry:focus-within { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-industry h3 a:focus-visible { outline: none; }

/* Controls (added by industries-carousel.js) */
.te-carousel__controls { display: flex; gap: 0.5rem; align-items: center; }
.te-industries .te-head { align-items: flex-end; }
.te-industries .te-head__link { margin-left: auto !important; }
.te-carousel__btn {
	width: 2.75rem; height: 2.75rem; border-radius: 50%; border: 1px solid var(--te-line); background: #fff; cursor: pointer; position: relative;
	transition: background-color .18s var(--te-ease), border-color .18s var(--te-ease);
}
.te-carousel__btn::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.1rem; height: 1.1rem; background: var(--te-navy); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-carousel__next { --te-ico: var(--te-i-chevron); }
.te-carousel__prev { --te-ico: var(--te-i-chevron); }
.te-carousel__prev::before { transform: scaleX(-1); }
.te-carousel__toggle::before { width: 0.8rem; height: 0.8rem; -webkit-mask: linear-gradient(90deg, #000 0 35%, transparent 35% 65%, #000 65%); mask: linear-gradient(90deg, #000 0 35%, transparent 35% 65%, #000 65%); }
.te-carousel__toggle.is-paused::before { -webkit-mask: none; mask: none; clip-path: polygon(20% 0, 100% 50%, 20% 100%); }
.te-carousel__btn:hover { background: var(--te-navy); border-color: var(--te-navy); }
.te-carousel__btn:hover::before { background: #fff; }
.te-carousel__progress { height: 3px; background: var(--te-line); border-radius: 3px; margin-top: 1.75rem !important; overflow: hidden; }
.te-carousel__progress span { display: block; height: 100%; background: var(--te-steel-deep); border-radius: 3px; transition: transform .35s var(--te-ease); }

@media (max-width: 1100px) { .te-ind-track { grid-auto-columns: calc((100% - 1.25rem) / 2.3); } }
@media (max-width: 640px) {
	.te-ind-track { grid-auto-columns: 82%; column-gap: 1rem; }
	.te-industry.wp-block-cover { min-height: 380px !important; }
	.te-carousel__controls { order: 3; }
}
@media (prefers-reduced-motion: reduce) { .te-ind-track { scroll-behavior: auto; } }

/* ---------- Results ---------- */
.te-results__grid { gap: 1.5rem !important; }
.te-case { padding: 0 !important; border-color: #BFCDD8 !important; }
.te-case__body { padding: 1.75rem 2rem 2rem; }
.te-case__body > * { margin: 0; }
.te-case__body > * + * { margin-top: 0.75rem; }
.te-case__sector { font-size: 0.8125rem; font-weight: 600; color: var(--te-steel-deep); letter-spacing: 0.02em; }
.te-case h3 { font-size: clamp(1.25rem, 1.8vw, 1.5rem) !important; line-height: 1.25; }
.te-case p.has-slate-color { font-size: 0.9875rem; line-height: 1.6; }
.te-case .te-link { padding-top: 0.5rem; }

/* ---------- Process (chevron bar) ---------- */
.te-chevrons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block: 0 !important; filter: drop-shadow(0 18px 28px rgba(15, 42, 61, .2)); }
.te-chevrons > * { margin: 0 !important; }
.te-chevron {
	--notch: 34px;
	position: relative; display: flex; flex-direction: column; min-height: 340px; color: #fff;
	padding: 2.5rem 3.4rem 2.5rem 3.25rem; margin-right: -26px !important;
	clip-path: polygon(0 0, calc(100% - var(--notch)) 0, 100% 50%, calc(100% - var(--notch)) 100%, 0 100%, var(--notch) 50%);
}
.te-chevron:first-child { clip-path: polygon(0 0, calc(100% - var(--notch)) 0, 100% 50%, calc(100% - var(--notch)) 100%, 0 100%); border-radius: 16px 0 0 16px; padding-left: 2.25rem; }
.te-chevron:last-child { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--notch) 50%); border-radius: 0 16px 16px 0; margin-right: 0 !important; padding-right: 2.25rem; }
.te-chevron:nth-child(1) { background: linear-gradient(160deg, #2C7290, #2A6A84); }
.te-chevron:nth-child(2) { background: linear-gradient(160deg, #27657F, #1F5670); }
.te-chevron:nth-child(3) { background: linear-gradient(160deg, #1F5670, #16384F); }
.te-chevron:nth-child(4) { background: linear-gradient(160deg, #16384F, #0F2A3D); }
.te-chevron::after {
	content: ""; position: absolute; top: 2.65rem; right: 3.4rem; width: 1.875rem; height: 1.875rem; background: rgba(255, 255, 255, .9);
	-webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat;
}
.te-chevron:last-child::after { right: 2.25rem; }
.te-chevron > * { margin: 0; }
.te-chevron__num { font-size: 0.9375rem; font-weight: 700; letter-spacing: 0.02em; color: rgba(255, 255, 255, .9); }
.te-chevron__num strong { display: block; margin-top: 0.25rem; font-size: 3.5rem; line-height: 1; letter-spacing: -0.04em; color: #fff; font-variant-numeric: tabular-nums; }
.te-chevron__title { margin-top: auto !important; padding-top: 1.75rem; font-size: 1.1875rem !important; line-height: 1.3; font-weight: 650; color: #fff; }
.te-chevron__text { margin-top: 0.6rem !important; font-size: 0.9rem; line-height: 1.6; color: rgba(255, 255, 255, .92); }

.te-process__foot { margin-top: 2.75rem !important; gap: 1.25rem 2rem; align-items: center; }
.te-assure { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem 1.75rem; font-size: 0.9375rem; font-weight: 500; color: var(--te-slate); }
.te-assure li { display: inline-flex; align-items: center; gap: 0.5rem; margin: 0; }
.te-assure li::before { content: ""; width: 1rem; height: 1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

@media (max-width: 1100px) {
	.te-chevron { padding: 2.25rem 2.75rem 2.25rem 2.75rem; min-height: 360px; }
	.te-chevron::after { right: 2.75rem; top: 2.4rem; }
	.te-chevron__num strong { font-size: 2.75rem; }
}
@media (max-width: 900px) {
	.te-chevrons { grid-template-columns: 1fr; gap: 0.5rem; filter: none; }
	.te-chevron, .te-chevron:first-child, .te-chevron:last-child {
		clip-path: none; margin: 0 !important; border-radius: var(--te-r-lg); min-height: 0; padding: 1.75rem 4.5rem 1.75rem 1.75rem;
		box-shadow: 0 10px 24px -14px rgba(15, 42, 61, .45);
	}
	.te-chevron::after, .te-chevron:last-child::after { right: 1.75rem; top: 1.85rem; width: 1.6rem; height: 1.6rem; }
	.te-chevron__num strong { font-size: 2.25rem; }
	.te-chevron__title { padding-top: 1rem; }
}

/* ---------- Technology ---------- */
.te-tech__grid { gap: 1.5rem !important; }
.te-tech__grid > .wp-block-column { background: #fff; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); overflow: hidden; }
.te-tech__grid .wp-block-column > * { margin-block: 0; }
.te-tech__grid .wp-block-image { border-bottom: 1px solid #BFCDD8; }
.te-tech__grid .wp-block-image img { border-radius: 0 !important; width: 100%; height: auto; }
.te-tech__grid h3 { padding: 1.4rem 1.6rem 0; font-size: 1.125rem !important; line-height: 1.3; }
.te-tech__grid p { padding: 0.5rem 1.6rem 1.6rem; line-height: 1.6; }

/* ---------- Why (photo-backed navy band) ---------- */
.te-why.wp-block-cover { padding-block: var(--te-section); min-height: 0; }
.te-why .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(180deg, rgba(15,42,61,.93), rgba(15,42,61,.97)) !important; }
.te-why .wp-block-cover__inner-container > * { margin-block: 0; }
.te-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; }
.te-why__grid > * { margin: 0 !important; }
.te-why__item { padding-top: 1.75rem; border-top: 1px solid rgba(255,255,255,.16); --te-ico-top: 1.75rem; --te-ico-bg: rgba(124,200,230,.12); --te-ico-fg: var(--te-sky); }
.te-why__item > * { margin: 0; }
.te-why__item h3 { font-size: 1.0625rem !important; line-height: 1.35; }
.te-why__item p { margin-top: 0.5rem; color: rgba(255,255,255,.74); font-size: 0.9375rem; line-height: 1.6; }
@media (max-width: 1024px) { .te-why__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .te-why__grid { grid-template-columns: 1fr; } }

/* ---------- FAQ ---------- */
.te-faq__layout { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.6fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.te-faq__layout > * { margin: 0 !important; }
.te-faq__intro { position: sticky; top: calc(var(--te-header-h) + 2rem); }
.te-faq__intro > * { margin-block: 0; }
/* Contact card under the FAQ intro */
.te-faq__card { margin-top: 1.75rem !important; padding: 1.6rem 1.6rem 1.7rem; background: var(--te-navy); color: #fff; border-radius: var(--te-r-lg); position: relative; overflow: hidden; }
.te-faq__card::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #3FB0DD 0 50%, #E8551A 50% 100%); }
.te-faq__card > * { margin: 0; }
.te-faq__card-label { font-size: 0.75rem; font-weight: 600; color: var(--te-sky); }
.te-faq__card-name { margin-top: 0.5rem !important; font-size: 1.125rem; font-weight: 700; line-height: 1.3; color: #fff; }
.te-faq__card-role { margin-top: 0.2rem !important; font-size: 0.875rem; line-height: 1.5; color: rgba(255, 255, 255, .72); }
.te-faq__card-line--phone { margin-top: 1.1rem !important; padding-top: 1.1rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.te-faq__card-line--email { margin-top: 0.55rem !important; }
.te-faq__card-line a { display: inline-flex; align-items: center; gap: 0.55rem; font-size: 0.9375rem; font-weight: 600; color: #fff; text-decoration: none; overflow-wrap: anywhere; }
.te-faq__card-line a::before { content: ""; flex-shrink: 0; width: 1rem; height: 1rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-faq__card-line--phone a { font-size: 1.125rem; --te-ico: var(--te-i-phone); }
.te-faq__card-line--email a { --te-ico: var(--te-i-mail); }
.te-faq__card-line a:hover { color: var(--te-sky); }
.te-faq__card-cta { margin-top: 1.4rem !important; }
.te-faq__book, .te-faq__book .wp-block-button__link { width: 100%; }
.te-faq__book-note { margin-top: 0.6rem !important; font-size: 0.8125rem; line-height: 1.5; color: rgba(255, 255, 255, .68); text-align: center; }
.te-faq__card-alt { margin-top: 1.1rem !important; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .12); text-align: center; }
.te-faq__card-alt a { font-size: 0.875rem; font-weight: 600; color: var(--te-sky); text-decoration: none; }
.te-faq__card-alt a::after { content: " \203A"; }
.te-faq__card-alt a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
:root { --te-i-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='m9 16 2 2 4-4'/%3E%3C/svg%3E"); }

/* Accordion */
.te-faq__list { border-top: 1px solid #BFCDD8; }
.te-faq__list > * { margin: 0 !important; }
.te-faq__item { border-bottom: 1px solid var(--te-line); padding: 0 !important; transition: background-color .2s; }
.te-faq__item summary { cursor: pointer; font-weight: 600; font-size: 1.0625rem; line-height: 1.4; list-style: none; position: relative; padding: 1.4rem 3.25rem 1.4rem 0; letter-spacing: -0.01em; color: var(--te-ink); }
.te-faq__item summary::-webkit-details-marker { display: none; }
.te-faq__item summary:hover { color: var(--te-steel-deep); }
.te-faq__item summary::before, .te-faq__item summary::after { content: ""; position: absolute; top: 50%; }
.te-faq__item summary::before { right: 0; width: 2rem; height: 2rem; margin-top: -1rem; border-radius: 50%; border: 1px solid #BFCDD8; background: #fff; box-sizing: border-box; transition: background-color .2s, border-color .2s; }
.te-faq__item summary::after { right: 0.5rem; width: 1rem; height: 1rem; margin-top: -0.5rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-plus) center / contain no-repeat; mask: var(--te-i-plus) center / contain no-repeat; }
.te-faq__item summary:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; border-radius: 4px; }
.te-faq__item[open] { background: linear-gradient(90deg, var(--te-ice), #fff 72%); border-left: 3px solid var(--te-steel-deep); margin-left: -1.25rem !important; padding-left: calc(1.25rem - 3px) !important; }
.te-faq__item[open] summary::before { background: var(--te-navy); border-color: var(--te-navy); }
.te-faq__item[open] summary::after { background: #fff; -webkit-mask-image: var(--te-i-minus); mask-image: var(--te-i-minus); }
.te-faq__item p { color: var(--te-slate); margin: -0.25rem 0 0 !important; padding: 0 3.25rem 1.5rem 0; max-width: 68ch; line-height: 1.65; }
@media (max-width: 1024px) {
	.te-faq__layout { grid-template-columns: 1fr; }
	.te-faq__intro { position: static; }
	.te-faq__card { max-width: 32rem; }
}
@media (max-width: 600px) {
	.te-faq__item[open] { margin-left: 0 !important; padding-left: 0.85rem !important; }
	.te-faq__item p { padding-right: 0.5rem; }
}
@media (prefers-reduced-motion: reduce) { .te-faq__item, .te-faq__item summary::before { transition: none; } }

/* ---------- Certifications ---------- */
.te-certs { padding-block: 3rem; border-top: 1px solid var(--te-line); }
.te-certs__inner { display: grid; grid-template-columns: 11rem 1fr; gap: 2.5rem; align-items: center; }
.te-certs__inner > * { margin: 0 !important; }
.te-certs__label { font-size: 0.875rem !important; font-weight: 600; color: var(--te-slate); letter-spacing: 0; line-height: 1.45; }
.te-certs__row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.5rem 2.5rem; align-items: center; }
.te-certs__row .wp-block-image { margin: 0; display: flex; justify-content: center; }
.te-certs__row img { height: 52px; width: 100%; max-width: 120px; object-fit: contain; filter: grayscale(1); opacity: .75; transition: opacity .2s, filter .2s; }
.te-certs__row img:hover { filter: none; opacity: 1; }
@media (max-width: 1024px) {
	.te-certs__inner { grid-template-columns: 1fr; gap: 1.5rem; text-align: center; }
	.te-certs__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- CTA band ---------- */
.te-cta { padding-block: clamp(3.5rem, 7vw, 5rem); position: relative; overflow: hidden; }
.te-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60rem 30rem at 100% 0%, rgba(75,148,175,.28), transparent 60%); pointer-events: none; }
.te-cta > * { position: relative; }
.te-cta h2 { margin: 0; max-width: 22ch; }
.te-cta p { margin-top: 1rem; color: rgba(255,255,255,.8); max-width: 56ch; }
.te-cta__buttons { gap: 0.75rem; }
.te-cta p.te-cta__call { margin: 1rem 0 0; max-width: none; text-align: right; font-size: 0.9375rem; color: rgba(255,255,255,.8); }
.te-cta__call a { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.4); white-space: nowrap; }
.te-cta__call a:hover { border-bottom-color: #fff; }
@media (max-width: 781px) { .te-cta__buttons { justify-content: flex-start !important; } .te-cta p.te-cta__call { text-align: left; } }

/* ---------- Footer ---------- */
.te-footer { padding-block: 4rem 0; margin-top: 0; background: #fff !important; border-top: 1px solid var(--te-line); }
.te-footer__cols { gap: 3rem; }
.te-logo--footer { margin-bottom: 1.25rem !important; }
.te-logo--footer img { width: 150px !important; }
.te-footer__title { font-size: 0.875rem !important; font-weight: 600; letter-spacing: 0; color: var(--te-ink); margin-bottom: 1rem; }
.te-footer__links { list-style: none; padding: 0; margin: 0; font-size: 0.9375rem; }
.te-footer__links li { margin-bottom: 0.6rem; }
.te-footer a { color: var(--te-slate); text-decoration: none; }
.te-footer a:hover { color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }
.te-footer__phone { font-size: 1.125rem; font-weight: 700; margin: 0 0 1.25rem; }
.te-footer__phone a { color: var(--te-navy); }
.te-social { margin-top: 1.5rem; gap: 0.5rem; }
.te-social .wp-social-link { background: var(--te-cloud) !important; color: var(--te-navy) !important; border: 1px solid var(--te-line); }
.te-social .wp-social-link:hover { background: var(--te-ice) !important; }
.te-footer__base { border-top: 1px solid var(--te-line); margin-top: 3rem; padding-block: 1.5rem; font-size: 0.8125rem; color: var(--te-slate); gap: 0.75rem 1.5rem; }
.te-footer__base p { margin: 0; }
.te-footer__base a + a { margin-left: 1.5rem; }
.te-copyright { margin: 0; font-size: 0.8125rem; }

/* ---------- Inner pages ---------- */
.te-page-head { padding-block: clamp(3rem, 6vw, 4.5rem); background: var(--te-cloud) !important; border-bottom: 1px solid var(--te-line); }
.te-page-head .wp-block-post-title, .te-page-head h1 { margin: 0.75rem 0 0; font-size: clamp(2.125rem, 4vw, 3rem); }
.te-breadcrumbs { font-size: 0.8125rem; color: var(--te-slate); }
.te-breadcrumbs a { color: var(--te-steel-deep); text-decoration: none; }
.te-breadcrumbs a:hover { text-decoration: underline; }
.te-breadcrumbs .sep { margin: 0 0.45rem; opacity: .5; }
.te-page-content { padding-block: var(--te-section); }
.te-article { padding-block: clamp(3rem, 6vw, 4.5rem) var(--te-section); }
.te-article__meta { font-size: 0.875rem; color: var(--te-slate); gap: 0.4rem 1.25rem; }
.te-posts { padding-block: clamp(3rem, 6vw, 4.5rem); }
.te-post-card { background: #fff; border: 1px solid var(--te-line); border-radius: var(--te-r-lg); overflow: hidden; padding: 0 0 1.5rem !important; }
.te-post-card > *:not(.wp-block-post-featured-image) { padding-inline: 1.5rem; }
.te-post-card .wp-block-post-title a { color: var(--te-ink); text-decoration: none; }
.te-post-card .wp-block-post-title a:hover { color: var(--te-steel-deep); }
ul.is-style-te-checks { list-style: none; padding: 0; }
ul.is-style-te-checks li { position: relative; padding-left: 1.75rem; margin-bottom: 0.6rem; }
ul.is-style-te-checks li::before { content: ""; position: absolute; left: 0; top: 0.3em; width: 1.1rem; height: 1.1rem; background: currentColor; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.wp-block-image.is-style-te-rounded img { border-radius: var(--te-r-lg); }

/* ---------- PPC landing ---------- */
.te-landing-hero { padding-block: clamp(3rem, 6vw, 5rem); background: var(--te-navy) !important; }
.te-landing-hero a { color: #fff; }
.te-landing-form { background: #fff; color: var(--te-ink); border-radius: var(--te-r-lg); padding: 2rem; box-shadow: var(--te-shadow); }
.te-landing-form a:not(.wp-block-button__link) { color: var(--te-steel-deep); }
.te-landing-footer { padding-block: 1.5rem; font-size: 0.875rem; color: var(--te-slate); }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Icons (Lucide geometry, ISC license) ---------- */
:root {
	--te-i-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='m9 15 2 2 4-4'/%3E%3C/svg%3E");
	--te-i-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
	--te-i-mic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'/%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2'/%3E%3Cpath d='M12 19v3'/%3E%3C/svg%3E");
	--te-i-repeat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m17 2 4 4-4 4'/%3E%3Cpath d='M3 11v-1a4 4 0 0 1 4-4h14'/%3E%3Cpath d='m7 22-4-4 4-4'/%3E%3Cpath d='M21 13v1a4 4 0 0 1-4 4H3'/%3E%3C/svg%3E");
	--te-i-layers: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z'/%3E%3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65'/%3E%3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65'/%3E%3C/svg%3E");
	--te-i-landmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 22h18'/%3E%3Cpath d='M6 18v-7'/%3E%3Cpath d='M10 18v-7'/%3E%3Cpath d='M14 18v-7'/%3E%3Cpath d='M18 18v-7'/%3E%3Cpath d='M12 2 20 7H4Z'/%3E%3C/svg%3E");
	--te-i-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.48 12.89 17 22l-5-3-5 3 1.52-9.11'/%3E%3C/svg%3E");
	--te-i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	--te-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
	--te-i-usercheck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='m16 11 2 2 4-4'/%3E%3C/svg%3E");
	--te-i-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
	--te-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--te-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E");
	--te-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E");
	--te-i-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
	--te-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E");
}
.te-ico--file { --te-ico: var(--te-i-file); }
.te-ico--lock { --te-ico: var(--te-i-lock); }
.te-ico--mic { --te-ico: var(--te-i-mic); }
.te-ico--repeat { --te-ico: var(--te-i-repeat); }
.te-ico--layers { --te-ico: var(--te-i-layers); }
.te-ico--landmark { --te-ico: var(--te-i-landmark); }
.te-ico--award { --te-ico: var(--te-i-award); }
.te-ico--shield { --te-ico: var(--te-i-shield); }
.te-ico--clock { --te-ico: var(--te-i-clock); }
.te-ico--usercheck { --te-ico: var(--te-i-usercheck); }
.te-ico--users { --te-ico: var(--te-i-users); }
.te-ico--check { --te-ico: var(--te-i-check); }
.te-ico--chevron { --te-ico: var(--te-i-chevron); }
.te-ico--plus { --te-ico: var(--te-i-plus); }
.te-ico--minus { --te-ico: var(--te-i-minus); }
.te-ico--phone { --te-ico: var(--te-i-phone); }

/* Step icons (Lucide geometry, ISC license) */
:root {
	--te-i-upload: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m17 8-5-5-5 5'/%3E%3Cpath d='M12 3v12'/%3E%3C/svg%3E");
	--te-i-receipt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z'/%3E%3Cpath d='M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8'/%3E%3Cpath d='M12 17.5v-11'/%3E%3C/svg%3E");
}
.te-ico--upload { --te-ico: var(--te-i-upload); }
.te-ico--receipt { --te-ico: var(--te-i-receipt); }

/* Status icons (Lucide geometry, ISC license) */
:root {
	--te-i-mappin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--te-i-building: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z'/%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M10 6h4'/%3E%3Cpath d='M10 10h4'/%3E%3Cpath d='M10 14h4'/%3E%3Cpath d='M10 18h4'/%3E%3C/svg%3E");
	--te-i-clipcheck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E");
}
.te-ico--mappin { --te-ico: var(--te-i-mappin); }
.te-ico--building { --te-ico: var(--te-i-building); }
.te-ico--clipcheck { --te-ico: var(--te-i-clipcheck); }

/* ---------- Solutions mega menu ---------- */
.te-header { position: relative; }
/* On desktop the mega panel replaces the core dropdown for Solutions. */
@media (min-width: 1024px) {
	.te-nav .wp-block-navigation__responsive-container:not(.is-menu-open) li.te-has-mega > .wp-block-navigation__submenu-container { display: none !important; }
}
@media (max-width: 1023px) { .te-mega { display: none !important; } }
/* Mobile menu: category names read as headings above their services. */
.te-nav .is-menu-open li.te-has-mega > .wp-block-navigation__submenu-container > li > .wp-block-navigation-item__content { font-weight: 650 !important; color: var(--te-navy) !important; padding-top: 0.85rem !important; }
.te-nav .is-menu-open li.te-has-mega > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { padding-left: 0.75rem !important; border-left: 2px solid var(--te-line) !important; margin-left: 0.15rem; }
.te-nav li.te-has-mega.is-mega-open > .wp-block-navigation-item__content { color: var(--te-steel-deep); }
.te-nav li.te-has-mega.is-mega-open > .wp-block-navigation-item__content::after { transform: scaleX(1); }

.te-mega {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 90; margin: 0 !important; max-width: none !important; width: auto !important;
	background: #fff; border-top: 1px solid var(--te-line); border-bottom: 1px solid #BFCDD8;
	box-shadow: 0 28px 48px -24px rgba(15, 42, 61, .35);
	opacity: 0; transform: translateY(-6px); transition: opacity .16s var(--te-ease), transform .16s var(--te-ease);
}
.te-mega.is-visible { opacity: 1; transform: none; }
.te-mega[hidden] { display: none; }
.te-mega__inner {
	max-width: var(--wp--style--global--wide-size, 1240px); margin: 0 auto; box-sizing: content-box;
	padding: 1.75rem var(--wp--style--root--padding-right, clamp(16px, 4vw, 40px)) 2rem;
	display: grid; grid-template-columns: 19rem minmax(0, 1fr) 16.5rem; gap: 2rem; align-items: start;
}

/* Category tabs */
.te-mega__tabs { display: flex; flex-direction: column; gap: 0.25rem; padding-right: 1.25rem; border-right: 1px solid var(--te-line); }
.te-mega__tab {
	all: unset; box-sizing: border-box; position: relative; display: flex; align-items: center; gap: 0.75rem; width: 100%;
	padding: 0.75rem 0.85rem 0.75rem 3.6rem; min-height: 3.25rem; border-radius: var(--te-r-md); cursor: pointer;
	font: 600 0.9375rem/1.3 var(--wp--preset--font-family--inter); color: var(--te-ink); transition: background-color .15s, color .15s;
}
.te-mega__tab::before { content: ""; position: absolute; left: 0.75rem; top: 50%; width: 2.1rem; height: 2.1rem; margin-top: -1.05rem; border-radius: var(--te-r-sm); background: var(--te-cloud); border: 1px solid var(--te-line); }
.te-mega__tab::after { content: ""; position: absolute; left: calc(0.75rem + 0.525rem); top: 50%; width: 1.05rem; height: 1.05rem; margin-top: -0.525rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-mega__tab-label { flex: 1; }
.te-mega__tab:hover { background: var(--te-cloud); }
.te-mega__tab[aria-selected="true"] { background: var(--te-navy); color: #fff; }
.te-mega__tab[aria-selected="true"]::before { background: rgba(124, 200, 230, .16); border-color: transparent; }
.te-mega__tab[aria-selected="true"]::after { background: var(--te-sky); }
.te-mega__tab:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

/* Panels */
.te-mega__panel[hidden] { display: none; }
.te-mega__head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem 1.5rem; flex-wrap: wrap; padding: 0.25rem 0 1rem; }
.te-mega__title { margin: 0; font-size: 1.125rem; font-weight: 650; letter-spacing: -0.015em; color: var(--te-navy); }
.te-mega__intro { margin: 0; font-size: 0.9375rem; color: var(--te-slate); }
/* Fill down each column first, so related services stack (e.g. Regulated translation under Document translation). */
.te-mega__all { margin: 0; }

/* Help card */
.te-mega__feature { display: flex; flex-direction: column; gap: 0.75rem; padding: 1.6rem; border-radius: var(--te-r-lg); background: var(--te-navy); color: #fff; position: relative; overflow: hidden; }
.te-mega__feature::before { content: ""; position: absolute; inset: 0; background: radial-gradient(18rem 12rem at 100% 0%, rgba(75, 148, 175, .35), transparent 65%); pointer-events: none; }
.te-mega__feature > * { position: relative; margin: 0; }
.te-mega__feature-eyebrow { font-size: 1.0625rem; font-weight: 650; letter-spacing: -0.01em; }
.te-mega__feature-text { font-size: 0.875rem; line-height: 1.55; color: rgba(255, 255, 255, .84); }
.te-mega__feature-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 0.25rem; border-radius: var(--te-r-sm); background: #fff; color: var(--te-navy); font-size: 0.9375rem; font-weight: 600; text-decoration: none; transition: background-color .15s; }
.te-mega__feature-btn:hover { background: var(--te-ice); }
.te-mega__feature-phone { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; color: #fff; font-weight: 700; text-decoration: none; }
.te-mega__feature-phone::before { content: ""; width: 1rem; height: 1rem; background: var(--te-sky); -webkit-mask: var(--te-i-phone) center / contain no-repeat; mask: var(--te-i-phone) center / contain no-repeat; }
.te-mega__feature-phone:hover { text-decoration: underline; text-underline-offset: 3px; }
.te-mega__feature-trust { padding-top: 0.75rem; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 0.75rem; text-align: center; color: rgba(255, 255, 255, .7); }

/* Solutions: icon tiles in a hairline grid (lines between rows and columns), help bar below */
.te-mega__inner--solutions { grid-template-columns: 16rem minmax(0, 1fr); }
.te-mega__grid { overflow: hidden; border-top: 1px solid #BFCDD8; border-bottom: 1px solid #BFCDD8; }
.te-mega__tiles { list-style: none; margin: 0 -1px -1px 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.te-mega__tiles li { margin: 0; box-shadow: inset -1px 0 0 var(--te-line), inset 0 -1px 0 var(--te-line); }
.te-mega__tiles a { display: flex; align-items: flex-start; gap: 0.85rem; height: 100%; padding: 1rem 1.1rem; box-sizing: border-box; text-decoration: none; transition: background-color .15s; }
.te-mega__tiles a:hover, .te-mega__tiles a:focus-visible { background: var(--te-ice); }
.te-mega__tiles a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: -3px; }
.te-mega__ico { flex-shrink: 0; width: 2.25rem; height: 2.25rem; border-radius: var(--te-r-sm); background: var(--te-ice); position: relative; transition: background-color .15s; }
.te-mega__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.1rem; height: 1.1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-mega__tiles a:hover .te-mega__ico { background: #fff; }
.te-mega__name { display: block; font-size: 0.9375rem; font-weight: 600; line-height: 1.3; color: var(--te-ink); }
.te-mega__desc { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: var(--te-slate); }
.te-mega__tiles a:hover .te-mega__name { color: var(--te-steel-deep); }
.te-mega__bar { display: flex; align-items: center; gap: 0.75rem 1.5rem; flex-wrap: wrap; margin-top: 1.1rem; padding: 0.85rem 1rem 0.85rem 1.1rem; border-radius: var(--te-r-md); background: var(--te-cloud); border: 1px solid var(--te-line); }
.te-mega__bar > p { margin: 0; }
.te-mega__help { flex: 1; min-width: 14rem; font-size: 0.875rem; color: var(--te-slate); }
.te-mega__bar-btn { display: inline-flex; align-items: center; min-height: 40px; padding: 0 1rem; border-radius: var(--te-r-sm); background: var(--te-navy); color: #fff; font-size: 0.875rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background-color .15s; }
.te-mega__bar-btn:hover { background: var(--te-steel-deep); }
.te-mega__bar-btn:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
@media (max-width: 1180px) { .te-mega__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 1180px) {
	.te-mega__inner, .te-mega__inner--solutions { grid-template-columns: 14rem minmax(0, 1fr); }
	.te-mega__feature { display: none; }
}
@media (prefers-reduced-motion: reduce) { .te-mega { transition: none; transform: none; } }

/* Category icons (Lucide geometry, ISC license) */
:root {
	--te-i-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E");
}
.te-ico--globe { --te-ico: var(--te-i-globe); }
/* Sign language (ASL, DHOH) and a neutral professional icon for specialized services. */
:root {
	--te-i-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2'/%3E%3Cpath d='M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2'/%3E%3Cpath d='M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8'/%3E%3Cpath d='M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15'/%3E%3C/svg%3E");
	--te-i-briefcase: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16'/%3E%3Crect width='20' height='14' x='2' y='6' rx='2'/%3E%3C/svg%3E");
}
.te-ico--hand { --te-ico: var(--te-i-hand); }
.te-ico--briefcase { --te-ico: var(--te-i-briefcase); }


/* ---------- Mega menu: Industries grid ---------- */
.te-mega__inner--industries { grid-template-columns: 15rem minmax(0, 1fr) 16.5rem; }
.te-mega__lead { padding-right: 1.5rem; border-right: 1px solid var(--te-line); }
.te-mega__lead .te-mega__title { font-size: 1.25rem; }
.te-mega__lead .te-mega__intro { margin-top: 0.5rem; line-height: 1.55; }
.te-mega__lead .te-mega__all { margin: 1.1rem 0 0; }
.te-mega__ind { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.15rem 0.75rem; }
.te-mega__ind li { margin: 0; }
.te-mega__ind a { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.6rem; border-radius: var(--te-r-md); text-decoration: none; transition: background-color .15s; }
.te-mega__ind a:hover, .te-mega__ind a:focus-visible { background: var(--te-cloud); }
.te-mega__ind a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 0; }
.te-mega__ind img { width: 48px; height: 48px; flex-shrink: 0; border-radius: var(--te-r-sm); object-fit: cover; background: var(--te-ice); }
.te-mega__ind .te-mega__name { font-size: 0.9rem; }
.te-mega__ind .te-mega__desc { font-size: 0.78rem; }
.te-mega__ind a:hover .te-mega__name { color: var(--te-steel-deep); }
@media (max-width: 1180px) { .te-mega__inner--industries { grid-template-columns: 13rem minmax(0, 1fr); } .te-mega__ind { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Header search ---------- */
.te-header__actions { gap: 0.75rem; align-items: center; }
.te-search { margin: 0 !important; }
.te-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.te-search .wp-block-search__button {
	width: 42px; height: 42px; min-height: 0; padding: 0 !important; margin: 0; display: grid; place-items: center;
	border-radius: 50% !important; background: transparent !important; color: var(--te-ink) !important; border: 1px solid var(--te-line) !important; transition: background-color .15s, border-color .15s;
}
.te-search .wp-block-search__button:hover { background: var(--te-cloud) !important; border-color: #BFCDD8 !important; }
.te-search .wp-block-search__button svg { width: 20px; height: 20px; fill: currentColor; }
.te-search .wp-block-search__input { height: 42px; border: 1px solid #BFCDD8; border-radius: var(--te-r-sm); padding: 0 0.85rem; font: inherit; font-size: 0.9375rem; min-width: 16rem; }
.te-search.wp-block-search__searchfield-hidden .wp-block-search__input { min-width: 0; }
@media (max-width: 900px) { .te-search { display: none; } }

/* ---------- Service pages ---------- */
.te-svc-hero { background: var(--te-navy); color: #fff; padding-block: clamp(3rem, 6vw, 4.75rem) clamp(3.25rem, 6vw, 5rem); position: relative; overflow: hidden; }
.te-svc-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(48rem 26rem at 100% 0%, rgba(75, 148, 175, .3), transparent 60%); pointer-events: none; }
.te-svc-hero__inner { position: relative; }
.te-svc-hero__inner > * { margin-block: 0; max-width: 760px; }
.te-svc-hero .te-breadcrumbs { color: rgba(255, 255, 255, .7); margin-bottom: 1.75rem !important; }
.te-svc-hero .te-breadcrumbs a { color: var(--te-sky); }
.te-svc-hero .te-eyebrow { color: var(--te-sky); }
.te-svc-hero__title { margin-top: 1rem !important; color: #fff !important; font-size: clamp(2.25rem, 4.2vw, 3.25rem) !important; line-height: 1.12; }
.te-svc-hero__title .te-accent { color: var(--te-sky); }
.te-svc-hero__lede { margin-top: 1.25rem !important; font-size: clamp(1.0625rem, 1.35vw, 1.1875rem); line-height: 1.65; color: rgba(255, 255, 255, .86); max-width: 62ch !important; }
.te-svc-hero__ctas { margin-top: 2rem !important; gap: 0.75rem; }

/* Hero photo: pinned right, masked so it dissolves into the navy behind the text. */
.te-svc-hero > .te-svc-hero__media { position: absolute; inset: 0 0 0 auto; width: 62%; max-width: none !important; height: 100%; margin: 0 !important; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .55) 28%, #000 55%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .55) 28%, #000 55%); }
.te-svc-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 78% 18%; filter: saturate(.85) contrast(1.02); }
.te-svc-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15, 42, 61, .55), rgba(15, 42, 61, .1) 60%), linear-gradient(0deg, rgba(15, 42, 61, .45), transparent 40%); }
.te-svc-hero--media .te-svc-hero__inner > * { max-width: 640px; }
@media (max-width: 900px) {
	.te-svc-hero > .te-svc-hero__media { width: 100%; opacity: .32; -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 85%); mask-image: linear-gradient(180deg, #000 0%, transparent 85%); }
	.te-svc-hero__media img { object-position: 70% 20%; }
}

.te-svc-section { background: #fff; }
.te-svc-section--alt { background: var(--te-cloud); }
.te-svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr)); gap: 1.25rem; margin-block: 0 !important; }
.te-svc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.te-svc-grid > * { margin: 0 !important; }
.te-svc-card { padding: 1.75rem; border-color: #D5DFE7; --te-ico-top: 1.75rem; --te-ico-left: 1.75rem; }
.te-svc-card > * { margin: 0; }
.te-svc-card h3 { font-size: 1.125rem !important; line-height: 1.3; color: var(--te-navy); }
.te-svc-card h3 a { color: inherit; text-decoration: none; }
.te-svc-card:hover h3 a { color: var(--te-steel-deep); }
.te-svc-card p { margin-top: 0.5rem; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-svc-settings { margin-top: 2.5rem !important; }
.te-svc-settings > * { margin: 0 !important; }
.te-svc-settings-label { margin-bottom: 0.9rem !important; font-size: 0.875rem; font-weight: 600; color: var(--te-steel-deep); }
.te-chips.te-chips--light { margin-top: 0 !important; }
.te-chips--light li { color: var(--te-navy); background: #fff; border-color: #BFCDD8; }
@media (max-width: 900px) { .te-svc-grid--3 { grid-template-columns: 1fr; } }

/* ---------- Government page ---------- */
.te-gov-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #BFCDD8; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); overflow: hidden; margin-block: 0 !important; }
.te-gov-facts > * { margin: 0 !important; }
.te-gov-fact { background: #fff; padding: 1.4rem 1.6rem; }
.te-gov-fact > * { margin: 0; }
.te-gov-fact__label { font-size: 0.8125rem; font-weight: 600; color: var(--te-steel-deep); }
.te-gov-fact__value { margin-top: 0.35rem !important; display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; font-size: 1.375rem; font-weight: 700; letter-spacing: 0.01em; color: var(--te-navy); font-variant-numeric: tabular-nums; }
.te-gov-fact__note { margin-top: 0.25rem !important; font-size: 0.8125rem; color: var(--te-slate); }
.te-gov-copy { font: 600 0.75rem/1 var(--wp--preset--font-family--inter); color: var(--te-steel-deep); background: var(--te-ice); border: 1px solid transparent; border-radius: 999px; padding: 0.4rem 0.7rem; cursor: pointer; letter-spacing: 0; }
.te-gov-copy:hover { border-color: var(--te-steel-deep); }
.te-gov-copy.is-copied { background: var(--te-navy); color: #fff; }
.te-gov-copy:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-gov-detail { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.25rem; margin-top: 1.25rem !important; align-items: start; }
.te-gov-detail > * { margin: 0 !important; border-radius: var(--te-r-lg); padding: 1.75rem 2rem; }
.te-gov-detail h3 { margin: 0; font-size: 1.125rem !important; line-height: 1.3; color: var(--te-navy); }

/* NAICS panel */
.te-gov-naics { background: #fff; border: 1px solid #BFCDD8; }
.te-gov-naics > * { margin: 0; }
.te-gov-panel__head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem 1rem; flex-wrap: wrap; }
.te-gov-panel__head > * { margin: 0; }
.te-gov-panel__meta { font-size: 0.8125rem; font-weight: 500; color: var(--te-slate); }
.te-gov-copy--all { margin-left: 0.25rem; }
.te-gov-primary { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "label label" "code name"; align-items: baseline; column-gap: 1rem; margin-top: 1.25rem !important; padding: 1rem 1.25rem; background: var(--te-ice); border-left: 4px solid var(--te-steel-deep); border-radius: 0 var(--te-r-md) var(--te-r-md) 0; }
.te-gov-primary > * { margin: 0; }
.te-gov-primary__label { grid-area: label; font-size: 0.75rem; font-weight: 600; color: var(--te-steel-deep); margin-bottom: 0.15rem !important; }
.te-gov-primary__code { grid-area: code; font-size: 1.75rem; font-weight: 750; letter-spacing: -0.01em; line-height: 1.1; color: var(--te-navy); font-variant-numeric: tabular-nums; }
.te-gov-primary__name { grid-area: name; font-size: 1rem; font-weight: 600; color: var(--te-ink); }
.te-gov-group { margin-top: 1.5rem !important; padding-bottom: 0.5rem; font-size: 0.8125rem; font-weight: 600; color: var(--te-steel-deep); border-bottom: 2px solid var(--te-navy); }
.te-gov-codes { list-style: none; padding: 0; margin: 0; }
.te-gov-codes li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1rem; margin: 0; padding: 0.6rem 0; border-bottom: 1px solid var(--te-line); font-size: 0.9375rem; line-height: 1.45; color: var(--te-slate); }
.te-gov-codes li:last-child { border-bottom: 0; }
.te-gov-code { font-weight: 700; color: var(--te-navy); font-variant-numeric: tabular-nums; letter-spacing: 0.01em; }
.te-gov-source { margin-top: 1.25rem !important; padding-top: 1rem; border-top: 1px solid var(--te-line); font-size: 0.8125rem; color: var(--te-slate); }
.te-gov-source a { color: var(--te-steel-deep); text-underline-offset: 2px; }

/* Status panel */
.te-gov-status { background: var(--te-navy); color: #fff; border: 1px solid var(--te-navy); position: sticky; top: 7.5rem; overflow: hidden; }
.te-gov-status::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #3FB0DD 0 50%, #E8551A 50% 100%); }
.te-gov-status { background: radial-gradient(120% 60% at 100% 0%, rgba(75, 148, 175, .22), transparent 60%), var(--te-navy) !important; }
.te-gov-status > * { margin: 0; }
.te-gov-status h3 { color: #fff; }
.te-gov-status__sub { margin-top: 0.35rem !important; font-size: 0.8125rem; color: rgba(255, 255, 255, .62); }
.te-gov-status__list { list-style: none; padding: 0; margin: 1.25rem 0 0 !important; border-top: 1px solid rgba(255, 255, 255, .1); }
.te-gov-status__list li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; grid-template-areas: "ico name state" "ico detail state"; align-items: center; column-gap: 0.9rem; margin: 0; padding: 0.95rem 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.te-gov-status__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.te-gov-status__ico { grid-area: ico; align-self: start; width: 2.5rem; height: 2.5rem; border-radius: var(--te-r-md); background: rgba(124, 200, 230, .08); border: 1px solid rgba(124, 200, 230, .2); position: relative; }
.te-gov-status__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.15rem; height: 1.15rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-gov-status__name { grid-area: name; font-size: 0.9375rem; font-weight: 600; line-height: 1.35; color: #fff; }
.te-gov-status__detail { grid-area: detail; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); font-variant-numeric: tabular-nums; }
.te-gov-status__chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.te-gov-status__chips span { padding: 0.15rem 0.45rem; border: 1px solid rgba(255, 255, 255, .22); border-radius: var(--te-r-sm); font-size: 0.75rem; font-weight: 600; color: rgba(255, 255, 255, .88); }
.te-gov-state { grid-area: state; display: inline-flex; align-items: center; gap: 0.45rem; font-size: 0.75rem; font-weight: 600; color: var(--te-sky); white-space: nowrap; }
.te-gov-state::before { content: ""; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(124, 200, 230, .18); }
.te-gov-state--done { color: rgba(255, 255, 255, .78); }
.te-gov-state--done::before { background: transparent; border: 1.5px solid currentColor; box-shadow: none; width: 0.5rem; height: 0.5rem; box-sizing: border-box; }
@media (max-width: 420px) {
	.te-gov-status__list li { grid-template-columns: 2.5rem minmax(0, 1fr); grid-template-areas: "ico name" "ico detail" "ico state"; }
	.te-gov-state { margin-top: 0.4rem; justify-self: start; }
}
@media (max-width: 900px) {
	.te-gov-detail { grid-template-columns: 1fr; }
	.te-gov-status { position: relative; top: auto; }
	.te-gov-detail > * { padding: 1.5rem 1.25rem; }
}
@media (max-width: 480px) {
	.te-gov-primary { grid-template-areas: "label" "code" "name"; grid-template-columns: 1fr; }
	.te-gov-codes li { grid-template-columns: 4rem minmax(0, 1fr); gap: 0.75rem; }
}

.te-gov-security { background: var(--te-navy) !important; color: #fff; }
.te-svc-grid--dark .te-svc-card { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .16); --te-ico-bg: rgba(124, 200, 230, .14); --te-ico-fg: var(--te-sky); }
.te-svc-grid--dark .te-svc-card h3 { color: #fff; }
.te-svc-grid--dark .te-svc-card p { color: rgba(255, 255, 255, .76); }

/* Past performance: agency directory in one hairline-ruled panel, seals in a matching grid below. */
.te-gov-pp { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #BFCDD8; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg) var(--te-r-lg) 0 0; overflow: hidden; margin-block: 0 !important; }
.te-gov-pp > * { margin: 0 !important; }
.te-gov-pp__col { background: #fff; padding: 1.75rem 1.75rem 1.5rem; }
.te-gov-pp__col > * { margin: 0; }
.te-gov-pp__group + .te-gov-pp__group { margin-top: 2rem !important; }
.te-gov-pp__group > * { margin: 0; }
.te-gov-pp__title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 0.65rem; border-bottom: 2px solid var(--te-navy); font-size: 0.9375rem; font-weight: 700; color: var(--te-navy); }
.te-gov-pp__count { min-width: 1.75rem; padding: 0.2rem 0.5rem; border-radius: 999px; background: var(--te-ice); color: var(--te-steel-deep); font-size: 0.75rem; font-weight: 700; line-height: 1.2; text-align: center; font-variant-numeric: tabular-nums; }
.te-gov-pp__list { list-style: none; padding: 0; margin: 0; }
.te-gov-pp__list li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0.85rem; align-items: baseline; margin: 0; padding: 0.6rem 0; border-bottom: 1px solid var(--te-line); }
.te-gov-pp__list li:last-child { border-bottom: 0; padding-bottom: 0; }
.te-gov-pp__abbr { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.02em; color: var(--te-steel-deep); }
.te-gov-pp__name { font-size: 0.9375rem; line-height: 1.45; color: var(--te-ink); }

.te-gov-logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; background: #BFCDD8; border: 1px solid #BFCDD8; border-top: 0; border-radius: 0 0 var(--te-r-lg) var(--te-r-lg); overflow: hidden; margin-top: 0 !important; }
.te-gov-logos > * { margin: 0 !important; }
.te-gov-logo { box-sizing: border-box; display: flex; align-items: center; justify-content: center; height: 6.5rem; padding: 1rem 1.25rem; background: var(--te-cloud); }
.te-gov-logo img { height: 3.25rem; width: 100%; max-width: 7.5rem; object-fit: contain; filter: grayscale(1) contrast(1.05); opacity: .7; mix-blend-mode: multiply; transition: filter .25s ease, opacity .25s ease; }
.te-gov-logo:hover img { filter: none; opacity: 1; }
@media (prefers-reduced-motion: reduce) { .te-gov-logo img { transition: none; } }

.te-gov-contact { background: var(--te-navy); color: #fff; }
.te-gov-contact__inner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-gov-contact__inner > * { margin: 0 !important; }
.te-gov-contact__text > * { margin-block: 0; }
.te-gov-contact h2 { color: #fff; }
.te-gov-contact .te-accent, .te-gov-contact .te-eyebrow { color: var(--te-sky); }
.te-gov-contact .te-head__lede { color: rgba(255, 255, 255, .8); }
.te-gov-contact .wp-block-buttons { margin-top: 1.75rem; gap: 0.75rem; }
.te-gov-card { background: #fff; color: var(--te-ink); border-radius: var(--te-r-lg); padding: 1.75rem 2rem; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .45); }
.te-gov-card > * { margin: 0; }
.te-gov-card__name { font-size: 1.25rem; font-weight: 700; color: var(--te-navy); }
.te-gov-card__title { margin-top: 0.2rem !important; font-size: 0.9375rem; color: var(--te-slate); }
.te-gov-card__line { margin-top: 0.85rem !important; }
.te-gov-card__line a { display: inline-flex; align-items: center; gap: 0.55rem; font-weight: 600; color: var(--te-steel-deep); text-decoration: none; word-break: break-all; }
.te-gov-card__line a:hover { text-decoration: underline; text-underline-offset: 3px; }
.te-gov-card__phone a::before, .te-gov-card__email a::before { content: ""; flex-shrink: 0; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-gov-card__phone a::before { --te-ico: var(--te-i-phone); }
.te-gov-card__email a::before { --te-ico: var(--te-i-mail); }
.te-gov-card__address { margin-top: 1.25rem !important; padding-top: 1.25rem; border-top: 1px solid var(--te-line); font-size: 0.875rem; line-height: 1.6; color: var(--te-slate); }

@media (max-width: 1024px) {
	.te-gov-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-gov-detail, .te-gov-contact__inner { grid-template-columns: 1fr; }
	.te-gov-pp { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-gov-pp__col:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.75rem; }
	.te-gov-pp__col:last-child > .te-gov-pp__group + .te-gov-pp__group { margin-top: 0 !important; }
	.te-gov-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.te-gov-facts { grid-template-columns: 1fr; }
	.te-gov-pp, .te-gov-pp__col:last-child { grid-template-columns: 1fr; }
	.te-gov-pp__col:last-child > .te-gov-pp__group + .te-gov-pp__group { margin-top: 2rem !important; }
	.te-gov-pp__col { padding: 1.5rem 1.25rem; }
	.te-gov-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-gov-logo { height: 5.5rem; padding: 0.85rem; }
}
:root { --te-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }

/* Service icons for the Solutions mega menu (Lucide geometry, ISC license) */
:root {
	--te-i-code: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 18 6-6-6-6'/%3E%3Cpath d='m8 6-6 6 6 6'/%3E%3C/svg%3E");
	--te-i-monitor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='3' rx='2'/%3E%3Cline x1='8' x2='16' y1='21' y2='21'/%3E%3Cline x1='12' x2='12' y1='17' y2='21'/%3E%3C/svg%3E");
	--te-i-cap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z'/%3E%3Cpath d='M22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E");
	--te-i-wand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 21 9-9'/%3E%3Cpath d='M12.2 6.2 11 5'/%3E%3Cpath d='M15 4V2'/%3E%3Cpath d='M15 10V8'/%3E%3Cpath d='M17.8 6.2 19 5'/%3E%3Cpath d='M19.8 11.8 19 11'/%3E%3Cpath d='M21 4h-2'/%3E%3C/svg%3E");
	--te-i-film: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Cpath d='M7 3v18'/%3E%3Cpath d='M3 7.5h4'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M3 16.5h4'/%3E%3Cpath d='M17 3v18'/%3E%3Cpath d='M17 7.5h4'/%3E%3Cpath d='M17 16.5h4'/%3E%3C/svg%3E");
	--te-i-layout: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Cpath d='M3 9h18'/%3E%3Cpath d='M9 21V9'/%3E%3C/svg%3E");
	--te-i-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 10v3'/%3E%3Cpath d='M6 6v11'/%3E%3Cpath d='M10 3v18'/%3E%3Cpath d='M14 8v7'/%3E%3Cpath d='M18 5v13'/%3E%3Cpath d='M22 10v3'/%3E%3C/svg%3E");
	--te-i-cpu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='16' x='4' y='4' rx='2'/%3E%3Crect width='6' height='6' x='9' y='9' rx='1'/%3E%3Cpath d='M15 2v2'/%3E%3Cpath d='M15 20v2'/%3E%3Cpath d='M2 15h2'/%3E%3Cpath d='M2 9h2'/%3E%3Cpath d='M20 15h2'/%3E%3Cpath d='M20 9h2'/%3E%3Cpath d='M9 2v2'/%3E%3Cpath d='M9 20v2'/%3E%3C/svg%3E");
	--te-i-video: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
	--te-i-headphones: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E");
	--te-i-database: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5V19A9 3 0 0 0 21 19V5'/%3E%3Cpath d='M3 12A9 3 0 0 0 21 12'/%3E%3C/svg%3E");
	--te-i-book: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7v14'/%3E%3Cpath d='M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z'/%3E%3C/svg%3E");
}
.te-ico--code { --te-ico: var(--te-i-code); }
.te-ico--monitor { --te-ico: var(--te-i-monitor); }
.te-ico--cap { --te-ico: var(--te-i-cap); }
.te-ico--wand { --te-ico: var(--te-i-wand); }
.te-ico--film { --te-ico: var(--te-i-film); }
.te-ico--layout { --te-ico: var(--te-i-layout); }
.te-ico--wave { --te-ico: var(--te-i-wave); }
.te-ico--cpu { --te-ico: var(--te-i-cpu); }
.te-ico--video { --te-ico: var(--te-i-video); }
.te-ico--headphones { --te-ico: var(--te-i-headphones); }
.te-ico--database { --te-ico: var(--te-i-database); }
.te-ico--search { --te-ico: var(--te-i-search); }
.te-ico--mail { --te-ico: var(--te-i-mail); }
.te-ico--calendar { --te-ico: var(--te-i-calendar); }
.te-ico--book { --te-ico: var(--te-i-book); }

/* ---------- Case studies library ---------- */
.te-cs-section { padding-top: clamp(2.5rem, 4vw, 3.5rem) !important; }
.te-cs-wrap > * { margin-block: 0; }
.te-cs > * { margin-block: 0; }

/* Proof bar */
.te-cs-stats { list-style: none; margin: 0 0 2.5rem !important; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid #BFCDD8; }
.te-cs-stats li { margin: 0; padding: 1.25rem 1.5rem; display: flex; align-items: baseline; gap: 0.75rem; }
.te-cs-stats li + li { border-left: 1px solid var(--te-line); }
.te-cs-stats strong { font-size: clamp(1.75rem, 2.6vw, 2.25rem); font-weight: 750; letter-spacing: -0.02em; line-height: 1; color: var(--te-navy); font-variant-numeric: tabular-nums; }
.te-cs-stats span { font-size: 0.9375rem; line-height: 1.4; color: var(--te-slate); }

/* Featured story */
.te-cs-feature { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); background: #fff; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); overflow: hidden; box-shadow: 0 18px 40px -28px rgba(15, 42, 61, .45); }
.te-cs-feature__media { position: relative; min-height: 22rem; background: var(--te-ice); }
.te-cs-feature__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.te-cs-feature__body { padding: clamp(1.75rem, 3.5vw, 2.75rem); display: flex; flex-direction: column; align-items: flex-start; }
.te-cs-feature__body > * { margin: 0; }
.te-cs-feature__eyebrow { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; font-size: 0.8125rem; font-weight: 600; color: var(--te-steel-deep); }
.te-cs-feature__eyebrow span { padding: 0.2rem 0.6rem; border-radius: 999px; background: var(--te-ice); font-size: 0.75rem; }
.te-cs-feature__title { margin-top: 0.85rem !important; font-size: clamp(1.5rem, 2.4vw, 1.875rem) !important; line-height: 1.2; letter-spacing: -0.015em; color: var(--te-navy); }
.te-cs-feature__summary { margin-top: 0.85rem !important; font-size: 1rem; line-height: 1.65; color: var(--te-slate); }
.te-cs-feature__metric { margin-top: 1.5rem !important; padding: 0.9rem 1.1rem; border-left: 3px solid var(--te-signal); background: var(--te-cloud); border-radius: 0 var(--te-r-sm) var(--te-r-sm) 0; display: flex; align-items: baseline; gap: 0.75rem; flex-wrap: wrap; }
.te-cs-feature__metric strong { font-size: 2rem; font-weight: 750; letter-spacing: -0.02em; line-height: 1; color: var(--te-navy); font-variant-numeric: tabular-nums; }
.te-cs-feature__metric span { font-size: 0.875rem; line-height: 1.45; color: var(--te-slate); max-width: 22rem; }
.te-cs-feature__btn { margin-top: 1.75rem !important; display: inline-flex; align-items: center; min-height: 46px; padding: 0 1.25rem; border-radius: var(--te-r-sm); background: var(--te-navy); color: #fff; font-weight: 600; font-size: 0.9375rem; text-decoration: none; transition: background-color .15s; }
.te-cs-feature__btn:hover { background: var(--te-steel-deep); }
.te-cs-feature__btn::after, .te-cs-card__more::after { content: " \203A"; white-space: pre; }

/* Filters and search */
.te-cs-tools { margin-top: 3.5rem !important; padding-bottom: 1.25rem; border-bottom: 1px solid #BFCDD8; }
.te-cs-tools__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; flex-wrap: wrap; margin-bottom: 1.1rem; }
.te-cs-tools__title { margin: 0; font-size: 1.375rem !important; line-height: 1.25; letter-spacing: -0.015em; color: var(--te-navy); }
.te-cs-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; min-width: 0; }
.te-cs-chip { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 0.45rem; min-height: 38px; padding: 0 0.9rem; border: 1px solid #BFCDD8; border-radius: 999px; background: #fff; cursor: pointer; font: 600 0.875rem/1 var(--wp--preset--font-family--inter); color: var(--te-ink); transition: background-color .15s, border-color .15s, color .15s; }
.te-cs-chip span { font-weight: 600; font-size: 0.75rem; color: var(--te-slate); font-variant-numeric: tabular-nums; }
.te-cs-chip:hover { border-color: var(--te-steel-deep); color: var(--te-steel-deep); }
.te-cs-chip[aria-pressed="true"] { background: var(--te-navy); border-color: var(--te-navy); color: #fff; }
.te-cs-chip[aria-pressed="true"] span { color: var(--te-sky); }
.te-cs-chip:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-cs-search { position: relative; flex: 0 1 18rem; }
.te-cs-search input { box-sizing: border-box; width: 100%; min-height: 42px; padding: 0 0.9rem 0 2.5rem; border: 1px solid #BFCDD8; border-radius: var(--te-r-sm); background: #fff; font: 400 0.9375rem/1 var(--wp--preset--font-family--inter); color: var(--te-ink); }
.te-cs-search input:focus { outline: 3px solid var(--te-sky); outline-offset: 0; border-color: var(--te-steel-deep); }
.te-cs-search::before { content: ""; position: absolute; left: 0.85rem; top: 50%; width: 1rem; height: 1rem; margin-top: -0.5rem; background: var(--te-slate); -webkit-mask: var(--te-i-search) center / contain no-repeat; mask: var(--te-i-search) center / contain no-repeat; pointer-events: none; }
:root { --te-i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); }
.te-cs-status { margin: 1rem 0 0 !important; font-size: 0.875rem; color: var(--te-slate); }

/* Cards */
.te-cs-grid { list-style: none; margin: 1.25rem 0 0 !important; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.te-cs-card { margin: 0; }
.te-cs-card[hidden] { display: none; }
.te-cs-card a { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); overflow: hidden; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.te-cs-card a:hover { border-color: var(--te-steel-deep); box-shadow: 0 16px 32px -22px rgba(15, 42, 61, .5); transform: translateY(-2px); }
.te-cs-card a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-cs-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--te-ice); border-bottom: 1px solid var(--te-line); }
.te-cs-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--te-ease); }
.te-cs-card a:hover .te-cs-card__media img { transform: scale(1.04); }
.te-cs-card__body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem 1.4rem 1.4rem; }
.te-cs-card__sector { font-size: 0.75rem; font-weight: 600; color: var(--te-steel-deep); }
.te-cs-card__client { margin: 0.4rem 0 0; font-size: 1.125rem !important; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--te-navy); }
.te-cs-card__summary { margin-top: 0.5rem; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.te-cs-card__more { margin-top: auto; padding-top: 1rem; font-size: 0.875rem; font-weight: 600; color: var(--te-steel-deep); }
.te-cs-card a:hover .te-cs-card__more { color: var(--te-navy); }
.te-cs-none { margin: 2rem 0 0 !important; padding: 2rem; text-align: center; border: 1px dashed #BFCDD8; border-radius: var(--te-r-lg); color: var(--te-slate); }
.te-cs-none[hidden] { display: none; }
.te-cs-none button { all: unset; cursor: pointer; font-weight: 600; color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }
.te-cs-more { margin-top: 2.25rem !important; text-align: center; }
.te-cs-more[hidden] { display: none; }
.te-cs-more__btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; min-height: 46px; padding: 0 1.5rem; border: 1.5px solid var(--te-navy); border-radius: var(--te-r-sm); cursor: pointer; font: 600 0.9375rem/1 var(--wp--preset--font-family--inter); color: var(--te-navy); transition: background-color .15s, color .15s; }
.te-cs-more__btn:hover { background: var(--te-navy); color: #fff; }
.te-cs-more__btn:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-cs-empty { text-align: center; color: var(--te-slate); }

@media (max-width: 1024px) {
	.te-cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-cs-feature { grid-template-columns: 1fr; }
	.te-cs-feature__media { min-height: 0; aspect-ratio: 16 / 9; }
}
@media (max-width: 720px) {
	.te-cs-stats { grid-template-columns: 1fr; }
	.te-cs-stats li + li { border-left: 0; border-top: 1px solid var(--te-line); }
	.te-cs-stats li { padding: 0.9rem 0.25rem; }
	.te-cs-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 0.25rem; scrollbar-width: thin; }
	.te-cs-chip { flex-shrink: 0; }
	.te-cs-search { flex-basis: 100%; }
	.te-cs-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.te-cs-card a, .te-cs-card__media img { transition: none; }
	.te-cs-card a:hover, .te-cs-card a:hover .te-cs-card__media img { transform: none; }
}

/* ---------- Mega menu: badge strip and calendar button (About panel) ---------- */
.te-mega__bar--badges { gap: 1rem 1.75rem; }
.te-mega__badges { list-style: none; margin: 0 auto 0 0; padding: 0; display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.te-mega__badges li { margin: 0; }
.te-mega__badges img { display: block; height: 32px; width: auto; max-width: 84px; object-fit: contain; filter: grayscale(1); opacity: .75; mix-blend-mode: multiply; transition: filter .2s, opacity .2s; }
.te-mega__badges img:hover { filter: none; opacity: 1; }
.te-mega__bar--badges .te-mega__all { margin: 0; font-size: 0.875rem; }
.te-btn-cal-inline { gap: 0.5rem; }
.te-btn-cal-inline::before { content: ""; flex-shrink: 0; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: var(--te-i-calendar) center / contain no-repeat; mask: var(--te-i-calendar) center / contain no-repeat; }
@media (prefers-reduced-motion: reduce) { .te-mega__badges img { transition: none; } }

/* ---------- Mega menu: Resources ---------- */
.te-mega__inner--resources { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.1fr); gap: 0; border-top: 1px solid #BFCDD8; padding-top: 0; }
.te-mega__res-col { padding: 1.4rem 1.5rem 1.2rem; display: flex; flex-direction: column; }
.te-mega__res-col + .te-mega__res-col { border-left: 1px solid var(--te-line); }
.te-mega__res-col > * { margin: 0; }
.te-mega__res-title { padding-bottom: 0.6rem; margin-bottom: 0.4rem !important; border-bottom: 2px solid var(--te-navy); font-size: 0.8125rem; font-weight: 700; color: var(--te-navy); }
.te-mega__res-list { list-style: none; margin: 0; padding: 0; }
.te-mega__res-list li { margin: 0; }
.te-mega__res-list a { display: flex; align-items: flex-start; gap: 0.85rem; margin: 0 -0.6rem; padding: 0.65rem 0.6rem; border-radius: var(--te-r-md); text-decoration: none; transition: background-color .15s; }
.te-mega__res-list a:hover, .te-mega__res-list a:focus-visible { background: var(--te-ice); }
.te-mega__res-list a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 0; }
.te-mega__res-list a:hover .te-mega__ico { background: #fff; }
.te-mega__res-list a:hover .te-mega__name { color: var(--te-steel-deep); }
.te-mega__regions-label { margin-top: 0.9rem !important; font-size: 0.75rem; font-weight: 600; color: var(--te-slate); }
.te-mega__regions { list-style: none; margin: 0.5rem 0 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.te-mega__regions li { margin: 0; }
.te-mega__regions a { display: inline-flex; align-items: center; min-height: 30px; padding: 0 0.7rem; border: 1px solid #BFCDD8; border-radius: 999px; font-size: 0.8125rem; font-weight: 500; color: var(--te-ink); text-decoration: none; transition: border-color .15s, color .15s, background-color .15s; }
.te-mega__regions a:hover, .te-mega__regions a:focus-visible { border-color: var(--te-steel-deep); color: var(--te-steel-deep); background: var(--te-ice); }
.te-mega__res-col--latest { background: var(--te-cloud); }
.te-mega__posts { list-style: none; margin: 0; padding: 0; }
.te-mega__posts li { margin: 0; }
.te-mega__posts li + li { border-top: 1px solid var(--te-line); }
.te-mega__posts a { display: flex; align-items: center; gap: 0.85rem; padding: 0.7rem 0; text-decoration: none; }
.te-mega__posts a:hover .te-mega__name { color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }
.te-mega__posts a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; border-radius: var(--te-r-sm); }
.te-mega__post-img { flex-shrink: 0; width: 72px; height: 54px; border-radius: var(--te-r-sm); overflow: hidden; background: var(--te-ice); border: 1px solid var(--te-line); }
.te-mega__post-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.te-mega__posts .te-mega__name { font-size: 0.875rem; line-height: 1.35; }
.te-mega__posts .te-mega__desc { font-size: 0.75rem; }
.te-mega__res-col--latest .te-mega__all { margin-top: auto !important; padding-top: 0.75rem; font-size: 0.875rem; }
.te-mega__res-bar { grid-column: 1 / -1; margin-top: 1rem; }
/* Resource icons (Lucide geometry, ISC license) */
:root {
	--te-i-newspaper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18h-5'/%3E%3Cpath d='M18 14h-8'/%3E%3Cpath d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2'/%3E%3Crect width='8' height='4' x='10' y='6' rx='1'/%3E%3C/svg%3E");
	--te-i-megaphone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-5v12L3 14v-3z'/%3E%3Cpath d='M11.6 16.8a3 3 0 1 1-5.8-1.6'/%3E%3C/svg%3E");
}
.te-ico--newspaper { --te-ico: var(--te-i-newspaper); }
.te-ico--megaphone { --te-ico: var(--te-i-megaphone); }

/* ---------- Mega menu: About (company, credentials, leadership) ---------- */
.te-mega__inner--about { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); }
.te-mega__chips { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: 0.45rem; }
.te-mega__chips span { padding: 0.12rem 0.45rem; border: 1px solid #BFCDD8; border-radius: var(--te-r-sm); background: #fff; font-size: 0.6875rem; font-weight: 600; line-height: 1.4; color: var(--te-navy); }
.te-mega__creds a:hover .te-mega__chips span { border-color: var(--te-steel-deep); }
.te-mega__leader { display: flex; align-items: center; gap: 0.85rem; margin: 0.35rem -0.6rem 0 !important; padding: 0.55rem 0.6rem; border-radius: var(--te-r-md); text-decoration: none; transition: background-color .15s; }
.te-mega__leader:hover, .te-mega__leader:focus-visible { background: #fff; }
.te-mega__leader:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 0; }
.te-mega__leader img { flex-shrink: 0; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px #BFCDD8; }
.te-mega__leader .te-mega__name { font-size: 1rem; }
.te-mega__leader:hover .te-mega__name { color: var(--te-steel-deep); }
.te-mega__leader-title { display: block; margin-top: 0.15rem; font-size: 0.8125rem; font-weight: 600; color: var(--te-steel-deep); }
.te-mega__leader-bio { margin-top: 0.5rem !important; font-size: 0.8125rem; line-height: 1.55; color: var(--te-slate); }
.te-mega__facts { list-style: none; margin: 0.75rem 0 0 !important; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--te-line); }
.te-mega__facts li { margin: 0; padding: 0.6rem 0.25rem 0.6rem 0; border-bottom: 1px solid var(--te-line); }
.te-mega__facts strong { display: block; font-size: 1.125rem; font-weight: 750; letter-spacing: -0.02em; line-height: 1.1; color: var(--te-navy); font-variant-numeric: tabular-nums; }
.te-mega__facts span { display: block; margin-top: 0.15rem; font-size: 0.75rem; line-height: 1.35; color: var(--te-slate); }
.te-mega__inner--about .te-mega__res-col--latest .te-mega__all { margin-top: auto !important; padding-top: 0.75rem; font-size: 0.875rem; }

/* Phone and tablet menu only: Contact and Client login sit in the top bar on desktop. */
@media (min-width: 1024px) {
	.te-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .te-nav__mobile-only { display: none !important; }
}

/* ---------- Software and app localization page ---------- */
/* Split: illustration beside numbered steps or a text column. */
.te-l10n-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; margin-block: 0 !important; }
.te-l10n-split > * { margin: 0 !important; }
.te-l10n-split--reverse { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.te-l10n-split__media img { width: 100%; height: auto; display: block; }
.te-l10n-split__media--framed img { border-radius: var(--te-r-lg); border: 1px solid #BFCDD8; box-shadow: 0 24px 48px -28px rgba(15, 42, 61, .55); }
.te-l10n-split__media--photo img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--te-r-lg); border: 1px solid #BFCDD8; box-shadow: 0 24px 48px -28px rgba(15, 42, 61, .55); }
.te-l10n-split__text > * { margin-block: 0; }
.te-l10n-split__text h2 { margin-top: 0.75rem !important; }

/* Numbered workflow steps: a real sequence, so numbers carry meaning. */
.te-steps { list-style: none; counter-reset: te-step; margin: 0; padding: 0; }
.te-steps li { counter-increment: te-step; position: relative; margin: 0; padding: 0 0 1.35rem 3.5rem; }
.te-steps li::before { content: counter(te-step); position: absolute; left: 0; top: 0; width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; background: var(--te-navy); color: #fff; font-size: 0.9375rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.te-steps li:not(:last-child)::after { content: ""; position: absolute; left: calc(1.125rem - 1px); top: 2.5rem; bottom: 0.25rem; width: 2px; background: linear-gradient(var(--te-steel), #BFCDD8); }
.te-steps strong { display: block; padding-top: 0.3rem; font-size: 1.0625rem; line-height: 1.35; color: var(--te-navy); }
.te-steps span { display: block; margin-top: 0.35rem; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }

/* Formats and integrations */
.te-l10n-tech { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 1.25rem; margin-block: 0 !important; }
.te-l10n-tech > * { margin: 0 !important; }
.te-l10n-tech__panel { background: #fff; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); padding: 1.6rem 1.75rem; }
.te-l10n-tech__panel > * { margin-block: 0; }
.te-l10n-tech__panel h3 { font-size: 1.0625rem !important; color: var(--te-navy); }
.te-chipset { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem !important; }
.te-chipset span { display: inline-flex; align-items: center; min-height: 34px; padding: 0 0.8rem; border: 1px solid #BFCDD8; border-radius: var(--te-r-sm); background: var(--te-cloud); font-size: 0.875rem; font-weight: 600; color: var(--te-ink); font-variant-numeric: tabular-nums; }
.te-l10n-tech__note { margin-top: 1rem !important; padding-top: 1rem; border-top: 1px solid var(--te-line); font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }

/* Industries list beside the illustration */
.te-l10n-list { list-style: none; margin: 1.5rem 0 0 !important; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; }
.te-l10n-list li { margin: 0; padding: 0.85rem 0 0.85rem 1.6rem; border-top: 1px solid var(--te-line); position: relative; }
.te-l10n-list li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: 1rem; height: 1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-l10n-list strong { display: block; font-size: 0.9375rem; color: var(--te-navy); }
.te-l10n-list span { display: block; margin-top: 0.2rem; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }

/* Pilot callout under the engagement models */
.te-l10n-pilot { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-top: 1.5rem !important; padding: 1.25rem 1.5rem; border-radius: var(--te-r-lg); background: var(--te-ice); border: 1px solid #BFCDD8; border-left: 4px solid var(--te-signal); }
.te-l10n-pilot > * { margin: 0 !important; }
.te-l10n-pilot__text { flex: 1; min-width: 16rem; font-size: 1rem; line-height: 1.55; color: var(--te-ink); }
.te-l10n-pilot__text strong { color: var(--te-navy); }

/* Hand-picked case study cards on service pages */
.te-cs-grid--picks { margin-top: 0 !important; }

@media (max-width: 900px) {
	.te-l10n-split, .te-l10n-split--reverse, .te-l10n-tech { grid-template-columns: 1fr; }
	.te-l10n-split--reverse .te-l10n-split__media { order: -1; }
	.te-l10n-split__media { max-width: 560px; margin-inline: auto !important; }
}
@media (max-width: 600px) { .te-l10n-list { grid-template-columns: 1fr; } }

/* What we localize: one hairline-ruled panel, six cells with deliverable tags */
.te-l10n-scope { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #BFCDD8; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); overflow: hidden; margin-block: 0 !important; box-shadow: 0 18px 40px -32px rgba(15, 42, 61, .45); }
.te-l10n-scope > * { margin: 0 !important; }
.te-l10n-scope__cell { position: relative; display: flex; flex-direction: column; padding: 1.85rem 1.75rem 1.6rem; background: #fff; transition: background-color .2s; }
.te-l10n-scope__cell > * { margin: 0; }
.te-l10n-scope__cell::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, #3FB0DD, var(--te-steel-deep)); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--te-ease); }
.te-l10n-scope__cell:hover { background: linear-gradient(180deg, var(--te-cloud), #fff 70%); }
.te-l10n-scope__cell:hover::before { transform: scaleX(1); }
.te-l10n-scope__ico { position: relative; width: 2.75rem; height: 2.75rem; border-radius: var(--te-r-md); background: var(--te-navy); }
.te-l10n-scope__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.3rem; height: 1.3rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-l10n-scope__cell h3 { margin-top: 1.25rem !important; font-size: 1.125rem !important; line-height: 1.3; letter-spacing: -0.01em; color: var(--te-navy); }
.te-l10n-scope__text { margin-top: 0.5rem !important; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-l10n-scope__tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: auto !important; padding-top: 1.2rem; }
.te-l10n-scope__tags span { display: inline-flex; align-items: center; min-height: 26px; padding: 0 0.6rem; border-radius: 999px; background: var(--te-ice); font-size: 0.75rem; font-weight: 600; color: var(--te-steel-deep); }
@media (max-width: 1024px) { .te-l10n-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .te-l10n-scope { grid-template-columns: 1fr; } .te-l10n-scope__cell { padding: 1.5rem 1.25rem 1.35rem; } }
@media (prefers-reduced-motion: reduce) { .te-l10n-scope__cell, .te-l10n-scope__cell::before { transition: none; } }

/* Navy cards with a ringed icon (pain points on the software localization page) */
.te-l10n-pains { background: #DCE3EA !important; }
.te-svc-grid--navy { gap: 1.5rem; }
.te-svc-grid--navy .te-svc-card { padding: 1.9rem 1.85rem 2rem; border: 1px solid rgba(255, 255, 255, .06); border-radius: var(--te-r-lg); background: linear-gradient(160deg, #16405C 0%, #0F2A3D 100%); box-shadow: 0 18px 36px -24px rgba(15, 42, 61, .7); --te-ico-top: 1.9rem; --te-ico-left: 1.85rem; transition: transform .25s var(--te-ease), box-shadow .25s var(--te-ease); }
.te-svc-grid--navy .te-svc-card:hover { transform: translateY(-3px); box-shadow: 0 26px 44px -26px rgba(15, 42, 61, .85); }
.te-svc-grid--navy .te-svc-card::before { width: 3.6rem; height: 3.6rem; border-radius: 50%; background: rgba(255, 255, 255, .03); box-shadow: inset 0 0 0 1.5px var(--te-signal); margin-bottom: 1.6rem; }
.te-svc-grid--navy .te-svc-card::after { top: calc(var(--te-ico-top) + 1.1125rem); left: calc(var(--te-ico-left) + 1.1125rem); background: #fff; }
.te-svc-grid--navy .te-svc-card h3 { color: #fff; font-size: 1.1875rem !important; }
.te-svc-grid--navy .te-svc-card p { margin-top: 0.65rem; color: rgba(255, 255, 255, .8); }
@media (prefers-reduced-motion: reduce) { .te-svc-grid--navy .te-svc-card { transition: none; } .te-svc-grid--navy .te-svc-card:hover { transform: none; } }

/* ---------- Transcreation page ---------- */
.te-svc-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .te-svc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .te-svc-grid--4 { grid-template-columns: 1fr; } }

/* Example: original vs literal vs transcreation */
.te-tc-example { margin-block: 0 !important; }
.te-tc-example > * { margin-block: 0; }
.te-tc-example__label { font-size: 0.875rem; font-weight: 600; color: var(--te-steel-deep); }
.te-tc-example__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1rem; }
.te-tc-card { position: relative; display: flex; flex-direction: column; padding: 1.6rem 1.6rem 1.5rem; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); background: #fff; }
.te-tc-card > * { margin: 0; }
.te-tc-card__tag { align-self: flex-start; padding: 0.25rem 0.65rem; border-radius: 999px; background: var(--te-cloud); font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-tc-card__line { margin: 1rem 0 1rem !important; font-size: 1.3125rem; font-weight: 700; line-height: 1.35; letter-spacing: -0.01em; color: var(--te-navy); }
.te-tc-card__back { margin: 0.75rem 0 1rem !important; font-size: 0.875rem; line-height: 1.5; color: var(--te-ink); }
.te-tc-card__back span { font-weight: 600; color: var(--te-slate); }
.te-tc-card__note { margin-top: auto !important; padding-top: 1rem; min-height: 0; border-top: 1px solid var(--te-line); font-size: 0.875rem; line-height: 1.55; color: var(--te-slate); }
.te-tc-card--literal .te-tc-card__line { color: var(--te-slate); text-decoration: line-through; text-decoration-color: rgba(226, 75, 15, .55); text-decoration-thickness: 2px; }
.te-tc-card--tc { border-color: var(--te-navy); background: linear-gradient(160deg, #16405C 0%, #0F2A3D 100%); box-shadow: 0 22px 44px -28px rgba(15, 42, 61, .8); }
.te-tc-card--tc .te-tc-card__tag { background: var(--te-signal); color: #fff; }
.te-tc-card--tc .te-tc-card__line { color: #fff; }
.te-tc-card--tc .te-tc-card__back { color: rgba(255, 255, 255, .9); }
.te-tc-card--tc .te-tc-card__back span, .te-tc-card--tc .te-tc-card__note { color: rgba(255, 255, 255, .72); }
.te-tc-card--tc .te-tc-card__note { border-top-color: rgba(255, 255, 255, .14); }

/* Comparison table */
.te-tc-compare { max-width: var(--wp--style--global--wide-size, 1240px); margin: 2.75rem auto 0 !important; }
.te-tc-compare table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); overflow: hidden; background: #fff; font-size: 0.9375rem; }
.te-tc-compare caption { caption-side: top; text-align: left; padding-bottom: 0.85rem; font-size: 1.125rem; font-weight: 700; color: var(--te-navy); }
.te-tc-compare th, .te-tc-compare td { padding: 0.95rem 1.15rem; text-align: left; vertical-align: top; line-height: 1.5; border-bottom: 1px solid var(--te-line); }
.te-tc-compare tbody tr:last-child th, .te-tc-compare tbody tr:last-child td { border-bottom: 0; }
.te-tc-compare thead th { background: var(--te-cloud); font-size: 0.875rem; font-weight: 700; color: var(--te-navy); }
.te-tc-compare tbody th { width: 18%; font-weight: 600; color: var(--te-slate); }
.te-tc-compare td { color: var(--te-ink); }
.te-tc-compare .is-tc { background: var(--te-ice); color: var(--te-navy); font-weight: 600; box-shadow: inset 2px 0 0 var(--te-steel-deep), inset -2px 0 0 var(--te-steel-deep); }
.te-tc-compare thead .is-tc { background: var(--te-navy); color: #fff; }
.te-tc-compare__note { margin-top: 1rem !important; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-tc-compare__note a { color: var(--te-steel-deep); font-weight: 600; text-underline-offset: 3px; }

/* Outcomes band (navy) */
.te-tc-outcomes { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; margin-block: 0 !important; }
.te-tc-outcomes > * { margin: 0 !important; }
.te-tc-outcomes__intro > * { margin-block: 0; }
.te-tc-outcomes__intro h2 { margin-top: 0.75rem !important; color: #fff; }
.te-tc-outcomes__intro .te-eyebrow, .te-tc-outcomes__intro .te-accent { color: var(--te-sky); }
.te-tc-outcomes__intro .te-head__lede { color: rgba(255, 255, 255, .78); }
.te-tc-outcomes__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
.te-tc-outcomes__list li { margin: 0; padding: 1rem 0 1rem 2rem; border-top: 1px solid rgba(255, 255, 255, .14); position: relative; }
.te-tc-outcomes__list li::before { content: ""; position: absolute; left: 0; top: 1.2rem; width: 1.1rem; height: 1.1rem; background: var(--te-sky); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-tc-outcomes__list strong { display: block; font-size: 1.0625rem; color: #fff; }
.te-tc-outcomes__list span { display: block; margin-top: 0.25rem; font-size: 0.9375rem; line-height: 1.55; color: rgba(255, 255, 255, .76); }

/* Brief inputs */
.te-tc-inputs { margin-block: 0 !important; }
.te-tc-inputs > * { margin-block: 0; }
.te-tc-inputs__list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin-top: 0 !important; }
.te-tc-inputs__cta { margin-top: 1.75rem !important; }

/* Client quote and why us */
.te-tc-quote { margin-block: 0 0 1.75rem !important; padding: 1.75rem 2rem; border-radius: var(--te-r-lg); background: var(--te-ice); border: 1px solid #BFCDD8; border-left: 4px solid var(--te-steel-deep); }
.te-tc-quote > * { margin: 0; }
.te-tc-quote__body { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.te-tc-quote__body p { font-size: clamp(1.125rem, 1.6vw, 1.3125rem); line-height: 1.5; font-weight: 600; color: var(--te-navy); }
.te-tc-quote__body p::before { content: "\201C"; } .te-tc-quote__body p::after { content: "\201D"; }
.te-tc-quote__body cite { display: block; margin-top: 0.75rem; font-size: 0.875rem; font-style: normal; font-weight: 600; color: var(--te-steel-deep); }
.te-tc-quote__link { margin-top: 0.85rem !important; font-size: 0.9375rem; }
.te-tc-quote__link a { font-weight: 600; color: var(--te-navy); text-underline-offset: 3px; }
.te-tc-quote__link a::after { content: " \203A"; }
.te-tc-why { list-style: none; max-width: var(--wp--style--global--wide-size, 1240px); margin: 2rem auto 0 !important; padding: 1.5rem 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; border-top: 1px solid #BFCDD8; }
.te-tc-why li { margin: 0; }
.te-tc-why strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-tc-why span { display: block; margin-top: 0.3rem; font-size: 0.875rem; line-height: 1.55; color: var(--te-slate); }

/* Related services */
.te-tc-related { list-style: none; max-width: var(--wp--style--global--wide-size, 1240px); margin: 0 auto !important; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #BFCDD8; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); overflow: hidden; }
.te-tc-related li { margin: 0; background: #fff; }
.te-tc-related a { display: block; height: 100%; padding: 1.25rem 1.4rem; text-decoration: none; transition: background-color .15s; }
.te-tc-related a:hover, .te-tc-related a:focus-visible { background: var(--te-ice); }
.te-tc-related a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: -3px; }
.te-tc-related strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-tc-related strong::after { content: " \203A"; color: var(--te-steel-deep); }
.te-tc-related span { display: block; margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }

@media (max-width: 1024px) {
	.te-tc-example__row { grid-template-columns: 1fr; }
	.te-tc-outcomes { grid-template-columns: 1fr; }
	.te-tc-inputs__list { grid-template-columns: 1fr 1fr !important; }
	.te-tc-why { grid-template-columns: 1fr 1fr; }
	.te-tc-related { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
	.te-tc-compare { overflow-x: auto; }
	.te-tc-compare table { min-width: 640px; }
	.te-tc-outcomes__list, .te-tc-inputs__list, .te-tc-why, .te-tc-related { grid-template-columns: 1fr !important; }
	.te-tc-quote { padding: 1.4rem 1.25rem; }
}

/* Proof bar directly under the transcreation hero */
.te-tc-proof { background: #fff; border-bottom: 1px solid var(--te-line); padding-block: 1.6rem; }
.te-tc-why--bar { margin: 0 auto !important; padding: 0 !important; border-top: 0 !important; }
.te-tc-why--bar li { position: relative; padding-left: 1.6rem; }
.te-tc-why--bar li::before { content: ""; position: absolute; left: 0; top: 0.2rem; width: 1rem; height: 1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Transcreation: problem panel, each problem paired with the fix */
.te-tc-problem-section { background: linear-gradient(180deg, var(--te-cloud) 0%, #fff 100%) !important; }
.te-tc-problems { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block: 0 !important; background: #fff; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); overflow: hidden; box-shadow: 0 24px 48px -36px rgba(15, 42, 61, .55); }
.te-tc-problems > * { margin: 0 !important; }
.te-tc-problem { position: relative; display: flex; flex-direction: column; padding: 2rem 1.75rem 0; transition: background-color .25s; }
.te-tc-problem + .te-tc-problem { border-left: 1px solid var(--te-line); }
.te-tc-problem > * { margin: 0; }
.te-tc-problem::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--te-signal); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--te-ease); }
.te-tc-problem:hover { background: var(--te-cloud); }
.te-tc-problem:hover::before { transform: scaleX(1); }
.te-tc-problem__ico { position: relative; width: 3rem; height: 3rem; border-radius: 50%; border: 1px solid #BFCDD8; background: #fff; }
.te-tc-problem__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.3rem; height: 1.3rem; background: var(--te-navy); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-tc-problem h3 { margin-top: 1.4rem !important; font-size: 1.125rem !important; line-height: 1.3; letter-spacing: -0.01em; color: var(--te-navy); }
.te-tc-problem__text { margin-top: 0.6rem !important; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-tc-problem__fix { margin: auto -1.75rem 0 !important; padding: 1.1rem 1.75rem 1.4rem; margin-top: 1.5rem !important; background: var(--te-navy); color: #fff; font-size: 0.9375rem; font-weight: 600; line-height: 1.5; }
.te-tc-problem__fix span { display: flex; align-items: center; gap: 0.45rem; margin-bottom: 0.35rem; font-size: 0.75rem; font-weight: 700; color: var(--te-sky); }
.te-tc-problem__fix span::before { content: ""; width: 0.9rem; height: 0.9rem; background: currentColor; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-tc-problem + .te-tc-problem .te-tc-problem__fix { box-shadow: -1px 0 0 rgba(255, 255, 255, .12); }
/* Align icon, heading, text, and fix strip across cards so every strip starts and ends on the same line. */
@supports (grid-template-rows: subgrid) {
	.te-tc-problem { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
	.te-tc-problem__fix { margin-top: 1.5rem !important; }
}
@media (max-width: 1100px) {
	.te-tc-problems { grid-template-columns: 1fr 1fr; }
	.te-tc-problem:nth-child(3) { border-left: 0; }
	.te-tc-problem:nth-child(n+3) { border-top: 1px solid var(--te-line); }
}
@media (max-width: 640px) {
	.te-tc-problems { grid-template-columns: 1fr; }
	.te-tc-problem + .te-tc-problem { border-left: 0; border-top: 1px solid var(--te-line); }
	.te-tc-problem { padding: 1.6rem 1.35rem 0; }
	.te-tc-problem__fix { margin-inline: -1.35rem !important; padding-inline: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) { .te-tc-problem, .te-tc-problem::before { transition: none; } }

/* Transcreation: "Which service fits" comparison, pricing-page style */
.te-tc-fit { box-sizing: border-box; max-width: var(--wp--style--global--wide-size, 1240px); margin: 3.5rem auto 0 !important; padding: clamp(1.75rem, 3.5vw, 2.75rem); border-radius: calc(var(--te-r-lg) + 4px); background: linear-gradient(180deg, var(--te-ice) 0%, var(--te-cloud) 100%); border: 1px solid #BFCDD8; }
.te-tc-fit > * { margin: 0; }
.te-tc-fit__head { max-width: 46rem; margin: 0 auto !important; text-align: center; }
.te-tc-fit__title { margin: 0; font-size: clamp(1.5rem, 2.4vw, 1.875rem) !important; line-height: 1.2; letter-spacing: -0.015em; color: var(--te-navy); }
.te-tc-fit__lede { margin: 0.6rem 0 0 !important; font-size: 1rem; line-height: 1.6; color: var(--te-slate); }
.te-tc-fit__grid { display: grid; grid-template-columns: 1fr 1.12fr 1fr; gap: 1.25rem; align-items: stretch; margin-top: 3rem !important; }
.te-tc-plan { position: relative; display: flex; flex-direction: column; padding: 1.75rem 1.6rem 1.6rem; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); background: #fff; }
.te-tc-plan > * { margin: 0; }
.te-tc-plan__name { font-size: 0.875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-tc-plan__goal { margin-top: 0.4rem !important; font-size: 1.25rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--te-navy); }
.te-tc-plan__rows { margin: 1.25rem 0 0; padding: 0; }
.te-tc-plan__rows div { padding: 0.8rem 0; border-top: 1px solid var(--te-line); }
.te-tc-plan__rows dt { font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-tc-plan__rows dd { margin: 0.2rem 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--te-ink); }
.te-tc-plan__link { margin-top: auto; padding-top: 1rem; font-size: 0.9375rem; font-weight: 600; color: var(--te-steel-deep); text-decoration: none; }
.te-tc-plan__link::after { content: " \203A"; }
.te-tc-plan__link:hover { color: var(--te-navy); text-decoration: underline; text-underline-offset: 3px; }
.te-tc-plan--featured { margin: -1.25rem 0 !important; padding: 2.4rem 1.85rem 1.85rem; border: 0; background: linear-gradient(160deg, #16405C 0%, #0F2A3D 100%); box-shadow: 0 30px 60px -30px rgba(15, 42, 61, .85); }
.te-tc-plan--featured::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; border-radius: var(--te-r-lg) var(--te-r-lg) 0 0; background: linear-gradient(90deg, #3FB0DD 0 50%, #E8551A 50% 100%); }
.te-tc-plan__badge { position: absolute; top: -0.85rem; left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 0.35rem 0.85rem; border-radius: 999px; background: var(--te-signal); color: #fff; font-size: 0.75rem; font-weight: 700; box-shadow: 0 8px 18px -8px rgba(226, 75, 15, .7); }
.te-tc-plan--featured .te-tc-plan__name { color: var(--te-sky); }
.te-tc-plan--featured .te-tc-plan__goal { font-size: 1.4375rem; color: #fff; }
.te-tc-plan--featured .te-tc-plan__rows div { border-top-color: rgba(255, 255, 255, .14); }
.te-tc-plan--featured .te-tc-plan__rows dt { color: var(--te-sky); }
.te-tc-plan--featured .te-tc-plan__rows dd { color: #fff; font-weight: 500; }
.te-tc-plan__btn { margin-top: 1.25rem; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: var(--te-r-sm); background: #fff; color: var(--te-navy); font-weight: 700; font-size: 0.9375rem; text-decoration: none; transition: background-color .15s; }
.te-tc-plan__btn:hover { background: var(--te-ice); }
.te-tc-plan__btn:focus-visible, .te-tc-plan__link:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-tc-fit__note { max-width: 50rem; margin: 2rem auto 0 !important; text-align: center; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-tc-fit__note strong { color: var(--te-navy); }
@media (max-width: 960px) {
	.te-tc-fit__grid { grid-template-columns: 1fr; gap: 1.75rem; max-width: 30rem; margin-inline: auto !important; }
	.te-tc-plan--featured { order: -1; margin: 0 !important; }
}

/* Transcreation: brief section, intro beside a stylized brief document */
.te-tc-brief-section { position: relative; overflow: hidden; background: radial-gradient(55rem 32rem at 82% 30%, rgba(255, 255, 255, .75), transparent 62%), linear-gradient(135deg, #EAF4F8 0%, #DCEAF1 50%, #CBDFEA 100%) !important; border-block: 1px solid #BFCDD8; }
.te-tc-brief-section::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(rgba(15, 42, 61, .13) 1px, transparent 1.2px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .35) 45%, transparent 70%); mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .35) 45%, transparent 70%); }
.te-tc-brief-section > * { position: relative; }
.te-tc-brief-section .te-tc-brief__promises li { border-color: rgba(15, 42, 61, .16); }
.te-tc-brief { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: center; margin-block: 0 !important; }
.te-tc-brief > * { margin: 0 !important; }
.te-tc-brief__intro > * { margin-block: 0; }
.te-tc-brief__intro h2 { margin-top: 0.75rem !important; }
.te-tc-brief__promises { list-style: none; margin: 1.75rem 0 0 !important; padding: 0; }
.te-tc-brief__promises li { position: relative; margin: 0; padding: 0.9rem 0 0.9rem 2.1rem; border-top: 1px solid #BFCDD8; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-tc-brief__promises li:last-child { border-bottom: 1px solid #BFCDD8; }
.te-tc-brief__promises li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--te-signal) var(--te-i-check) center / 0.8rem no-repeat; background: var(--te-signal); -webkit-mask: none; }
.te-tc-brief__promises li::after { content: ""; position: absolute; left: 0.3rem; top: 1.35rem; width: 0.7rem; height: 0.7rem; background: #fff; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-tc-brief__promises strong { color: var(--te-navy); }
.te-tc-brief__ctas { margin-top: 1.75rem !important; gap: 0.75rem; }

.te-tc-doc { position: relative; background: #fff; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); box-shadow: 0 1px 0 rgba(15, 42, 61, .04), 0 40px 70px -40px rgba(15, 42, 61, .55); }
.te-tc-doc::before, .te-tc-doc::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: var(--te-r-lg); background: #fff; border: 1px solid #D5DFE7; }
.te-tc-doc::before { transform: rotate(2.2deg) translate(10px, 8px); opacity: .7; }
.te-tc-doc::after { transform: rotate(-1.4deg) translate(-8px, 12px); opacity: .45; }
.te-tc-doc__bar { display: flex; align-items: center; gap: 0.85rem; padding: 0.9rem 1.25rem; border-bottom: 1px solid var(--te-line); background: linear-gradient(180deg, #fff, var(--te-cloud)); border-radius: var(--te-r-lg) var(--te-r-lg) 0 0; }
.te-tc-doc__dots { display: inline-flex; gap: 0.35rem; }
.te-tc-doc__dots i { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: #D5DFE7; }
.te-tc-doc__dots i:first-child { background: #3FB0DD; } .te-tc-doc__dots i:nth-child(2) { background: #E8551A; }
.te-tc-doc__name { font-size: 0.875rem; font-weight: 700; color: var(--te-navy); }
.te-tc-doc__status { margin-left: auto; padding: 0.2rem 0.6rem; border-radius: 999px; background: var(--te-ice); font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-tc-doc__fields { list-style: none; margin: 0; padding: 0.5rem 1.25rem; counter-reset: none; }
.te-tc-doc__fields li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) 1.4rem; gap: 1rem; align-items: center; margin: 0; padding: 1rem 0; border-bottom: 1px dashed #D5DFE7; }
.te-tc-doc__fields li:last-child { border-bottom: 0; }
.te-tc-doc__ico { position: relative; width: 2.5rem; height: 2.5rem; border-radius: var(--te-r-md); background: var(--te-navy); }
.te-tc-doc__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.15rem; height: 1.15rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-tc-doc__text strong { display: block; font-size: 0.9875rem; color: var(--te-navy); }
.te-tc-doc__text span { display: block; margin-top: 0.15rem; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }
.te-tc-doc__check { width: 1.4rem; height: 1.4rem; border-radius: 50%; border: 1.5px solid #BFCDD8; position: relative; transition: background-color .2s, border-color .2s; }
.te-tc-doc__check::after { content: ""; position: absolute; inset: 0; margin: auto; width: 0.75rem; height: 0.75rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-tc-doc__fields li:hover .te-tc-doc__check { background: var(--te-steel-deep); border-color: var(--te-steel-deep); }
.te-tc-doc__fields li:hover .te-tc-doc__check::after { background: #fff; }
.te-tc-doc__foot { margin: 0; padding: 0.95rem 1.25rem; border-top: 1px solid var(--te-line); background: var(--te-cloud); border-radius: 0 0 var(--te-r-lg) var(--te-r-lg); font-size: 0.875rem; font-weight: 600; color: var(--te-steel-deep); text-align: center; }
@media (max-width: 960px) {
	.te-tc-brief { grid-template-columns: 1fr; }
	.te-tc-doc::before, .te-tc-doc::after { display: none; }
}
@media (prefers-reduced-motion: reduce) { .te-tc-doc__check { transition: none; } }

/* Transcreation: related services as hub and spoke */
.te-tc-hub { box-sizing: border-box; max-width: var(--wp--style--global--wide-size, 1240px); margin: 0 auto !important; display: grid; grid-template-columns: minmax(0, 1fr) 260px minmax(0, 1fr); align-items: center; }
.te-tc-hub__col { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.te-tc-hub__col--l { padding-right: 46px; } .te-tc-hub__col--r { padding-left: 46px; }
.te-tc-hub__col li { margin: 0; }
.te-tc-hub__col a { position: relative; display: flex; align-items: center; gap: 0.9rem; padding: 1.15rem 1.25rem; background: #fff; border: 1px solid #BFCDD8; border-radius: var(--te-r-lg); box-shadow: 0 14px 30px -24px rgba(15, 42, 61, .5); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.te-tc-hub__col a::after { content: ""; position: absolute; top: 50%; width: 62px; height: 1.5px; background: linear-gradient(90deg, #BFCDD8, var(--te-steel)); pointer-events: none; }
.te-tc-hub__col--l a::after { right: -63px; }
.te-tc-hub__col--r a::after { left: -63px; transform: scaleX(-1); }
.te-tc-hub__col a:hover, .te-tc-hub__col a:focus-visible { border-color: var(--te-steel-deep); transform: translateY(-2px); box-shadow: 0 20px 36px -24px rgba(15, 42, 61, .6); }
.te-tc-hub__col a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-tc-hub__ico { position: relative; flex-shrink: 0; width: 2.625rem; height: 2.625rem; border-radius: 50%; background: var(--te-ice); transition: background-color .2s; }
.te-tc-hub__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.25rem; height: 1.25rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-tc-hub__col a:hover .te-tc-hub__ico { background: var(--te-navy); }
.te-tc-hub__col a:hover .te-tc-hub__ico::before { background: var(--te-sky); }
.te-tc-hub__col strong { display: block; font-size: 1rem; line-height: 1.3; color: var(--te-navy); }
.te-tc-hub__col a span span { display: block; margin-top: 0.2rem; font-size: 0.84375rem; line-height: 1.45; color: var(--te-slate); }
.te-tc-hub__core { position: relative; justify-self: center; width: 230px; height: 230px; border-radius: 50%; display: grid; place-items: center; text-align: center; background: linear-gradient(160deg, #16405C, #0F2A3D); color: #fff; box-shadow: 0 0 0 10px rgba(75, 148, 175, .12), 0 0 0 22px rgba(75, 148, 175, .07), 0 30px 60px -30px rgba(15, 42, 61, .8); }
.te-tc-hub__core::before { content: ""; position: absolute; inset: 8px; border-radius: 50%; border: 1.5px solid; border-color: #3FB0DD #3FB0DD #E8551A #E8551A; transform: rotate(45deg); }
.te-tc-hub__core b { display: block; font-size: 1.375rem; letter-spacing: -0.01em; }
.te-tc-hub__core > div { max-width: 82%; margin-inline: auto; }
.te-tc-hub__core b { line-height: 1.2; text-wrap: balance; }
.te-tc-hub__core span { display: block; max-width: 160px; margin: 0.4rem auto 0; font-size: 0.8125rem; line-height: 1.4; color: var(--te-sky); }
.te-tc-hub__note { max-width: var(--wp--style--global--wide-size, 1240px); margin: 1.75rem auto 0 !important; text-align: center; font-size: 0.9375rem; color: var(--te-slate); }
.te-tc-hub__note strong { color: var(--te-navy); }
@media (max-width: 1024px) {
	.te-tc-hub { grid-template-columns: 1fr 1fr; gap: 1rem; }
	.te-tc-hub__core { grid-column: 1 / -1; grid-row: 1; width: 190px; height: 190px; margin-bottom: 1rem; }
	.te-tc-hub__col--l, .te-tc-hub__col--r { padding: 0; }
	.te-tc-hub__col a::after { display: none; }
}
@media (max-width: 640px) {
	.te-tc-hub { grid-template-columns: 1fr; }
	.te-tc-hub__core { width: 170px; height: 170px; }
}
@media (prefers-reduced-motion: reduce) { .te-tc-hub__col a, .te-tc-hub__ico { transition: none; } .te-tc-hub__col a:hover { transform: none; } }

.te-l10n-crosslink { max-width: var(--wp--style--global--wide-size, 1240px); margin: 1.5rem auto 0 !important; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-l10n-crosslink strong { color: var(--te-navy); }
.te-l10n-crosslink a { font-weight: 600; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* ==========================================================================
   Transcription page (.te-trx-*): an audio-and-timecode visual language
   ========================================================================== */

/* Shared: masked icons inside small tiles */
.te-trx-secure__list i, .te-trx-upload__drop i { position: relative; flex: none; display: block; width: 2.5rem; height: 2.5rem; border-radius: 10px; background: var(--te-ice); }
.te-trx-secure__list i::before, .te-trx-upload__drop i::before, .te-trx-files__specs i::before, .te-trx-secure__photo figcaption i::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.2rem; height: 1.2rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }

/* Shared: waveform bars and play button */
.te-trx-wave { position: relative; display: flex; align-items: center; gap: 2px; }
.te-trx-wave i { flex: 1 1 0; min-width: 2px; height: var(--h); border-radius: 2px; background: #C9D6DF; }
.te-trx-wave i.is-played { background: var(--te-steel); }
.te-trx-player__play { position: relative; flex: none; display: block; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--te-signal); box-shadow: 0 6px 14px -6px rgba(226, 75, 15, .8); }
.te-trx-player__play::before { content: ""; position: absolute; top: 50%; left: 54%; transform: translate(-50%, -50%); border-left: 10px solid #fff; border-block: 6.5px solid transparent; }

/* Hero: copy beside a photo with a transcript player */
.te-trx-hero { padding-bottom: 0 !important; }
.te-trx-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 55%; pointer-events: none; background: radial-gradient(40rem 18rem at 75% 100%, rgba(124, 200, 230, .12), transparent 70%); }
.te-trx-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-trx-hero__copy > * { margin-block: 0; }
.te-trx-stage { position: relative; padding: 0 0 4.5rem 2.5rem; }
.te-trx-stage__photo { margin: 0; border-radius: 18px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .7); }
.te-trx-stage__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 40% 50%; filter: saturate(.9); }
.te-trx-player { position: absolute; left: 0; right: 14%; bottom: 0; padding: 1rem 1.15rem 0.9rem; border-radius: 14px; background: rgba(255, 255, 255, .97); color: var(--te-ink); box-shadow: 0 30px 60px -24px rgba(5, 20, 31, .75); }
.te-trx-player p { margin: 0; }
.te-trx-player__top { display: flex; align-items: center; gap: 0.75rem; }
.te-trx-player__file { display: flex; flex-direction: column; min-width: 0; }
.te-trx-player__file b { font-size: 0.875rem; color: var(--te-navy); }
.te-trx-player__file span { font-size: 0.75rem; color: var(--te-slate); }
.te-trx-player__time { margin-left: auto; font-size: 0.8125rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--te-steel-deep); white-space: nowrap; }
.te-trx-player__time i { font-style: normal; font-weight: 500; color: var(--te-slate); }
.te-trx-wave--player { height: 44px; margin: 0.85rem 0 0.75rem; }
.te-trx-wave__head { position: absolute; top: -5px; bottom: -5px; left: calc(20 / 56 * 100%); width: 2px; background: var(--te-signal); }
.te-trx-wave__head::before { content: ""; position: absolute; top: -3px; left: 50%; width: 8px; height: 8px; margin-left: -4px; border-radius: 50%; background: var(--te-signal); }
.te-trx-player__line { padding-top: 0.7rem; border-top: 1px solid var(--te-line); font-size: 0.875rem; line-height: 1.5; }
.te-trx-player__line span { margin-right: 0.6rem; font-variant-numeric: tabular-nums; font-weight: 600; color: var(--te-steel-deep); }
.te-trx-player__line b { margin-right: 0.35rem; color: var(--te-navy); }
.te-trx-player__line mark { padding: 0 0.2rem; border-radius: 3px; background: rgba(124, 200, 230, .4); color: inherit; }
.te-trx-hero__proof { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(2.75rem, 5vw, 4rem) auto 0 !important; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .14); }
.te-trx-hero__proof li { padding: 1.4rem 1.5rem 1.7rem 0; }
.te-trx-hero__proof li + li { padding-left: 1.5rem; border-left: 1px solid rgba(255, 255, 255, .12); }
.te-trx-hero__proof strong { display: block; font-size: 1rem; color: #fff; }
.te-trx-hero__proof span { display: block; margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.5; color: rgba(255, 255, 255, .7); }

/* Problem: automatic transcript vs. reviewed transcript */
.te-trx-vs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1.5rem; align-items: start; margin-top: 3rem !important; }
.te-trx-vs__card { margin: 0; border-radius: 16px; overflow: hidden; }
.te-trx-vs__card figcaption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.35rem 1rem; padding: 0.95rem 1.4rem; }
.te-trx-vs__tag { font-size: 0.875rem; font-weight: 700; }
.te-trx-vs__meta { font-size: 0.75rem; }
.te-trx-vs__card--asr { border: 1px solid #D5DEE5; background: #F3F5F7; }
.te-trx-vs__card--asr figcaption { border-bottom: 1px solid #DCE3E9; color: var(--te-slate); }
.te-trx-vs__raw { margin: 0; padding: 1.5rem 1.4rem 1.75rem; font-size: 1.0625rem; line-height: 2.05; color: #5B6878; }
.te-trx-vs__raw mark { background: none; color: #A8380B; text-decoration: underline wavy rgba(226, 75, 15, .75); text-decoration-thickness: 1.5px; text-underline-offset: 5px; }
.te-trx-vs__card--human { border: 1px solid #BFCDD8; background: #fff; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .55); }
.te-trx-vs__card--human figcaption { background: var(--te-navy); color: rgba(255, 255, 255, .72); }
.te-trx-vs__card--human .te-trx-vs__tag { color: #fff; }
.te-trx-vs__rows { margin: 0; padding: 0.35rem 1.4rem 0.6rem; list-style: none; }
.te-trx-vs__rows li { display: grid; grid-template-columns: 4.6rem 4.9rem minmax(0, 1fr); gap: 0 0.75rem; padding: 0.85rem 0; font-size: 0.9375rem; line-height: 1.55; }
.te-trx-vs__rows li + li { border-top: 1px solid var(--te-line); }
.te-trx-vs__time { padding-top: 0.1rem; font-size: 0.8125rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--te-steel-deep); }
.te-trx-vs__who { padding-top: 0.1rem; font-size: 0.8125rem; font-weight: 700; color: var(--te-navy); }
.te-trx-vs__said b { padding: 0 0.25rem; border-radius: 4px; background: rgba(124, 200, 230, .25); font-weight: 600; color: var(--te-navy); }
.te-trx-vs__raw mark::after, .te-trx-vs__said b::after { content: attr(data-n); display: inline-flex; align-items: center; justify-content: center; width: 1.1rem; height: 1.1rem; margin-left: 0.3rem; border-radius: 50%; font-size: 0.625rem; font-weight: 700; line-height: 1; vertical-align: 0.35em; color: #fff; }
.te-trx-vs__raw mark::after { background: var(--te-signal); }
.te-trx-vs__said b::after { background: var(--te-steel-deep); }
.te-trx-vs > .te-chevrons { grid-column: 1 / -1; margin-top: 1.25rem !important; }
@media (min-width: 901px) { .te-trx-vs .te-chevron { min-height: 290px; } }
.te-trx-vs__note { grid-column: 1 / -1; margin: 0; font-size: 0.75rem; color: var(--te-slate); }

/* Transcript types: one clip, three outputs */
.te-trx-styles-section { background: linear-gradient(180deg, var(--te-cloud) 0%, #EAF1F6 100%) !important; }
.te-trx-styles { margin-top: 3rem !important; overflow: hidden; border: 1px solid #BFCDD8; border-radius: 18px; background: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .5); }
.te-trx-styles__clip { display: flex; align-items: center; gap: 1.1rem; padding: 1rem 1.6rem; background: var(--te-navy); }
.te-trx-wave--clip { flex: 1; height: 38px; }
.te-trx-wave--clip i { background: rgba(124, 200, 230, .75); }
.te-trx-styles__tc { font-size: 0.8125rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--te-sky); white-space: nowrap; }
.te-trx-style { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.65fr); }
.te-trx-style + .te-trx-style { border-top: 1px solid var(--te-line); }
.te-trx-style__meta { padding: 1.6rem 1.75rem; border-right: 1px solid var(--te-line); }
.te-trx-style__meta h3 { margin: 0; font-size: 1.125rem !important; line-height: 1.3; color: var(--te-navy); }
.te-trx-style__meta dl { margin: 0.6rem 0 0; }
.te-trx-style__meta dl div { margin-top: 0.55rem; }
.te-trx-style__meta dt { font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-trx-style__meta dd { margin: 0.1rem 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--te-ink); }
.te-trx-style__out { display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding: 1.6rem 1.75rem; }
.te-trx-style__out p { margin: 0; padding-left: 1rem; border-left: 3px solid var(--te-sky); font-size: 1.0625rem; line-height: 1.7; color: var(--te-ink); }
.te-trx-style__lang { display: block; margin-bottom: 0.2rem; font-size: 0.75rem; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--te-steel-deep); }
.te-trx-who { font-weight: 700; color: var(--te-navy); }
.te-trx-style__out em { font-style: normal; font-size: 0.9em; font-weight: 600; color: #A8380B; }
.te-trx-style--bi { background: linear-gradient(90deg, rgba(234, 244, 248, .8), #fff 60%); }
.te-trx-style--bi .te-trx-style__out { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-content: center; }
.te-trx-style--bi .te-trx-style__src { border-left-color: #C9D6DF; color: var(--te-slate); }
.te-trx-style__sum { display: grid; gap: 0.85rem; margin: 0; padding: 1.1rem 1.25rem; list-style: none; border: 1px solid #D5DFE7; border-radius: 10px; background: var(--te-cloud); }
.te-trx-style__sum li { font-size: 1rem; line-height: 1.6; color: var(--te-ink); }
.te-trx-style__sum li + li { padding-top: 0.85rem; border-top: 1px dashed #C9D6DF; }
.te-trx-style__sum .te-trx-style__lang i { margin-left: 0.35rem; padding: 0.05rem 0.4rem; border-radius: 4px; background: rgba(124, 200, 230, .3); font-style: normal; font-weight: 600; }


/* Deliverables: file formats on navy */
.te-trx-files-section { background: radial-gradient(50rem 24rem at 90% 0%, rgba(75, 148, 175, .28), transparent 60%), var(--te-navy) !important; color: #fff; }
.te-trx-files { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 3rem 4rem; align-items: center; }
.te-trx-files__intro > * { margin: 0; }
.te-trx-files__intro .te-eyebrow { color: var(--te-sky); }
.te-trx-files__intro h2 { margin-top: 0.75rem !important; color: #fff; }
.te-trx-files__intro .te-accent { color: var(--te-sky); }
.te-trx-files__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-trx-files__docs { display: flex; justify-content: flex-end; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.te-trx-files__docs li { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; width: 5.5rem; font-size: 0.8125rem; line-height: 1.35; text-align: center; color: rgba(255, 255, 255, .75); }
.te-trx-doc-ico { position: relative; display: block; width: 4.75rem; height: 6rem; border-radius: 6px; background: #fff; clip-path: polygon(0 0, 70% 0, 100% 23%, 100% 100%, 0 100%); }
.te-trx-doc-ico::before { content: ""; position: absolute; top: 0; right: 0; width: 30%; height: 23%; background: #BFD0DC; clip-path: polygon(0 0, 0 100%, 100% 100%); }
.te-trx-doc-ico::after { content: ""; position: absolute; left: 15%; right: 15%; top: 32%; height: 28%; background: repeating-linear-gradient(180deg, #D5E0E8 0 2px, transparent 2px 7px); }
.te-trx-doc-ico b { position: absolute; left: 0.45rem; right: 0.45rem; bottom: 0.55rem; padding: 0.15rem 0; border-radius: 3px; background: var(--te-signal); color: #fff; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.04em; text-align: center; }
.te-trx-files__docs li:nth-child(n+4) .te-trx-doc-ico b { background: var(--te-steel-deep); }
.te-trx-files__specs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin: 0; padding: 2.25rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .14); }
.te-trx-files__specs i { position: relative; display: block; width: 1.5rem; height: 1.5rem; margin-bottom: 0.85rem; }
.te-trx-files__specs i::before { width: 1.5rem; height: 1.5rem; background: var(--te-sky); }
.te-trx-files__specs strong { display: block; font-size: 1rem; color: #fff; }
.te-trx-files__specs span { display: block; margin-top: 0.3rem; font-size: 0.9375rem; line-height: 1.55; color: rgba(255, 255, 255, .72); }

/* Process: an editing timeline */
.te-trx-track { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 1.5rem; margin-top: 3rem !important; margin-bottom: 0 !important; padding: 0; list-style: none; counter-reset: te-trx-step; }
.te-trx-track::before { content: ""; position: absolute; top: 1.05rem; left: 0; right: 0; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--te-steel-deep), var(--te-sky)); }
.te-trx-track::after { content: ""; position: absolute; top: 1.7rem; left: 0; right: 0; height: 7px; background: repeating-linear-gradient(90deg, #BFCDD8 0 1px, transparent 1px 14px); }
.te-trx-track li { position: relative; padding-top: 3.4rem; counter-increment: te-trx-step; }
.te-trx-track li::before { content: counter(te-trx-step); position: absolute; top: 0; left: 0; z-index: 1; box-sizing: border-box; width: 2.35rem; height: 2.35rem; border: 3px solid #fff; border-radius: 50%; background: var(--te-navy); color: #fff; font-size: 0.875rem; font-weight: 700; line-height: 1.75rem; text-align: center; box-shadow: 0 0 0 1px #BFCDD8; }
.te-trx-track strong { display: block; font-size: 1rem; line-height: 1.35; color: var(--te-navy); }
.te-trx-track span { display: block; margin-top: 0.4rem; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Security */
.te-trx-secure { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-trx-secure__photo { position: relative; margin: 0; }
.te-trx-secure__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; border: 1px solid #BFCDD8; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .6); }
.te-trx-secure__photo figcaption { position: absolute; left: 1rem; bottom: 1rem; display: flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.95rem; border-radius: 999px; background: rgba(15, 42, 61, .9); color: #fff; font-size: 0.8125rem; font-weight: 600; }
.te-trx-secure__photo figcaption i { position: relative; display: block; width: 1rem; height: 1rem; }
.te-trx-secure__photo figcaption i::before { width: 1rem; height: 1rem; background: var(--te-sky); }
.te-trx-secure__body > * { margin: 0; }
.te-trx-secure__body h2 { margin-top: 0.75rem !important; }
.te-trx-secure__body .te-head__lede { margin-top: 1rem !important; }
.te-trx-secure__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 2rem; margin-top: 2rem !important; padding: 0; list-style: none; }
.te-trx-secure__list i { background: var(--te-navy); }
.te-trx-secure__list i::before { background: var(--te-sky); }
.te-trx-secure__list strong { display: block; margin-top: 0.85rem; font-size: 1rem; color: var(--te-navy); }
.te-trx-secure__list span { display: block; margin-top: 0.25rem; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }

/* Quote: upload panel */
.te-trx-quote-section { background: linear-gradient(135deg, #EAF4F8 0%, #DCEAF1 55%, #CFE2EC 100%) !important; border-block: 1px solid #BFCDD8; }
.te-trx-quote { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-trx-quote__intro > * { margin-block: 0; }
.te-trx-quote__intro h2 { margin-top: 0.75rem !important; }
.te-trx-quote__intro .te-head__lede { margin-top: 1rem !important; }
.te-trx-quote__promises { margin: 1.75rem 0 0 !important; padding: 0; list-style: none; }
.te-trx-quote__promises li { position: relative; padding: 0.95rem 0 0.95rem 2rem; border-top: 1px solid rgba(15, 42, 61, .14); font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-trx-quote__promises li:last-child { border-bottom: 1px solid rgba(15, 42, 61, .14); }
.te-trx-quote__promises li::before { content: ""; position: absolute; left: 0; top: 1.05rem; width: 1.2rem; height: 1.2rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-trx-quote__promises strong { color: var(--te-navy); }
.te-trx-upload { padding: 1.5rem; border: 1px solid #BFCDD8; border-radius: 18px; background: #fff; box-shadow: 0 40px 70px -40px rgba(15, 42, 61, .55); }
.te-trx-upload p { margin: 0; }
.te-trx-upload__drop { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; padding: 1.75rem 1rem; border: 2px dashed #9DBBCB; border-radius: 12px; background: var(--te-ice); text-align: center; text-decoration: none; transition: border-color .2s, background-color .2s; }
.te-trx-upload__drop:hover { border-color: var(--te-steel); background: #E1EFF5; }
.te-trx-upload__drop i { width: 3rem; height: 3rem; margin-bottom: 0.5rem; border-radius: 50%; background: var(--te-navy); }
.te-trx-upload__drop i::before { background: var(--te-sky); }
.te-trx-upload__drop strong { font-size: 1.0625rem; color: var(--te-navy); }
.te-trx-upload__drop span { font-size: 0.875rem; color: var(--te-slate); }
.te-trx-upload__label { margin-top: 1.4rem !important; font-size: 0.8125rem; font-weight: 700; color: var(--te-slate); }
.te-trx-upload__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; margin: 0.5rem 0 0; }
.te-trx-upload__fields div { padding: 0.7rem 0; border-top: 1px solid var(--te-line); }
.te-trx-upload__fields dt { font-size: 0.875rem; font-weight: 700; color: var(--te-navy); }
.te-trx-upload__fields dd { margin: 0.15rem 0 0; font-size: 0.875rem; line-height: 1.45; color: var(--te-slate); }
.te-trx-upload__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--te-line); }
.te-trx-upload__btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 1.35rem; border-radius: var(--te-r-sm); background: var(--te-steel-deep); color: #fff; font-size: 0.9375rem; font-weight: 700; text-decoration: none; transition: background-color .15s; }
.te-trx-upload__btn:hover { background: var(--te-navy); color: #fff; }
.te-trx-upload__alt { font-size: 0.9375rem; font-weight: 600; color: var(--te-steel-deep); text-underline-offset: 3px; }

.te-trx-upload a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .te-trx-upload__drop { transition: none; } }

@media (max-width: 1100px) {
	.te-trx-track { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.5rem; }
	.te-trx-track::before, .te-trx-track::after { display: none; }
	.te-trx-track li::after { content: ""; position: absolute; top: 1.05rem; left: 2.9rem; right: 0; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--te-steel-deep), var(--te-sky)); }
}
@media (max-width: 1024px) {
	.te-trx-hero__grid { grid-template-columns: 1fr; }
	.te-trx-stage { max-width: 640px; }
	.te-trx-hero__proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-trx-hero__proof li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-trx-hero__proof li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .12); }
	.te-trx-vs { grid-template-columns: 1fr; }
	.te-trx-files { grid-template-columns: 1fr; }
	.te-trx-files__docs { justify-content: flex-start; flex-wrap: wrap; }
	.te-trx-files__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-trx-secure, .te-trx-quote { grid-template-columns: 1fr; }
	.te-trx-secure__photo { max-width: 600px; }
}
@media (max-width: 860px) {
	.te-trx-style { grid-template-columns: 1fr; }
	.te-trx-style__meta { padding-bottom: 1.2rem; border-right: 0; border-bottom: 1px solid var(--te-line); }
	.te-trx-style--bi .te-trx-style__out { grid-template-columns: 1fr; gap: 1rem; }
}
@media (max-width: 640px) {
	.te-trx-stage { padding: 0 0 7.5rem; }
	.te-trx-player { left: 0.75rem; right: 0.75rem; }
	.te-trx-player__file span { display: none; }
	.te-trx-player__file b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.te-trx-player__time i { display: none; }
	.te-trx-hero__proof { grid-template-columns: 1fr; }
	.te-trx-hero__proof li, .te-trx-hero__proof li + li { padding: 1.1rem 0; border-left: 0; }
	.te-trx-hero__proof li + li { border-top: 1px solid rgba(255, 255, 255, .12); }
	.te-trx-vs__rows li { grid-template-columns: auto 1fr; gap: 0.2rem 0.75rem; }
	.te-trx-vs__said { grid-column: 1 / -1; }
	.te-trx-files__specs, .te-trx-secure__list, .te-trx-upload__fields { grid-template-columns: 1fr; }
	.te-trx-styles__clip { padding-inline: 1rem; }
	.te-trx-styles__tc { display: none; }
	.te-trx-wave--clip { min-width: 0; }
	.te-trx-wave--clip i:nth-child(n+41) { display: none; }
	.te-trx-style__meta, .te-trx-style__out { padding-inline: 1.15rem; }
	.te-trx-files__docs { gap: 0.75rem; }
	.te-trx-files__docs li { width: 4.25rem; font-size: 0.75rem; }
	.te-trx-doc-ico { width: 3.75rem; height: 4.75rem; }
	.te-trx-track { grid-template-columns: 1fr; gap: 1.75rem; }
	.te-trx-track li { padding: 0 0 0 3.4rem; }
	.te-trx-track li::after { top: 2.6rem; bottom: -1.5rem; left: 1.05rem; right: auto; width: 3px; height: auto; background: linear-gradient(180deg, var(--te-steel-deep), var(--te-sky)); }
	.te-trx-track li:last-child::after { display: none; }
}

/* Transcription: sector explorer (tabs after transcription-explorer.js runs; stacked panels without it) */
.te-trx-explorer { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.6fr); margin-top: 2.75rem !important; overflow: hidden; border: 1px solid #BFCDD8; border-radius: 18px; background: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .55); }
.te-trx-explorer__rail { padding: 0.9rem; background: linear-gradient(170deg, #16405C, #0F2A3D); }
.te-trx-explorer__tabs { position: sticky; top: 1rem; margin: 0; padding: 0; list-style: none; }
.te-trx-explorer__tabs li + li { margin-top: 0.2rem; }
.te-trx-explorer__tabs a { display: flex; align-items: center; gap: 0.85rem; padding: 0.95rem 1rem; border-radius: 10px; color: rgba(255, 255, 255, .8); font-size: 0.9375rem; font-weight: 600; line-height: 1.3; text-decoration: none; transition: background-color .2s, color .2s; }
.te-trx-explorer__tabs a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.te-trx-explorer__tabs a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-trx-explorer__tabs i { position: relative; flex: none; width: 2.1rem; height: 2.1rem; border-radius: 8px; background: rgba(255, 255, 255, .08); }
.te-trx-explorer__tabs i::before, .te-trx-explorer__sample figcaption i::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.05rem; height: 1.05rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-trx-explorer__tabs a[aria-selected="true"] { background: #fff; color: var(--te-navy); box-shadow: 0 10px 22px -12px rgba(0, 0, 0, .5); }
.te-trx-explorer__tabs a[aria-selected="true"] i { background: var(--te-ice); }
.te-trx-explorer__tabs a[aria-selected="true"] i::before { background: var(--te-steel-deep); }
.te-trx-explorer__panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: center; padding: 2.25rem 2.5rem; scroll-margin-top: 7rem; }
.te-trx-explorer__panel[hidden] { display: none; }
.te-trx-explorer__panel:focus-visible { outline: 3px solid var(--te-sky); outline-offset: -3px; }
.te-trx-explorer:not(.is-tabs) .te-trx-explorer__panel + .te-trx-explorer__panel { border-top: 1px solid var(--te-line); }
.te-trx-explorer.is-tabs .te-trx-explorer__panel { animation: te-trx-fade .3s var(--te-ease); }
@keyframes te-trx-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.te-trx-explorer__main > * { margin: 0; }
.te-trx-explorer__main h3 { font-size: 1.5rem !important; line-height: 1.25; color: var(--te-navy); }
.te-trx-explorer__lede { margin-top: 0.6rem !important; font-size: 1rem; line-height: 1.6; color: var(--te-slate); }
.te-trx-explorer__rows { margin-top: 1.4rem !important; }
.te-trx-explorer__rows div { padding: 0.9rem 0; border-top: 1px solid var(--te-line); }
.te-trx-explorer__rows dt { font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-trx-explorer__rows dd { margin: 0.45rem 0 0; font-size: 0.9375rem; line-height: 1.5; font-weight: 500; color: var(--te-ink); }
.te-trx-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.te-trx-chips span { padding: 0.25rem 0.6rem; border: 1px solid var(--te-line); border-radius: 999px; background: var(--te-cloud); font-size: 0.8125rem; font-weight: 400; color: var(--te-slate); }
.te-trx-explorer__cta { display: inline-block; margin-top: 1rem !important; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-trx-explorer__cta::after { content: " \203A"; }
.te-trx-explorer__cta:hover { color: var(--te-navy); }
.te-trx-explorer__sample { margin: 0; padding: 1.2rem 1.25rem; border: 1px solid #D5DFE7; border-radius: 14px; background: var(--te-cloud); }
.te-trx-explorer__file { display: flex; align-items: center; gap: 0.7rem; min-width: 0; }
.te-trx-explorer__file .te-trx-player__play { width: 1.9rem; height: 1.9rem; }
.te-trx-explorer__file .te-trx-player__play::before { border-left-width: 9px; border-block-width: 6px; }
.te-trx-explorer__file b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.8125rem; color: var(--te-navy); }
.te-trx-explorer__file em { margin-left: auto; font-style: normal; font-size: 0.8125rem; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--te-steel-deep); }
.te-trx-explorer__wave { height: 36px; margin: 0.9rem 0; }
.te-trx-explorer__lines { margin: 0; padding: 0.85rem 1rem; list-style: none; border: 1px solid var(--te-line); border-radius: 10px; background: #fff; }
.te-trx-explorer__lines li { display: grid; grid-template-columns: minmax(2rem, auto) 1fr; gap: 0.75rem; padding: 0.3rem 0; font-size: 0.9375rem; line-height: 1.55; color: var(--te-ink); }
.te-trx-explorer__lines li > span:first-child { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--te-navy); }
.te-trx-explorer__lines li.is-tr > span { color: var(--te-steel-deep); }
.te-trx-explorer__lines li.is-tr > span:first-child { font-size: 0.8125rem; font-weight: 600; }
.te-trx-explorer__sample figcaption { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.9rem; font-size: 0.8125rem; font-weight: 600; color: var(--te-navy); }
.te-trx-explorer__sample figcaption i { position: relative; flex: none; width: 1rem; height: 1rem; }
.te-trx-explorer__sample figcaption i::before { width: 1rem; height: 1rem; background: var(--te-steel-deep); }
@media (prefers-reduced-motion: reduce) { .te-trx-explorer.is-tabs .te-trx-explorer__panel { animation: none; } .te-trx-explorer__tabs a { transition: none; } }
@media (max-width: 1100px) {
	.te-trx-explorer__panel { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 860px) {
	.te-trx-explorer { grid-template-columns: minmax(0, 1fr); }
	.te-trx-explorer__rail, .te-trx-explorer__panels { min-width: 0; }
	.te-trx-explorer__rail { padding: 0.6rem; }
	.te-trx-explorer__tabs { position: static; display: flex; gap: 0.35rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.te-trx-explorer__tabs::-webkit-scrollbar { display: none; }
	.te-trx-explorer__tabs li { flex: none; scroll-snap-align: start; }
	.te-trx-explorer__tabs li + li { margin-top: 0; }
	.te-trx-explorer__tabs a { padding: 0.65rem 0.85rem; font-size: 0.875rem; white-space: nowrap; }
	.te-trx-explorer__tabs i { width: 1.75rem; height: 1.75rem; }
	.te-trx-explorer__panel { padding: 1.5rem 1.25rem; }
	.te-trx-explorer__main h3 { font-size: 1.3125rem !important; }
}

/* Homepage security band: ISO seals, contract and membership logos, compliance line */
.te-credmarks { margin-top: 2rem; }
.te-credmarks > * { margin-block: 0; }
.te-credmarks__label { margin-top: 1.25rem !important; font-size: 0.75rem; font-weight: 700; color: var(--te-sky); }
.te-credmarks__label:first-child { margin-top: 0 !important; }
.te-seals { display: flex; flex-wrap: wrap; gap: 0.8rem; margin: 0.7rem 0 0 !important; padding: 0; list-style: none; }
.te-seal { width: 74px; height: 74px; margin: 0; transition: transform .2s; }
.te-seal:hover { transform: translateY(-2px); }
.te-seal svg { display: block; width: 100%; height: 100%; font-family: inherit; }
.te-seal__ring { fill: none; stroke: rgba(124, 200, 230, .55); stroke-width: 1.5; }
.te-seal__disc { fill: rgba(255, 255, 255, .04); stroke: rgba(255, 255, 255, .18); stroke-width: 1; }
.te-seal__arc { font-size: 8.5px; font-weight: 700; letter-spacing: 1.6px; fill: var(--te-sky); }
.te-seal__pre { font-size: 10px; font-weight: 700; fill: rgba(255, 255, 255, .75); }
.te-seal__num { font-size: 17px; font-weight: 800; letter-spacing: -0.5px; fill: #fff; }
.te-seal__area { font-size: 7.5px; font-weight: 600; fill: rgba(255, 255, 255, .7); }
.te-logotiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.55rem; margin: 0.7rem 0 0 !important; padding: 0; list-style: none; }
.te-logotiles li { display: flex; align-items: center; justify-content: center; height: 52px; margin: 0; padding: 0.4rem 0.55rem; border-radius: 10px; background: #fff; box-shadow: 0 10px 24px -16px rgba(0, 0, 0, .6); }
.te-logotiles img { max-width: 100%; max-height: 36px; object-fit: contain; }
.te-credmarks__comp { display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; margin: 1.6rem 0 0 !important; padding: 0; list-style: none; }
.te-credmarks__comp li { display: inline-flex; align-items: center; gap: 0.45rem; margin: 0; font-size: 0.875rem; font-weight: 600; color: rgba(255, 255, 255, .82); }
.te-credmarks__comp li::before { content: ""; width: 0.95rem; height: 0.95rem; background: var(--te-sky); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
@media (prefers-reduced-motion: reduce) { .te-seal { transition: none; } }
@media (max-width: 600px) {
	.te-logotiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-seal { width: 66px; height: 66px; }
}

/* ==========================================================================
   Website localization page (.te-web-*): browser windows, site maps, search results
   ========================================================================== */

/* Shared: masked icons */
.te-web-method__pipe i::before, .te-web-feed__ico::before, .te-web-serp__icon::before, .te-web-quote__url > span:first-child::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.15rem; height: 1.15rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }

/* Shared: browser chrome */
.te-web-win__bar { display: flex; align-items: center; gap: 0.35rem; height: 34px; padding: 0 0.75rem; background: #EEF2F5; border-bottom: 1px solid #DCE3E9; }
.te-web-win__bar > i { width: 9px; height: 9px; border-radius: 50%; background: #CBD5DD; }
.te-web-win__bar > i:first-child { background: #F08A6C; }
.te-web-win__url { flex: 1; margin-left: 0.6rem; padding: 0.2rem 0.7rem; border-radius: 999px; background: #fff; font-size: 0.6875rem; color: var(--te-slate); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.te-web-win__url b { font-weight: 600; color: var(--te-ink); }
.te-web-win__logo { display: inline-block; flex: none; width: 1.35rem; height: 1.35rem; border-radius: 6px; background: linear-gradient(135deg, var(--te-steel), var(--te-navy)); }

/* Hero: the same page in three languages */
.te-web-hero { padding-bottom: 0 !important; }
.te-web-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-web-hero__copy > * { margin-block: 0; }
.te-web-stage { position: relative; height: 470px; }
.te-web-win { position: absolute; width: 74%; overflow: hidden; border-radius: 12px; background: #fff; color: var(--te-ink); box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .7); }
.te-web-win p { margin: 0; }
.te-web-win--zh { top: 0; right: 0; transform: rotate(2.5deg); filter: brightness(.86) saturate(.9); }
.te-web-win--ar { top: 62px; right: 11%; transform: rotate(-1.5deg); filter: brightness(.94); }
.te-web-win--es { top: 128px; right: 22%; box-shadow: 0 50px 90px -30px rgba(0, 0, 0, .8); }
.te-web-win__site { padding: 0.9rem 1.15rem 1.1rem; }
.te-web-win__nav { display: flex; align-items: center; gap: 0.85rem; padding-bottom: 0.8rem; border-bottom: 1px solid var(--te-line); font-size: 0.6875rem; font-weight: 600; color: var(--te-slate); }
.te-web-win__nav .te-web-win__logo { margin-inline-end: auto; }
.te-web-win__h { margin-top: 1rem !important; font-size: 1.3125rem; font-weight: 800; line-height: 1.25; letter-spacing: -0.01em; color: var(--te-navy); }
.te-web-win__p { margin-top: 0.4rem !important; font-size: 0.8125rem; color: var(--te-slate); }
.te-web-win__btn { display: inline-block; margin-top: 0.85rem; padding: 0.4rem 0.95rem; border-radius: 6px; background: var(--te-signal); color: #fff; font-size: 0.75rem; font-weight: 700; }
.te-web-win__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; margin-top: 1rem; }
.te-web-win__cards i { height: 44px; border-radius: 8px; background: linear-gradient(180deg, var(--te-ice), var(--te-cloud)); border: 1px solid var(--te-line); }
.te-web-switch { position: absolute; left: 0; bottom: 22px; z-index: 2; display: flex; gap: 0.25rem; padding: 0.35rem; border-radius: 999px; background: #fff; box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .7); }
.te-web-switch span { padding: 0.35rem 0.75rem; border-radius: 999px; font-size: 0.75rem; font-weight: 600; color: var(--te-slate); }
.te-web-switch .is-on { background: var(--te-navy); color: #fff; }

/* Problem: one big date example beside an index of six gaps */
.te-web-gap-section { background: linear-gradient(180deg, #fff 0%, var(--te-cloud) 100%) !important; }
.te-web-gap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); margin-top: 3rem !important; overflow: hidden; border: 1px solid #BFCDD8; border-radius: 20px; background: #fff; box-shadow: 0 40px 80px -50px rgba(15, 42, 61, .7); }
.te-web-gap p { margin: 0; }
.te-web-gap__feature { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.75rem, 3.5vw, 2.75rem); background: radial-gradient(30rem 18rem at 0% 0%, rgba(75, 148, 175, .35), transparent 60%), var(--te-navy); color: #fff; }
.te-web-gap__kicker { font-size: 0.8125rem; font-weight: 700; color: var(--te-sky); }
.te-web-gap__pair { display: grid; gap: 1rem; margin-top: 1.4rem; }
.te-web-gap__pair p { display: grid; gap: 0.2rem; }
.te-web-gap__lbl { font-size: 0.75rem; font-weight: 700; color: rgba(255, 255, 255, .6); }
.te-web-gap__big { font-size: clamp(1.75rem, 3vw, 2.4rem); line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; color: #fff; }
.te-web-gap__big--bad { color: rgba(255, 255, 255, .5); text-decoration-color: #E8551A; text-decoration-thickness: 3px; }
.te-web-gap__note { font-size: 0.875rem; color: rgba(255, 255, 255, .72); }
.te-web-gap__arrow { display: block; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--te-signal); transform: rotate(90deg); }
.te-web-gap__arrow::before { content: ""; display: block; width: 100%; height: 100%; background: #fff; -webkit-mask: var(--te-i-chevron) center / 1.2rem no-repeat; mask: var(--te-i-chevron) center / 1.2rem no-repeat; }
.te-web-gap__sum { margin-top: 1.6rem !important; padding-top: 1.3rem; border-top: 1px solid rgba(255, 255, 255, .16); font-size: 0.9375rem; line-height: 1.6; color: rgba(255, 255, 255, .82); }
.te-web-gap__index { margin: 0; padding: 0.6rem clamp(1.25rem, 2.5vw, 2rem); list-style: none; }
.te-web-gap__index li { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) minmax(0, 0.85fr); gap: 1rem; align-items: center; padding: 1.05rem 0; }
.te-web-gap__index li + li { border-top: 1px solid var(--te-line); }
.te-web-gap__n { font-size: 0.875rem; font-weight: 800; color: var(--te-signal); }
.te-web-gap__index strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-web-gap__index li > div span { display: block; margin-top: 0.15rem; font-size: 0.8125rem; line-height: 1.45; color: var(--te-slate); }
.te-web-gap__swap { display: grid; gap: 0.25rem; padding: 0.55rem 0.75rem; border-radius: 8px; background: var(--te-cloud); font-size: 0.8125rem; }
.te-web-gap__swap s { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #B03A12; text-decoration-thickness: 1.5px; }
.te-web-gap__swap b { color: var(--te-navy); }

/* Scope: what visitors see in the menu, above the line; what translation-only projects miss, below it */
.te-web-tiers { margin-top: 3rem !important; overflow: hidden; border: 1.5px solid #7F9AAE; border-radius: 20px; box-shadow: 0 40px 80px -50px rgba(15, 42, 61, .7); }
.te-web-tiers__tier { padding: 1.6rem 1.75rem 1.9rem; }
.te-web-tiers__tier ul { display: grid; gap: 1rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.te-web-tiers__tier--top { background: #fff; }
.te-web-tiers__tier--top ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.te-web-tiers__tier--deep { background: linear-gradient(180deg, #16405C 0%, #0F2A3D 70%, #0A1F2E 100%); }
.te-web-tiers__tier--deep ul { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.te-web-tiers__tier li { display: flex; flex-direction: column; gap: 0.7rem; margin: 0; padding: 1.05rem 1.1rem; border-radius: 12px; }
.te-web-tiers__tier--top li { border: 1.5px solid #8FA8BA; background: var(--te-cloud); }
.te-web-tiers__tier--deep li { border: 1.5px solid rgba(124, 200, 230, .55); background: rgba(255, 255, 255, .05); }
.te-web-tiers__ico { position: relative; flex: none; display: block; width: 2.25rem; height: 2.25rem; border-radius: 9px; background: var(--te-ice); }
.te-web-tiers__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.1rem; height: 1.1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-web-tiers__tier--deep .te-web-tiers__ico { background: rgba(124, 200, 230, .16); }
.te-web-tiers__tier--deep .te-web-tiers__ico::before { background: var(--te-sky); }
.te-web-tiers__tier strong { display: block; font-size: 1rem; line-height: 1.3; }
.te-web-tiers__tier li span:not(.te-web-tiers__ico) { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; }
.te-web-tiers__tier--top strong { color: var(--te-navy); }
.te-web-tiers__tier--top li span:not(.te-web-tiers__ico) { color: var(--te-slate); }
.te-web-tiers__tier--deep strong { color: #fff; }
.te-web-tiers__tier--deep li span:not(.te-web-tiers__ico) { color: rgba(255, 255, 255, .72); }
.te-web-tiers__lbl { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; }
.te-web-tiers__lbl h3 { margin: 0; font-size: 1.0625rem !important; font-weight: 800; line-height: 1.3; color: inherit; }
.te-web-tiers__lbl em { padding: 0.25rem 0.7rem; border-radius: 999px; font-size: 0.8125rem; font-style: normal; font-weight: 700; }
.te-web-tiers__tier--top .te-web-tiers__lbl { color: var(--te-navy); }
.te-web-tiers__tier--top .te-web-tiers__lbl em { background: var(--te-ice); color: var(--te-steel-deep); }
.te-web-tiers__tier--deep .te-web-tiers__lbl { color: #fff; }
.te-web-tiers__tier--deep .te-web-tiers__lbl em { background: var(--te-signal); color: #fff; }
.te-web-tiers__line { position: relative; border-top: 2.5px dashed var(--te-signal); }
.te-web-tiers__line span { position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); padding: 0.3rem 0.9rem; border-radius: 999px; background: var(--te-signal); color: #fff; font-size: 0.75rem; font-weight: 700; white-space: nowrap; }

/* Integration methods */
.te-web-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; }
.te-web-method { display: flex; flex-direction: column; padding: 1.4rem 1.5rem 1.5rem; border: 1px solid #BFCDD8; border-radius: 16px; background: #fff; box-shadow: 0 24px 48px -38px rgba(15, 42, 61, .6); }
.te-web-method > * { margin: 0; }
.te-web-method__flow { display: flex; align-items: center; gap: 0.5rem; padding: 0.9rem; border-radius: 12px; background: linear-gradient(180deg, var(--te-ice), var(--te-cloud)); }
.te-web-method__node { flex: 1; padding: 0.45rem 0.4rem; border: 1px solid #BFCDD8; border-radius: 8px; background: #fff; font-size: 0.75rem; font-weight: 700; text-align: center; color: var(--te-navy); white-space: nowrap; }
.te-web-method__node.is-out { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-web-method__pipe { position: relative; display: flex; align-items: center; justify-content: center; flex: none; width: 4.25rem; }
.te-web-method__pipe::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 2px dashed #9DBBCB; }
.te-web-method__pipe i { position: relative; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--te-signal); box-shadow: 0 8px 18px -8px rgba(226, 75, 15, .7); }
.te-web-method__pipe i::before { background: #fff; }
.te-web-method h3 { margin-top: 1.3rem !important; font-size: 1.25rem !important; color: var(--te-navy); }
.te-web-method > p { margin-top: 0.5rem !important; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-web-method dl { margin-top: auto !important; padding-top: 1rem; }
.te-web-method dl div { padding: 0.75rem 0; border-top: 1px solid var(--te-line); }
.te-web-method dt { font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-web-method dd { margin: 0.2rem 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--te-ink); }
.te-web-methods__note { max-width: 52rem; margin: 2rem auto 0 !important; text-align: center; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-web-methods__note strong { color: var(--te-navy); }

/* Match the method to the page: a spectrum from volume and speed to persuasion and risk */
.te-web-fit-section { background: var(--te-cloud) !important; }
.te-web-spec { margin-top: 3rem !important; }
.te-web-spec__scale { display: flex; justify-content: space-between; font-size: 0.8125rem; font-weight: 700; color: var(--te-slate); }
.te-web-spec__track { height: 10px; margin-top: 0.6rem; border-radius: 999px; background: linear-gradient(90deg, #7CC8E6, #2A6A84 50%, #E8551A); }
.te-web-spec__stops { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.te-web-spec__stops li { position: relative; margin: 0; padding-top: 2.4rem; }
.te-web-spec__dot { position: absolute; top: -1.05rem; left: 50%; width: 1.5rem; height: 1.5rem; margin-left: -0.75rem; box-sizing: border-box; border: 4px solid #fff; border-radius: 50%; background: var(--te-navy); box-shadow: 0 0 0 1.5px #7F9AAE; }
.te-web-spec__dot::after { content: ""; position: absolute; top: 100%; left: 50%; width: 2px; height: 1.6rem; margin-left: -1px; background: #7F9AAE; }
.te-web-spec__card { display: flex; flex-direction: column; box-sizing: border-box; height: 100%; padding: 1.25rem; border: 1.5px solid #8FA8BA; border-radius: 14px; background: #fff; box-shadow: 0 24px 48px -38px rgba(15, 42, 61, .6); }
.te-web-spec__card > * { margin: 0; }
.te-web-spec__ico { position: relative; display: block; width: 2.4rem; height: 2.4rem; border-radius: 10px; background: var(--te-ice); }
.te-web-spec__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.15rem; height: 1.15rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-web-spec__page { margin-top: 0.9rem !important; font-size: 0.8125rem; font-weight: 700; color: var(--te-steel-deep); }
.te-web-spec__card h3 { margin-top: 0.3rem !important; font-size: 1.125rem !important; line-height: 1.3; color: var(--te-navy); }
.te-web-spec__why { margin-top: 0.5rem !important; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-web-spec__link { margin-top: auto !important; padding-top: 0.9rem; font-size: 0.9375rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-web-spec__link::after { content: " \203A"; }
.te-web-spec__link:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-web-spec__stops li:last-child .te-web-spec__card { border-color: var(--te-navy); background: var(--te-navy); }
.te-web-spec__stops li:last-child h3 { color: #fff; }
.te-web-spec__stops li:last-child .te-web-spec__page, .te-web-spec__stops li:last-child .te-web-spec__link { color: var(--te-sky); }
.te-web-spec__stops li:last-child .te-web-spec__why { color: rgba(255, 255, 255, .75); }
.te-web-spec__stops li:last-child .te-web-spec__ico { background: rgba(124, 200, 230, .16); }
.te-web-spec__stops li:last-child .te-web-spec__ico::before { background: var(--te-sky); }

/* Multilingual SEO */
.te-web-seo-section { background: linear-gradient(135deg, #EAF4F8 0%, #DCEAF1 55%, #CFE2EC 100%) !important; border-block: 1px solid #BFCDD8; }
.te-web-seo { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-web-seo__intro > * { margin: 0; }
.te-web-seo__intro h2 { margin-top: 0.75rem !important; }
.te-web-seo__intro .te-head__lede { margin-top: 1rem !important; }
.te-web-seo__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.75rem; margin-top: 1.75rem !important; padding: 0; list-style: none; }
.te-web-seo__list li { padding-top: 0.9rem; border-top: 2px solid rgba(15, 42, 61, .14); }
.te-web-seo__list strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-web-seo__list span { display: block; margin-top: 0.25rem; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-web-seo__visual { display: grid; gap: 1rem; }
.te-web-serp { padding: 1.1rem 1.25rem 1.25rem; border: 1px solid #BFCDD8; border-radius: 14px; background: #fff; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .55); }
.te-web-serp__q { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.9rem; border: 1px solid #D5DFE7; border-radius: 999px; font-size: 0.875rem; color: var(--te-ink); }
.te-web-serp__icon { position: relative; flex: none; width: 1rem; height: 1rem; }
.te-web-serp__icon::before { width: 1rem; height: 1rem; background: var(--te-slate); }
.te-web-serp__res { display: grid; gap: 0.2rem; margin-top: 1rem; }
.te-web-serp__site { display: flex; align-items: center; gap: 0.45rem; font-size: 0.75rem; color: var(--te-slate); }
.te-web-serp__site i { width: 1rem; height: 1rem; border-radius: 50%; background: linear-gradient(135deg, var(--te-steel), var(--te-navy)); }
.te-web-serp__res b { font-size: 1.0625rem; font-weight: 600; color: #1A4FB4; }
.te-web-serp__res p { margin: 0; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }
.te-web-serp__res.is-dim { opacity: .45; }
.te-web-serp__res.is-dim .te-web-serp__site i { background: #CBD5DD; }
.te-web-code { margin: 0; padding: 1.1rem 1.25rem; overflow-x: auto; border-radius: 14px; background: var(--te-navy); color: #DCE8EF; font-size: 0.75rem; line-height: 1.75; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .7); }
.te-web-code .c { color: #7C93A6; }
.te-web-code .t { color: var(--te-sky); }
.te-web-code .a { color: #F4B58F; }
.te-web-code .s { color: #A9E0B8; }

/* Continuous localization */
.te-web-sync { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; margin-top: 3rem !important; }
.te-web-sync__steps { margin: 0 !important; }
.te-web-feed { padding: 1.25rem; border: 1px solid #BFCDD8; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .55); }
.te-web-feed__head { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 0.75rem; font-size: 0.9375rem; font-weight: 700; color: var(--te-navy); }
.te-web-feed__head em { margin-left: auto; font-style: normal; font-size: 0.6875rem; font-weight: 600; color: var(--te-slate); }
.te-web-feed__pulse { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: #2FA36B; box-shadow: 0 0 0 4px rgba(47, 163, 107, .18); }
.te-web-feed ul { margin: 0; padding: 0; list-style: none; }
.te-web-feed li { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.85rem; align-items: center; padding: 0.85rem 0; border-top: 1px solid var(--te-line); }
.te-web-feed li:not(:last-child)::after { content: ""; position: absolute; left: 1.15rem; top: calc(50% + 1.25rem); bottom: calc(-50% + 1.25rem); width: 2px; background: var(--te-line); }
.te-web-feed__ico { position: relative; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: var(--te-ice); }
.te-web-feed li > span:nth-child(2) strong { display: block; font-size: 0.9375rem; color: var(--te-navy); }
.te-web-feed li > span:nth-child(2) span { display: block; margin-top: 0.1rem; font-size: 0.8125rem; color: var(--te-slate); white-space: pre-wrap; }
.te-web-feed li b { padding: 0.2rem 0.6rem; border-radius: 999px; background: #E3F3EA; color: #1E7A4C; font-size: 0.75rem; }
.te-web-feed li.is-live b { background: var(--te-navy); color: #fff; }
.te-web-feed li.is-live .te-web-feed__ico { background: var(--te-navy); }
.te-web-feed li.is-live .te-web-feed__ico::before { background: var(--te-sky); }

/* Public sector band */
.te-web-gov-section { background: radial-gradient(50rem 24rem at 90% 0%, rgba(75, 148, 175, .28), transparent 60%), var(--te-navy) !important; color: #fff; }
.te-web-gov { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-web-gov__copy > * { margin: 0; }
.te-web-gov__copy .te-eyebrow, .te-web-gov__copy .te-accent { color: var(--te-sky); }
.te-web-gov__copy h2 { margin-top: 0.75rem !important; color: #fff; }
.te-web-gov__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-web-gov__link { display: inline-block; margin-top: 1.25rem !important; font-weight: 700; color: var(--te-sky); text-underline-offset: 3px; }
.te-web-gov__link::after { content: " \203A"; }
.te-web-gov__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; margin: 0; padding: 0; list-style: none; }
.te-web-gov__list li { padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-web-gov__list strong { display: block; font-size: 1rem; color: #fff; }
.te-web-gov__list span { display: block; margin-top: 0.3rem; font-size: 0.9375rem; line-height: 1.55; color: rgba(255, 255, 255, .72); }

/* Quote: start with your URL */
.te-web-quote-section { background: linear-gradient(135deg, #EAF4F8 0%, #DCEAF1 55%, #CFE2EC 100%) !important; border-block: 1px solid #BFCDD8; }
.te-web-quote { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-web-quote__intro > * { margin: 0; }
.te-web-quote__intro h2 { margin-top: 0.75rem !important; }
.te-web-quote__intro .te-head__lede { margin-top: 1rem !important; }
.te-web-quote__card { padding: 1.5rem; border: 1px solid #BFCDD8; border-radius: 18px; background: #fff; box-shadow: 0 40px 70px -40px rgba(15, 42, 61, .55); }
.te-web-quote__card p { margin: 0; }
.te-web-quote__url { display: flex; align-items: center; gap: 0.75rem; padding: 0.45rem 0.45rem 0.45rem 0.9rem; border: 2px solid #9DBBCB; border-radius: 12px; background: var(--te-cloud); text-decoration: none; transition: border-color .2s; }
.te-web-quote__url:hover { border-color: var(--te-steel); }
.te-web-quote__url:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-web-quote__url > span:first-child { position: relative; flex: none; width: 1.3rem; height: 1.3rem; }
.te-web-quote__field { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; color: var(--te-slate); }
.te-web-quote__go { flex: none; padding: 0.7rem 1.1rem; border-radius: 8px; background: var(--te-steel-deep); color: #fff; font-size: 0.9375rem; font-weight: 700; }
.te-web-quote__url:hover .te-web-quote__go { background: var(--te-navy); }
.te-web-quote__label { margin-top: 1.3rem !important; font-size: 0.8125rem; font-weight: 700; color: var(--te-slate); }
.te-web-quote__alt { margin-top: 1.1rem !important; padding-top: 1.1rem; border-top: 1px solid var(--te-line); font-size: 0.9375rem; color: var(--te-slate); }
.te-web-quote__alt a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .te-web-quote__url { transition: none; } }
@media (max-width: 1100px) {
	.te-web-tiers__tier--deep ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-web-spec__scale, .te-web-spec__track { display: none; }
	.te-web-spec__stops { position: relative; grid-template-columns: 1fr; gap: 1rem; padding-left: 1.75rem; }
	.te-web-spec__stops::before { content: ""; position: absolute; left: 0.45rem; top: 0.5rem; bottom: 0.5rem; width: 6px; border-radius: 999px; background: linear-gradient(180deg, #7CC8E6, #2A6A84 50%, #E8551A); }
	.te-web-spec__stops li { padding-top: 0; }
	.te-web-spec__dot { top: 1.4rem; left: -1.3rem; margin-left: 0; }
	.te-web-spec__dot::after { display: none; }
	.te-web-methods { grid-template-columns: 1fr; max-width: 40rem; margin-inline: auto !important; }
}
@media (max-width: 1024px) {
	.te-web-hero__grid, .te-web-gap, .te-web-seo, .te-web-sync, .te-web-gov, .te-web-quote { grid-template-columns: minmax(0, 1fr); }
	.te-web-stage { max-width: 600px; }
}
@media (max-width: 860px) {
	.te-web-gap__index li { grid-template-columns: 2rem minmax(0, 1fr); }
	.te-web-gap__swap { grid-column: 2; }
}
@media (max-width: 640px) {
	.te-web-stage { height: 360px; }
	.te-web-win { width: 86%; }
	.te-web-win--ar { right: 6%; top: 48px; }
	.te-web-win--es { right: 12%; top: 96px; }
	.te-web-win__h { font-size: 1.0625rem; }
	.te-web-win__cards { display: none; }
	.te-web-switch { bottom: 0; }
	.te-web-switch span { padding: 0.3rem 0.55rem; }
	.te-web-tiers__tier--top ul, .te-web-tiers__tier--deep ul, .te-web-seo__list, .te-web-gov__list { grid-template-columns: 1fr; }
	.te-web-tiers__tier { padding-inline: 1.15rem; }
	.te-web-method__node { font-size: 0.6875rem; }
	.te-web-quote__field { font-size: 0.875rem; }
	.te-web-quote__go { padding-inline: 0.8rem; }
}

/* ==========================================================================
   Subtitling, dubbing, and voiceover page (.te-av-*): screens, film, tracks
   ========================================================================== */
.te-av-thumb__ico::before, .te-av-player__gear::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.4rem; height: 1.4rem; background: #fff; -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-av-mini-wave, .te-av-wave, .te-av-lane__wave { display: flex; align-items: center; gap: 2px; }
.te-av-mini-wave i, .te-av-wave i, .te-av-lane__wave i { flex: 1 1 0; min-width: 1.5px; height: var(--h); border-radius: 2px; background: currentColor; }

/* Hero: a video player with subtitle and audio menus */
.te-av-hero { padding-bottom: 0 !important; }
.te-av-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-av-hero__copy > * { margin-block: 0; }
.te-av-player { overflow: hidden; border-radius: 14px; background: #05121C; box-shadow: 0 50px 90px -40px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .1); }
.te-av-player__screen { position: relative; aspect-ratio: 16 / 9; }
.te-av-player__screen img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-av-player__screen::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .55), transparent 40%); }
.te-av-player__sub { position: absolute; left: 0; right: 0; bottom: 8%; z-index: 1; margin: 0; text-align: center; color: #fff; font-size: clamp(0.8125rem, 1.35vw, 1.0625rem); font-weight: 600; line-height: 1.35; text-shadow: 0 1px 2px rgba(0, 0, 0, .9), 0 0 8px rgba(0, 0, 0, .7); }
.te-av-menu { position: absolute; right: 3%; top: 5%; z-index: 2; width: 40%; max-width: 200px; padding: 0.45rem 0.7rem; border-radius: 10px; background: rgba(8, 22, 33, .92); backdrop-filter: blur(6px); color: #fff; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .8); }
.te-av-menu__h { margin: 0.3rem 0 0.2rem; font-size: 0.625rem; font-weight: 700; letter-spacing: 0.04em; color: var(--te-sky); }
.te-av-menu ul { margin: 0; padding: 0; list-style: none; }
.te-av-menu li { position: relative; padding: 0.12rem 0 0.12rem 1.05rem; font-size: 0.6875rem; color: rgba(255, 255, 255, .75); }
.te-av-menu li.is-on { color: #fff; font-weight: 700; }
.te-av-menu li.is-on::before { content: ""; position: absolute; left: 0; top: 50%; width: 0.7rem; height: 0.7rem; margin-top: -0.35rem; background: var(--te-sky); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-av-menu ul + .te-av-menu__h { margin-top: 0.35rem; padding-top: 0.35rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.te-av-player__bar { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.9rem; background: #0A1B28; color: rgba(255, 255, 255, .8); font-size: 0.75rem; }
.te-av-player__play { width: 0; height: 0; border-left: 10px solid #fff; border-block: 6px solid transparent; }
.te-av-player__time { font-variant-numeric: tabular-nums; white-space: nowrap; }
.te-av-player__scrub { position: relative; flex: 1; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .2); }
.te-av-player__scrub i { position: absolute; left: 0; top: 0; bottom: 0; width: 34%; border-radius: 2px; background: var(--te-signal); }
.te-av-player__scrub i::after { content: ""; position: absolute; right: -5px; top: -3px; width: 10px; height: 10px; border-radius: 50%; background: #fff; }
.te-av-player__cc { padding: 0.05rem 0.3rem; border: 1.5px solid #fff; border-radius: 3px; font-size: 0.625rem; font-weight: 800; color: #fff; box-shadow: 0 2px 0 -0.5px var(--te-signal); }
.te-av-player__gear { position: relative; width: 1rem; height: 1rem; --te-ico: var(--te-i-layout); }
.te-av-player__gear::before { width: 0.95rem; height: 0.95rem; background: rgba(255, 255, 255, .8); }

/* Problem: a filmstrip of six frames */
.te-av-reel-section { background: linear-gradient(180deg, #fff 0%, var(--te-cloud) 100%) !important; }
.te-av-reel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 3rem !important; margin-bottom: 0 !important; padding: 1.4rem 1.1rem; list-style: none; border-radius: 16px; background:
	radial-gradient(circle, transparent 0, transparent 0) ,
	#0B1C29; box-shadow: 0 40px 80px -50px rgba(15, 42, 61, .8); position: relative; }
.te-av-reel::before, .te-av-reel::after { content: ""; position: absolute; left: 1.1rem; right: 1.1rem; height: 10px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .22) 0 12px, transparent 12px 26px); border-radius: 2px; }
.te-av-reel::before { top: 0.45rem; } .te-av-reel::after { bottom: 0.45rem; }
.te-av-frame { display: flex; flex-direction: column; margin: 0.5rem; overflow: hidden; border-radius: 10px; background: #fff; }
.te-av-frame__still { position: relative; display: flex; align-items: flex-end; justify-content: center; aspect-ratio: 16 / 8; padding: 0.8rem; background: linear-gradient(160deg, #2C5068, #12293A); overflow: hidden; }
.te-av-frame__still p { margin: 0; }
.te-av-frame__tc { position: absolute; top: 0.55rem; left: 0.6rem; padding: 0.1rem 0.4rem; border-radius: 4px; background: rgba(0, 0, 0, .45); color: rgba(255, 255, 255, .85); font-size: 0.625rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.te-av-cap { font-size: 0.6875rem; font-weight: 600; line-height: 1.3; text-align: center; color: #fff; text-shadow: 0 1px 2px #000; }
.te-av-cap--bad { padding: 0.15rem 0.3rem; outline: 2px dashed rgba(232, 85, 26, .9); outline-offset: 2px; }
.te-av-sync { position: relative; width: 82%; margin-bottom: 0.6rem; }
.te-av-sync span { display: block; height: 14px; border-radius: 4px; }
.te-av-sync__a { width: 60%; background: rgba(124, 200, 230, .7); }
.te-av-sync__b { width: 60%; margin: 0.35rem 0 0 18%; background: rgba(232, 85, 26, .85); }
.te-av-sync b { position: absolute; right: 0; top: -1.3rem; padding: 0.1rem 0.4rem; border-radius: 4px; background: var(--te-signal); color: #fff; font-size: 0.6875rem; }
.te-av-frame__still--voice { flex-direction: column; align-items: center; justify-content: center; gap: 0.5rem; }
.te-av-frame__still--voice .te-av-mini-wave { width: 70%; height: 34px; color: rgba(255, 255, 255, .55); }
.te-av-frame__still--voice .te-av-mini-wave i { height: 22%; }
.te-av-frame__flag { padding: 0.15rem 0.5rem; border-radius: 999px; background: var(--te-signal); color: #fff; font-size: 0.6875rem; font-weight: 700; }
.te-av-lower { position: absolute; left: 0.9rem; bottom: 1rem; display: grid; padding: 0.35rem 0.7rem; border-left: 3px solid var(--te-signal); background: rgba(255, 255, 255, .92); }
.te-av-lower b { font-size: 0.75rem; color: var(--te-navy); text-decoration: underline wavy rgba(226, 75, 15, .8); text-underline-offset: 3px; }
.te-av-lower span { font-size: 0.625rem; color: var(--te-slate); text-decoration: underline wavy rgba(226, 75, 15, .8); text-underline-offset: 3px; }
.te-av-nocc, .te-av-leak { position: absolute; inset: 0; margin: auto; display: flex; align-items: center; justify-content: center; width: 3.2rem; height: 2.2rem; }
.te-av-nocc { border: 2.5px solid rgba(255, 255, 255, .8); border-radius: 6px; color: #fff; font-weight: 800; }
.te-av-nocc::after { content: ""; position: absolute; left: -12%; right: -12%; top: 50%; height: 3px; background: var(--te-signal); transform: rotate(-30deg); }
.te-av-leak { width: 2.6rem; height: 2.6rem; background: #fff; -webkit-mask: var(--te-i-lock) center / contain no-repeat; mask: var(--te-i-lock) center / contain no-repeat; opacity: .85; }
.te-av-frame__still--lock { background: repeating-linear-gradient(135deg, #2C5068 0 14px, #26475d 14px 28px); }
.te-av-frame__text { display: grid; gap: 0.25rem; padding: 1rem 1.1rem 1.15rem; }
.te-av-frame__text strong { font-size: 1rem; line-height: 1.3; color: var(--te-navy); }
.te-av-frame__text span { font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }
.te-av-frame__text .te-av-frame__fix { position: relative; margin-top: 0.35rem; padding: 0.55rem 0 0 1.35rem; border-top: 1px solid var(--te-line); font-weight: 600; color: var(--te-steel-deep); }
.te-av-frame__fix::before { content: ""; position: absolute; left: 0; top: 0.75rem; width: 1rem; height: 1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Formats: three cards, each with a mini track view */
.te-av-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; }
.te-av-format { display: flex; flex-direction: column; padding: 1.25rem 1.35rem 1.4rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 24px 48px -38px rgba(15, 42, 61, .6); }
.te-av-format > * { margin: 0; }
.te-av-lanes { display: grid; gap: 0.35rem; padding: 0.75rem; border-radius: 10px; background: #0B1C29; }
.te-av-lane { display: grid; grid-template-columns: 4.3rem 1fr; gap: 0.5rem; align-items: center; height: 22px; }
.te-av-lane__lbl { font-size: 0.625rem; font-weight: 700; color: rgba(255, 255, 255, .6); }
.te-av-lane__clip--v { height: 100%; border-radius: 3px; background: repeating-linear-gradient(90deg, #2C5068 0 30px, #3A6580 30px 32px); }
.te-av-lane__wave { height: 100%; padding: 0 0.3rem; border-radius: 3px; background: rgba(124, 200, 230, .12); color: #7CC8E6; }
.te-av-lane__wave.is-ducked { color: rgba(124, 200, 230, .5); }
.te-av-lane__wave.is-ducked i { height: calc(var(--h) * .4); }
.te-av-lane__wave.is-muted { color: rgba(255, 255, 255, .18); }
.te-av-lane__wave.is-muted i { height: 10%; }
.te-av-lane__wave.is-new { background: rgba(232, 85, 26, .14); color: #F07A4A; }
.te-av-lane__subs { position: relative; height: 100%; }
.te-av-lane__subs i { position: absolute; top: 3px; bottom: 3px; border-radius: 3px; background: #F07A4A; }
.te-av-lane__subs i:nth-child(1) { left: 2%; width: 20%; } .te-av-lane__subs i:nth-child(2) { left: 26%; width: 24%; } .te-av-lane__subs i:nth-child(3) { left: 54%; width: 18%; } .te-av-lane__subs i:nth-child(4) { left: 76%; width: 22%; }
.te-av-format h3 { margin-top: 1.2rem !important; font-size: 1.25rem !important; color: var(--te-navy); }
.te-av-format__what { margin-top: 0.5rem !important; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-av-format dl { margin-top: auto !important; padding-top: 0.9rem; }
.te-av-format dl div { padding: 0.65rem 0; border-top: 1px solid var(--te-line); }
.te-av-format dt { font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-av-format dd { margin: 0.15rem 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--te-ink); }
.te-av-cost span[aria-hidden] { display: inline-flex; gap: 0.3rem; margin-top: 0.2rem; }
.te-av-cost i { width: 1.6rem; height: 0.45rem; border-radius: 999px; background: #D5DFE7; }
.te-av-cost i.on { background: var(--te-signal); }
.te-av-formats__also { max-width: 56rem; margin: 2rem auto 0 !important; text-align: center; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-av-formats__also strong { color: var(--te-navy); }

/* Process: an editing timeline */
.te-av-edit-section { background: radial-gradient(50rem 24rem at 100% 0%, rgba(75, 148, 175, .28), transparent 60%), #0B1C29 !important; color: #fff; }
.te-av-edit__head { max-width: 46rem; }
.te-av-edit__head > * { margin: 0; }
.te-av-edit__head .te-eyebrow, .te-av-edit__head .te-accent { color: var(--te-sky); }
.te-av-edit__head h2 { margin-top: 0.75rem !important; color: #fff; }
.te-av-edit__head .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-av-timeline { position: relative; margin-top: 2.5rem; padding: 0.9rem 1rem 1rem 7.5rem; border: 1.5px solid rgba(124, 200, 230, .35); border-radius: 14px; background: #0F2433; }
.te-av-ruler { display: flex; justify-content: space-between; padding-bottom: 0.4rem; border-bottom: 1px solid rgba(255, 255, 255, .12); font-size: 0.625rem; font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, .5); }
.te-av-markers { position: relative; height: 1.9rem; }
.te-av-markers span { position: absolute; top: 0.35rem; left: var(--x); display: flex; align-items: center; justify-content: center; width: 1.35rem; height: 1.35rem; border-radius: 4px 4px 4px 0; background: var(--te-signal); color: #fff; font-size: 0.6875rem; font-weight: 800; }
.te-av-track { position: relative; display: flex; align-items: center; height: 36px; margin-top: 0.4rem; }
.te-av-track__lbl { position: absolute; left: -6.7rem; width: 6.2rem; font-size: 0.6875rem; font-weight: 700; color: rgba(255, 255, 255, .7); }
.te-av-track__body { position: relative; flex: 1; height: 100%; border-radius: 5px; background: rgba(255, 255, 255, .04); }
.te-av-track__body--v { display: flex; gap: 2px; padding: 3px; background: none; }
.te-av-track__body--v i { flex: 1; border-radius: 3px; background: linear-gradient(160deg, #3A6580, #234459); }
.te-av-wave { padding: 0 0.4rem; }
.te-av-wave--dim { color: rgba(124, 200, 230, .55); background: rgba(124, 200, 230, .08); }
.te-av-wave--new { color: #F07A4A; background: rgba(232, 85, 26, .12); }
.te-av-track__body--st i { position: absolute; top: 4px; bottom: 4px; left: var(--l); width: var(--w); overflow: hidden; padding: 0 0.4rem; border-radius: 4px; background: rgba(255, 255, 255, .92); color: var(--te-navy); font-size: 0.625rem; font-style: normal; font-weight: 700; line-height: 28px; white-space: nowrap; text-overflow: ellipsis; }
.te-av-playhead { position: absolute; top: 0.6rem; bottom: 0.6rem; left: calc(7.5rem + (100% - 8.5rem) * 0.58); width: 2px; background: var(--te-signal); }
.te-av-playhead::before { content: ""; position: absolute; top: 0; left: -5px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 8px solid var(--te-signal); }
.te-av-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem 2rem; margin: 2rem 0 0 !important; padding: 0; list-style: none; counter-reset: te-av; }
.te-av-steps li { position: relative; margin: 0; padding: 0 0 0 2.4rem; counter-increment: te-av; }
.te-av-steps li::before { content: counter(te-av); position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 1.6rem; height: 1.6rem; border-radius: 5px 5px 5px 0; background: var(--te-signal); color: #fff; font-size: 0.8125rem; font-weight: 800; }
.te-av-steps strong { display: block; font-size: 1rem; color: #fff; }
.te-av-steps span { display: block; margin-top: 0.25rem; font-size: 0.9375rem; line-height: 1.55; color: rgba(255, 255, 255, .72); }

/* Voice casting */
.te-av-cast { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-av-cast__intro > * { margin: 0; }
.te-av-cast__intro h2 { margin-top: 0.75rem !important; }
.te-av-cast__intro .te-head__lede { margin-top: 1rem !important; }
.te-av-cast__points { margin: 1.6rem 0 0 !important; padding: 0; list-style: none; }
.te-av-cast__points li { margin: 0; padding: 0.95rem 0; border-top: 1px solid #D5DFE7; }
.te-av-cast__points strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-av-cast__points span { display: block; margin-top: 0.2rem; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-av-sheet { position: relative; overflow: hidden; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 40px 70px -40px rgba(15, 42, 61, .6); }
.te-av-sheet p { margin: 0; }
.te-av-sheet__top { display: flex; align-items: center; gap: 0.75rem; padding: 0.9rem 1.25rem; background: var(--te-navy); color: #fff; }
.te-av-sheet__clap { width: 2.2rem; height: 1.4rem; border-radius: 3px; background: repeating-linear-gradient(135deg, #fff 0 6px, #0F2A3D 6px 12px); }
.te-av-sheet__top b { font-size: 1rem; }
.te-av-sheet__top em { margin-left: auto; font-style: normal; font-size: 0.8125rem; color: rgba(255, 255, 255, .7); }
.te-av-sheet__brief { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; margin: 0; padding: 0.5rem 1.25rem 0; }
.te-av-sheet__brief div { padding: 0.7rem 0; border-bottom: 1px solid var(--te-line); }
.te-av-sheet__brief dt { font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-av-sheet__brief dd { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0.2rem 0 0; font-size: 0.9375rem; font-weight: 600; color: var(--te-navy); }
.te-av-sheet__brief dd span { padding: 0.1rem 0.5rem; border-radius: 999px; background: var(--te-ice); font-size: 0.8125rem; }
.te-av-sheet__label { padding: 1rem 1.25rem 0.4rem; font-size: 0.8125rem; font-weight: 700; color: var(--te-slate); }
.te-av-sheet__auds { margin: 0; padding: 0 1.25rem; list-style: none; }
.te-av-sheet__auds li { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto; gap: 0.75rem; align-items: center; margin: 0 0 0.5rem; padding: 0.6rem 0.75rem; border: 1.5px solid #D5DFE7; border-radius: 10px; }
.te-av-sheet__auds li.is-picked { border-color: var(--te-steel-deep); background: var(--te-ice); }
.te-av-sheet__play { display: flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--te-navy); }
.te-av-sheet__play::before { content: ""; margin-left: 2px; border-left: 8px solid #fff; border-block: 5px solid transparent; }
.te-av-sheet__auds b { font-size: 0.875rem; color: var(--te-navy); white-space: nowrap; }
.te-av-sheet__auds .te-av-mini-wave { height: 22px; color: #9DBBCB; }
.te-av-sheet__auds li.is-picked .te-av-mini-wave { color: var(--te-steel-deep); }
.te-av-sheet__auds em { font-style: normal; font-size: 0.75rem; font-variant-numeric: tabular-nums; color: var(--te-slate); }
.te-av-sheet__ok { padding: 0.15rem 0.55rem; border-radius: 999px; background: #E3F3EA; color: #1E7A4C; font-size: 0.6875rem; font-weight: 700; }
.te-av-sheet__note { padding: 0.4rem 1.25rem 1rem; font-size: 0.6875rem; color: var(--te-slate); }

/* Delivery and accessibility spec band */
.te-av-spec-section { background: linear-gradient(135deg, #EAF4F8 0%, #DCEAF1 55%, #CFE2EC 100%) !important; border-block: 1px solid #BFCDD8; }
.te-av-spec { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 2.5rem clamp(2rem, 5vw, 4rem); align-items: center; }
.te-av-spec__intro > * { margin: 0; }
.te-av-spec__intro h2 { margin-top: 0.75rem !important; }
.te-av-spec__intro .te-head__lede { margin-top: 1rem !important; }
.te-av-spec__files { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.te-av-spec__files li { position: relative; display: grid; gap: 0.15rem; margin: 0; padding: 0.9rem 1rem 0.9rem 1.2rem; border: 1.5px solid #8FA8BA; border-radius: 10px; background: #fff; }
.te-av-spec__files li::before { content: ""; position: absolute; left: 0; top: 0.8rem; bottom: 0.8rem; width: 4px; border-radius: 0 3px 3px 0; background: var(--te-signal); }
.te-av-spec__files li:nth-child(n+5)::before { background: var(--te-steel-deep); }
.te-av-spec__files b { font-size: 1rem; color: var(--te-navy); }
.te-av-spec__files span { font-size: 0.8125rem; color: var(--te-slate); }
.te-av-spec__rules { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin: 0; padding: 2rem 0 0; list-style: none; border-top: 1.5px solid rgba(15, 42, 61, .18); }
.te-av-spec__rules li { margin: 0; }
.te-av-spec__rules strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-av-spec__rules span { display: block; margin-top: 0.3rem; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }

/* Content types: a playlist */
.te-av-playlist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2rem; margin-top: 2.75rem !important; margin-bottom: 0 !important; padding: 0; list-style: none; }
.te-av-playlist li { display: flex; align-items: center; gap: 1.1rem; margin: 0; padding: 0.85rem; border: 1.5px solid #D5DFE7; border-radius: 14px; background: #fff; }
.te-av-playlist h3 { margin: 0; font-size: 1.0625rem !important; color: var(--te-navy); }
.te-av-playlist p { margin: 0.25rem 0 0; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-av-thumb { position: relative; flex: none; display: block; width: 9.5rem; aspect-ratio: 16 / 9; border-radius: 9px; overflow: hidden; }
.te-av-thumb--a { background: linear-gradient(135deg, #2C7290, #0F2A3D); }
.te-av-thumb--b { background: linear-gradient(135deg, #E8551A, #8E2F0C); }
.te-av-thumb--c { background: linear-gradient(135deg, #3A6580, #16384F); }
.te-av-thumb--d { background: linear-gradient(135deg, #2A6A84, #0B1C29); }
.te-av-thumb--e { background: linear-gradient(135deg, #4B94AF, #1F5670); }
.te-av-thumb--f { background: linear-gradient(135deg, #16405C, #05121C); }
.te-av-thumb__ico { position: absolute; inset: 0; }
.te-av-thumb__ico::before { opacity: .9; }
.te-av-thumb em { position: absolute; right: 0.35rem; bottom: 0.35rem; padding: 0.05rem 0.35rem; border-radius: 4px; background: rgba(0, 0, 0, .65); color: #fff; font-size: 0.6875rem; font-style: normal; font-weight: 600; font-variant-numeric: tabular-nums; }
.te-av-thumb__cc { position: absolute; left: 0.35rem; bottom: 0.35rem; padding: 0 0.25rem; border: 1px solid rgba(255, 255, 255, .85); border-radius: 3px; color: #fff; font-size: 0.5625rem; font-style: normal; font-weight: 800; }

/* Quote: an export dialog */
.te-av-export-section { background: var(--te-cloud) !important; }
.te-av-export { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-av-export__intro > * { margin: 0; }
.te-av-export__intro h2 { margin-top: 0.75rem !important; }
.te-av-export__intro .te-head__lede { margin-top: 1rem !important; }
.te-av-export__security { margin: 1.5rem 0 0 !important; padding: 0; list-style: none; }
.te-av-export__security li { position: relative; margin: 0; padding: 1rem 0 0 2rem; border-top: 1px solid #D5DFE7; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-av-export__security li::before { content: ""; position: absolute; left: 0; top: 1.15rem; width: 1.2rem; height: 1.2rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-lock) center / contain no-repeat; mask: var(--te-i-lock) center / contain no-repeat; }
.te-av-export__security strong { color: var(--te-navy); }
.te-av-dialog { overflow: hidden; border: 1.5px solid #7F9AAE; border-radius: 14px; background: #fff; box-shadow: 0 40px 70px -40px rgba(15, 42, 61, .6); }
.te-av-dialog__bar { display: flex; align-items: center; gap: 0.35rem; padding: 0.7rem 1rem; background: #0F2433; color: #fff; }
.te-av-dialog__bar i { width: 9px; height: 9px; border-radius: 50%; background: rgba(255, 255, 255, .3); }
.te-av-dialog__bar i:first-child { background: #F08A6C; }
.te-av-dialog__bar b { margin-left: 0.6rem; font-size: 0.875rem; }
.te-av-dialog__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem 1rem; margin: 0; padding: 1.25rem; }
.te-av-dialog__fields div { display: grid; gap: 0.3rem; }
.te-av-dialog__fields dt { font-size: 0.75rem; font-weight: 700; color: var(--te-navy); }
.te-av-dialog__fields dd { margin: 0; padding: 0.55rem 0.7rem; border: 1.5px solid #BFCDD8; border-radius: 7px; background: var(--te-cloud); font-size: 0.8125rem; color: var(--te-slate); }
.te-av-dialog__foot { display: flex; align-items: center; justify-content: flex-end; gap: 0.75rem; padding: 0.9rem 1.25rem; border-top: 1px solid var(--te-line); background: #F9FBFC; }
.te-av-dialog__alt { padding: 0.65rem 1rem; border: 1.5px solid #8FA8BA; border-radius: 7px; font-size: 0.875rem; font-weight: 700; color: var(--te-navy); text-decoration: none; }
.te-av-dialog__go { padding: 0.7rem 1.2rem; border-radius: 7px; background: var(--te-signal); color: #fff; font-size: 0.875rem; font-weight: 700; text-decoration: none; }
.te-av-dialog__go:hover { background: #C6420C; color: #fff; }
.te-av-dialog__alt:hover { border-color: var(--te-navy); }
.te-av-dialog a:focus-visible, .te-av-next a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

/* Related: up next */
.te-av-next { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.75rem !important; margin-bottom: 0 !important; padding: 0; list-style: none; }
.te-av-next li { margin: 0; }
.te-av-next a { display: flex; flex-direction: column; gap: 0.35rem; height: 100%; text-decoration: none; }
.te-av-next .te-av-thumb { width: 100%; margin-bottom: 0.6rem; box-shadow: 0 20px 36px -26px rgba(15, 42, 61, .7); transition: transform .2s; }
.te-av-next .te-av-thumb__ico::before { width: 2.2rem; height: 2.2rem; }
.te-av-next__play { position: absolute; right: 0.6rem; bottom: 0.6rem; display: flex; align-items: center; justify-content: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: rgba(255, 255, 255, .95); }
.te-av-next__play::before { content: ""; margin-left: 3px; border-left: 10px solid var(--te-navy); border-block: 6px solid transparent; }
.te-av-next strong { font-size: 1.0625rem; color: var(--te-navy); }
.te-av-next a > span:last-child { font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-av-next a:hover .te-av-thumb { transform: translateY(-3px); }
.te-av-next a:hover strong { color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .te-av-next .te-av-thumb { transition: none; } }

@media (max-width: 1100px) {
	.te-av-formats { grid-template-columns: 1fr; max-width: 40rem; margin-inline: auto !important; }
	.te-av-reel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-av-spec__rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-av-next { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-av-hero__grid, .te-av-cast, .te-av-spec, .te-av-export { grid-template-columns: minmax(0, 1fr); }
	.te-av-player { max-width: 640px; }
	.te-av-playlist { grid-template-columns: 1fr; }
	.te-av-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.te-av-timeline { padding-left: 1rem; }
	.te-av-track__lbl { position: static; width: 4.6rem; flex: none; font-size: 0.625rem; }
	.te-av-playhead { left: 60%; }
	.te-av-ruler span:nth-child(even) { display: none; }
	.te-av-markers, .te-av-ruler { margin-left: 4.6rem; }
	.te-av-playhead { left: calc(1rem + 4.6rem + (100% - 6.6rem) * 0.58); }
}
@media (max-width: 640px) {
	.te-av-menu { display: none; }
	.te-av-reel { grid-template-columns: 1fr; padding-inline: 0.6rem; }
	.te-av-steps, .te-av-spec__rules, .te-av-spec__files, .te-av-dialog__fields, .te-av-sheet__brief, .te-av-next { grid-template-columns: 1fr; }
	.te-av-sheet__auds li { grid-template-columns: auto auto minmax(0, 1fr) auto; }
	.te-av-sheet__auds em { display: none; }
	.te-av-playlist li { flex-direction: column; align-items: stretch; }
	.te-av-thumb { width: 100%; }
	.te-av-dialog__foot { flex-direction: column-reverse; align-items: stretch; text-align: center; }
}

/* ==========================================================================
   E-learning localization page (.te-el-*): course player, quiz, layers, LMS
   ========================================================================== */
.te-el-chip__ico::before, .te-el-outline__ico::before, .te-el-act__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.15rem; height: 1.15rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-el-ring { position: relative; flex: none; display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; background: conic-gradient(#2FA36B 0 90%, #DCE6EC 90% 100%); }
.te-el-ring::before { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: #fff; }
.te-el-ring b { position: relative; font-size: 0.75rem; color: var(--te-navy); }
.te-el-ring--lg { width: 3.4rem; height: 3.4rem; background: conic-gradient(var(--te-signal) 0 100%); }
.te-el-ring--lg b { font-size: 1.125rem; }

/* Hero: a course player */
.te-el-hero { padding-bottom: 0 !important; }
.te-el-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-el-hero__copy > * { margin-block: 0; }
.te-el-stage { position: relative; padding: 0 1.5rem 3.5rem 0; }
.te-el-course { overflow: hidden; border-radius: 14px; background: #fff; color: var(--te-ink); box-shadow: 0 50px 90px -40px rgba(0, 0, 0, .8); }
.te-el-course p { margin: 0; }
.te-el-course__top { display: flex; align-items: center; gap: 0.8rem; padding: 0.75rem 1rem; background: var(--te-steel-deep); color: #fff; }
.te-el-course__menu { display: grid; gap: 3px; } .te-el-course__menu i { display: block; width: 14px; height: 2px; background: #fff; }
.te-el-course__name { font-size: 0.875rem; font-weight: 700; }
.te-el-course__name em { margin-left: 0.5rem; font-style: normal; font-weight: 500; opacity: .8; }
.te-el-course__lang { margin-left: auto; padding: 0.15rem 0.5rem; border-radius: 999px; background: rgba(255, 255, 255, .2); font-size: 0.6875rem; font-weight: 800; }
.te-el-course__progress { height: 5px; background: #DCE6EC; }
.te-el-course__progress i { display: block; width: 38%; height: 100%; background: var(--te-signal); }
.te-el-course__slide { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 1.25rem; align-items: center; padding: 1.4rem 1.5rem 1.2rem; }
.te-el-course__kicker { font-size: 0.75rem; font-weight: 700; color: var(--te-signal); }
.te-el-course__h { margin-top: 0.2rem !important; font-size: 1.375rem; font-weight: 800; line-height: 1.2; color: var(--te-navy); }
.te-el-course__text ul { margin: 0.8rem 0 0; padding: 0; list-style: none; }
.te-el-course__text li { position: relative; padding: 0.3rem 0 0.3rem 1.3rem; font-size: 0.875rem; line-height: 1.45; color: var(--te-slate); }
.te-el-course__text li::before { content: ""; position: absolute; left: 0; top: 0.5rem; width: 0.85rem; height: 0.85rem; border-radius: 3px; background: var(--te-ice); box-shadow: inset 0 0 0 1.5px var(--te-steel-deep); }
.te-el-course__art { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 12px; background: linear-gradient(160deg, #FFF4E8, #FFE1CC); }
.te-el-lock { width: 46%; height: 46%; background: var(--te-navy); -webkit-mask: var(--te-i-lock) center / contain no-repeat; mask: var(--te-i-lock) center / contain no-repeat; }
.te-el-tag { position: absolute; right: 8%; bottom: 10%; padding: 0.2rem 0.45rem; border-radius: 4px; background: var(--te-signal); color: #fff; font-size: 0.625rem; font-weight: 800; transform: rotate(-6deg); }
.te-el-course__foot { display: flex; align-items: center; gap: 0.6rem; padding: 0.7rem 1rem; border-top: 1px solid var(--te-line); font-size: 0.75rem; color: var(--te-slate); }
.te-el-course__foot > span:first-child { margin-right: auto; }
.te-el-course__cc { padding: 0 0.3rem; border: 1.5px solid var(--te-slate); border-radius: 3px; font-size: 0.625rem; font-weight: 800; }
.te-el-course__foot b { padding: 0.35rem 0.75rem; border: 1.5px solid #BFCDD8; border-radius: 6px; font-size: 0.75rem; color: var(--te-navy); }
.te-el-course__foot b.is-next { border-color: var(--te-steel-deep); background: var(--te-steel-deep); color: #fff; }
.te-el-chip { position: absolute; display: flex; align-items: center; gap: 0.7rem; padding: 0.65rem 0.95rem 0.65rem 0.65rem; border-radius: 12px; background: #fff; box-shadow: 0 24px 44px -20px rgba(0, 0, 0, .7); font-size: 0.75rem; color: var(--te-slate); }
.te-el-chip strong { display: block; font-size: 0.8125rem; color: var(--te-navy); }
.te-el-chip--score { left: -1.5rem; bottom: 0.4rem; }
.te-el-chip--pkg { right: 0; top: -1.4rem; }
.te-el-chip__ico { position: relative; width: 2.4rem; height: 2.4rem; border-radius: 10px; background: var(--te-ice); }

/* Problem: a knowledge check */
.te-el-quiz-section { background: linear-gradient(180deg, #fff 0%, var(--te-cloud) 100%) !important; }
.te-el-quiz { margin-top: 3rem !important; overflow: hidden; border: 1.5px solid #8FA8BA; border-radius: 18px; background: #fff; box-shadow: 0 40px 80px -50px rgba(15, 42, 61, .6); }
.te-el-quiz p { margin: 0; }
.te-el-quiz__head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; padding: 1.2rem 1.6rem; border-bottom: 1px solid var(--te-line); background: var(--te-cloud); }
.te-el-quiz__tag { padding: 0.25rem 0.7rem; border-radius: 999px; background: var(--te-navy); color: #fff; font-size: 0.75rem; font-weight: 700; }
.te-el-quiz__q { flex: 1; min-width: 16rem; font-size: 1.1875rem; font-weight: 800; color: var(--te-navy); }
.te-el-quiz__hint { font-size: 0.8125rem; font-style: italic; color: var(--te-slate); }
.te-el-quiz__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; margin: 0; padding: 1.4rem 1.6rem; list-style: none; }
.te-el-quiz__opts li { display: flex; gap: 0.9rem; margin: 0; padding: 1rem 1.1rem; border: 1.5px solid var(--te-signal); border-radius: 12px; background: #FFF8F4; }
.te-el-quiz__box { flex: none; display: flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border-radius: 6px; background: var(--te-signal); color: #fff; font-size: 0.875rem; font-weight: 800; }
.te-el-quiz__opts strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-el-quiz__opts span:not(.te-el-quiz__box) { display: block; margin-top: 0.2rem; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }
.te-el-quiz__opts .te-el-quiz__fix { position: relative; margin-top: 0.5rem !important; padding-left: 1.35rem; font-weight: 600; color: var(--te-steel-deep) !important; }
.te-el-quiz__fix::before { content: ""; position: absolute; left: 0; top: 0.15rem; width: 1rem; height: 1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-el-quiz__result { display: flex; align-items: center; gap: 0.9rem; padding: 1rem 1.6rem; background: var(--te-navy); color: rgba(255, 255, 255, .85); font-size: 0.9375rem; }
.te-el-quiz__result strong { color: #fff; }
.te-el-quiz__badge { flex: none; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #2FA36B; -webkit-mask: none; position: relative; }
.te-el-quiz__badge::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1rem; height: 1rem; background: #fff; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* What we localize: an exploded view of course layers */
.te-el-layers { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; margin-top: 3rem !important; }
.te-el-stack { position: relative; height: 430px; perspective: 1400px; }
.te-el-plane { position: absolute; left: 12%; width: 74%; height: 210px; border-radius: 16px; transform: rotateX(58deg) rotateZ(-38deg); transform-style: preserve-3d; box-shadow: 0 30px 40px -20px rgba(15, 42, 61, .55); }
.te-el-plane--1 { top: 0; background: #fff; border: 2px solid var(--te-steel-deep); background-image: linear-gradient(var(--te-navy), var(--te-navy)), linear-gradient(#CBD7E0, #CBD7E0), linear-gradient(#CBD7E0, #CBD7E0), linear-gradient(var(--te-signal), var(--te-signal)); background-size: 50% 12px, 70% 8px, 60% 8px, 26% 18px; background-position: 14% 22%, 14% 42%, 14% 54%, 14% 76%; background-repeat: no-repeat; }
.te-el-plane--2 { top: 72px; background: linear-gradient(160deg, #2C7290, #16405C); background-image: repeating-linear-gradient(90deg, rgba(124, 200, 230, .75) 0 4px, transparent 4px 9px), linear-gradient(160deg, #2C7290, #16405C); background-size: 70% 40px, 100% 100%; background-position: center, 0 0; background-repeat: no-repeat; }
.te-el-plane--3 { top: 144px; background: linear-gradient(135deg, #FFE1CC, #F7B48F); }
.te-el-plane--3::after { content: ""; position: absolute; inset: 22% 20%; border-radius: 10px; border: 2px dashed rgba(142, 47, 12, .45); }
.te-el-plane--4 { top: 216px; background: var(--te-navy); background-image: radial-gradient(circle at 18% 30%, #2FA36B 0 9px, transparent 10px), radial-gradient(circle at 18% 55%, rgba(255, 255, 255, .35) 0 9px, transparent 10px), radial-gradient(circle at 18% 80%, rgba(255, 255, 255, .35) 0 9px, transparent 10px); }
.te-el-stack__n { position: absolute; right: 4%; z-index: 5; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--te-signal); color: #fff; font-size: 0.875rem; font-weight: 800; box-shadow: 0 0 0 4px var(--te-cloud); }
.te-el-stack__n::before { content: ""; position: absolute; right: 100%; top: 50%; width: 3.2rem; border-top: 1.5px dashed #9DB3C2; }
.te-el-stack__n--1 { top: 70px; } .te-el-stack__n--2 { top: 142px; } .te-el-stack__n--3 { top: 214px; } .te-el-stack__n--4 { top: 286px; }
.te-el-layers__list { margin: 0; padding: 0; list-style: none; }
.te-el-layers__list > li { display: flex; gap: 1rem; margin: 0; padding: 1.05rem 0; border-top: 1.5px solid #D5DFE7; }
.te-el-layers__list > li:first-child { border-top: 0; }
.te-el-layers__n { flex: none; display: flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--te-signal); color: #fff; font-size: 0.8125rem; font-weight: 800; }
.te-el-layers__list h3 { margin: 0.1rem 0 0; font-size: 1.125rem !important; color: var(--te-navy); }
.te-el-layers__list ul { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.6rem 0 0; padding: 0; list-style: none; }
.te-el-layers__list ul li { margin: 0; padding: 0.25rem 0.65rem; border: 1px solid #BFCDD8; border-radius: 999px; background: #fff; font-size: 0.8125rem; color: var(--te-slate); }

/* Tools: a course package and chip lists */
.te-el-tools { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; margin-top: 3rem !important; }
.te-el-pkg { overflow: hidden; border-radius: 16px; background: #0F2433; color: #DCE8EF; box-shadow: 0 40px 70px -40px rgba(15, 42, 61, .8); }
.te-el-pkg p { margin: 0; }
.te-el-pkg__head { display: flex; align-items: center; gap: 0.7rem; padding: 0.95rem 1.2rem; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.te-el-pkg__zip { width: 1.6rem; height: 2rem; border-radius: 3px; background: repeating-linear-gradient(180deg, #F4B58F 0 4px, #E8551A 4px 8px) center / 5px 70% no-repeat, #F7D7C3; }
.te-el-pkg__head b { font-size: 0.9375rem; color: #fff; }
.te-el-pkg__ok { margin-left: auto; padding: 0.2rem 0.6rem; border-radius: 999px; background: rgba(47, 163, 107, .2); color: #8FE0B5; font-size: 0.75rem; font-weight: 700; }
.te-el-pkg__tree, .te-el-pkg__tree ul { margin: 0; padding: 0; list-style: none; }
.te-el-pkg__tree { padding: 0.9rem 1.2rem; font-size: 0.8125rem; }
.te-el-pkg__tree li { margin: 0; padding: 0.3rem 0; }
.te-el-pkg__tree ul { margin-top: 0.2rem; padding-left: 1.1rem; border-left: 1px dashed rgba(124, 200, 230, .35); }
.te-el-pkg__tree li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.8rem; }
.te-el-pkg__tree li > ul { flex-basis: 100%; }
.te-el-pkg__tree .is-file { font-weight: 600; color: #fff; }
.te-el-pkg__tree .is-dir { font-weight: 700; color: var(--te-sky); }
.te-el-pkg__tree em { font-style: normal; font-size: 0.75rem; color: #F4B58F; }
.te-el-pkg__note { padding: 0 1.2rem 1rem; font-size: 0.6875rem; color: rgba(255, 255, 255, .45); }
.te-el-tools__lists > div { padding: 0 0 1.2rem; margin-bottom: 1.2rem; border-bottom: 1px solid #D5DFE7; }
.te-el-tools__lists h3 { margin: 0; font-size: 1rem !important; color: var(--te-navy); }
.te-el-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.7rem 0 0; }
.te-el-chips span { padding: 0.4rem 0.8rem; border: 1.5px solid #8FA8BA; border-radius: 8px; background: #fff; font-size: 0.875rem; font-weight: 600; color: var(--te-navy); }
.te-el-chips--std span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-el-chips .is-more { border-style: dashed; font-weight: 500; color: var(--te-slate); }
.te-el-tools__note { margin: 0; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-el-tools__note strong { color: var(--te-navy); }

/* Process: a course outline */
.te-el-outline-section { background: var(--te-cloud) !important; }
.te-el-outline { margin-top: 3rem !important; overflow: hidden; border: 1.5px solid #8FA8BA; border-radius: 18px; background: #fff; box-shadow: 0 30px 60px -44px rgba(15, 42, 61, .6); }
.te-el-outline__head { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.5rem; border-bottom: 1px solid var(--te-line); }
.te-el-outline__ico { position: relative; flex: none; width: 2.6rem; height: 2.6rem; border-radius: 10px; background: var(--te-ice); }
.te-el-outline__head b { display: block; font-size: 1.0625rem; color: var(--te-navy); }
.te-el-outline__head div span { font-size: 0.8125rem; color: var(--te-slate); }
.te-el-outline__bar { flex: 1; max-width: 320px; height: 8px; margin-left: auto; border-radius: 999px; background: #DCE6EC; }
.te-el-outline__bar i { display: block; width: 100%; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--te-steel), #2FA36B); }
.te-el-outline__pct { font-size: 0.8125rem; font-weight: 700; color: #1E7A4C; }
.te-el-outline__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.te-el-outline__list li { display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 1rem; margin: 0; padding: 1.2rem 1.5rem; border-top: 1px solid var(--te-line); }
.te-el-outline__list li:nth-child(-n+2) { border-top: 0; }
.te-el-outline__list li:nth-child(odd) { border-right: 1px solid var(--te-line); }
.te-el-outline__check { grid-row: span 2; position: relative; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: #2FA36B; }
.te-el-outline__check::before { content: ""; position: absolute; inset: 0; margin: auto; width: 0.95rem; height: 0.95rem; background: #fff; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-el-outline__lesson { font-size: 0.75rem; font-weight: 700; color: var(--te-signal); }
.te-el-outline__list h3 { margin: 0; font-size: 1.0625rem !important; color: var(--te-navy); }
.te-el-outline__list p { margin: 0.3rem 0 0; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-el-outline__list li > div { grid-column: 2; }

/* Training that protects: photo and program list on navy */
.te-el-act-section { background: radial-gradient(50rem 24rem at 100% 0%, rgba(75, 148, 175, .28), transparent 60%), var(--te-navy) !important; color: #fff; }
.te-el-act { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-el-act__photo { margin: 0; }
.te-el-act__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 40% 50%; border-radius: 18px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .8); }
.te-el-act__body > * { margin: 0; }
.te-el-act__body .te-eyebrow, .te-el-act__body .te-accent { color: var(--te-sky); }
.te-el-act__body h2 { margin-top: 0.75rem !important; color: #fff; }
.te-el-act__body .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-el-act__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.75rem; margin-top: 1.75rem !important; padding: 0; list-style: none; }
.te-el-act__list li { display: flex; gap: 0.85rem; margin: 0; }
.te-el-act__ico { position: relative; flex: none; width: 2.4rem; height: 2.4rem; border-radius: 10px; background: rgba(124, 200, 230, .14); }
.te-el-act__ico::before { background: var(--te-sky); }
.te-el-act__list strong { display: block; font-size: 1rem; color: #fff; }
.te-el-act__list span:not(.te-el-act__ico) { display: block; margin-top: 0.15rem; font-size: 0.875rem; line-height: 1.5; color: rgba(255, 255, 255, .72); }

/* Quote: course intake */
.te-el-intake-section { background: linear-gradient(135deg, #EAF4F8 0%, #DCEAF1 55%, #CFE2EC 100%) !important; border-block: 1px solid #BFCDD8; }
.te-el-intake { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-el-intake__intro > * { margin: 0; }
.te-el-intake__intro h2 { margin-top: 0.75rem !important; }
.te-el-intake__intro .te-head__lede { margin-top: 1rem !important; }
.te-el-intake__alt { margin-top: 1.4rem !important; padding-top: 1.1rem; border-top: 1px solid rgba(15, 42, 61, .16); font-size: 0.9375rem; color: var(--te-slate); }
.te-el-intake__alt a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-el-enroll { overflow: hidden; border: 1.5px solid #8FA8BA; border-radius: 18px; background: #fff; box-shadow: 0 40px 70px -40px rgba(15, 42, 61, .55); }
.te-el-enroll__top { display: flex; align-items: center; gap: 1rem; padding: 1.15rem 1.4rem; border-bottom: 1px solid var(--te-line); }
.te-el-enroll__top b { display: block; font-size: 1.0625rem; color: var(--te-navy); }
.te-el-enroll__top div span { font-size: 0.8125rem; color: var(--te-slate); }
.te-el-enroll__list { margin: 0; padding: 0.4rem 1.4rem; list-style: none; counter-reset: te-el; }
.te-el-enroll__list li { position: relative; display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; margin: 0; padding: 0.7rem 0 0.7rem 2.2rem; border-top: 1px solid var(--te-line); counter-increment: te-el; }
.te-el-enroll__list li:first-child { border-top: 0; }
.te-el-enroll__list li::before { content: counter(te-el); position: absolute; left: 0; top: 50%; display: flex; align-items: center; justify-content: center; width: 1.45rem; height: 1.45rem; margin-top: -0.725rem; border: 1.5px solid #8FA8BA; border-radius: 50%; font-size: 0.6875rem; font-weight: 700; color: var(--te-slate); }
.te-el-enroll__list strong { font-size: 0.9375rem; color: var(--te-navy); }
.te-el-enroll__list span { font-size: 0.875rem; color: var(--te-slate); }
.te-el-enroll__btn { display: flex; align-items: center; justify-content: center; min-height: 52px; margin: 0.6rem 1.4rem 1.4rem; border-radius: 8px; background: var(--te-signal); color: #fff; font-size: 1rem; font-weight: 700; text-decoration: none; }
.te-el-enroll__btn:hover { background: #C6420C; color: #fff; }

/* Related: course catalog */
.te-el-catalog { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.75rem !important; margin-bottom: 0 !important; padding: 0; list-style: none; }
.te-el-catalog li { margin: 0; }
.te-el-catalog a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1.5px solid #8FA8BA; border-radius: 14px; background: #fff; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.te-el-catalog__cover { position: relative; display: block; height: 96px; }
.te-el-catalog__cover em { position: absolute; left: 0.8rem; top: 0.8rem; padding: 0.15rem 0.55rem; border-radius: 999px; background: rgba(255, 255, 255, .9); font-size: 0.6875rem; font-style: normal; font-weight: 700; color: var(--te-navy); }
.te-el-catalog__cover::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: rgba(255, 255, 255, .3); }
.te-el-catalog__cover--a { background: linear-gradient(135deg, #2C7290, #0F2A3D); }
.te-el-catalog__cover--b { background: linear-gradient(135deg, #E8551A, #8E2F0C); }
.te-el-catalog__cover--c { background: linear-gradient(135deg, #4B94AF, #1F5670); }
.te-el-catalog__cover--d { background: linear-gradient(135deg, #16405C, #05121C); }
.te-el-catalog strong { padding: 1rem 1.1rem 0; font-size: 1.0625rem; color: var(--te-navy); }
.te-el-catalog a > span:not(.te-el-catalog__cover):not(.te-el-catalog__go) { padding: 0.3rem 1.1rem 0; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-el-catalog__go { margin-top: auto; padding: 1rem 1.1rem 1.1rem; font-size: 0.875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-el-catalog__go::after { content: " \203A"; }
.te-el-catalog a:hover { transform: translateY(-3px); box-shadow: 0 24px 40px -28px rgba(15, 42, 61, .6); }
.te-el-catalog a:focus-visible, .te-el-enroll__btn:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .te-el-catalog a { transition: none; } }

@media (max-width: 1100px) {
	.te-el-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-el-layers, .te-el-tools { grid-template-columns: minmax(0, 1fr); }
	.te-el-stack { max-width: 520px; width: 100%; margin-inline: auto; }
}
@media (max-width: 1024px) {
	.te-el-hero__grid, .te-el-act, .te-el-intake { grid-template-columns: minmax(0, 1fr); }
	.te-el-stage { max-width: 600px; }
	.te-el-act__photo img { aspect-ratio: 16 / 10; }
}
@media (max-width: 760px) {
	.te-el-quiz__opts, .te-el-outline__list, .te-el-act__list { grid-template-columns: 1fr; }
	.te-el-outline__list li:nth-child(odd) { border-right: 0; }
	.te-el-outline__list li:nth-child(2) { border-top: 1px solid var(--te-line); }
	.te-el-outline__bar, .te-el-outline__pct { display: none; }
}
@media (max-width: 640px) {
	.te-el-stage { padding: 0 0 4.5rem; }
	.te-el-chip--score { left: 0; bottom: 0; }
	.te-el-chip--pkg { display: none; }
	.te-el-course__name em { display: none; }
	.te-el-course__slide { grid-template-columns: 1fr; }
	.te-el-course__art { display: none; }
	.te-el-quiz__head, .te-el-quiz__opts, .te-el-quiz__result { padding-inline: 1rem; }
	.te-el-stack { height: 330px; }
	.te-el-plane { height: 160px; }
	.te-el-plane--2 { top: 55px; } .te-el-plane--3 { top: 110px; } .te-el-plane--4 { top: 165px; }
	.te-el-stack__n--1 { top: 52px; } .te-el-stack__n--2 { top: 107px; } .te-el-stack__n--3 { top: 162px; } .te-el-stack__n--4 { top: 217px; }
	.te-el-enroll__list li { grid-template-columns: 1fr; gap: 0.1rem; }
	.te-el-catalog { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Desktop publishing page (.te-dtp-*): print sheets, preflight, type specimens
   ========================================================================== */
.te-dtp-crop { position: absolute; width: 14px; height: 14px; pointer-events: none; }
.te-dtp-crop--tl { top: 0; left: 0; border-left: 1px solid currentColor; border-top: 1px solid currentColor; }
.te-dtp-crop--tr { top: 0; right: 0; border-right: 1px solid currentColor; border-top: 1px solid currentColor; }
.te-dtp-crop--bl { bottom: 0; left: 0; border-left: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.te-dtp-crop--br { bottom: 0; right: 0; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; }

/* Hero: three printed sheets on a board */
.te-dtp-hero { padding-bottom: 0 !important; }
.te-dtp-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-dtp-hero__copy > * { margin-block: 0; }
.te-dtp-board { position: relative; height: 470px; background-image: linear-gradient(rgba(124, 200, 230, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 200, 230, .07) 1px, transparent 1px); background-size: 24px 24px; border-radius: 16px; }
.te-dtp-sheet { position: absolute; width: 50%; padding: 12px; color: rgba(124, 200, 230, .8); }
.te-dtp-sheet__page { position: relative; display: grid; gap: 0.5rem; aspect-ratio: 0.72; padding: 1.1rem 1.1rem 1rem; background: #fff; color: var(--te-ink); box-shadow: 0 30px 50px -24px rgba(0, 0, 0, .75); }
.te-dtp-sheet__page p { margin: 0; }
.te-dtp-sheet--zh { top: 8px; left: 4%; transform: rotate(-6deg); }
.te-dtp-sheet--ar { top: 26px; right: 2%; transform: rotate(5deg); }
.te-dtp-sheet--es { top: 70px; left: 26%; z-index: 2; }
.te-dtp-sheet--zh .te-dtp-sheet__page, .te-dtp-sheet--ar .te-dtp-sheet__page { filter: brightness(.92); }
.te-dtp-sheet__art { position: relative; height: 34%; border-radius: 4px; background: linear-gradient(135deg, #2C7290, #0F2A3D); }
.te-dtp-sheet__art span { position: absolute; bottom: 12%; inset-inline-start: 10%; width: 30%; height: 18%; border-radius: 3px; background: var(--te-signal); }
.te-dtp-sheet__h { font-size: 1.0625rem; font-weight: 800; line-height: 1.2; color: var(--te-navy); }
.te-dtp-sheet__p { font-size: 0.6875rem; line-height: 1.5; color: var(--te-slate); }
.te-dtp-sheet__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-top: auto; }
.te-dtp-sheet__cols i { height: 34px; background: repeating-linear-gradient(180deg, #D5E0E8 0 3px, transparent 3px 8px); }
.te-dtp-sheet__lang { position: absolute; top: 0.6rem; inset-inline-end: 0.6rem; padding: 0.05rem 0.4rem; border-radius: 3px; background: rgba(255, 255, 255, .9); color: var(--te-navy); font-size: 0.625rem; font-weight: 800; }
.te-dtp-preflight-chip { position: absolute; right: 2%; bottom: 18px; z-index: 3; display: flex; align-items: center; gap: 0.6rem; padding: 0.6rem 0.9rem; border-radius: 10px; background: #fff; box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .7); font-size: 0.75rem; color: var(--te-slate); }
.te-dtp-preflight-chip i { width: 0.75rem; height: 0.75rem; border-radius: 50%; background: #2FA36B; box-shadow: 0 0 0 4px rgba(47, 163, 107, .2); }
.te-dtp-preflight-chip b { display: block; font-size: 0.8125rem; color: var(--te-navy); }
.te-dtp-swatch-row { position: absolute; left: 4%; bottom: 26px; z-index: 3; display: flex; gap: 4px; padding: 6px; border-radius: 8px; background: #fff; box-shadow: 0 16px 30px -16px rgba(0, 0, 0, .7); }
.te-dtp-swatch-row i { width: 22px; height: 22px; border-radius: 4px; }
.te-dtp-swatch-row .c { background: #00A3E0; } .te-dtp-swatch-row .m { background: #E0007A; } .te-dtp-swatch-row .y { background: #FFE000; } .te-dtp-swatch-row .k { background: #111; }

/* Problem: text expansion specimen beside a preflight panel */
.te-dtp-shape-section { background: linear-gradient(180deg, #fff 0%, var(--te-cloud) 100%) !important; }
.te-dtp-shape { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(1.5rem, 3.5vw, 2.75rem); align-items: start; margin-top: 3rem !important; }
.te-dtp-spec { margin: 0; overflow: hidden; padding: 1.4rem 1.5rem 1.2rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -44px rgba(15, 42, 61, .6); }
.te-dtp-spec figcaption b { display: block; font-size: 1.0625rem; color: var(--te-navy); }
.te-dtp-spec figcaption span { display: block; margin-top: 0.2rem; font-size: 0.875rem; color: var(--te-slate); }
.te-dtp-spec ul { margin: 1.1rem 0 0; padding: 0; list-style: none; }
.te-dtp-spec li { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: 0.8rem; align-items: center; margin: 0; padding: 0.55rem 0; border-top: 1px solid var(--te-line); }
.te-dtp-spec__lang { font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-dtp-spec__frame { position: relative; display: block; width: max-content; height: 1.9rem; outline: 1.5px dashed #7F9AAE; outline-offset: 3px; }
.te-dtp-spec__size { display: block; padding: 0 0.2rem; font-size: 0.9375rem; font-weight: 600; line-height: 1.9rem; white-space: nowrap; visibility: hidden; }
.te-dtp-spec ul { overflow: visible; }
.te-dtp-spec__txt { position: absolute; top: 50%; left: 0.2rem; transform: translateY(-50%); font-size: 0.9375rem; font-weight: 600; white-space: nowrap; color: var(--te-navy); }
.te-dtp-spec__txt[dir="rtl"] { left: auto; right: 0.2rem; }
.te-dtp-spec li:not(.is-src) .te-dtp-spec__frame { outline-color: #9DB3C2; }
.te-dtp-spec li:nth-child(2) .te-dtp-spec__txt, .te-dtp-spec li:nth-child(3) .te-dtp-spec__txt { color: #B03A12; }
.te-dtp-spec li:nth-child(2) .te-dtp-spec__frame, .te-dtp-spec li:nth-child(3) .te-dtp-spec__frame { outline-color: var(--te-signal); }
.te-dtp-spec li.is-src .te-dtp-spec__frame { background: rgba(124, 200, 230, .14); }
.te-dtp-spec li.is-src .te-dtp-spec__lang { color: var(--te-steel-deep); }
.te-dtp-spec__note { margin: 0.9rem 0 0; font-size: 0.75rem; line-height: 1.5; color: var(--te-slate); }
.te-dtp-pf { overflow: hidden; border-radius: 14px; background: #2B2F35; color: #E7E9EC; box-shadow: 0 40px 70px -40px rgba(15, 42, 61, .8); }
.te-dtp-pf p { margin: 0; }
.te-dtp-pf__head { display: flex; align-items: center; gap: 0.6rem; padding: 0.75rem 1.1rem; background: #1F2227; font-size: 0.875rem; }
.te-dtp-pf__dot { width: 0.7rem; height: 0.7rem; border-radius: 50%; background: #E5484D; }
.te-dtp-pf__head em { margin-left: auto; font-style: normal; font-size: 0.75rem; font-weight: 700; color: #FF8A8E; }
.te-dtp-pf ol { margin: 0; padding: 0.3rem 1.1rem; list-style: none; }
.te-dtp-pf li { display: flex; gap: 0.75rem; margin: 0; padding: 0.75rem 0; border-top: 1px solid rgba(255, 255, 255, .08); }
.te-dtp-pf li:first-child { border-top: 0; }
.te-dtp-pf__x { position: relative; flex: none; width: 1.15rem; height: 1.15rem; margin-top: 0.1rem; border-radius: 50%; background: #E5484D; }
.te-dtp-pf__x::before, .te-dtp-pf__x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 0.55rem; height: 2px; background: #fff; transform: translate(-50%, -50%) rotate(45deg); }
.te-dtp-pf__x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.te-dtp-pf strong { display: block; font-size: 0.9375rem; color: #fff; }
.te-dtp-pf li span:not(.te-dtp-pf__x) { display: block; margin-top: 0.15rem; font-size: 0.8125rem; line-height: 1.5; color: rgba(231, 233, 236, .7); }
.te-dtp-pf .te-dtp-pf__fix { position: relative; margin-top: 0.4rem !important; padding-left: 1.25rem; font-weight: 600; color: #8FE0B5 !important; }
.te-dtp-pf__fix::before { content: ""; position: absolute; left: 0; top: 0.15rem; width: 0.9rem; height: 0.9rem; background: #8FE0B5; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-dtp-pf__foot { display: flex; align-items: center; gap: 0.6rem; padding: 0.85rem 1.1rem; background: #1F2227; font-size: 0.8125rem; color: rgba(231, 233, 236, .8); }
.te-dtp-pf__foot b { color: #8FE0B5; }
.te-dtp-pf__ok { width: 0.7rem; height: 0.7rem; border-radius: 50%; background: #2FA36B; }

/* Typography: script specimens */
.te-dtp-scripts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; }
.te-dtp-glyph { display: flex; flex-direction: column; padding: 1.2rem 1.3rem 1.35rem; border: 1.5px solid #8FA8BA; border-radius: 14px; background: #fff; }
.te-dtp-glyph p { margin: 0; }
.te-dtp-glyph__label { display: flex; justify-content: space-between; gap: 0.5rem; font-size: 0.8125rem; font-weight: 700; color: var(--te-steel-deep); }
.te-dtp-glyph__label em { font-style: normal; font-weight: 600; color: var(--te-slate); }
.te-dtp-glyph__sample { margin: 1rem 0 0 !important; padding: 0.9rem 0; font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 700; line-height: 1.5; color: var(--te-navy); border-block: 1px solid rgba(124, 200, 230, .7); box-shadow: inset 0 -0.9rem 0 -0.85rem rgba(232, 85, 26, .6); overflow-wrap: anywhere; }
.te-dtp-glyph__rule { margin-top: 0.9rem !important; padding-top: 0.9rem; border-top: 1px solid var(--te-line); font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-dtp-mirror { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: center; padding: 1.5rem 1.75rem; border-radius: 16px; background: radial-gradient(30rem 16rem at 100% 0%, rgba(75, 148, 175, .35), transparent 60%), var(--te-navy); color: #fff; }
.te-dtp-mirror h3 { margin: 0; font-size: 1.25rem !important; color: #fff; }
.te-dtp-mirror p { margin: 0.5rem 0 0; font-size: 0.9375rem; line-height: 1.6; color: rgba(255, 255, 255, .78); }
.te-dtp-mirror__pair { display: flex; align-items: center; justify-content: center; gap: 1.25rem; }
.te-dtp-mini { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: min-content; gap: 6px 10px; width: 150px; height: 110px; padding: 12px; border-radius: 6px; background: #fff; }
.te-dtp-mini__img { grid-row: span 3; height: 60px; border-radius: 4px; background: linear-gradient(135deg, #2C7290, #0F2A3D); }
.te-dtp-mini i { display: block; height: 6px; border-radius: 3px; background: #9DB3C2; }
.te-dtp-mini i.w8 { width: 100%; background: var(--te-navy); } .te-dtp-mini i.w6 { width: 70%; } .te-dtp-mini i.w7 { width: 85%; }
.te-dtp-mini b { position: absolute; bottom: 8px; inset-inline-start: 12px; font-size: 0.625rem; color: var(--te-signal); }
.te-dtp-mini.is-rtl { direction: rtl; }
.te-dtp-mirror__arrow { width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--te-signal); position: relative; flex: none; }
.te-dtp-mirror__arrow::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.2rem; height: 1.2rem; background: #fff; -webkit-mask: var(--te-i-repeat) center / contain no-repeat; mask: var(--te-i-repeat) center / contain no-repeat; }

/* File formats: color swatches */
.te-dtp-swatches { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; margin-top: 2.75rem !important; margin-bottom: 0 !important; padding: 0; list-style: none; }
.te-dtp-swatch { display: flex; flex-direction: column; margin: 0; padding: 0.6rem 0.6rem 1rem; border: 1px solid #D5DFE7; border-radius: 6px; background: #fff; box-shadow: 0 16px 30px -24px rgba(15, 42, 61, .6); }
.te-dtp-swatch__chip { display: flex; align-items: flex-end; height: 92px; padding: 0.6rem 0.75rem; border-radius: 3px; }
.te-dtp-swatch__chip b { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.02em; color: #fff; }
.te-dtp-swatch strong { display: block; margin: 0.8rem 0.4rem 0; font-size: 0.9375rem; color: var(--te-navy); }
.te-dtp-swatch > span:last-child { display: block; margin: 0.15rem 0.4rem 0; font-size: 0.8125rem; color: var(--te-slate); }
.te-dtp-swatch--a .te-dtp-swatch__chip { background: #4A1430; }
.te-dtp-swatch--b .te-dtp-swatch__chip { background: #2B1700; } .te-dtp-swatch--b b { color: #FF9A00; }
.te-dtp-swatch--c .te-dtp-swatch__chip { background: #001E36; } .te-dtp-swatch--c b { color: #31A8FF; }
.te-dtp-swatch--d .te-dtp-swatch__chip { background: #2C7290; }
.te-dtp-swatch--a b { color: #FF3366; }
.te-dtp-swatch--e .te-dtp-swatch__chip { background: #1F5670; }
.te-dtp-swatch--f .te-dtp-swatch__chip { background: #B33D0E; }
.te-dtp-swatch--g .te-dtp-swatch__chip { background: #16384F; }
.te-dtp-swatch--h .te-dtp-swatch__chip { background: repeating-linear-gradient(135deg, #E8551A 0 12px, #D24A12 12px 24px); }
.te-dtp-swatches__note { max-width: 56rem; margin: 2rem auto 0 !important; text-align: center; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-dtp-swatches__note strong { color: var(--te-navy); }

/* Process: a proof sheet with crop marks */
.te-dtp-proof-section { background: radial-gradient(50rem 24rem at 100% 0%, rgba(75, 148, 175, .28), transparent 60%), var(--te-navy) !important; color: #fff; }
.te-dtp-proof { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-dtp-proof__intro > * { margin: 0; }
.te-dtp-proof__intro .te-eyebrow, .te-dtp-proof__intro .te-accent { color: var(--te-sky); }
.te-dtp-proof__intro h2 { margin-top: 0.75rem !important; color: #fff; }
.te-dtp-proof__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-dtp-proof__photo { margin: 1.75rem 0 0 !important; }
.te-dtp-proof__photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; }
.te-dtp-proof__sheet { position: relative; padding: 22px; color: rgba(124, 200, 230, .75); }
.te-dtp-proof__steps { margin: 0; padding: 1.6rem 1.8rem 1rem; list-style: none; counter-reset: te-dtp; background: #fff; color: var(--te-ink); box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .8); }
.te-dtp-proof__steps li { position: relative; margin: 0; padding: 0.85rem 0 0.85rem 3rem; border-top: 1px solid var(--te-line); counter-increment: te-dtp; }
.te-dtp-proof__steps li:first-child { border-top: 0; }
.te-dtp-proof__steps li::before { content: counter(te-dtp, decimal-leading-zero); position: absolute; left: 0; top: 0.8rem; font-size: 1.375rem; font-weight: 800; line-height: 1; color: var(--te-signal); }
.te-dtp-proof__steps strong { display: block; font-size: 1.0625rem; color: var(--te-navy); }
.te-dtp-proof__steps span { display: block; margin-top: 0.2rem; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-dtp-proof__slug { display: flex; align-items: center; gap: 1.2rem; margin: 0.6rem 0 0; font-size: 0.6875rem; color: rgba(255, 255, 255, .55); font-variant-numeric: tabular-nums; }
.te-dtp-proof__bars { display: flex; gap: 2px; margin-left: auto; }
.te-dtp-proof__bars i { width: 14px; height: 10px; }
.te-dtp-proof__bars i:nth-child(1) { background: #00A3E0; } .te-dtp-proof__bars i:nth-child(2) { background: #E0007A; } .te-dtp-proof__bars i:nth-child(3) { background: #FFE000; } .te-dtp-proof__bars i:nth-child(4) { background: #111; } .te-dtp-proof__bars i:nth-child(5) { background: #777; } .te-dtp-proof__bars i:nth-child(6) { background: #ccc; }

/* Deliverables: three outputs */
.te-dtp-outs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; }
.te-dtp-out { display: flex; flex-direction: column; padding: 1.3rem 1.4rem 1.4rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 24px 48px -38px rgba(15, 42, 61, .6); }
.te-dtp-out__art { display: flex; align-items: center; justify-content: center; height: 120px; border-radius: 10px; background: var(--te-cloud); }
.te-dtp-out--print .te-dtp-out__art span { position: relative; width: 70px; height: 92px; background: #fff; box-shadow: 0 0 0 8px rgba(232, 85, 26, .15), 0 10px 20px -10px rgba(15, 42, 61, .6); }
.te-dtp-out--print .te-dtp-out__art span::before { content: ""; position: absolute; inset: -14px; background: linear-gradient(#7F9AAE, #7F9AAE) 0 0 / 10px 1px, linear-gradient(#7F9AAE, #7F9AAE) 0 0 / 1px 10px, linear-gradient(#7F9AAE, #7F9AAE) 100% 100% / 10px 1px, linear-gradient(#7F9AAE, #7F9AAE) 100% 100% / 1px 10px; background-repeat: no-repeat; }
.te-dtp-out--digital .te-dtp-out__art span { width: 120px; height: 78px; border: 5px solid var(--te-navy); border-radius: 6px; background: linear-gradient(135deg, #2C7290, #4B94AF); }
.te-dtp-out--access .te-dtp-out__art span { width: 64px; height: 64px; border-radius: 50%; background: var(--te-navy); position: relative; }
.te-dtp-out--access .te-dtp-out__art span::before { content: ""; position: absolute; inset: 0; margin: auto; width: 34px; height: 34px; background: #fff; -webkit-mask: var(--te-i-hand) center / contain no-repeat; mask: var(--te-i-hand) center / contain no-repeat; }
.te-dtp-out h3 { margin: 1.1rem 0 0; font-size: 1.25rem !important; color: var(--te-navy); }
.te-dtp-out ul { margin: 0.7rem 0 0; padding: 0; list-style: none; }
.te-dtp-out li { position: relative; margin: 0; padding: 0.45rem 0 0.45rem 1.4rem; border-top: 1px solid var(--te-line); font-size: 0.9375rem; line-height: 1.5; color: var(--te-slate); }
.te-dtp-out li::before { content: ""; position: absolute; left: 0; top: 0.7rem; width: 0.95rem; height: 0.95rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Document types: page thumbnails */
.te-dtp-pages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem 1.25rem; margin-top: 2.75rem !important; margin-bottom: 0 !important; padding: 0; list-style: none; }
.te-dtp-pages li { display: flex; align-items: center; gap: 1rem; margin: 0; padding: 1rem; border: 1.5px solid #D5DFE7; border-radius: 12px; background: #fff; font-size: 0.9375rem; font-weight: 700; line-height: 1.35; color: var(--te-navy); }
.te-dtp-thumb { flex: none; display: grid; align-content: start; gap: 4px; padding: 6px; border-radius: 3px; background: #fff; box-shadow: 0 0 0 1px #BFCDD8, 3px 3px 0 0 #DCE6EC; }
.te-dtp-thumb--tall { width: 38px; height: 50px; } .te-dtp-thumb--wide { width: 54px; height: 38px; } .te-dtp-thumb--square { width: 44px; height: 44px; }
.te-dtp-thumb i { display: block; height: 4px; border-radius: 2px; background: #CBD7E0; }
.te-dtp-thumb i:first-child { height: 10px; background: linear-gradient(135deg, #2C7290, #0F2A3D); }
.te-dtp-thumb i:last-child { width: 60%; background: var(--te-signal); }

/* Quote: package folder */
.te-dtp-pkg-section { background: linear-gradient(135deg, #EAF4F8 0%, #DCEAF1 55%, #CFE2EC 100%) !important; border-block: 1px solid #BFCDD8; }
.te-dtp-pkg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-dtp-pkg__intro > * { margin: 0; }
.te-dtp-pkg__intro h2 { margin-top: 0.75rem !important; }
.te-dtp-pkg__intro .te-head__lede { margin-top: 1rem !important; }
.te-dtp-pkg__also { margin: 1.4rem 0 0 !important; padding: 0; list-style: none; }
.te-dtp-pkg__also li { margin: 0; padding: 0.85rem 0; border-top: 1px solid rgba(15, 42, 61, .16); font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-dtp-pkg__also strong { color: var(--te-navy); }
.te-dtp-folder { position: relative; padding-top: 22px; filter: drop-shadow(0 30px 40px rgba(15, 42, 61, .3)); }
.te-dtp-folder__tab { position: absolute; top: 0; left: 0; width: 40%; height: 30px; border-radius: 12px 12px 0 0; background: #F2C46D; }
.te-dtp-folder__body { position: relative; padding: 1.3rem 1.4rem 1.2rem; border-radius: 0 14px 14px 14px; background: linear-gradient(180deg, #F7D488, #F2C46D 14%, #FBEBC6 14.2%, #FFF8E7); }
.te-dtp-folder__name { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.9rem; font-size: 1rem; font-weight: 800; color: #5A3E00; }
.te-dtp-folder__body ul { margin: 0; padding: 0; list-style: none; }
.te-dtp-folder__body li { display: flex; align-items: center; gap: 0.75rem; margin: 0 0 0.5rem; padding: 0.65rem 0.8rem; border-radius: 8px; background: #fff; }
.te-dtp-folder__body li::before { content: ""; flex: none; width: 1.5rem; height: 1.2rem; border-radius: 3px; background: #F2C46D; }
.te-dtp-folder__body li.is-file::before { width: 1.1rem; height: 1.4rem; border-radius: 2px; background: #4A1430; }
.te-dtp-folder__body li b { font-size: 0.9375rem; color: var(--te-navy); }
.te-dtp-folder__body li span { margin-left: auto; font-size: 0.8125rem; color: var(--te-slate); text-align: right; }
.te-dtp-folder__foot { display: flex; justify-content: flex-end; gap: 0.75rem; margin-top: 1rem; }
.te-dtp-folder__alt { padding: 0.7rem 1rem; border: 1.5px solid #C9A453; border-radius: 8px; font-size: 0.875rem; font-weight: 700; color: #5A3E00; text-decoration: none; }
.te-dtp-folder__go { padding: 0.75rem 1.2rem; border-radius: 8px; background: var(--te-signal); color: #fff; font-size: 0.875rem; font-weight: 700; text-decoration: none; }
.te-dtp-folder__go:hover { background: #C6420C; color: #fff; }

/* See also: a book index */
.te-dtp-see { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.te-dtp-see__intro > * { margin: 0; }
.te-dtp-see__intro h2 { margin-top: 0.75rem !important; font-style: italic; }
.te-dtp-see__intro .te-head__lede { margin-top: 1rem !important; }
.te-dtp-see__index { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--te-navy); }
.te-dtp-see__index li { margin: 0; border-bottom: 1px solid #D5DFE7; }
.te-dtp-see__index a { display: flex; align-items: baseline; gap: 0.6rem; padding: 1.05rem 0.2rem; text-decoration: none; }
.te-dtp-see__name { font-size: 1.125rem; font-weight: 700; color: var(--te-navy); }
.te-dtp-see__dots { flex: 1; min-width: 2rem; border-bottom: 2px dotted #9DB3C2; transform: translateY(-4px); }
.te-dtp-see__pg { font-size: 1rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--te-signal); }
.te-dtp-see__index a:hover .te-dtp-see__name { color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 4px; }
.te-dtp-see__index a:focus-visible, .te-dtp-folder a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

@media (max-width: 1100px) {
	.te-dtp-scripts, .te-dtp-outs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-dtp-swatches, .te-dtp-pages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-dtp-shape { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
	.te-dtp-hero__grid, .te-dtp-proof, .te-dtp-pkg, .te-dtp-see { grid-template-columns: minmax(0, 1fr); }
	.te-dtp-board { max-width: 600px; width: 100%; }
	.te-dtp-mirror { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.te-dtp-board { height: 380px; }
	.te-dtp-sheet { width: 58%; }
	.te-dtp-sheet--es { left: 20%; }
	.te-dtp-sheet__p { display: none; }
	.te-dtp-scripts, .te-dtp-outs, .te-dtp-swatches, .te-dtp-pages { grid-template-columns: 1fr; }
	.te-dtp-spec { padding-inline: 1rem; }
	.te-dtp-spec li { grid-template-columns: 1fr; gap: 0.3rem; }
	.te-dtp-spec__txt, .te-dtp-spec__size { font-size: 0.75rem; }
	.te-dtp-mirror__pair { gap: 0.6rem; }
	.te-dtp-mini { width: 120px; }
	.te-dtp-proof__steps { padding-inline: 1.1rem; }
	.te-dtp-folder__body li { flex-wrap: wrap; } .te-dtp-folder__body li span { margin-left: 2.25rem; text-align: left; }
	.te-dtp-folder__foot { flex-direction: column-reverse; text-align: center; }
	.te-dtp-see__name { font-size: 1rem; }
}

/* ==========================================================================
   Localization hub (.te-gl-*): locale constellation, GILT letters, cycle ring, pass
   ========================================================================== */
.te-gl-engine__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.2rem; height: 1.2rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }

/* Hero: source locale with target locales in orbit */
.te-gl-hero { padding-bottom: 0 !important; }
.te-gl-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-gl-hero__copy > * { margin-block: 0; }
.te-gl-orbit { position: relative; width: min(100%, 500px); aspect-ratio: 1; margin-inline: auto; --r1: 26%; --r2: 43%; }
.te-gl-orbit__ring { position: absolute; inset: 50% auto auto 50%; border: 1.5px dashed rgba(124, 200, 230, .35); border-radius: 50%; transform: translate(-50%, -50%); }
.te-gl-orbit__ring--1 { width: 52%; height: 52%; }
.te-gl-orbit__ring--2 { width: 86%; height: 86%; border-style: solid; border-color: rgba(124, 200, 230, .16); }
.te-gl-orbit__core { position: absolute; inset: 50% auto auto 50%; z-index: 2; display: grid; justify-items: center; gap: 0.2rem; width: 30%; padding: 1rem 0.5rem; border-radius: 18px; background: #fff; transform: translate(-50%, -50%); box-shadow: 0 0 0 10px rgba(124, 200, 230, .12), 0 30px 60px -24px rgba(0, 0, 0, .7); text-align: center; }
.te-gl-orbit__src { font-size: 0.6875rem; font-weight: 700; color: var(--te-slate); }
.te-gl-orbit__core b { font-size: clamp(1.25rem, 2.2vw, 1.6rem); font-weight: 800; letter-spacing: -0.02em; color: var(--te-navy); }
.te-gl-orbit__lines { display: grid; gap: 4px; width: 70%; margin-top: 0.3rem; }
.te-gl-orbit__lines i { display: block; height: 5px; border-radius: 3px; background: #CBD7E0; }
.te-gl-orbit__lines i:first-child { background: var(--te-signal); width: 60%; }
.te-gl-loc { position: absolute; top: 50%; left: 50%; z-index: 3; width: 0; height: 0; transform: rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a))); }
.te-gl-loc--r1 { --r: calc(var(--orbit-w, 500px) * 0.26); }
.te-gl-loc--r2 { --r: calc(var(--orbit-w, 500px) * 0.43); }
.te-gl-loc__in { position: absolute; left: 0; top: 0; display: grid; justify-items: center; padding: 0.35rem 0.65rem; border-radius: 10px; background: rgba(255, 255, 255, .96); transform: translate(-50%, -50%); box-shadow: 0 14px 28px -14px rgba(0, 0, 0, .7); white-space: nowrap; }
.te-gl-loc__in b { font-size: 0.6875rem; font-weight: 800; color: var(--te-signal); }
.te-gl-loc__in span { font-size: 0.8125rem; font-weight: 700; color: var(--te-navy); }
.te-gl-loc--r1 .te-gl-loc__in { background: var(--te-steel-deep); }
.te-gl-loc--r1 .te-gl-loc__in b { color: #FFC9AE; }
.te-gl-loc--r1 .te-gl-loc__in span { color: #fff; }

/* GILT: a staircase that rises from strategy to translation */
.te-gl-stairs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; align-items: end; margin-top: 3rem !important; margin-bottom: 0 !important; padding: 0; list-style: none; }
.te-gl-stairs::after { content: ""; grid-column: 1 / -1; height: 6px; border-radius: 3px; background: var(--te-navy); }
.te-gl-stairs li { display: flex; flex-direction: column; margin: 0; }
.te-gl-stairs p { margin: 0; }
.te-gl-stairs__text { padding: 0 0.3rem 1.1rem; }
.te-gl-stairs__k { font-size: 0.75rem; font-weight: 800; color: var(--te-signal); }
.te-gl-stairs h3 { margin: 0.25rem 0 0; font-size: 1.25rem !important; color: var(--te-navy); }
.te-gl-stairs__text p:last-child { margin-top: 0.4rem !important; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-gl-stairs__step { position: relative; display: flex; flex-direction: column; height: calc(9rem + var(--i) * 3.2rem); box-sizing: border-box; padding: 1.1rem; border-radius: 14px 14px 0 0; color: #fff; }
.te-gl-stairs li:nth-child(1) .te-gl-stairs__step { background: #6FA9C1; }
.te-gl-stairs li:nth-child(2) .te-gl-stairs__step { background: var(--te-steel); }
.te-gl-stairs li:nth-child(3) .te-gl-stairs__step { background: var(--te-steel-deep); }
.te-gl-stairs li:nth-child(4) .te-gl-stairs__step { background: var(--te-navy); }
.te-gl-stairs li:last-child .te-gl-stairs__step::after { content: ""; position: absolute; top: -0.7rem; right: 1rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: var(--te-signal); box-shadow: 0 0 0 5px rgba(232, 85, 26, .25); }
.te-gl-stairs__l { font-size: 3rem; font-weight: 900; line-height: 1; }
.te-gl-stairs__eg { margin-top: 0.6rem !important; font-size: 0.8125rem; line-height: 1.5; color: rgba(255, 255, 255, .9); }
.te-gl-gilt__note { max-width: 56rem; margin: 2rem auto 0 !important; text-align: center; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-gl-gilt__note strong { color: var(--te-navy); }

/* Six services as one customer's journey */
.te-gl-journey { box-sizing: border-box; margin-top: 3rem !important; padding: 2rem 2rem 2.2rem; border-radius: 20px; background: radial-gradient(40rem 20rem at 100% 0%, rgba(75, 148, 175, .35), transparent 60%), var(--te-navy); }
.te-gl-journey p { margin: 0; }
.te-gl-journey__who { display: flex; align-items: center; gap: 0.9rem; font-size: 1rem; color: rgba(255, 255, 255, .82); }
.te-gl-journey__who strong { color: #fff; }
.te-gl-journey__avatar { position: relative; flex: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--te-sky); }
.te-gl-journey__avatar::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1.3rem; height: 1.3rem; background: var(--te-navy); -webkit-mask: var(--te-i-usercheck) center / contain no-repeat; mask: var(--te-i-usercheck) center / contain no-repeat; }
.te-gl-journey__path { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.te-gl-journey__path::before { content: ""; position: absolute; left: 1.6rem; right: 1.6rem; top: 1.6rem; border-top: 2.5px dashed rgba(124, 200, 230, .55); }
.te-gl-journey__path li { position: relative; display: flex; flex-direction: column; margin: 0; }
.te-gl-journey__dot { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; background: #fff; box-shadow: 0 0 0 6px rgba(124, 200, 230, .18); }
.te-gl-journey__ico { position: relative; display: block; width: 1.3rem; height: 1.3rem; }
.te-gl-journey__ico::before { content: ""; position: absolute; inset: 0; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-gl-journey__path li:last-child .te-gl-journey__dot { background: var(--te-signal); }
.te-gl-journey__path li:last-child .te-gl-journey__ico::before { background: #fff; }
.te-gl-journey__step { margin-top: 1.1rem !important; font-size: 0.8125rem; font-weight: 800; color: var(--te-sky); }
.te-gl-journey__txt { margin: 0.35rem 0 1rem !important; font-size: 0.875rem; line-height: 1.5; color: rgba(255, 255, 255, .8); }
.te-gl-journey__svc { display: flex; flex-direction: column; justify-content: space-between; gap: 0.3rem; box-sizing: border-box; min-height: 5.6rem; margin-top: auto; padding: 0.8rem 0.85rem; border-radius: 10px; background: #fff; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.te-gl-journey__svc h3 { margin: 0; font-size: 0.9375rem !important; line-height: 1.3; color: var(--te-navy); }
.te-gl-journey__svc span { font-size: 0.75rem; font-weight: 700; color: var(--te-signal); }
.te-gl-journey__svc span::after { content: " \203A"; }
.te-gl-journey__svc:hover { transform: translateY(-2px); box-shadow: 0 14px 26px -14px rgba(0, 0, 0, .6); }
.te-gl-journey__svc:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

/* Localization kits: scenario cards with their service bundle */
.te-gl-kits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; }
.te-gl-kit { display: flex; flex-direction: column; padding: 1.4rem 1.4rem 1.3rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 24px 48px -40px rgba(15, 42, 61, .6); }
.te-gl-kit p { margin: 0; }
.te-gl-kit__top { display: flex; align-items: center; justify-content: space-between; }
.te-gl-kit__ico, .te-gl-kit__mini { position: relative; display: block; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 10px; background: var(--te-ice); }
.te-gl-kit__mini { width: 1.6rem; height: 1.6rem; border-radius: 6px; background: #fff; }
.te-gl-kit__ico::before, .te-gl-kit__mini::before { content: ""; position: absolute; inset: 0; margin: auto; width: 55%; height: 55%; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-gl-kit__n { padding: 0.2rem 0.6rem; border-radius: 999px; background: var(--te-navy); color: #fff; font-size: 0.75rem; font-weight: 700; }
.te-gl-kit h3 { margin: 1rem 0 0; font-size: 1.1875rem !important; line-height: 1.3; color: var(--te-navy); }
.te-gl-kit__line { margin-top: 0.4rem !important; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-gl-kit__lbl { margin-top: 1.1rem !important; font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-gl-kit__list { display: grid; gap: 0.45rem; margin: 0.55rem 0 0; padding: 0; list-style: none; }
.te-gl-kit__list li { margin: 0; }
.te-gl-kit__list a { display: flex; align-items: center; gap: 0.65rem; padding: 0.5rem 0.6rem; border-radius: 9px; background: var(--te-cloud); font-size: 0.875rem; font-weight: 700; color: var(--te-navy); text-decoration: none; transition: background-color .15s; }
.te-gl-kit__list a::after { content: ""; flex: none; width: 0.9rem; height: 0.9rem; margin-left: auto; background: #9DB3C2; -webkit-mask: var(--te-i-chevron) center / contain no-repeat; mask: var(--te-i-chevron) center / contain no-repeat; }
.te-gl-kit__list a:hover { background: var(--te-ice); }
.te-gl-kit__go { margin-top: auto; padding-top: 1.1rem; font-size: 0.9375rem; font-weight: 700; color: var(--te-signal); text-decoration: none; }
.te-gl-kit__go::after { content: " \203A"; }
.te-gl-kit__go:hover { text-decoration: underline; text-underline-offset: 3px; }
.te-gl-kit a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

/* The localization cycle: ring and list */
.te-gl-cycle-section { background: linear-gradient(180deg, var(--te-cloud) 0%, #EAF1F6 100%) !important; }
.te-gl-cycle { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; margin-top: 3rem !important; }
.te-gl-ring { position: relative; width: 420px; max-width: 100%; aspect-ratio: 1; margin-inline: auto; --ring-r: 172px; }
.te-gl-ring__track { position: absolute; inset: 9%; border-radius: 50%; background: conic-gradient(from -90deg, var(--te-steel-deep), var(--te-sky), var(--te-signal), var(--te-steel-deep)); -webkit-mask: radial-gradient(circle, transparent 66%, #000 67%); mask: radial-gradient(circle, transparent 66%, #000 67%); }
.te-gl-ring__node { position: absolute; top: 50%; left: 50%; width: 0; height: 0; transform: rotate(var(--a)) translateX(var(--ring-r)) rotate(calc(-1 * var(--a))); }
.te-gl-ring__node span { position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 2.9rem; height: 2.9rem; border: 4px solid #fff; border-radius: 50%; background: var(--te-navy); color: #fff; font-size: 1rem; font-weight: 800; transform: translate(-50%, -50%); box-shadow: 0 10px 22px -10px rgba(15, 42, 61, .7); }
.te-gl-ring__core { position: absolute; inset: 30%; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: #fff; text-align: center; box-shadow: 0 20px 40px -24px rgba(15, 42, 61, .6); }
.te-gl-ring__core b { font-size: 1.0625rem; line-height: 1.25; color: var(--te-navy); }
.te-gl-ring__core span { margin-top: 0.3rem; font-size: 0.8125rem; color: var(--te-slate); }
.te-gl-cycle__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.75rem; margin: 0; padding: 0; list-style: none; counter-reset: te-gl; }
.te-gl-cycle__list li { position: relative; margin: 0; padding: 0.9rem 0 0 2.6rem; border-top: 2px solid #BFCDD8; counter-increment: te-gl; }
.te-gl-cycle__list li::before { content: counter(te-gl); position: absolute; left: 0; top: 0.85rem; display: flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--te-navy); color: #fff; font-size: 0.8125rem; font-weight: 800; }
.te-gl-cycle__list strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-gl-cycle__list span { display: block; margin-top: 0.25rem; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }

/* Engine band */
.te-gl-engine-section { background: radial-gradient(50rem 24rem at 100% 0%, rgba(75, 148, 175, .28), transparent 60%), var(--te-navy) !important; color: #fff; }
.te-gl-engine { display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-gl-engine__intro > * { margin: 0; }
.te-gl-engine__intro .te-eyebrow, .te-gl-engine__intro .te-accent { color: var(--te-sky); }
.te-gl-engine__intro h2 { margin-top: 0.75rem !important; color: #fff; }
.te-gl-engine__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-gl-engine__link { display: inline-block; margin-top: 1.25rem !important; font-weight: 700; color: var(--te-sky); text-underline-offset: 3px; }
.te-gl-engine__link::after { content: " \203A"; }
.te-gl-engine__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-gl-engine__grid li { margin: 0; padding: 1.15rem 1.1rem; border: 1px solid rgba(124, 200, 230, .28); border-radius: 14px; background: rgba(255, 255, 255, .04); }
.te-gl-engine__ico { position: relative; display: block; width: 2.4rem; height: 2.4rem; border-radius: 10px; background: rgba(124, 200, 230, .16); }
.te-gl-engine__ico::before { background: var(--te-sky); }
.te-gl-engine__grid strong { display: block; margin-top: 0.85rem; font-size: 1rem; color: #fff; }
.te-gl-engine__grid li > span:last-child { display: block; margin-top: 0.3rem; font-size: 0.875rem; line-height: 1.5; color: rgba(255, 255, 255, .72); }

/* Languages by region: live world clocks (world-clocks.js sets the times) */
.te-gl-clocks { margin-top: 2.75rem !important; }
.te-gl-clocks__note { display: flex; align-items: center; gap: 0.7rem; margin: 0 0 1.4rem !important; font-size: 1rem; line-height: 1.55; color: var(--te-slate); }
.te-gl-clocks__live { flex: none; width: 0.65rem; height: 0.65rem; border-radius: 50%; background: #2FA36B; box-shadow: 0 0 0 5px rgba(47, 163, 107, .18); }
.te-gl-clocks__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-gl-clocks__grid li { margin: 0; }
.te-gl-clocks__grid a { display: flex; flex-direction: column; align-items: center; height: 100%; box-sizing: border-box; padding: 1.4rem 1rem 1.3rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; text-align: center; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.te-gl-clocks__grid a:hover { border-color: var(--te-steel-deep); box-shadow: 0 20px 36px -26px rgba(15, 42, 61, .6); }
.te-gl-clocks__grid a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-gl-clock { position: relative; display: block; flex: none; width: 88px; height: 88px; border-radius: 50%; background: radial-gradient(circle, var(--te-navy) 0 4px, transparent 4.5px), radial-gradient(circle, var(--te-cloud) 0 64%, transparent 64.5%), repeating-conic-gradient(from -1deg, #9DB3C2 0 2deg, transparent 2deg 30deg), var(--te-cloud); box-shadow: inset 0 0 0 3px var(--te-navy), 0 14px 26px -16px rgba(15, 42, 61, .6); }
.te-gl-clock i { position: absolute; left: 50%; bottom: 50%; display: block; border-radius: 3px; transform-origin: 50% 100%; transform: translateX(-50%) rotate(var(--r, 0deg)); transition: transform .6s var(--te-ease), opacity .3s; }
.te-gl-clock__h { width: 4px; height: 22px; background: var(--te-navy); }
.te-gl-clock__m { width: 3px; height: 32px; background: var(--te-signal); }
.te-gl-clocks:not(.is-live) .te-gl-clock i { opacity: 0; }
.te-gl-clocks__time { min-height: 1.55rem; margin-top: 0.8rem; font-size: 1.125rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--te-navy); }
.te-gl-clocks__city { font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-gl-clocks__status { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 1.4rem; margin-top: 0.45rem; font-size: 0.6875rem; font-weight: 700; color: var(--te-slate); }
.te-gl-clocks__status:empty { visibility: hidden; }
.te-gl-clocks__status::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #9DB3C2; }
.te-gl-clocks__status.is-open { color: #1E7A4C; }
.te-gl-clocks__status.is-open::before { background: #2FA36B; box-shadow: 0 0 0 3px rgba(47, 163, 107, .2); }
.te-gl-clocks__grid h3 { width: 100%; margin: 0.8rem 0 0; padding-top: 0.8rem; border-top: 1px solid var(--te-line); font-size: 1rem !important; line-height: 1.3; color: var(--te-navy); }
.te-gl-clocks__langs { margin-top: 0.35rem; font-size: 0.8125rem; line-height: 1.45; color: var(--te-slate); }
.te-gl-clocks__go { margin-top: auto; padding-top: 0.9rem; font-size: 0.8125rem; font-weight: 700; color: var(--te-steel-deep); }
.te-gl-clocks__go::after { content: " \203A"; }
@media (prefers-reduced-motion: reduce) { .te-gl-clock i, .te-gl-clocks__grid a { transition: none; } }

/* Quote: a boarding pass */
.te-gl-pass-section { background: linear-gradient(135deg, #EAF4F8 0%, #DCEAF1 55%, #CFE2EC 100%) !important; border-block: 1px solid #BFCDD8; }
.te-gl-quote { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-gl-quote__intro > * { margin: 0; }
.te-gl-quote__intro h2 { margin-top: 0.75rem !important; }
.te-gl-quote__intro .te-head__lede { margin-top: 1rem !important; }
.te-gl-quote__alt { margin-top: 1.4rem !important; padding-top: 1.1rem; border-top: 1px solid rgba(15, 42, 61, .16); font-size: 0.9375rem; color: var(--te-slate); }
.te-gl-quote__alt a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-gl-pass { display: grid; grid-template-columns: minmax(0, 1fr) 11rem; filter: drop-shadow(0 30px 40px rgba(15, 42, 61, .3)); }
.te-gl-pass p { margin: 0; }
.te-gl-pass__main { padding: 1.4rem 1.6rem; border-radius: 18px 0 0 18px; background: #fff; -webkit-mask: radial-gradient(circle at 100% 0, transparent 12px, #000 12.5px) top / 100% 51% no-repeat, radial-gradient(circle at 100% 100%, transparent 12px, #000 12.5px) bottom / 100% 51% no-repeat; mask: radial-gradient(circle at 100% 0, transparent 12px, #000 12.5px) top / 100% 51% no-repeat, radial-gradient(circle at 100% 100%, transparent 12px, #000 12.5px) bottom / 100% 51% no-repeat; }
.te-gl-pass__brand { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 1px dashed #BFCDD8; font-size: 0.875rem; font-weight: 800; color: var(--te-navy); }
.te-gl-pass__brand span { font-weight: 600; color: var(--te-signal); }
.te-gl-pass__route { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: 1.1rem 0; }
.te-gl-pass__route div { display: grid; }
.te-gl-pass__route div:last-child { text-align: right; }
.te-gl-pass__route span { font-size: 0.6875rem; font-weight: 700; color: var(--te-slate); }
.te-gl-pass__route b { font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; color: var(--te-navy); }
.te-gl-pass__route em { font-style: normal; font-size: 0.75rem; color: var(--te-slate); }
.te-gl-pass__plane { position: relative; height: 2px; background: repeating-linear-gradient(90deg, #9DB3C2 0 6px, transparent 6px 11px); }
.te-gl-pass__plane::after { content: ""; position: absolute; left: 50%; top: 50%; width: 1.5rem; height: 1.5rem; margin: -0.75rem 0 0 -0.75rem; background: var(--te-signal); -webkit-mask: var(--te-i-globe) center / contain no-repeat; mask: var(--te-i-globe) center / contain no-repeat; }
.te-gl-pass__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem 1.25rem; margin: 0; padding-top: 1rem; border-top: 1px dashed #BFCDD8; }
.te-gl-pass__fields dt { font-size: 0.6875rem; font-weight: 700; color: var(--te-slate); }
.te-gl-pass__fields dd { margin: 0.15rem 0 0; font-size: 0.875rem; font-weight: 600; line-height: 1.4; color: var(--te-navy); }
.te-gl-pass__stub { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.4rem 1rem; border-left: 2px dashed rgba(255, 255, 255, .35); border-radius: 0 18px 18px 0; background: var(--te-navy); color: #fff; -webkit-mask: radial-gradient(circle at 0 0, transparent 12px, #000 12.5px) top / 100% 51% no-repeat, radial-gradient(circle at 0 100%, transparent 12px, #000 12.5px) bottom / 100% 51% no-repeat; mask: radial-gradient(circle at 0 0, transparent 12px, #000 12.5px) top / 100% 51% no-repeat, radial-gradient(circle at 0 100%, transparent 12px, #000 12.5px) bottom / 100% 51% no-repeat; }
.te-gl-pass__gate { display: grid; justify-items: center; font-size: 0.6875rem; font-weight: 700; color: var(--te-sky); }
.te-gl-pass__gate b { font-size: 1.75rem; color: #fff; }
.te-gl-pass__btn { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; border-radius: 8px; background: var(--te-signal); color: #fff; font-size: 0.9375rem; font-weight: 700; text-decoration: none; }
.te-gl-pass__btn:hover { background: #C6420C; color: #fff; }
.te-gl-pass__btn:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-gl-pass__code { width: 100%; height: 42px; background: repeating-linear-gradient(90deg, #fff 0 2px, transparent 2px 4px, #fff 4px 5px, transparent 5px 9px, #fff 9px 12px, transparent 12px 14px); opacity: .85; }

@media (prefers-reduced-motion: reduce) { .te-gl-journey__svc, .te-gl-kit__list a { transition: none; } }
@media (max-width: 1100px) {
	.te-gl-stairs { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.5rem; }
	.te-gl-stairs__step { height: auto; min-height: 8rem; border-radius: 14px; }
	.te-gl-stairs::after { display: none; }
	.te-gl-journey__path { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2rem; }
	.te-gl-journey__path::before { display: none; }
	.te-gl-engine { grid-template-columns: minmax(0, 1fr); }
	.te-gl-kits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-gl-clocks__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-gl-hero__grid, .te-gl-cycle, .te-gl-quote { grid-template-columns: minmax(0, 1fr); }
	.te-gl-orbit { max-width: 460px; }
}
@media (max-width: 760px) {
	.te-gl-engine__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-gl-cycle__list { grid-template-columns: 1fr; }
	.te-gl-pass { grid-template-columns: minmax(0, 1fr); }
	.te-gl-pass__main { border-radius: 18px 18px 0 0; -webkit-mask: none; mask: none; }
	.te-gl-pass__stub { flex-direction: row; border-left: 0; border-top: 2px dashed rgba(255, 255, 255, .35); border-radius: 0 0 18px 18px; -webkit-mask: none; mask: none; }
	.te-gl-pass__code { display: none; }
}
@media (max-width: 600px) {
	.te-gl-orbit { --orbit-w: 92vw; }
	.te-gl-loc__in { padding: 0.25rem 0.45rem; }
	.te-gl-loc__in span { font-size: 0.6875rem; }
	.te-gl-stairs, .te-gl-engine__grid, .te-gl-pass__fields { grid-template-columns: 1fr; }
	.te-gl-clocks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-gl-ring { width: 300px; --ring-r: 123px; }
	.te-gl-journey { padding: 1.5rem 1.1rem; }
	.te-gl-journey__path { grid-template-columns: 1fr; gap: 1.5rem; padding-left: 0.2rem; }
	.te-gl-journey__path li { display: grid; grid-template-columns: 3.2rem 1fr; column-gap: 1rem; }
	.te-gl-journey__dot { grid-row: span 3; }
	.te-gl-journey__step { margin-top: 0.3rem !important; }
	.te-gl-journey__svc { min-height: 0; }
	.te-gl-kits { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Document translation (/solutions/translation-services/): paper, stamps, and seals
   ========================================================================== */
.te-doc-hero { padding-bottom: 0 !important; }
.te-doc-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-doc-hero__copy > * { margin-block: 0; }
.te-doc-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-doc-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-doc-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: source certificate behind its certified translation */
.te-doc-desk { position: relative; min-height: 470px; }
.te-doc-paper { position: absolute; box-sizing: border-box; width: 64%; padding: 1.6rem 1.5rem 1.4rem; border-radius: 4px; font-family: Georgia, "Times New Roman", serif; color: #2B3A46; box-shadow: 0 34px 60px -30px rgba(0, 0, 0, .7); }
.te-doc-paper p { margin: 0; }
.te-doc-paper--src { left: 0; top: 0.5rem; transform: rotate(-4deg); background: #EFE9DA repeating-linear-gradient(0deg, transparent 0 27px, rgba(110, 90, 50, .08) 27px 28px); }
.te-doc-paper--tgt { right: 0; top: 4.5rem; background: #fff; }
.te-doc-paper__crest { font-size: 0.6875rem; letter-spacing: 0.06em; color: #6B7884; text-align: center; }
.te-doc-paper__title { margin-top: 0.35rem !important; padding-bottom: 0.8rem; border-bottom: 3px double #9AA8B3; font-size: 1.3rem; font-weight: 700; text-align: center; color: var(--te-navy); }
.te-doc-paper--src .te-doc-paper__title { color: #5B4A2A; border-color: #BCAE8C; }
.te-doc-paper__rows { margin: 1rem 0 0; }
.te-doc-paper__rows div { display: grid; grid-template-columns: 7.5rem 1fr; gap: 0.6rem; padding: 0.45rem 0; border-bottom: 1px dotted #B9C4CC; font-size: 0.8125rem; }
.te-doc-paper--src .te-doc-paper__rows div { border-color: #CDBF9D; }
.te-doc-paper__rows dt { font-family: Inter, system-ui, sans-serif; font-size: 0.6875rem; font-weight: 600; color: #6B7884; }
.te-doc-paper__rows dd { margin: 0; font-weight: 700; }
.te-doc-paper__stamp { position: absolute; right: 1.2rem; bottom: 1.6rem; padding: 0.4rem 0.7rem; border: 2.5px solid rgba(122, 52, 140, .55); border-radius: 50%; transform: rotate(-14deg); font-family: Inter, system-ui, sans-serif; font-size: 0.6875rem; font-weight: 800; color: rgba(122, 52, 140, .6); }
.te-doc-paper__lines { display: block; width: 55%; height: 3.4rem; margin-top: 1rem; background: repeating-linear-gradient(180deg, rgba(91, 74, 42, .18) 0 2px, transparent 2px 11px); }
.te-doc-paper__note { display: block; margin-top: 0.9rem; font-size: 0.75rem; font-style: italic; color: #6B7884; }
.te-doc-paper__sign { display: flex; flex-direction: column; gap: 0.2rem; width: 52%; margin-top: 1.2rem; font-family: Inter, system-ui, sans-serif; font-size: 0.6875rem; color: #6B7884; }
.te-doc-sig { display: block; height: 2.2rem; border-bottom: 1px solid #9AA8B3; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 40' fill='none' stroke='%231B3A55' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M4 30c10-18 16-24 18-20s-8 22-4 22 14-26 20-24-6 20-1 19 10-14 15-13 0 10 5 10 9-9 14-8 2 7 7 7 20-6 30-9'/%3E%3C/svg%3E") left bottom / auto 100% no-repeat; }
.te-doc-seal { position: absolute; right: -1.1rem; bottom: -1.3rem; display: grid; place-items: center; width: 6.6rem; height: 6.6rem; border-radius: 50%; background: radial-gradient(circle, var(--te-signal) 0 55%, #C7461A 56% 60%, var(--te-signal) 61%); box-shadow: 0 0 0 4px rgba(232, 85, 26, .22), 0 16px 28px -12px rgba(0, 0, 0, .55); transform: rotate(-10deg); }
.te-doc-seal::before { content: ""; position: absolute; inset: 7px; border: 1.5px dashed rgba(255, 255, 255, .6); border-radius: 50%; }
.te-doc-seal span { font-family: Inter, system-ui, sans-serif; font-size: 0.6875rem; font-weight: 800; line-height: 1.25; text-align: center; color: #fff; }
.te-doc-chip { position: absolute; left: 3%; bottom: 0.5rem; display: flex; align-items: center; gap: 0.7rem; padding: 0.7rem 1rem; border-radius: 12px; background: #fff; color: var(--te-ink); box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .7); }
.te-doc-chip i { position: relative; flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: #E3F3EA; }
.te-doc-chip i::before { content: ""; position: absolute; inset: 0; margin: auto; width: 1rem; height: 1rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-doc-chip span { font-size: 0.75rem; color: var(--te-slate); }
.te-doc-chip b { display: block; font-size: 0.875rem; color: var(--te-navy); }

/* The problem: a reviewer's red pen */
.te-doc-red { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; margin-top: 3rem !important; }
.te-doc-review { position: relative; margin: 0; }
.te-doc-review__page { position: relative; padding: 2rem 1.8rem 2.2rem; border: 1px solid #D5DEE5; border-radius: 4px; background: #fff; font-family: Georgia, "Times New Roman", serif; color: #2B3A46; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .55); transform: rotate(-1.2deg); }
.te-doc-review__page p { margin: 0; }
.te-doc-review__title { padding-bottom: 0.8rem; border-bottom: 3px double #9AA8B3; font-size: 1.25rem; font-weight: 700; text-align: center; color: var(--te-navy); }
.te-doc-review__row { display: grid; grid-template-columns: 7rem 1fr; padding: 0.6rem 0; border-bottom: 1px dotted #B9C4CC; font-size: 0.9375rem; }
.te-doc-review__row span { font-family: Inter, system-ui, sans-serif; font-size: 0.75rem; font-weight: 600; color: #6B7884; }
.te-doc-review__row .te-doc-circ { padding: 0.15rem 0.6rem; border: 2px solid #C8312B; border-radius: 50% / 60%; font-family: Georgia, "Times New Roman", serif; font-size: 0.9375rem; font-weight: 700; color: #2B3A46; }
.te-doc-pen { display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; margin-left: 0.3rem; border-radius: 50%; background: #C8312B; font-family: Inter, system-ui, sans-serif; font-size: 0.75rem; font-style: normal; font-weight: 800; color: #fff; vertical-align: middle; }
.te-doc-review__stamp { display: inline-block; margin-top: 1.1rem; padding: 0.35rem 0.7rem; border: 2.5px solid rgba(122, 52, 140, .5); border-radius: 6px; transform: rotate(-6deg); font-family: Inter, system-ui, sans-serif; font-size: 0.75rem; font-weight: 800; color: rgba(122, 52, 140, .65); }
.te-doc-review__miss { margin-top: 1.1rem !important; padding: 0.6rem 0.8rem; border: 1.5px dashed #C8312B; border-radius: 6px; font-family: Inter, system-ui, sans-serif; font-size: 0.8125rem; font-weight: 600; color: #A3241F; }
.te-doc-review__verdict { position: absolute; right: -0.8rem; top: 42%; padding: 0.45rem 0.85rem; border: 3px solid #C8312B; border-radius: 6px; background: rgba(255, 255, 255, .88); transform: rotate(9deg); font-family: Inter, system-ui, sans-serif; font-size: 0.8125rem; font-weight: 800; color: #C8312B; }
.te-doc-review figcaption, .te-doc-certpaper figcaption { margin-top: 1rem; font-family: Inter, system-ui, sans-serif; font-size: 0.75rem; color: var(--te-slate); text-align: center; }
.te-doc-certpaper figcaption { position: absolute; left: 0; right: 0; top: 100%; }
.te-doc-red__list { display: grid; margin: 0; padding: 0; list-style: none; counter-reset: pen; }
.te-doc-red__list li { display: grid; grid-template-columns: 2.25rem 1fr; column-gap: 1rem; margin: 0; padding: 1.1rem 0; border-bottom: 1px solid var(--te-line); counter-increment: pen; }
.te-doc-red__list li:first-child { padding-top: 0; }
.te-doc-red__list li::before { content: counter(pen); grid-row: span 3; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #C8312B; font-size: 0.875rem; font-weight: 800; color: #fff; }
.te-doc-red__list strong { font-size: 1.0625rem; color: var(--te-navy); }
.te-doc-red__list span { margin-top: 0.2rem; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-doc-red__list .te-doc-red__fix { display: flex; gap: 0.45rem; margin-top: 0.45rem; font-weight: 600; color: #1E7A4C; }
.te-doc-red__fix::before { content: ""; flex: none; width: 1rem; height: 1rem; margin-top: 0.2rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Certification levels: three seals */
.te-doc-levels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem !important; }
.te-doc-level { position: relative; display: flex; flex-direction: column; margin-top: 2.6rem; padding: 3.4rem 1.6rem 1.6rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; }
.te-doc-level__seal { position: absolute; left: 1.6rem; top: -2.6rem; display: grid; place-items: center; width: 5.2rem; height: 5.2rem; border-radius: 50%; color: #fff; box-shadow: 0 14px 26px -14px rgba(15, 42, 61, .7); }
.te-doc-level__seal::before { content: ""; position: absolute; inset: 6px; border: 1.5px dashed rgba(255, 255, 255, .55); border-radius: 50%; }
.te-doc-level__seal span { font-size: 0.75rem; font-weight: 800; }
.te-doc-level--cert .te-doc-level__seal { background: var(--te-signal); }
.te-doc-level--notary .te-doc-level__seal { background: var(--te-steel-deep); }
.te-doc-level--apostille .te-doc-level__seal { background: var(--te-navy); }
.te-doc-level--cert { border-color: var(--te-signal); box-shadow: 0 26px 50px -34px rgba(232, 85, 26, .55); }
.te-doc-level h3 { margin: 0; font-size: 1.3rem !important; color: var(--te-navy); }
.te-doc-level__what { margin: 0.6rem 0 0; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }
.te-doc-level dl { margin: auto 0 0; padding-top: 1.2rem; }
.te-doc-level dl div { margin-top: 0.8rem; padding-top: 0.8rem; border-top: 1px solid var(--te-line); }
.te-doc-level dt { font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-doc-level dd { margin: 0.2rem 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--te-ink); }

/* Documents we translate: filing folders */
.te-doc-folders { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3.2rem 1.5rem; margin-top: 3.6rem !important; padding: 0; list-style: none; }
.te-doc-folder { --f-bg: #F6E9C9; --f-edge: #E2CF9F; position: relative; margin: 0; padding: 1.4rem 1.5rem 1.3rem; border-radius: 0 14px 14px 14px; background: var(--f-bg); box-shadow: inset 0 0 0 1px var(--f-edge), 0 22px 40px -30px rgba(15, 42, 61, .6); }
.te-doc-folder:nth-child(3n+2) { --f-bg: #E3EDF3; --f-edge: #BFD1DD; }
.te-doc-folder:nth-child(3n) { --f-bg: #ECEFE1; --f-edge: #CDD3B5; }
.te-doc-folder__tab { position: absolute; left: 0; bottom: calc(100% - 1px); display: flex; align-items: center; gap: 0.55rem; max-width: 94%; box-sizing: border-box; padding: 0.6rem 1.1rem 0.5rem 0.85rem; border-radius: 12px 12px 0 0; background: var(--f-bg); box-shadow: inset 1px 1px 0 0 var(--f-edge), inset -1px 0 0 0 var(--f-edge); }
.te-doc-folder__ico { flex: none; width: 1.1rem; height: 1.1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-doc-folder__tab h3 { margin: 0; font-size: 0.9375rem !important; line-height: 1.25; color: var(--te-navy); }
.te-doc-folder__list { margin: 0; padding: 0; list-style: none; }
.te-doc-folder__list li { position: relative; margin: 0; padding: 0.55rem 0 0.55rem 1.4rem; border-bottom: 1px solid rgba(15, 42, 61, .1); font-size: 0.9375rem; line-height: 1.45; color: var(--te-ink); }
.te-doc-folder__list li:last-child { border-bottom: 0; }
.te-doc-folder__list li::before { content: ""; position: absolute; left: 0; top: 0.8rem; width: 0.75rem; height: 0.9rem; border-radius: 2px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--te-steel); }
.te-doc-folders__note { box-sizing: border-box; margin-top: 2rem !important; padding: 1rem 1.25rem; border-left: 4px solid var(--te-signal); border-radius: 0 10px 10px 0; background: var(--te-cloud); font-size: 1rem; line-height: 1.55; color: var(--te-slate); }
.te-doc-folders__note strong { color: var(--te-navy); }

/* Process: order tracking */
.te-doc-track-section { background: var(--te-navy); color: #fff; }
.te-doc-track { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-doc-track__intro > * { margin: 0; }
.te-doc-track__intro .te-eyebrow { color: var(--te-sky); }
.te-doc-track__intro h2 { margin-top: 0.75rem !important; color: #fff; }
.te-doc-track__intro h2 .te-accent { color: var(--te-sky); }
.te-doc-track__intro .te-head__lede { color: rgba(255, 255, 255, .78); }
.te-doc-order { padding: 1.6rem 1.75rem 1.2rem; border-radius: 18px; background: #fff; color: var(--te-ink); box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .8); }
.te-doc-order__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--te-line); font-size: 0.8125rem; color: var(--te-slate); }
.te-doc-order__head b { display: block; font-size: 1rem; color: var(--te-navy); }
.te-doc-order__eta { flex: none; padding: 0.35rem 0.75rem; border-radius: 999px; background: #E3F3EA; font-weight: 700; color: #1E7A4C; }
.te-doc-order__steps { margin: 0; padding: 0.4rem 0 0; list-style: none; }
.te-doc-order__steps li { position: relative; display: grid; grid-template-columns: 1.6rem 1fr; column-gap: 1rem; margin: 0; padding: 0.85rem 0; }
.te-doc-order__steps li:not(:last-child)::after { content: ""; position: absolute; left: calc(0.8rem - 1px); top: 2.45rem; bottom: -0.85rem; width: 2px; background: #D5DEE5; }
.te-doc-order__steps li.is-done::after { background: var(--te-steel); }
.te-doc-order__dot { position: relative; z-index: 1; width: 1.6rem; height: 1.6rem; box-sizing: border-box; border: 2px solid #C3D0DA; border-radius: 50%; background: #fff; }
.te-doc-order__steps .is-done .te-doc-order__dot { border-color: var(--te-steel); background: var(--te-steel); }
.te-doc-order__steps .is-done .te-doc-order__dot::before { content: ""; position: absolute; inset: 0; margin: auto; width: 0.85rem; height: 0.85rem; background: #fff; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-doc-order__steps .is-now .te-doc-order__dot { border-color: var(--te-signal); box-shadow: 0 0 0 5px rgba(232, 85, 26, .18); }
.te-doc-order__steps .is-now .te-doc-order__dot::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--te-signal); }
.te-doc-order__steps strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-doc-order__steps .is-now strong { color: #B8410F; }
.te-doc-order__steps div span { display: block; margin-top: 0.15rem; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }
.te-doc-order__foot { margin: 0.4rem 0 0; font-size: 0.75rem; color: var(--te-slate); text-align: right; }

/* Certificate anatomy */
.te-doc-cert { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-doc-cert__intro > * { margin: 0; }
.te-doc-cert__intro h2 { margin-top: 0.75rem !important; }
.te-doc-cert__list { display: grid; gap: 1.1rem; margin-top: 2rem !important; padding: 0; list-style: none; counter-reset: pin; }
.te-doc-cert__list li { display: grid; grid-template-columns: 2rem 1fr; column-gap: 1rem; margin: 0; counter-increment: pin; }
.te-doc-cert__list li::before { content: counter(pin); grid-row: span 2; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--te-navy); font-size: 0.8125rem; font-weight: 800; color: #fff; }
.te-doc-cert__list strong { font-size: 1.0625rem; color: var(--te-navy); }
.te-doc-cert__list span { margin-top: 0.15rem; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-doc-certpaper { position: relative; margin: 0 0 2rem; padding: 2.4rem 2rem 2.6rem; border: 1px solid #D5DEE5; border-radius: 4px; background: #fff linear-gradient(var(--te-navy), var(--te-navy)) 0 0 / 100% 6px no-repeat; font-family: Georgia, "Times New Roman", serif; color: #2B3A46; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .55); }
.te-doc-certpaper p { margin: 0; }
.te-doc-certpaper__h { padding-bottom: 0.9rem; border-bottom: 3px double #9AA8B3; font-size: 1.2rem; font-weight: 700; color: var(--te-navy); }
.te-doc-certpaper__p { margin-top: 1rem !important; font-size: 0.9375rem; line-height: 1.65; }
.te-doc-certpaper__sig { display: grid; grid-template-columns: minmax(0, 14rem) auto; align-items: end; justify-content: start; column-gap: 0.4rem; margin-top: 1.6rem; font-family: Inter, system-ui, sans-serif; font-size: 0.75rem; color: #6B7884; }
.te-doc-certpaper__sig > span:nth-child(2) { grid-column: 1; margin-top: 0.3rem; }
.te-doc-certpaper__sig .te-doc-pin { grid-column: 2; grid-row: 1; }
.te-doc-pin { display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; margin-left: 0.35rem; border-radius: 50%; background: var(--te-navy); font-family: Inter, system-ui, sans-serif; font-size: 0.75rem; font-style: normal; font-weight: 800; color: #fff; vertical-align: middle; box-shadow: 0 0 0 4px rgba(75, 148, 175, .25); }
.te-doc-certpaper .te-doc-seal--sm { right: 1.6rem; bottom: 2rem; width: 5.2rem; height: 5.2rem; transform: rotate(-12deg); }
.te-doc-seal--sm span { font-size: 0.625rem; }

/* Quote: a receipt */
.te-doc-quote { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-doc-quote__intro > * { margin: 0; }
.te-doc-quote__intro h2 { margin-top: 0.75rem !important; }
.te-doc-quote__points { display: grid; gap: 0.8rem; margin-top: 1.75rem !important; padding: 0; list-style: none; }
.te-doc-quote__points li { position: relative; margin: 0; padding-left: 1.8rem; font-size: 1rem; line-height: 1.55; color: var(--te-slate); }
.te-doc-quote__points li::before { content: ""; position: absolute; left: 0; top: 0.2rem; width: 1.15rem; height: 1.15rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-doc-quote__points strong { color: var(--te-navy); }
.te-doc-receipt { position: relative; justify-self: center; width: 100%; max-width: 26rem; box-sizing: border-box; padding: 1.9rem 1.8rem 2.4rem; background: #fff; filter: drop-shadow(0 26px 30px rgba(15, 42, 61, .2)); }
.te-doc-receipt::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 10px; background: radial-gradient(circle at 9px 0, #fff 6px, transparent 6.5px) 0 0 / 18px 10px repeat-x; }
.te-doc-receipt p { margin: 0; }
.te-doc-receipt__brand { padding-bottom: 1rem; border-bottom: 2px dashed #C3D0DA; font-size: 1.05rem; font-weight: 800; color: var(--te-navy); text-align: center; }
.te-doc-receipt__brand span { display: block; margin-top: 0.15rem; font-size: 0.8125rem; font-weight: 500; color: var(--te-slate); }
.te-doc-receipt__lines { margin: 0.6rem 0 0; }
.te-doc-receipt__lines div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0; border-bottom: 1px dotted #C3D0DA; font-size: 0.875rem; }
.te-doc-receipt__lines dt { color: var(--te-slate); }
.te-doc-receipt__lines dd { margin: 0; font-weight: 700; text-align: right; color: var(--te-ink); }
.te-doc-receipt__total { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-top: 1rem !important; padding-top: 0.9rem; border-top: 2px solid var(--te-navy); }
.te-doc-receipt__total span { font-size: 0.875rem; font-weight: 700; color: var(--te-navy); }
.te-doc-receipt__total b { font-size: 1rem; color: #B8410F; text-align: right; }
.te-doc-receipt__btn { display: block; margin-top: 1.4rem; padding: 0.9rem 1rem; border-radius: 10px; background: var(--te-navy); color: #fff !important; font-weight: 700; text-align: center; text-decoration: none; }
.te-doc-receipt__btn:hover { background: var(--te-steel-deep); }
.te-doc-receipt__alt { display: block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 600; text-align: center; color: var(--te-steel-deep); }
.te-doc-receipt__btn:focus-visible, .te-doc-receipt__alt:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-doc-receipt__note { margin-top: 0.9rem !important; font-size: 0.6875rem; text-align: center; color: var(--te-slate); }

/* Related services */
.te-doc-related { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem !important; padding: 0; list-style: none; }
.te-doc-related li { margin: 0; }
.te-doc-related a { display: flex; gap: 0.9rem; height: 100%; box-sizing: border-box; padding: 1.25rem; border: 1.5px solid #8FA8BA; border-radius: 14px; background: #fff; text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.te-doc-related a:hover { border-color: var(--te-steel-deep); box-shadow: 0 20px 36px -26px rgba(15, 42, 61, .6); }
.te-doc-related a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-doc-related__ico { flex: none; width: 1.4rem; height: 1.4rem; margin-top: 0.1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-doc-related strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-doc-related a > span:last-child > span { display: block; margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }

@media (prefers-reduced-motion: reduce) { .te-doc-related a { transition: none; } }
@media (max-width: 1100px) {
	.te-doc-folders, .te-doc-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-doc-hero__grid, .te-doc-red, .te-doc-track, .te-doc-cert, .te-doc-quote { grid-template-columns: minmax(0, 1fr); }
	.te-doc-desk { width: 100%; max-width: 560px; }
	.te-doc-levels { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
}
@media (max-width: 600px) {
	.te-doc-desk { min-height: 430px; }
	.te-doc-paper { width: 84%; padding: 1.2rem 1rem; }
	.te-doc-paper__rows div { grid-template-columns: 5.4rem 1fr; }
	.te-doc-seal { right: -0.4rem; width: 5.2rem; height: 5.2rem; }
	.te-doc-chip { left: 0; }
	.te-doc-review__page { padding: 1.5rem 1.1rem 1.8rem; }
	.te-doc-review__row { grid-template-columns: 5.6rem 1fr; }
	.te-doc-review__verdict { right: 0; }
	.te-doc-folders, .te-doc-related { grid-template-columns: minmax(0, 1fr); }
	.te-doc-order, .te-doc-certpaper { padding-inline: 1.15rem; }
	.te-doc-certpaper .te-doc-seal--sm { top: -1.9rem; bottom: auto; right: -0.3rem; width: 4.4rem; height: 4.4rem; }
	.te-doc-certpaper__h { padding-right: 3rem; }
	.te-doc-order__head { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   Regulated translation (/iso-certifications/): controlled documents and audit trails
   ========================================================================== */
.te-reg-hero { padding-bottom: 0 !important; }
.te-reg-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-reg-hero__copy > * { margin-block: 0; }
.te-reg-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-reg-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-reg-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: a controlled document with every language on the same revision */
.te-reg-ctrl { position: relative; padding: 1.5rem; border-radius: 16px; background: #fff; color: var(--te-ink); box-shadow: 0 40px 70px -36px rgba(0, 0, 0, .8); }
.te-reg-ctrl::before { content: ""; position: absolute; inset: 0.6rem -0.6rem -0.6rem 0.6rem; z-index: -1; border-radius: 16px; background: rgba(255, 255, 255, .14); }
.te-reg-ctrl__head { display: grid; gap: 0.15rem; padding-bottom: 1rem; border-bottom: 1px solid var(--te-line); }
.te-reg-ctrl__badge { justify-self: start; margin-bottom: 0.45rem; padding: 0.25rem 0.6rem; border: 1.5px solid var(--te-navy); border-radius: 4px; font-size: 0.6875rem; font-weight: 800; color: var(--te-navy); }
.te-reg-ctrl__head b { font-size: 1.2rem; color: var(--te-navy); }
.te-reg-ctrl__head > span:last-child { font-size: 0.8125rem; color: var(--te-slate); }
.te-reg-ctrl__meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-bottom: 1px solid var(--te-line); }
.te-reg-ctrl__meta div { padding: 0.8rem 0.6rem 0.8rem 0; }
.te-reg-ctrl__meta div + div { padding-left: 0.8rem; border-left: 1px solid var(--te-line); }
.te-reg-ctrl__meta dt { font-size: 0.6875rem; font-weight: 600; color: var(--te-slate); }
.te-reg-ctrl__meta dd { margin: 0.15rem 0 0; font-size: 0.9375rem; font-weight: 800; color: var(--te-navy); }
.te-reg-ctrl__meta dd.is-ok { color: #1E7A4C; }
.te-reg-ctrl__label { margin: 1rem 0 0.6rem; font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-reg-ctrl__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.te-reg-ctrl__grid li { display: grid; justify-items: center; margin: 0; padding: 0.45rem 0.2rem 0.4rem; border: 1px solid #CFE5D8; border-radius: 6px; background: #F1F8F4; animation: te-reg-in .45s var(--te-ease) both; animation-delay: calc(var(--d) * 45ms + 200ms); }
.te-reg-ctrl__grid b { font-size: 0.8125rem; color: var(--te-navy); }
.te-reg-ctrl__grid span { font-size: 0.6875rem; font-weight: 600; color: #1E5E3C; }
.te-reg-ctrl__sign { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; margin-top: 1.1rem; padding-top: 1rem; border-top: 1px dashed #C3D0DA; font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-reg-ctrl__sign span { display: inline-flex; align-items: center; gap: 0.4rem; }
.te-reg-ctrl__sign i { position: relative; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #1E7A4C; }
.te-reg-ctrl__sign i::before { content: ""; position: absolute; inset: 0; margin: auto; width: 0.7rem; height: 0.7rem; background: #fff; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
@keyframes te-reg-in { from { opacity: 0; transform: translateY(4px); } }

/* The risk: findings on a likelihood x impact map, moved to low risk by our controls */
.te-reg-sev { display: inline-block; padding: 0.25rem 0.6rem; border-radius: 6px; font-size: 0.75rem; font-weight: 800; white-space: nowrap; }
.te-reg-sev--major { background: #FBE4E2; color: #A3241F; }
.te-reg-sev--minor { background: #FCEFD9; color: #8A5300; }
.te-reg-sev--observation { background: #E3EDF3; color: var(--te-steel-deep); }
.te-reg-risk { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 3.5rem); align-items: center; margin-top: 3rem !important; margin-bottom: 0 !important; }
.te-reg-risk__map { margin: 0; padding: 1.5rem; border: 1.5px solid #8FA8BA; border-radius: 18px; background: #fff; }
.te-reg-risk__map svg { display: block; width: 100%; height: auto; font-family: Inter, system-ui, sans-serif; }
.te-reg-risk__path { stroke: #0F2A3D; stroke-width: 1.5; stroke-dasharray: 4 4; opacity: .6; }
.te-reg-risk__n { font-size: 14px; font-weight: 800; fill: #fff; text-anchor: middle; }
.te-reg-risk__n--ok { font-size: 12px; fill: #1E7A4C; }
.te-reg-risk__axis { font-size: 12px; font-weight: 700; fill: #4A5B68; text-anchor: middle; }
.te-reg-risk__map figcaption { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.4rem; margin-top: 0.6rem; font-size: 0.8125rem; font-weight: 600; color: var(--te-slate); }
.te-reg-risk__map figcaption span { display: flex; align-items: center; gap: 0.4rem; }
.te-reg-risk__map figcaption i { width: 0.85rem; height: 0.85rem; box-sizing: border-box; border-radius: 50%; }
.te-reg-risk__map .is-before { background: #C8312B; }
.te-reg-risk__map .is-after { border: 3px solid #1E7A4C; }
.te-reg-risk__list { margin: 0; padding: 0; list-style: none; counter-reset: risk; }
.te-reg-risk__list li { position: relative; margin: 0; padding: 1rem 0 1rem 3.2rem; border-bottom: 1px solid var(--te-line); counter-increment: risk; }
.te-reg-risk__list li:first-child { padding-top: 0; }
.te-reg-risk__list li::before { content: counter(risk); position: absolute; left: 0; top: 1rem; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #C8312B; font-size: 0.875rem; font-weight: 800; color: #fff; }
.te-reg-risk__list li:first-child::before { top: 0; }
.te-reg-risk__head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.6rem; }
.te-reg-risk__head h3 { margin: 0; font-size: 1.0625rem !important; line-height: 1.35; color: var(--te-navy); }
.te-reg-risk__finding { margin: 0.25rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }
.te-reg-risk__control { display: flex; gap: 0.45rem; margin: 0.4rem 0 0; font-size: 0.9375rem; font-weight: 600; line-height: 1.5; color: #1E5E3C; }
.te-reg-risk__control::before { content: ""; flex: none; width: 1rem; height: 1rem; margin-top: 0.2rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Industries: a regulatory matrix */
.te-reg-matrix { margin-top: 3rem !important; }
.te-reg-matrix__cols, .te-reg-matrix__row { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); gap: 1.75rem; }
.te-reg-matrix__cols { padding: 0 1.5rem 0.8rem; font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-reg-matrix__row { align-items: start; margin-top: 0.75rem; padding: 1.4rem 1.5rem; border: 1px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-reg-matrix__row h3 { display: flex; gap: 0.7rem; margin: 0; font-size: 1.0625rem !important; line-height: 1.35; color: var(--te-navy); }
.te-reg-matrix__ico { flex: none; width: 1.3rem; height: 1.3rem; margin-top: 0.05rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-reg-matrix__row p { margin: 0; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-reg-matrix__how p { color: var(--te-ink); font-weight: 600; }
.te-reg-matrix__k { display: none; }

/* ISO certifications: framed certificates */
.te-reg-certs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-reg-cert { margin: 0; }
.te-reg-cert__frame { display: grid; place-items: center; align-content: center; gap: 0.6rem; aspect-ratio: 16 / 10; padding: 1.2rem; border: 10px solid #fff; border-radius: 6px; background: #FBFAF6 radial-gradient(circle at 50% 120%, rgba(75, 148, 175, .12), transparent 60%); box-shadow: 0 0 0 1px #C3D0DA, inset 0 0 0 1px #D9CFAE, inset 0 0 0 6px #FBFAF6, inset 0 0 0 7px #D9CFAE, 0 26px 44px -30px rgba(15, 42, 61, .6); text-align: center; }
.te-reg-cert__std { font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight: 900; letter-spacing: -0.01em; color: var(--te-navy); }
.te-reg-cert__rule { width: 5rem; height: 3px; border-radius: 2px; background: var(--te-signal); }
.te-reg-cert__of { font-family: Georgia, "Times New Roman", serif; font-size: 0.875rem; font-style: italic; color: #6B7884; }
.te-reg-cert h3 { margin: 1.3rem 0 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-reg-cert h3 span { font-weight: 500; color: var(--te-slate); }
.te-reg-cert p { margin: 0.45rem 0 0; font-size: 0.9375rem; line-height: 1.6; color: var(--te-slate); }

/* Process: a documented workflow beside the project file */
.te-reg-trail-section { background: var(--te-navy); color: #fff; }
.te-reg-trail { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; margin-top: 3rem !important; }
.te-reg-trail__steps { margin: 0; padding: 0; list-style: none; counter-reset: step; }
.te-reg-trail__steps li { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem 1.5rem; align-items: center; margin: 0; padding: 1.15rem 0 1.15rem 3.4rem; border-top: 1px solid rgba(255, 255, 255, .14); counter-increment: step; }
.te-reg-trail__steps li::before { content: counter(step); position: absolute; left: 0; top: 1.15rem; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 2px solid var(--te-sky); border-radius: 50%; font-size: 0.875rem; font-weight: 800; color: var(--te-sky); }
.te-reg-trail__body h3 { margin: 0; font-size: 1.0625rem !important; color: #fff; }
.te-reg-trail__body p { margin: 0.25rem 0 0; font-size: 0.9375rem; line-height: 1.55; color: rgba(255, 255, 255, .74); }
.te-reg-trail__rec { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.45rem 0.8rem; border-radius: 8px; background: rgba(124, 200, 230, .12); font-size: 0.8125rem; font-weight: 700; color: var(--te-sky); white-space: nowrap; }
.te-reg-trail__rec i { position: relative; width: 1rem; height: 1rem; background: var(--te-sky); -webkit-mask: var(--te-i-file) center / contain no-repeat; mask: var(--te-i-file) center / contain no-repeat; }
.te-reg-binder { position: sticky; top: 7rem; display: grid; grid-template-columns: 2.6rem 1fr; border-radius: 10px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-reg-binder__spine { display: grid; place-items: center; border-radius: 10px 0 0 10px; background: var(--te-signal); writing-mode: vertical-rl; transform: rotate(180deg); font-size: 0.75rem; font-weight: 800; color: #fff; }
.te-reg-binder__page { padding: 1.5rem 1.4rem; border-radius: 0 10px 10px 0; background: #fff; color: var(--te-ink); }
.te-reg-binder__page b { display: block; font-size: 1.1rem; color: var(--te-navy); }
.te-reg-binder__page > span { font-size: 0.8125rem; color: var(--te-slate); }
.te-reg-binder__page ul { margin: 1rem 0 0; padding: 0; list-style: none; }
.te-reg-binder__page li { position: relative; margin: 0; padding: 0.6rem 0 0.6rem 1.7rem; border-top: 1px solid var(--te-line); font-size: 0.875rem; font-weight: 600; color: var(--te-navy); }
.te-reg-binder__page li::before { content: ""; position: absolute; left: 0; top: 0.75rem; width: 1rem; height: 1rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Back-translation: four lanes */
.te-reg-bt { margin-top: 3rem !important; margin-bottom: 0 !important; }
.te-reg-bt__lanes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; overflow: hidden; }
.te-reg-bt__lanes li { position: relative; margin: 0; padding: 1.5rem 1.4rem 1.6rem; }
.te-reg-bt__lanes li + li { border-left: 1px solid var(--te-line); }
.te-reg-bt__lanes li:not(:last-child)::after { content: ""; position: absolute; right: -0.7rem; top: 1.5rem; z-index: 1; width: 1.4rem; height: 1.4rem; border: 1px solid var(--te-line); border-radius: 50%; background: #fff var(--te-i-chevron) center / 0.8rem no-repeat; }
.te-reg-bt__k { display: block; font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-reg-bt__k em { display: block; font-style: normal; font-weight: 600; color: var(--te-slate); }
.te-reg-bt__lanes p { margin: 0.8rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.0625rem; line-height: 1.55; color: var(--te-navy); }
.te-reg-bt__lanes .te-reg-bt__rec { background: #F1F8F4; }
.te-reg-bt__rec .te-reg-bt__k { color: #1E7A4C; }
.te-reg-bt__rec p { font-family: inherit; font-size: 0.9375rem; color: var(--te-ink); }
.te-reg-bt__stamp { display: inline-block; margin-top: 1rem; padding: 0.3rem 0.75rem; border: 2.5px solid #1E7A4C; border-radius: 6px; transform: rotate(-4deg); font-size: 0.8125rem; font-weight: 800; color: #1E7A4C; }
.te-reg-bt figcaption { margin-top: 1rem; font-size: 0.875rem; line-height: 1.55; color: var(--te-slate); }

/* Supplier qualification */
.te-reg-qual { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-reg-qual__photo { margin: 0; }
.te-reg-qual__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; border: 1px solid #BFCDD8; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .6); }
.te-reg-qual__body > * { margin: 0; }
.te-reg-qual__body h2 { margin-top: 0.75rem !important; }
.te-reg-pack { margin-top: 1.75rem !important; padding: 1.4rem 1.5rem; border: 1.5px solid #8FA8BA; border-radius: 14px; background: #fff; }
.te-reg-pack__h { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: 1.0625rem; font-weight: 800; color: var(--te-navy); }
.te-reg-pack__h span { width: 1.3rem; height: 1.3rem; background: var(--te-signal); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-reg-pack ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1.5rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.te-reg-pack li { position: relative; margin: 0; padding-left: 1.6rem; font-size: 0.9375rem; line-height: 1.45; color: var(--te-ink); }
.te-reg-pack li::before { content: ""; position: absolute; left: 0; top: 0.15rem; width: 1rem; height: 1rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-reg-pack__btn { display: inline-block; margin-top: 1.3rem; padding: 0.75rem 1.2rem; border-radius: 10px; background: var(--te-navy); color: #fff !important; font-weight: 700; text-decoration: none; }
.te-reg-pack__btn:hover { background: var(--te-steel-deep); }

/* Quote: a project specification */
.te-reg-scope { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); grid-template-areas: "intro form" "ctas form"; gap: 1.75rem clamp(2rem, 5vw, 4.5rem); align-items: start; }
.te-reg-scope__intro { grid-area: intro; align-self: end; }
.te-reg-scope__intro > * { margin: 0; }
.te-reg-scope__intro h2 { margin-top: 0.75rem !important; }
.te-reg-form { grid-area: form; padding: 1.6rem 1.7rem; border-radius: 16px; background: #fff; border: 1.5px solid #8FA8BA; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .6); }
.te-reg-form__h { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin: 0; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-reg-form__h b { font-size: 1.1rem; color: var(--te-navy); }
.te-reg-form__h span { font-size: 0.75rem; color: var(--te-slate); }
.te-reg-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem 1.2rem; margin: 1.1rem 0 0; }
.te-reg-form__fields div { padding: 0.65rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-reg-form__fields dt { font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-reg-form__fields dd { margin: 0.15rem 0 0; font-size: 0.9375rem; font-weight: 600; color: var(--te-ink); }
.te-reg-form__fields .te-reg-form__wide { grid-column: 1 / -1; }
.te-reg-form__wide dd { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.45rem; }
.te-reg-form__wide dd span { padding: 0.3rem 0.65rem; border: 1px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.8125rem; font-weight: 600; color: var(--te-slate); }
.te-reg-form__wide dd span.is-on { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-reg-scope__ctas { grid-area: ctas; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; }
.te-reg-scope__btn { display: inline-block; padding: 0.9rem 1.4rem; border-radius: 10px; background: var(--te-navy); color: #fff !important; font-weight: 700; text-decoration: none; }
.te-reg-scope__btn:hover { background: var(--te-steel-deep); }
.te-reg-scope__alt { font-weight: 600; color: var(--te-steel-deep); }
.te-reg-scope__btn:focus-visible, .te-reg-scope__alt:focus-visible, .te-reg-pack__btn:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .te-reg-ctrl__grid li { animation: none; } }
@media (max-width: 1100px) {
	.te-reg-matrix__cols { display: none; }
	.te-reg-matrix__row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 1.5rem; }
	.te-reg-matrix__row h3 { grid-column: 1 / -1; }
	.te-reg-matrix__k { display: block; margin-bottom: 0.25rem; font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
	.te-reg-bt__lanes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-reg-bt__lanes li:nth-child(3) { border-left: 0; }
	.te-reg-bt__lanes li:nth-child(n+3) { border-top: 1px solid var(--te-line); }
	.te-reg-bt__lanes li:nth-child(2)::after { display: none; }
}
@media (max-width: 1024px) {
	.te-reg-hero__grid, .te-reg-trail, .te-reg-qual, .te-reg-risk { grid-template-columns: minmax(0, 1fr); }
	.te-reg-risk__map { max-width: 480px; }
	.te-reg-ctrl { max-width: 560px; }
	.te-reg-binder { position: static; max-width: 420px; }
	.te-reg-scope { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "form" "ctas"; }
	.te-reg-certs { grid-template-columns: minmax(0, 1fr); max-width: 520px; }
}
@media (max-width: 760px) {
	.te-reg-matrix__row { grid-template-columns: minmax(0, 1fr); }
	.te-reg-trail__steps li { grid-template-columns: minmax(0, 1fr); }
	.te-reg-trail__rec { justify-self: start; white-space: normal; }
}
@media (max-width: 600px) {
	.te-reg-ctrl { padding: 1.1rem; }
	.te-reg-ctrl__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-reg-ctrl__meta div:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid var(--te-line); }
	.te-reg-ctrl__meta div:nth-child(4) { border-top: 1px solid var(--te-line); }
	.te-reg-ctrl__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.te-reg-matrix__row { padding-inline: 1.1rem; }
	.te-reg-risk__map { padding: 1rem; }
	.te-reg-bt__lanes { grid-template-columns: minmax(0, 1fr); }
	.te-reg-bt__lanes li + li { border-left: 0; border-top: 1px solid var(--te-line); }
	.te-reg-bt__lanes li:not(:last-child)::after { display: none; }
	.te-reg-pack ul, .te-reg-form__fields { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   Machine translation post-editing: a translation editor, segment by segment
   ========================================================================== */
.te-mt-hero { padding-bottom: 0 !important; }
.te-mt-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-mt-hero__copy > * { margin-block: 0; }
.te-mt-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-mt-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-mt-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: the editor */
.te-mt-ed { overflow: hidden; border-radius: 14px; background: #fff; color: var(--te-ink); box-shadow: 0 40px 70px -36px rgba(0, 0, 0, .85); }
.te-mt-ed p { margin: 0; }
.te-mt-ed__bar { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 1rem; background: #E9EFF4; border-bottom: 1px solid #C3D0DA; font-size: 0.75rem; color: var(--te-slate); }
.te-mt-ed__bar b { font-size: 0.8125rem; color: var(--te-navy); }
.te-mt-ed__bar > span:last-child { margin-left: auto; padding: 0.15rem 0.5rem; border-radius: 4px; background: #fff; font-weight: 700; color: var(--te-steel-deep); }
.te-mt-ed__dots { display: flex; gap: 0.3rem; }
.te-mt-ed__dots i { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: #C3D0DA; }
.te-mt-ed__seg { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) minmax(0, 1.25fr) 5.2rem; gap: 0.8rem; align-items: start; padding: 0.85rem 1rem; border-bottom: 1px solid var(--te-line); font-size: 0.8125rem; line-height: 1.5; }
.te-mt-ed__seg.is-done { opacity: .75; }
.te-mt-ed__seg.is-active { background: #FFF8EF; box-shadow: inset 3px 0 0 var(--te-signal); }
.te-mt-ed__no { font-size: 0.6875rem; font-weight: 700; color: var(--te-slate); padding-top: 0.1rem; }
.te-mt-ed__tgt { display: grid; gap: 0.45rem; }
.te-mt-ed__mt, .te-mt-ed__pe { padding: 0.45rem 0.55rem; border-radius: 6px; }
.te-mt-ed__mt { background: #F1F4F7; color: var(--te-slate); }
.te-mt-ed__pe { position: relative; background: #fff; box-shadow: 0 0 0 1.5px var(--te-signal); color: var(--te-ink); }
.te-mt-ed__mt > span, .te-mt-ed__pe > span { display: block; margin-bottom: 0.15rem; font-size: 0.625rem; font-weight: 800; color: var(--te-steel-deep); }
.te-mt-ed__pe > span { color: #B8410F; }
.te-mt-ed del { color: #B3261E; text-decoration-thickness: 1.5px; }
.te-mt-ed ins { padding: 0 0.15rem; border-radius: 3px; background: #DDF1E5; color: #1E6B45; text-decoration: none; font-weight: 700; }
.te-mt-ed__caret { display: inline-block; width: 2px; height: 1em; margin-left: 2px; vertical-align: -0.15em; background: var(--te-signal); animation: te-mt-blink 1s steps(1) infinite; }
.te-mt-ed__draft { color: var(--te-slate); font-style: italic; }
.te-mt-ed__st { justify-self: end; padding: 0.2rem 0.45rem; border-radius: 4px; background: #F1F4F7; font-size: 0.625rem; font-weight: 800; color: var(--te-slate); white-space: nowrap; }
.te-mt-ed__st.is-ok { background: #E3F3EA; color: #1E7A4C; }
.te-mt-ed__st.is-edit { background: #FDE7DA; color: #B8410F; }
.te-mt-ed__glossary { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.8rem; padding: 0.7rem 1rem; border-bottom: 1px solid var(--te-line); background: #F6F9FB; font-size: 0.75rem; color: var(--te-slate); }
.te-mt-ed__glossary b { color: var(--te-navy); }
.te-mt-ed__glossary em { font-style: normal; font-weight: 700; color: #1E6B45; }
.te-mt-ed__foot { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 1rem; font-size: 0.6875rem; font-weight: 600; color: var(--te-slate); }
.te-mt-ed__lvl { padding: 0.15rem 0.5rem; border-radius: 999px; background: var(--te-navy); color: #fff; }
.te-mt-ed__prog { flex: 1; height: 6px; border-radius: 3px; background: #E1E8EE; overflow: hidden; }
.te-mt-ed__prog i { display: block; height: 100%; background: var(--te-steel); }
@keyframes te-mt-blink { 50% { opacity: 0; } }

/* The problem: a reviewer marks up raw machine output */
.te-mt-rev { margin-top: 3rem !important; margin-bottom: 0 !important; overflow: hidden; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 34px 60px -44px rgba(15, 42, 61, .6); }
.te-mt-rev p { margin: 0; }
.te-mt-rev__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.8rem 1.5rem; padding: 1.1rem 1.6rem; background: var(--te-navy); font-size: 0.8125rem; color: rgba(255, 255, 255, .72); }
.te-mt-rev__head b { display: block; font-size: 1.05rem; color: #fff; }
.te-mt-rev__tally { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; font-weight: 700; color: #fff; }
.te-mt-rev__dot { display: inline-flex; align-items: center; gap: 0.4rem; }
.te-mt-rev__dot::before { content: ""; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: var(--c); }
.te-mt-rev__dot--critical, .te-mt-rev__row--critical { --c: #C8312B; --bg: #FBE4E2; --fg: #A3241F; }
.te-mt-rev__dot--major, .te-mt-rev__row--major { --c: #E0702E; --bg: #FDE7DA; --fg: #A34512; }
.te-mt-rev__dot--minor, .te-mt-rev__row--minor { --c: #D4A93A; --bg: #FCEFD9; --fg: #8A5300; }
.te-mt-rev__cols, .te-mt-rev__row { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.te-mt-rev__cols { border-bottom: 1px solid #C3D0DA; font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-mt-rev__cols span { padding: 0.8rem 1.6rem 0.7rem 4.4rem; }
.te-mt-rev__cols span + span { padding-left: 1.6rem; background: #F1F8F4; color: #1E7A4C; }
.te-mt-rev__list { margin: 0; padding: 0; list-style: none; counter-reset: rev; }
.te-mt-rev__row { margin: 0; border-bottom: 1px solid #E1E8EE; counter-increment: rev; }
.te-mt-rev__row:last-child { border-bottom: 0; }
.te-mt-rev__line { position: relative; padding: 1.15rem 1.6rem 1.15rem 4.4rem; }
.te-mt-rev__line::before { content: counter(rev); position: absolute; left: 1.5rem; top: 1.15rem; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--c); font-size: 0.8125rem; font-weight: 800; color: #fff; }
.te-mt-rev__mt { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; line-height: 1.55; color: var(--te-navy); }
.te-mt-rev__bad { -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 0.15rem; background: transparent; color: inherit; border: 2px solid var(--c); border-radius: 40% / 60%; box-shadow: 0 0 0 2px var(--bg); }
.te-mt-rev__src { margin-top: 0.3rem !important; font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }
.te-mt-rev__src abbr { margin-right: 0.3rem; font-weight: 800; color: var(--te-steel-deep); text-decoration: none; }
.te-mt-rev__note { position: relative; padding: 1.15rem 1.6rem; background: #F1F8F4; }
.te-mt-rev__note::before { content: ""; position: absolute; left: -1.4rem; top: 1.9rem; width: 1.4rem; border-top: 2px dashed var(--c); }
.te-mt-rev__tag { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; }
.te-mt-rev__tag b { color: var(--te-navy); }
.te-mt-rev__tag span { padding: 0.15rem 0.5rem; border-radius: 5px; background: var(--bg); color: var(--fg); font-size: 0.6875rem; font-weight: 800; }
.te-mt-rev__fix { margin-top: 0.4rem !important; font-family: Georgia, "Times New Roman", serif; font-size: 1.02rem; line-height: 1.55; color: var(--te-ink); }
.te-mt-rev__good { padding: 0 0.2rem; border-radius: 3px; background: #DDF1E5; color: #1E6B45; font-weight: 700; }
.te-mt-rev__why { margin-top: 0.3rem !important; font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }
.te-mt-rev__cap { margin-top: 0.9rem !important; font-size: 0.8125rem; color: var(--te-slate); }

/* Post-editing levels: an effort gauge */
.te-mt-gauge { margin-top: 3rem !important; }
.te-mt-gauge__scale { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin-bottom: 1.25rem; font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-mt-gauge__scale i { height: 8px; border-radius: 4px; background: linear-gradient(90deg, #9DB3C2, var(--te-steel), var(--te-navy) 70%, var(--te-signal)); }
.te-mt-gauge__stops { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.te-mt-stop { display: flex; flex-direction: column; margin: 0; padding: 1.4rem 1.3rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-mt-stop--light, .te-mt-stop--full { border-color: var(--te-steel); }
.te-mt-stop--full { box-shadow: 0 26px 46px -32px rgba(15, 42, 61, .6); }
.te-mt-stop--raw { background: transparent; border-style: dashed; }
.te-mt-stop__meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; width: 5.5rem; margin-bottom: 1rem; }
.te-mt-stop__meter i { height: 6px; border-radius: 3px; background: #D5DEE5; }
.te-mt-stop--light .te-mt-stop__meter i:nth-child(-n+2), .te-mt-stop--full .te-mt-stop__meter i:nth-child(-n+3), .te-mt-stop--human .te-mt-stop__meter i { background: var(--te-steel-deep); }
.te-mt-stop--raw .te-mt-stop__meter i:first-child { background: #9DB3C2; }
.te-mt-stop--human .te-mt-stop__meter i { background: var(--te-signal); }
.te-mt-stop h3 { margin: 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-mt-stop__goal { margin: 0.45rem 0 0; font-size: 0.9375rem; line-height: 1.55; font-weight: 600; color: var(--te-ink); }
.te-mt-stop dl { margin: auto 0 0; padding-top: 1rem; }
.te-mt-stop dl div { margin-top: 0.8rem; padding-top: 0.8rem; border-top: 1px solid var(--te-line); }
.te-mt-stop dt { font-size: 0.75rem; font-weight: 800; color: #1E7A4C; }
.te-mt-stop dl div + div dt { color: #A3241F; }
.te-mt-stop dd { margin: 0.2rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }

/* Content fit: a decision tree, one question at a time */
.te-mt-tree { position: relative; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-mt-tree__step::before { content: ""; position: absolute; left: 1.4rem; top: 0; bottom: 0; width: 3px; margin-left: -1.5px; background: var(--te-navy); }
.te-mt-tree__step:first-child::before { top: calc(50% - 0.875rem); }
.te-mt-tree__step:last-child::before { bottom: 50%; }
.te-mt-tree__step { position: relative; display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 3rem; align-items: center; margin: 0; padding: 0 0 1.75rem; }
.te-mt-tree__step:last-child { padding-bottom: 0; }
.te-mt-tree__q { display: flex; align-items: center; gap: 1.1rem; margin: 0; font-size: 1.2rem !important; line-height: 1.35; color: var(--te-navy); }
.te-mt-tree__n { position: relative; z-index: 1; flex: none; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 7px; background: var(--te-navy); transform: rotate(45deg); box-shadow: 0 0 0 5px #fff; }
.te-mt-tree__n span { transform: rotate(-45deg); font-size: 1rem; font-weight: 800; color: #fff; }
.te-mt-tree__branch { position: relative; display: grid; gap: 1rem; }
.te-mt-tree__path { position: relative; display: flex; align-items: center; gap: 0.8rem; }
.te-mt-tree__path::before { content: ""; position: absolute; right: calc(100% + 0.6rem); top: 50%; width: 2rem; border-top: 2px dashed #9DB3C2; }
/* Two outcomes: a forked connector joins both rows to the question. */
.te-mt-tree__branch--two::before { content: ""; position: absolute; right: calc(100% + 1.8rem); top: 50%; width: 0.8rem; border-top: 2px dashed #9DB3C2; }
.te-mt-tree__branch--two .te-mt-tree__path::before { width: 1.2rem; }
.te-mt-tree__branch--two .te-mt-tree__path::after { content: ""; position: absolute; left: -1.8rem; border-left: 2px dashed #9DB3C2; }
.te-mt-tree__branch--two .te-mt-tree__path:first-child::after { top: 50%; bottom: -0.5rem; }
.te-mt-tree__branch--two .te-mt-tree__path:last-child::after { top: -0.5rem; bottom: 50%; }
.te-mt-tree__ans { flex: none; align-self: center; box-sizing: border-box; min-width: 4.8rem; padding: 0.3rem 0.75rem; border-radius: 999px; font-size: 0.75rem; font-weight: 800; text-align: center; }
.te-mt-tree__ans.is-yes { background: var(--te-navy); color: #fff; }
.te-mt-tree__ans.is-no { background: #E3EDF3; color: var(--te-steel-deep); }
.te-mt-tree__out { flex: 1; height: 100%; box-sizing: border-box; padding: 1.1rem 1.25rem; border: 1.5px solid #C3D0DA; border-left: 6px solid var(--c); border-radius: 12px; background: #fff; }
.te-mt-tree__out--go { --c: #2FA36B; }
.te-mt-tree__out--check { --c: #E0A12E; }
.te-mt-tree__out--human { --c: var(--te-signal); }
.te-mt-tree__out p { margin: 0.25rem 0 0; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-mt-tree__out .te-mt-tree__title { margin: 0; font-size: 1.05rem; font-weight: 800; color: var(--te-navy); }
.te-mt-tree__out ul { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin: 0.6rem 0 0; padding: 0; list-style: none; }
.te-mt-tree__out li { margin: 0; font-size: 0.875rem; font-weight: 600; }
.te-mt-tree__out a { color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }
.te-mt-tree__out a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

/* Process: machine and human swimlanes */
.te-mt-pipe-section { background: var(--te-navy); color: #fff; }
.te-mt-pipe { position: relative; margin-top: 3rem !important; }
.te-mt-pipe__lanes { position: absolute; inset: 0; display: grid; grid-template-rows: 1fr 1fr; pointer-events: none; }
.te-mt-pipe__lanes span { display: flex; align-items: center; padding-left: 0.9rem; border-radius: 12px; font-size: 0.75rem; font-weight: 800; writing-mode: vertical-rl; transform: rotate(180deg); justify-content: center; width: 2.4rem; }
.te-mt-pipe__lanes .is-human { background: rgba(232, 85, 26, .16); color: #FFB591; }
.te-mt-pipe__lanes .is-machine { background: rgba(124, 200, 230, .12); color: var(--te-sky); margin-top: 0.6rem; }
.te-mt-pipe__lanes::before, .te-mt-pipe__lanes::after { content: ""; position: absolute; left: 3rem; right: 0; height: calc(50% - 0.3rem); border-radius: 12px; }
.te-mt-pipe__lanes::before { top: 0; background: rgba(232, 85, 26, .07); }
.te-mt-pipe__lanes::after { bottom: 0; background: rgba(124, 200, 230, .07); }
.te-mt-pipe__steps { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: auto auto; gap: 0.6rem 0.9rem; margin: 0 0 0 3rem; padding: 0; list-style: none; }
.te-mt-pipe__step { position: relative; margin: 0; padding: 1.1rem 0.9rem 1.2rem; }
.te-mt-pipe__step.is-human { grid-row: 1; }
.te-mt-pipe__step.is-machine { grid-row: 2; }
.te-mt-pipe__step:nth-child(1) { grid-column: 1; } .te-mt-pipe__step:nth-child(2) { grid-column: 2; } .te-mt-pipe__step:nth-child(3) { grid-column: 3; }
.te-mt-pipe__step:nth-child(4) { grid-column: 4; } .te-mt-pipe__step:nth-child(5) { grid-column: 5; } .te-mt-pipe__step:nth-child(6) { grid-column: 6; }
.te-mt-pipe__node { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; font-size: 0.875rem; font-weight: 800; }
.te-mt-pipe__step.is-human .te-mt-pipe__node { background: var(--te-signal); color: #fff; }
.te-mt-pipe__step.is-machine .te-mt-pipe__node { border: 2px solid var(--te-sky); color: var(--te-sky); border-radius: 8px; }
.te-mt-pipe__step h3 { margin: 0.8rem 0 0; font-size: 1rem !important; line-height: 1.3; color: #fff; }
.te-mt-pipe__step p { margin: 0.35rem 0 0; font-size: 0.8125rem; line-height: 1.55; color: rgba(255, 255, 255, .74); }

/* Quality dashboard */
.te-mt-qual { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-mt-qual__intro > * { margin: 0; }
.te-mt-qual__intro h2 { margin-top: 0.75rem !important; }
.te-mt-qual__points { display: grid; gap: 0.75rem; margin-top: 1.6rem !important; padding: 0; list-style: none; }
.te-mt-qual__points li { margin: 0; padding-left: 1rem; border-left: 3px solid var(--te-steel); font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-mt-qual__points strong { color: var(--te-navy); }
.te-mt-dash { margin: 0; padding: 1.5rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -42px rgba(15, 42, 61, .6); }
.te-mt-dash__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-mt-dash__head b { font-size: 1.1rem; color: var(--te-navy); }
.te-mt-dash__head span { font-size: 0.8125rem; color: var(--te-slate); }
.te-mt-dash__cols, .te-mt-dash li { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr) 6.5rem; gap: 1rem; align-items: center; }
.te-mt-dash__cols { padding: 0.8rem 0 0.4rem; font-size: 0.6875rem; font-weight: 800; color: var(--te-steel-deep); }
.te-mt-dash__cols span:last-child, .te-mt-dash__err { text-align: right; }
.te-mt-dash ul { margin: 0; padding: 0; list-style: none; }
.te-mt-dash li { margin: 0; padding: 0.7rem 0; border-top: 1px solid var(--te-line); font-size: 0.875rem; }
.te-mt-dash__lang { font-weight: 700; color: var(--te-navy); }
.te-mt-dash__bar { position: relative; display: flex; align-items: center; gap: 0.6rem; height: 1.2rem; }
.te-mt-dash__bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--te-steel), var(--te-steel-deep)); }
.te-mt-dash__bar b { font-size: 0.8125rem; color: var(--te-ink); }
.te-mt-dash__err { font-weight: 700; color: var(--te-ink); }
.te-mt-dash figcaption { margin-top: 0.9rem; font-size: 0.75rem; color: var(--te-slate); }

/* Free tools vs. our workflow */
.te-mt-vs { margin-top: 3rem !important; overflow: hidden; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; }
.te-mt-vs__cols, .te-mt-vs__row { display: grid; grid-template-columns: minmax(0, 0.6fr) minmax(0, 1fr) minmax(0, 1fr); }
.te-mt-vs__cols span { padding: 1rem 1.4rem; font-size: 0.875rem; font-weight: 800; }
.te-mt-vs__cols .is-free { background: #F6F0EE; color: #8A3A33; }
.te-mt-vs__cols .is-te { background: var(--te-navy); color: #fff; }
.te-mt-vs__row { border-top: 1px solid var(--te-line); }
.te-mt-vs__row h3 { margin: 0; padding: 1.1rem 1.4rem; font-size: 1rem !important; color: var(--te-navy); }
.te-mt-vs__row p { display: flex; gap: 0.55rem; margin: 0; padding: 1.1rem 1.4rem; font-size: 0.9375rem; line-height: 1.5; }
.te-mt-vs__row p.is-free { background: #FCF8F7; color: var(--te-slate); }
.te-mt-vs__row p.is-te { background: #F1F8F4; color: var(--te-ink); font-weight: 600; }
.te-mt-vs__row p::before { content: ""; flex: none; width: 1rem; height: 1rem; margin-top: 0.2rem; -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-mt-vs__row p.is-free::before { --te-ico: var(--te-i-minus); background: #C8312B; }
.te-mt-vs__row p.is-te::before { --te-ico: var(--te-i-check); background: #1E7A4C; }

/* Pilot */
.te-mt-pilot { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); grid-template-areas: "photo intro" "plan plan"; gap: 2.5rem clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-mt-pilot__photo { grid-area: photo; position: relative; margin: 0; }
.te-mt-pilot__photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; border: 1px solid #BFCDD8; }
.te-mt-pilot__photo figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: 0.5rem 0.9rem; border-radius: 999px; background: rgba(15, 42, 61, .9); color: #fff; font-size: 0.8125rem; font-weight: 600; }
.te-mt-pilot__intro { grid-area: intro; }
.te-mt-pilot__intro > * { margin: 0; }
.te-mt-pilot__intro h2 { margin-top: 0.75rem !important; }
.te-mt-pilot__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin-top: 1.75rem !important; }
.te-mt-pilot__btn { display: inline-block; padding: 0.9rem 1.4rem; border-radius: 10px; background: var(--te-navy); color: #fff !important; font-weight: 700; text-decoration: none; }
.te-mt-pilot__btn:hover { background: var(--te-steel-deep); }
.te-mt-pilot__alt { font-weight: 600; color: var(--te-steel-deep); }
.te-mt-pilot__btn:focus-visible, .te-mt-pilot__alt:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-mt-pilot__plan { grid-area: plan; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; counter-reset: pilot; border: 1.5px solid #8FA8BA; border-radius: 14px; background: #fff; overflow: hidden; }
.te-mt-pilot__plan li { position: relative; margin: 0; padding: 1.3rem 1.3rem 1.4rem 3.6rem; counter-increment: pilot; }
.te-mt-pilot__plan li + li { border-left: 1px solid var(--te-line); }
.te-mt-pilot__plan li::before { content: counter(pilot); position: absolute; left: 1.2rem; top: 1.25rem; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--te-navy); font-size: 0.8125rem; font-weight: 800; color: #fff; }
.te-mt-pilot__plan b { display: block; font-size: 1rem; color: var(--te-navy); }
.te-mt-pilot__plan span { display: block; margin-top: 0.25rem; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }

@media (prefers-reduced-motion: reduce) { .te-mt-ed__caret { animation: none; } }
@media (max-width: 1100px) {
	.te-mt-gauge__stops { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-mt-pipe__lanes { display: none; }
	.te-mt-pipe__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; margin-left: 0; }
	.te-mt-pipe__step.is-human, .te-mt-pipe__step.is-machine { grid-row: auto; grid-column: auto !important; border-radius: 12px; }
	.te-mt-pipe__step.is-human { background: rgba(232, 85, 26, .1); }
	.te-mt-pipe__step.is-machine { background: rgba(124, 200, 230, .08); }
	.te-mt-pilot__plan { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-mt-pilot__plan li:nth-child(3) { border-left: 0; }
	.te-mt-pilot__plan li:nth-child(n+3) { border-top: 1px solid var(--te-line); }
}
@media (max-width: 1024px) {
	.te-mt-hero__grid, .te-mt-qual { grid-template-columns: minmax(0, 1fr); }
	.te-mt-tree__step { grid-template-columns: minmax(0, 1fr); gap: 0.9rem; padding-left: 4rem; }
	.te-mt-tree__q { margin-left: -4rem; }
	.te-mt-tree__step:first-child::before { top: 1.4rem; }
	.te-mt-tree__step:last-child::before { bottom: auto; height: 1.4rem; }
	.te-mt-tree__branch::before, .te-mt-tree__path::before, .te-mt-tree__path::after { display: none !important; }
	.te-mt-ed { max-width: 620px; }
	.te-mt-pilot { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "photo" "plan"; }
}
@media (max-width: 760px) {
	.te-mt-vs__cols { display: none; }
	.te-mt-vs__row { grid-template-columns: minmax(0, 1fr); }
	.te-mt-vs__row h3 { padding-bottom: 0.4rem; }
	.te-mt-pipe__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.te-mt-ed__seg { grid-template-columns: 1.8rem minmax(0, 1fr); }
	.te-mt-ed__seg > p:nth-of-type(1) { grid-column: 2; }
	.te-mt-ed__seg > :nth-child(3) { grid-column: 2; }
	.te-mt-ed__st { grid-column: 2; justify-self: start; }
	.te-mt-rev__cols { display: none; }
	.te-mt-rev__row { grid-template-columns: minmax(0, 1fr); }
	.te-mt-rev__line { padding: 1rem 1.1rem 0.8rem 3.4rem; }
	.te-mt-rev__line::before { left: 1rem; top: 1rem; }
	.te-mt-rev__note { margin: 0 1.1rem 1rem 3.4rem; padding: 0.8rem 0.9rem; border-radius: 10px; }
	.te-mt-rev__note::before { display: none; }
	.te-mt-rev__head { padding-inline: 1.1rem; }
	.te-mt-gauge__stops, .te-mt-pipe__steps, .te-mt-pilot__plan { grid-template-columns: minmax(0, 1fr); }
	.te-mt-pilot__plan li + li { border-left: 0; border-top: 1px solid var(--te-line); }
	.te-mt-tree__path { flex-direction: column; align-items: stretch; }
	.te-mt-tree__ans { align-self: flex-start; }
	.te-mt-dash { padding: 1.1rem; }
	.te-mt-dash__cols, .te-mt-dash li { grid-template-columns: 5.2rem minmax(0, 1fr) 3.4rem; gap: 0.6rem; }
	.te-mt-dash__cols span:last-child { font-size: 0; }
	.te-mt-dash__cols span:last-child::after { content: "Errors"; font-size: 0.6875rem; }
}

/* ==========================================================================
   On-site interpreting (/solutions/government-translation-interpretation-services/): the assignment, the room
   ========================================================================== */
.te-os-hero { padding-bottom: 0 !important; }
.te-os-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-os-hero__copy > * { margin-block: 0; }
.te-os-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-os-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-os-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: event photo, interpreter badge, confirmation card */
.te-os-stage { position: relative; padding: 2.5rem 0 3rem 2.5rem; }
.te-os-stage__photo { margin: 0; }
.te-os-stage__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-os-badge { position: absolute; left: 0; top: 0; display: grid; gap: 0.2rem; width: 11.5rem; padding: 1.6rem 1rem 1rem; border-radius: 12px; background: #fff; color: var(--te-ink); box-shadow: 0 26px 40px -22px rgba(0, 0, 0, .7); transform: rotate(-5deg); }
.te-os-badge__clip { position: absolute; left: 50%; top: -0.9rem; width: 2.2rem; height: 1.6rem; margin-left: -1.1rem; border-radius: 6px 6px 3px 3px; background: linear-gradient(#C9D3DB, #8E9BA6); box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .2); }
.te-os-badge__clip::after { content: ""; position: absolute; left: 50%; top: 0.45rem; width: 1rem; height: 0.35rem; margin-left: -0.5rem; border-radius: 3px; background: #5D6B76; }
.te-os-badge__role { justify-self: start; padding: 0.2rem 0.55rem; border-radius: 4px; background: var(--te-signal); font-size: 0.6875rem; font-weight: 800; color: #fff; }
.te-os-badge b { margin-top: 0.4rem; font-size: 1.05rem; line-height: 1.25; color: var(--te-navy); }
.te-os-badge__where { font-size: 0.75rem; color: var(--te-slate); }
.te-os-badge__bar { display: block; height: 1.6rem; margin-top: 0.5rem; background: repeating-linear-gradient(90deg, var(--te-navy) 0 2px, transparent 2px 4px, var(--te-navy) 4px 5px, transparent 5px 8px); opacity: .85; }
.te-os-conf { position: absolute; right: -0.5rem; bottom: 0; width: 15rem; padding: 1rem 1.1rem; border-radius: 12px; background: #fff; color: var(--te-ink); box-shadow: 0 26px 44px -22px rgba(0, 0, 0, .75); }
.te-os-conf p { margin: 0; }
.te-os-conf__h { display: flex; align-items: center; gap: 0.5rem; padding-bottom: 0.7rem; border-bottom: 1px solid var(--te-line); font-size: 0.875rem; font-weight: 800; color: var(--te-navy); }
.te-os-conf__h i { position: relative; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: #1E7A4C; }
.te-os-conf__h i::before { content: ""; position: absolute; inset: 0; margin: auto; width: 0.8rem; height: 0.8rem; background: #fff; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-os-conf dl { display: grid; gap: 0.35rem; margin: 0.7rem 0 0; }
.te-os-conf dl div { display: grid; grid-template-columns: 4.6rem 1fr; gap: 0.5rem; font-size: 0.8125rem; }
.te-os-conf dt { color: var(--te-slate); }
.te-os-conf dd { margin: 0; font-weight: 700; color: var(--te-ink); }
.te-os-conf dd.is-ok { color: #1E7A4C; }

/* The problem: one bad day, failures above the line, controls below */
.te-os-day { margin-top: 3rem !important; }
.te-os-day p { margin: 0; }
.te-os-day__lbl { font-size: 0.75rem; font-weight: 800; }
.te-os-day__lbl--risk { color: #B3261E; }
.te-os-day__lbl--fix { margin-top: 0.8rem !important; color: #1E7A4C; }
.te-os-day__track { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: auto auto auto; column-gap: 1rem; margin: 0.8rem 0 0; padding: 0; list-style: none; }
.te-os-day__track li { position: relative; display: grid; grid-row: span 3; grid-template-rows: subgrid; margin: 0; }
/* The day line: one segment per column, darkening toward the afternoon. */
.te-os-day__track li::before { content: ""; grid-row: 2; grid-column: 1; align-self: center; height: 4px; margin: 0 -0.5rem; background: var(--seg, #C8312B); }
.te-os-day__track li:first-child::before { margin-left: 0; border-radius: 2px 0 0 2px; }
.te-os-day__track li:last-child::before { margin-right: 0; border-radius: 0 2px 2px 0; }
.te-os-day__track li:nth-child(1) { --seg: #F2B0A9; }
.te-os-day__track li:nth-child(2) { --seg: #E99189; }
.te-os-day__track li:nth-child(3) { --seg: #DF7168; }
.te-os-day__track li:nth-child(4) { --seg: #D35048; }
.te-os-day__track li:nth-child(5) { --seg: #C8312B; }
.te-os-day__risk { grid-row: 1; padding: 1rem 1.05rem; border: 1px solid #F0C3BF; border-bottom: 3px solid #C8312B; border-radius: 12px 12px 4px 4px; background: #FCF3F2; }
.te-os-day__risk time { font-size: 0.8125rem; font-weight: 800; font-variant-numeric: tabular-nums; color: #B3261E; }
.te-os-day__risk h3 { margin: 0.25rem 0 0; font-size: 1rem !important; line-height: 1.3; color: var(--te-navy); }
.te-os-day__risk p { margin-top: 0.35rem; font-size: 0.82rem; line-height: 1.5; color: var(--te-slate); }
.te-os-day__pin { grid-row: 2; grid-column: 1; position: relative; z-index: 1; justify-self: center; width: 1.2rem; height: 1.2rem; margin: 0.8rem 0; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px #C8312B; }
.te-os-day__fix { grid-row: 3; padding: 1rem 1.05rem; border: 1px solid #BFE0CC; border-top: 3px solid #1E7A4C; border-radius: 4px 4px 12px 12px; background: #F1F8F4; }
.te-os-day__fix p { display: flex; gap: 0.45rem; font-size: 0.85rem; font-weight: 600; line-height: 1.5; color: #1E5E3C; }
.te-os-day__fix p::before { content: ""; flex: none; width: 0.95rem; height: 0.95rem; margin-top: 0.2rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Modes: floor plans seen from above */
.te-os-modes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-os-mode { display: flex; flex-direction: column; margin: 0; padding: 1.2rem 1.2rem 1.4rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-os-plan { position: relative; display: block; aspect-ratio: 4 / 3; margin-bottom: 1.1rem; border-radius: 10px; background: #F4F7F9 linear-gradient(#E3EAF0 1px, transparent 1px) 0 0 / 100% 14px, linear-gradient(90deg, #E3EAF0 1px, transparent 1px) 0 0 / 14px 100%; background-color: #F7F9FB; overflow: hidden; box-shadow: inset 0 0 0 1px #DCE4EA; }
.te-os-plan i { position: absolute; display: block; }
.te-os-plan__table { left: 30%; right: 30%; top: 38%; bottom: 38%; border-radius: 8px; background: #CFDCE6; box-shadow: inset 0 0 0 2px #B3C5D3; }
.te-os-plan__table--long { left: 16%; right: 16%; top: 42%; bottom: 42%; }
.te-os-plan__booth { left: 24%; right: 24%; top: 8%; height: 26%; border-radius: 6px; background: #fff; box-shadow: inset 0 0 0 2px var(--te-navy); }
.te-os-plan__path { left: 8%; right: 8%; top: 46%; height: 2px; border-top: 2px dashed #9DB3C2; transform: rotate(-14deg); }
.te-os-plan__machine { left: var(--x); top: var(--y); width: 18%; height: 20%; border-radius: 4px; background: #CFDCE6; box-shadow: inset 0 0 0 2px #B3C5D3; }
.te-os-p { position: absolute; left: var(--x); top: var(--y); width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; }
.te-os-p--a { background: var(--te-steel); }
.te-os-p--b { background: var(--te-navy); }
.te-os-p--int { width: 18px; height: 18px; margin: -9px 0 0 -9px; background: var(--te-signal); box-shadow: 0 0 0 4px rgba(232, 85, 26, .22); }
.te-os-p--hs { width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; background: #fff; box-shadow: 0 0 0 2.5px var(--te-steel-deep); }
.te-os-plan--whispered .te-os-p--int { box-shadow: 0 0 0 4px rgba(232, 85, 26, .22), 14px -10px 0 -4px rgba(232, 85, 26, .35); }
.te-os-mode h3 { margin: 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-os-mode p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-os-mode .te-os-mode__best { margin-top: auto; padding-top: 0.9rem; color: var(--te-ink); }
.te-os-mode__best strong { display: block; font-size: 0.75rem; color: var(--te-steel-deep); }
.te-os-mode__more { margin-top: 0.7rem; font-size: 0.875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-os-legend { display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; margin-top: 1.2rem !important; font-size: 0.8125rem; color: var(--te-slate); }
.te-os-legend span { display: inline-flex; align-items: center; gap: 0.4rem; }
.te-os-legend .te-os-p { position: static; margin: 0; }

/* Where we work: an elevator panel beside six office doors with brass plaques */
.te-os-dir { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 2.5rem; align-items: start; margin-top: 3rem !important; }
.te-os-dir p { margin: 0; }
.te-os-lift { position: sticky; top: 7rem; padding: 1.3rem 1.2rem 1.4rem; border-radius: 14px; background: linear-gradient(145deg, #E9EDF0, #B9C3CB); box-shadow: inset 0 0 0 1px #fff, 0 26px 40px -26px rgba(15, 42, 61, .6); }
.te-os-lift__disp { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem !important; padding: 0.55rem 0.8rem; border-radius: 6px; background: #0F1A22; font-size: 0.75rem; font-weight: 800; color: #F4A261; }
.te-os-lift__disp span { font-size: 0.7rem; }
.te-os-lift ol { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.te-os-lift li { margin: 0; }
.te-os-lift a { display: flex; align-items: center; gap: 0.8rem; border-radius: 999px; font-size: 0.8125rem; font-weight: 700; color: var(--te-navy); text-decoration: none; }
.te-os-lift__btn { display: grid; place-items: center; flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, #C9D3DB); box-shadow: inset 0 -2px 3px rgba(0, 0, 0, .2), 0 0 0 2px #8E9BA6; font-weight: 800; color: var(--te-navy); transition: box-shadow .2s, color .2s; }
.te-os-lift a:hover .te-os-lift__btn, .te-os-lift a:focus-visible .te-os-lift__btn { box-shadow: inset 0 -2px 3px rgba(0, 0, 0, .2), 0 0 0 2px var(--te-signal), 0 0 12px 3px rgba(232, 85, 26, .45); color: var(--te-signal); }
.te-os-lift a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-os-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.te-os-door { margin: 0; padding: 1.2rem 1.2rem 1.3rem; border: 1.5px solid #C3D0DA; border-radius: 6px 6px 12px 12px; background: linear-gradient(180deg, #fff, #F7F9FB); box-shadow: inset 0 6px 0 var(--te-navy); scroll-margin-top: 8rem; transition: border-color .3s, box-shadow .3s; }
.te-os-door:target { border-color: var(--te-signal); box-shadow: inset 0 6px 0 var(--te-signal), 0 20px 36px -24px rgba(232, 85, 26, .55); }
.te-os-door__plaque { display: grid; grid-template-columns: auto 1fr; gap: 0.2rem 0.8rem; align-items: center; margin-top: 0.4rem; padding: 0.85rem 1rem; border-radius: 6px; background: linear-gradient(135deg, #C9A96B, #E8D3A2 45%, #B88F4E); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6), 0 6px 12px -8px rgba(0, 0, 0, .5); }
.te-os-door__no { grid-column: 1 / -1; font-size: 0.6875rem; font-weight: 800; color: #4F3A12; }
.te-os-door__ico { width: 1.4rem; height: 1.4rem; background: #3E2E10; -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-os-door__plaque h3 { margin: 0; font-size: 1.1rem !important; color: #2E220C; }
.te-os-door__what { margin-top: 1rem !important; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-os-door__note { margin-top: 0.7rem !important; padding-top: 0.7rem; border-top: 1px solid var(--te-line); font-size: 0.875rem; font-weight: 700; line-height: 1.45; color: #1E5E3C; }
@media (prefers-reduced-motion: reduce) { .te-os-lift__btn, .te-os-door { transition: none; } }

/* Team interpreting */
.te-os-team { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-os-team__photo { position: relative; margin: 0; }
.te-os-team__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; border: 1px solid #BFCDD8; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .6); }
.te-os-team__photo figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: 0.5rem 0.9rem; border-radius: 999px; background: rgba(15, 42, 61, .9); color: #fff; font-size: 0.8125rem; font-weight: 600; }
.te-os-team__body > * { margin: 0; }
.te-os-team__body h2 { margin-top: 0.75rem !important; }
.te-os-rota { margin: 1.75rem 0 0 !important; padding: 1.1rem 1.2rem; border: 1.5px solid #8FA8BA; border-radius: 14px; background: #fff; }
.te-os-rota__bar { display: grid; grid-template-columns: repeat(6, 1fr); gap: 3px; height: 2.6rem; }
.te-os-rota__bar span { display: grid; place-items: center; border-radius: 6px; font-size: 0.875rem; font-weight: 800; color: #fff; }
.te-os-rota__bar span:first-child { border-radius: 8px 4px 4px 8px; }
.te-os-rota__bar span:last-child { border-radius: 4px 8px 8px 4px; }
.te-os-rota .is-a { background: var(--te-steel-deep); }
.te-os-rota .is-b { background: var(--te-signal); }
.te-os-rota__ticks { display: flex; justify-content: space-between; margin-top: 0.4rem; font-size: 0.75rem; font-variant-numeric: tabular-nums; color: var(--te-slate); }
.te-os-rota figcaption { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; margin-top: 0.8rem; font-size: 0.8125rem; color: var(--te-slate); }
.te-os-rota figcaption span { display: inline-flex; align-items: center; gap: 0.4rem; }
.te-os-rota figcaption i { width: 0.8rem; height: 0.8rem; border-radius: 3px; }
.te-os-team__note { margin-top: 1rem !important; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }

/* Booking: an itinerary */
.te-os-trip { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-os-trip::before { content: ""; position: absolute; left: 1.3rem; right: calc(20% - 1.3rem); top: 1.3rem; border-top: 2px dashed #9DB3C2; }
.te-os-trip li { position: relative; margin: 0; }
.te-os-trip__dot { position: relative; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--te-navy); box-shadow: 0 0 0 6px #fff; font-weight: 800; color: #fff; }
.te-os-trip li:nth-child(4) .te-os-trip__dot { background: var(--te-signal); }
.te-os-trip h3 { margin: 1rem 0 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-os-trip p { margin: 0.35rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Government band */
.te-os-gov-section { background: var(--te-navy); color: #fff; }
.te-os-gov { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-os-gov__intro > * { margin: 0; }
.te-os-gov__intro .te-eyebrow { color: var(--te-sky); }
.te-os-gov__intro h2 { margin-top: 0.75rem !important; color: #fff; }
.te-os-gov__intro h2 .te-accent { color: var(--te-sky); }
.te-os-gov__intro .te-head__lede { color: rgba(255, 255, 255, .78); }
.te-os-gov__link { display: inline-block; margin-top: 1.4rem !important; font-weight: 700; color: var(--te-sky); }
.te-os-gov__link:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-os-gov__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.te-os-gov__facts div { padding: 1.2rem 1.25rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; background: rgba(255, 255, 255, .04); }
.te-os-gov__facts dt { font-size: 1rem; font-weight: 800; color: #fff; }
.te-os-gov__facts dd { margin: 0.35rem 0 0; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .74); }

/* Request an interpreter */
.te-os-book { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-os-book__intro > * { margin: 0; }
.te-os-book__intro h2 { margin-top: 0.75rem !important; }
.te-os-book__tip { margin-top: 1.5rem !important; padding: 1rem 1.2rem; border-left: 4px solid var(--te-signal); border-radius: 0 10px 10px 0; background: #fff; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-os-book__tip strong { color: var(--te-navy); }
.te-os-req { padding: 1.6rem 1.7rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .6); }
.te-os-req p { margin: 0; }
.te-os-req__h { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-os-req__h b { font-size: 1.1rem; color: var(--te-navy); }
.te-os-req__h span { font-size: 0.75rem; color: var(--te-slate); }
.te-os-req dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem 1rem; margin: 1.1rem 0 0; }
.te-os-req dl div { padding: 0.6rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-os-req dt { font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-os-req dd { margin: 0.15rem 0 0; font-size: 0.9375rem; font-weight: 600; color: var(--te-ink); }
.te-os-req__form { margin: 0; }
.te-os-req__modes { margin: 0.8rem 0 0; padding: 0.6rem 0.8rem 0.75rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-os-req__modes legend { float: left; width: 100%; padding: 0; font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-os-req__chip { position: relative; display: inline-block; margin: 0.45rem 0.4rem 0 0; cursor: pointer; }
.te-os-req__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-os-req__chip span { display: inline-block; padding: 0.4rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.8125rem; font-weight: 600; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-os-req__chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-os-req__chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-os-req__chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-os-req__hint { display: none; margin-top: 0.6rem !important; font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }
.te-os-req__modes:has(#te-os-mode-consecutive:checked) .te-os-req__hint--consecutive,
.te-os-req__modes:has(#te-os-mode-simultaneous:checked) .te-os-req__hint--simultaneous,
.te-os-req__modes:has(#te-os-mode-whispered:checked) .te-os-req__hint--whispered,
.te-os-req__modes:has(#te-os-mode-escort:checked) .te-os-req__hint--escort { display: block; }
.te-os-req__btn { display: block; width: 100%; margin-top: 1.3rem; border: 0; cursor: pointer; font: inherit; padding: 0.9rem 1rem; border-radius: 10px; background: var(--te-navy); color: #fff !important; font-weight: 700; text-align: center; text-decoration: none; }
.te-os-req__btn:hover { background: var(--te-steel-deep); }
.te-os-req__alt { display: block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 600; text-align: center; color: var(--te-steel-deep); }
.te-os-req__btn:focus-visible, .te-os-req__alt:focus-visible, .te-os-mode__more:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

@media (max-width: 1100px) {
	.te-os-modes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-os-trip { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2rem; }
	.te-os-trip::before { display: none; }
	.te-os-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-os-hero__grid, .te-os-team, .te-os-gov, .te-os-book { grid-template-columns: minmax(0, 1fr); }
	.te-os-stage { max-width: 600px; }
	.te-os-day__lbl { display: none; }
	.te-os-day__track { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 1.4rem; padding-left: 2.4rem; }
	.te-os-day__track::before { content: ""; position: absolute; left: 0.6rem; top: 0; bottom: 0; width: 4px; border-radius: 2px; background: linear-gradient(180deg, #F5B5AE, #C8312B); }
	.te-os-day__track li { grid-row: auto; grid-template-rows: auto auto; gap: 0.5rem; }
	.te-os-day__track li::before { display: none; }
	.te-os-day__pin { position: absolute; grid-area: auto; left: -2.4rem; top: 1.1rem; margin: 0 0 0 0.45rem; }
	.te-os-day__risk, .te-os-day__fix { grid-row: auto; border-radius: 12px; }
}
@media (max-width: 600px) {
	.te-os-stage { padding: 2rem 0 5.5rem 1rem; }
	.te-os-badge { width: 9.5rem; padding: 1.4rem 0.8rem 0.8rem; }
	.te-os-badge b { font-size: 0.9375rem; }
	.te-os-conf { right: 0; width: 13.5rem; }
	.te-os-modes, .te-os-trip, .te-os-gov__facts, .te-os-req dl { grid-template-columns: minmax(0, 1fr); }
	.te-os-dir { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.te-os-lift { display: none; }
	.te-os-doors { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   Remote simultaneous interpretation (/simultaneous-interpretation/): channels, consoles, and a live call
   ========================================================================== */
.te-rsi-hero { padding-bottom: 0 !important; }
.te-rsi-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-rsi-hero__copy > * { margin-block: 0; }
.te-rsi-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-rsi-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-rsi-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: a live call with the interpretation menu open */
.te-rsi-call { position: relative; margin-bottom: 1.5rem; border-radius: 16px; background: #0B1C28; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 40px 70px -36px rgba(0, 0, 0, .9); color: #fff; }
.te-rsi-call p { margin: 0; }
.te-rsi-call__bar { display: flex; align-items: center; gap: 0.7rem; padding: 0.8rem 1rem; border-bottom: 1px solid rgba(255, 255, 255, .08); font-size: 0.75rem; color: rgba(255, 255, 255, .6); }
.te-rsi-call__bar b { font-size: 0.875rem; color: #fff; }
.te-rsi-call__bar > span:last-child { margin-left: auto; }
.te-rsi-call__live { padding: 0.15rem 0.5rem; border-radius: 4px; background: #C8312B; font-weight: 800; color: #fff; }
.te-rsi-call__stage { display: grid; grid-template-columns: 1fr 5.5rem; gap: 0.6rem; padding: 0.8rem; }
.te-rsi-call__speaker { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 10; border-radius: 10px; background: radial-gradient(circle at 50% 35%, #2B4E6B, #13293A 70%); overflow: hidden; }
.te-rsi-call__avatar { width: 30%; aspect-ratio: 1; margin-bottom: 12%; border-radius: 50%; background: radial-gradient(circle at 50% 38%, #9DB3C2 0 30%, transparent 31%), radial-gradient(ellipse at 50% 100%, #9DB3C2 0 48%, transparent 49%); opacity: .55; }
.te-rsi-call__name { position: absolute; left: 0.6rem; bottom: 0.6rem; padding: 0.2rem 0.5rem; border-radius: 4px; background: rgba(0, 0, 0, .55); font-size: 0.6875rem; font-weight: 600; }
.te-rsi-call__wave { position: absolute; right: 0.7rem; bottom: 0.7rem; display: flex; align-items: flex-end; gap: 2px; height: 1.4rem; }
.te-rsi-call__wave i { width: 3px; height: var(--h); border-radius: 2px; background: #7CC8E6; animation: te-rsi-wave 1.2s ease-in-out infinite alternate; }
.te-rsi-call__wave i:nth-child(3n) { animation-delay: -.4s; }
.te-rsi-call__wave i:nth-child(3n+1) { animation-delay: -.8s; }
@keyframes te-rsi-wave { to { transform: scaleY(.4); } }
.te-rsi-call__tiles { display: grid; gap: 0.6rem; }
.te-rsi-call__tiles span { border-radius: 8px; background: linear-gradient(160deg, #1D3A50, #142C3D); }
.te-rsi-call__dock { display: flex; justify-content: center; gap: 0.6rem; padding: 0.2rem 0.8rem 0.9rem; }
.te-rsi-call__btn { width: 2.2rem; height: 2.2rem; border-radius: 50%; background: #1D3A50; }
.te-rsi-call__btn.is-globe { width: auto; padding: 0 0.9rem; border-radius: 999px; background: #fff; display: grid; place-items: center; font-size: 0.75rem; font-weight: 800; color: var(--te-navy); box-shadow: 0 0 0 3px rgba(124, 200, 230, .45); }
.te-rsi-call__btn.is-leave { background: #C8312B; }
.te-rsi-menu { position: absolute; right: -1rem; bottom: 3.6rem; width: 12.5rem; padding: 0.8rem; border-radius: 12px; background: #fff; color: var(--te-ink); box-shadow: 0 26px 44px -20px rgba(0, 0, 0, .75); }
.te-rsi-menu__h { padding: 0 0.3rem 0.5rem; border-bottom: 1px solid var(--te-line); font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-rsi-menu ul { margin: 0.4rem 0 0; padding: 0; list-style: none; }
.te-rsi-menu li { display: flex; align-items: center; gap: 0.5rem; margin: 0; padding: 0.35rem 0.4rem; border-radius: 6px; font-size: 0.8125rem; font-weight: 600; }
.te-rsi-menu li::before { content: ""; width: 0.9rem; height: 0.9rem; flex: none; }
.te-rsi-menu li.is-on { background: var(--te-ice); color: var(--te-navy); font-weight: 800; }
.te-rsi-menu li.is-on::before { background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-rsi-menu__opt { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.4rem !important; padding: 0.5rem 0.4rem 0; border-top: 1px solid var(--te-line); font-size: 0.75rem; color: var(--te-slate); }
.te-rsi-menu__opt i { width: 1.6rem; height: 0.9rem; border-radius: 999px; background: var(--te-steel-deep); box-shadow: inset -0.75rem 0 0 -0.1rem #fff, inset 0 0 0 2px var(--te-steel-deep); }
.te-rsi-onair { position: absolute; left: -1rem; bottom: -1.4rem; display: flex; align-items: center; gap: 0.7rem; padding: 0.7rem 1rem; border-radius: 12px; background: #fff; color: var(--te-ink); box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .75); }
.te-rsi-onair i { width: 0.8rem; height: 0.8rem; border-radius: 50%; background: #C8312B; box-shadow: 0 0 0 4px rgba(200, 49, 43, .2); animation: te-rsi-pulse 1.6s ease-in-out infinite; }
.te-rsi-onair span { font-size: 0.75rem; color: var(--te-slate); }
.te-rsi-onair b { display: block; font-size: 0.875rem; color: #B3261E; }
@keyframes te-rsi-pulse { 50% { box-shadow: 0 0 0 7px rgba(200, 49, 43, .08); } }

/* The signal chain */
.te-rsi-chain { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-rsi-chain::before { content: ""; position: absolute; left: 12%; right: 12%; top: 1.9rem; height: 3px; background: repeating-linear-gradient(90deg, var(--te-steel) 0 10px, transparent 10px 16px); }
.te-rsi-link { position: relative; margin: 0; text-align: center; }
.te-rsi-link__node { position: relative; z-index: 1; display: inline-grid; place-items: center; width: 3.8rem; height: 3.8rem; border-radius: 50%; background: var(--te-navy); box-shadow: 0 0 0 6px #fff, 0 14px 24px -14px rgba(15, 42, 61, .8); }
.te-rsi-link__node span { width: 1.5rem; height: 1.5rem; background: #7CC8E6; -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-rsi-link h3 { margin: 1rem 0 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-rsi-link__risk { margin: 0.8rem 0 0; padding: 0.85rem 0.95rem; border-radius: 10px; background: #FCF3F2; border: 1px solid #F0C3BF; font-size: 0.875rem; line-height: 1.5; color: #7C3E39; text-align: left; }
.te-rsi-link__fix { display: flex; gap: 0.5rem; margin: 0.6rem 0 0; padding: 0.85rem 0.95rem; border-radius: 10px; background: #F1F8F4; border: 1px solid #BFE0CC; font-size: 0.875rem; font-weight: 600; line-height: 1.5; color: #1E5E3C; text-align: left; }
.te-rsi-link__fix::before { content: ""; flex: none; width: 1rem; height: 1rem; margin-top: 0.15rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Platforms */
.te-rsi-platforms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-rsi-platforms li { margin: 0; padding: 1.4rem 1.3rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-rsi-platforms__globe { display: block; width: 2.6rem; height: 2.6rem; border-radius: 10px; background: var(--te-ice); position: relative; }
.te-rsi-platforms__globe::before { content: ""; position: absolute; inset: 0.6rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-globe) center / contain no-repeat; mask: var(--te-i-globe) center / contain no-repeat; }
.te-rsi-platforms h3 { margin: 1rem 0 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-rsi-platforms p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-rsi-platforms__note { margin-top: 1rem !important; font-size: 0.75rem; color: var(--te-slate); }

/* Language channels: a mixing console */
.te-rsi-console-section { background: var(--te-navy); color: #fff; }
.te-rsi-desk { margin-top: 3rem !important; margin-bottom: 0 !important; padding: 1.6rem; border-radius: 16px; background: linear-gradient(180deg, #2A3742, #1A242C); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-rsi-desk__strips { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.8rem; }
.te-rsi-strip { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto 12rem auto auto auto; gap: 0.5rem 0.4rem; justify-items: center; padding: 0.9rem 0.6rem 1rem; border-radius: 10px; background: #12191F; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); text-align: center; }
.te-rsi-strip.is-floor { box-shadow: inset 0 0 0 1px rgba(124, 200, 230, .5); }
.te-rsi-strip__led { grid-column: 1 / -1; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: #2FA36B; box-shadow: 0 0 8px 2px rgba(47, 163, 107, .6); }
.te-rsi-strip__meter { position: relative; width: 0.55rem; height: 100%; border-radius: 3px; background: #0A0F13; overflow: hidden; }
.te-rsi-strip__meter i { position: absolute; left: 0; right: 0; bottom: 0; height: var(--l); background: linear-gradient(0deg, #2FA36B 0 60%, #E0A12E 60% 85%, #C8312B 85%); background-size: 100% 12rem; background-position: bottom; }
.te-rsi-strip__fader { position: relative; width: 0.35rem; height: 100%; border-radius: 3px; background: #0A0F13; }
.te-rsi-strip__fader i { position: absolute; left: 50%; bottom: var(--l); width: 1.8rem; height: 0.9rem; margin: 0 0 -0.45rem -0.9rem; border-radius: 3px; background: linear-gradient(180deg, #D8DEE3, #9AA6AF); box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .25), 0 3px 6px rgba(0, 0, 0, .5); }
.te-rsi-strip b { grid-column: 1 / -1; margin-top: 0.4rem; font-size: 0.9375rem; color: #fff; }
.te-rsi-strip__team { grid-column: 1 / -1; font-size: 0.6875rem; color: rgba(255, 255, 255, .6); }
.te-rsi-strip__relay { grid-column: 1 / -1; padding: 0.15rem 0.45rem; border-radius: 999px; background: rgba(232, 85, 26, .2); font-size: 0.625rem; font-weight: 700; color: #FFB591; }
.te-rsi-desk figcaption { margin-top: 1rem; font-size: 0.75rem; color: rgba(255, 255, 255, .6); }

/* Interpreter studio standards */
.te-rsi-studio { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-rsi-studio__photo { margin: 0; }
.te-rsi-studio__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; border: 1px solid #BFCDD8; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .6); }
.te-rsi-studio__body > * { margin: 0; }
.te-rsi-studio__body h2 { margin-top: 0.75rem !important; }
.te-rsi-studio__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 2rem; margin-top: 2rem !important; padding: 0; list-style: none; }
.te-rsi-studio__list li { margin: 0; padding-top: 0.9rem; border-top: 3px solid var(--te-steel); }
.te-rsi-studio__list strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-rsi-studio__list span { display: block; margin-top: 0.3rem; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }

/* Run of show: a countdown */
.te-rsi-run { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 3rem 0 0; padding: 0; list-style: none; border: 1.5px solid #8FA8BA; border-radius: 14px; background: #fff; overflow: hidden; }
.te-rsi-run li { margin: 0; padding: 1.3rem 1.2rem 1.4rem; }
.te-rsi-run li + li { border-left: 1px solid var(--te-line); }
.te-rsi-run__when { display: inline-block; padding: 0.25rem 0.6rem; border-radius: 6px; background: var(--te-cloud); font-size: 0.8125rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--te-steel-deep); }
.te-rsi-run li.is-live { background: var(--te-navy); }
.te-rsi-run li.is-live .te-rsi-run__when { background: #C8312B; color: #fff; }
.te-rsi-run h3 { margin: 0.8rem 0 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-rsi-run p { margin: 0.35rem 0 0; font-size: 0.875rem; line-height: 1.55; color: var(--te-slate); }
.te-rsi-run li.is-live h3 { color: #fff; }
.te-rsi-run li.is-live p { color: rgba(255, 255, 255, .75); }

/* Formats */
.te-rsi-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-rsi-format { margin: 0; padding: 1.4rem 1.3rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-rsi-format__pic { position: relative; display: block; height: 5.5rem; margin-bottom: 1.1rem; border-radius: 10px; background: #F4F7F9; box-shadow: inset 0 0 0 1px #DCE4EA; }
.te-rsi-format__pic i { position: absolute; display: block; }
.te-rsi-format--remote .te-rsi-format__pic i { top: 1rem; width: 28%; height: 3.4rem; border-radius: 6px; background: #CFDCE6; box-shadow: inset 0 0 0 2px #B3C5D3; }
.te-rsi-format--remote .te-rsi-format__pic i:nth-child(1) { left: 6%; } .te-rsi-format--remote .te-rsi-format__pic i:nth-child(2) { left: 36%; background: var(--te-signal); box-shadow: none; } .te-rsi-format--remote .te-rsi-format__pic i:nth-child(3) { left: 66%; }
.te-rsi-format--hybrid .te-rsi-format__pic i:nth-child(1) { left: 8%; top: 1rem; width: 40%; height: 3.4rem; border-radius: 6px; background: #CFDCE6; box-shadow: inset 0 0 0 2px #B3C5D3; }
.te-rsi-format--hybrid .te-rsi-format__pic i:nth-child(2) { left: 56%; top: 1.4rem; width: 14%; height: 2.6rem; border-radius: 6px; background: var(--te-signal); }
.te-rsi-format--hybrid .te-rsi-format__pic i:nth-child(3) { left: 74%; top: 1rem; width: 18%; height: 3.4rem; border-radius: 6px; background: #CFDCE6; box-shadow: inset 0 0 0 2px #B3C5D3; }
.te-rsi-format--onsite .te-rsi-format__pic i:nth-child(1) { left: 30%; right: 30%; top: 0.7rem; height: 1.4rem; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 2px var(--te-navy); }
.te-rsi-format--onsite .te-rsi-format__pic i:nth-child(1)::after { content: ""; position: absolute; inset: 0.35rem 40%; border-radius: 50%; background: var(--te-signal); }
.te-rsi-format--onsite .te-rsi-format__pic i:nth-child(2) { left: 14%; right: 14%; top: 2.9rem; height: 0.6rem; background: repeating-linear-gradient(90deg, var(--te-steel-deep) 0 0.6rem, transparent 0.6rem 1.1rem); border-radius: 3px; }
.te-rsi-format--onsite .te-rsi-format__pic i:nth-child(3) { left: 14%; right: 14%; top: 3.9rem; height: 0.6rem; background: repeating-linear-gradient(90deg, var(--te-steel-deep) 0 0.6rem, transparent 0.6rem 1.1rem); border-radius: 3px; }
.te-rsi-format h3 { margin: 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-rsi-format p { margin: 0.45rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-rsi-format .te-rsi-format__best { color: var(--te-ink); }
.te-rsi-format__best strong { display: block; font-size: 0.75rem; color: var(--te-steel-deep); }
.te-rsi-format a { display: inline-block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 700; color: var(--te-steel-deep); }

/* Event brief */
.te-rsi-brief { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-rsi-brief__intro > * { margin: 0; }
.te-rsi-brief__intro h2 { margin-top: 0.75rem !important; }
.te-rsi-brief__tip { margin-top: 1.5rem !important; padding: 1rem 1.2rem; border-left: 4px solid var(--te-signal); border-radius: 0 10px 10px 0; background: #fff; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-rsi-brief__tip strong { color: var(--te-navy); }
.te-rsi-card { padding: 1.6rem 1.7rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .6); }
.te-rsi-card p { margin: 0; }
.te-rsi-card__h { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-rsi-card__h b { font-size: 1.1rem; color: var(--te-navy); }
.te-rsi-card__h span { font-size: 0.75rem; color: var(--te-slate); }
.te-rsi-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem 1rem; margin: 1.1rem 0 0; }
.te-rsi-card dl div { padding: 0.6rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-rsi-card dt { font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-rsi-card dd { margin: 0.15rem 0 0; font-size: 0.9375rem; font-weight: 600; color: var(--te-ink); }
.te-rsi-card__form { margin: 0; }
.te-rsi-card__plats { margin: 0.8rem 0 0; padding: 0.6rem 0.8rem 0.75rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-rsi-card__plats legend { float: left; width: 100%; padding: 0; font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-rsi-card__chip { position: relative; display: inline-block; margin: 0.45rem 0.4rem 0 0; cursor: pointer; }
.te-rsi-card__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-rsi-card__chip span { display: inline-block; padding: 0.4rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.8125rem; font-weight: 600; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-rsi-card__chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-rsi-card__chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-rsi-card__chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-rsi-card__hint { display: none; margin-top: 0.6rem !important; font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }
.te-rsi-card__plats:has(#te-rsi-plat-zoom:checked) .te-rsi-card__hint--zoom,
.te-rsi-card__plats:has(#te-rsi-plat-teams:checked) .te-rsi-card__hint--teams,
.te-rsi-card__plats:has(#te-rsi-plat-webex:checked) .te-rsi-card__hint--webex,
.te-rsi-card__plats:has(#te-rsi-plat-other:checked) .te-rsi-card__hint--other { display: block; }
.te-rsi-card__btn { display: block; width: 100%; margin-top: 1.3rem; padding: 0.9rem 1rem; border: 0; border-radius: 10px; background: var(--te-navy); cursor: pointer; font: inherit; font-weight: 700; color: #fff; text-align: center; }
.te-rsi-card__btn:hover { background: var(--te-steel-deep); }
.te-rsi-card__alt { display: block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 600; text-align: center; color: var(--te-steel-deep); }
.te-rsi-card__btn:focus-visible, .te-rsi-card__alt:focus-visible, .te-rsi-format a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .te-rsi-call__wave i, .te-rsi-onair i { animation: none; } .te-rsi-card__chip span { transition: none; } }
@media (max-width: 1100px) {
	.te-rsi-chain, .te-rsi-platforms { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2rem; }
	.te-rsi-chain::before { display: none; }
	.te-rsi-desk__strips { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-rsi-run { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-rsi-run li:nth-child(4) { border-left: 0; }
	.te-rsi-run li:nth-child(n+4) { border-top: 1px solid var(--te-line); }
}
@media (max-width: 1024px) {
	.te-rsi-hero__grid, .te-rsi-studio, .te-rsi-brief { grid-template-columns: minmax(0, 1fr); }
	.te-rsi-call { max-width: 600px; }
}
@media (max-width: 760px) {
	.te-rsi-formats { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.te-rsi-menu { right: -0.3rem; width: 10.5rem; bottom: 3.4rem; }
	.te-rsi-onair { left: 0; }
	.te-rsi-call__stage { grid-template-columns: 1fr; }
	.te-rsi-call__tiles { display: none; }
	.te-rsi-chain, .te-rsi-platforms, .te-rsi-studio__list, .te-rsi-run, .te-rsi-card dl { grid-template-columns: minmax(0, 1fr); }
	.te-rsi-run li + li { border-left: 0; border-top: 1px solid var(--te-line); }
	.te-rsi-desk { padding: 1rem; }
	.te-rsi-desk__strips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-rsi-strip { grid-template-rows: auto 8rem auto auto auto; }
}

/* ==========================================================================
   Over-the-phone interpreting (/phone-interpretation/): a phone, a keypad, and a call log
   ========================================================================== */
.te-opi-hero { padding-bottom: 0 !important; }
.te-opi-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-opi-hero__copy > * { margin-block: 0; }
.te-opi-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-opi-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-opi-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: a phone on a three-way call, with the language menu beside it */
.te-opi-phone { position: relative; display: flex; justify-content: center; padding: 1rem 0 2rem; }
.te-opi-phone p { margin: 0; }
.te-opi-phone__body { position: relative; width: 17.5rem; padding: 2.4rem 1.2rem 1.4rem; border-radius: 2.6rem; background: linear-gradient(170deg, #1B3A55, #0B1C28); box-shadow: inset 0 0 0 3px #2E4F6B, inset 0 0 0 9px #0B1C28, 0 50px 80px -40px rgba(0, 0, 0, .95); color: #fff; }
.te-opi-phone__notch { position: absolute; left: 50%; top: 0.9rem; width: 5rem; height: 1.1rem; margin-left: -2.5rem; border-radius: 999px; background: #000; }
.te-opi-phone__status { text-align: center; font-size: 0.75rem; color: rgba(255, 255, 255, .65); }
.te-opi-phone__status b { color: #8FE0B5; font-variant-numeric: tabular-nums; }
.te-opi-phone__people { display: grid; gap: 0.6rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.te-opi-phone__people li { position: relative; display: flex; align-items: center; gap: 0.7rem; margin: 0; padding: 0.7rem 0.75rem; border-radius: 14px; background: rgba(255, 255, 255, .06); font-size: 0.6875rem; color: rgba(255, 255, 255, .6); }
.te-opi-phone__people b { display: block; font-size: 0.875rem; color: #fff; }
.te-opi-phone__people li.is-int { background: rgba(232, 85, 26, .16); box-shadow: inset 0 0 0 1.5px rgba(232, 85, 26, .6); }
.te-opi-av { display: grid; place-items: center; flex: none; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: #2B4E6B; font-size: 0.75rem; font-weight: 800; color: #fff; }
.is-int .te-opi-av { background: var(--te-signal); }
.te-opi-phone__wave { display: flex; align-items: flex-end; gap: 2px; height: 1rem; margin-left: auto; }
.te-opi-phone__wave i { width: 3px; height: 100%; border-radius: 2px; background: #FFB591; animation: te-rsi-wave 0.9s ease-in-out infinite alternate; }
.te-opi-phone__wave i:nth-child(2) { animation-delay: -.3s; } .te-opi-phone__wave i:nth-child(3) { animation-delay: -.6s; } .te-opi-phone__wave i:nth-child(4) { animation-delay: -.2s; }
.te-opi-phone__keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem 0.4rem; margin-top: 1.3rem; font-size: 0.625rem; text-align: center; color: rgba(255, 255, 255, .65); }
.te-opi-phone__keys span::before { content: ""; display: block; width: 2.6rem; height: 2.6rem; margin: 0 auto 0.3rem; border-radius: 50%; background: rgba(255, 255, 255, .1); }
.te-opi-phone__keys .is-add { grid-column: 1 / -1; color: #FFB591; font-weight: 700; }
.te-opi-phone__keys .is-add::before { width: auto; height: auto; content: "+"; display: inline-grid; place-items: center; width: 1.4rem; height: 1.4rem; margin: 0 0.4rem 0 0; vertical-align: middle; background: var(--te-signal); color: #fff; font-size: 1rem; }
.te-opi-phone__end { display: block; width: 3.2rem; height: 3.2rem; margin: 1.1rem auto 0; border-radius: 50%; background: #C8312B; }
.te-opi-ivr { position: absolute; right: -1.5rem; top: 9rem; width: 10.5rem; padding: 0.9rem 1rem; border-radius: 12px; background: #fff; color: var(--te-ink); box-shadow: 0 24px 40px -20px rgba(0, 0, 0, .75); font-size: 0.8125rem; }
.te-opi-ivr p + p { margin-top: 0.35rem; }
.te-opi-ivr__h { padding-bottom: 0.5rem; margin-bottom: 0.5rem !important; border-bottom: 1px solid var(--te-line); font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-opi-ivr b { display: inline-grid; place-items: center; width: 1.4rem; height: 1.4rem; margin-right: 0.45rem; border-radius: 50%; background: var(--te-navy); font-size: 0.6875rem; color: #fff; }

/* Performance benchmarks: four signal-strength readouts at the foot of the hero */
.te-opi-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 1.2rem 0 1.8rem; border-top: 1px solid rgba(255, 255, 255, .14); }
.te-opi-bench__h { display: flex; align-items: center; gap: 0.55rem; margin: 0 0 1rem; font-size: 0.8125rem; font-weight: 700; color: var(--te-sky); }
.te-opi-bench__live { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: #2FA36B; box-shadow: 0 0 0 4px rgba(47, 163, 107, .25); }
.te-opi-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-opi-bench li { position: relative; margin: 0; padding: 1.3rem 1.3rem 1.25rem; border-radius: 16px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.te-opi-bench li:first-child { background: rgba(232, 85, 26, .14); box-shadow: inset 0 0 0 1.5px rgba(232, 85, 26, .55); }
.te-opi-bench__sig { position: absolute; right: 1.2rem; top: 1.35rem; display: flex; align-items: flex-end; gap: 3px; height: 1.1rem; }
.te-opi-bench__sig i { width: 4px; border-radius: 2px; background: #8FE0B5; }
.te-opi-bench__sig i:nth-child(1) { height: 30%; } .te-opi-bench__sig i:nth-child(2) { height: 55%; } .te-opi-bench__sig i:nth-child(3) { height: 80%; } .te-opi-bench__sig i:nth-child(4) { height: 100%; }
.te-opi-bench strong { display: block; font-size: clamp(2rem, 3.4vw, 2.8rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: #fff; }
.te-opi-bench li:first-child strong { color: #FFB591; }
.te-opi-bench__lbl { display: block; margin-top: 0.6rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-opi-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .65); }
@media (max-width: 1024px) { .te-opi-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .te-opi-bench ul { grid-template-columns: minmax(0, 1fr); } }

/* The problem: "please hold" in each caller's own language, struck through and answered */
.te-opi-hold { margin: 3rem 0 0; padding: 0; list-style: none; }
.te-opi-hold li { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 0.9fr); grid-template-rows: auto 1fr; column-gap: 2.2rem; align-items: center; margin: 0; padding: 1.4rem 0; border-top: 1px solid var(--te-line); }
.te-opi-hold li:last-child { border-bottom: 1px solid var(--te-line); }
.te-opi-hold p { margin: 0; }
.te-opi-hold__lang { grid-column: 1; font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-opi-hold__ph { grid-column: 1; grid-row: 2; margin-top: 0.15rem !important; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; }
.te-opi-hold__ph[dir="rtl"] { text-align: right; font-family: "Segoe UI", Tahoma, "Noto Naskh Arabic", sans-serif; letter-spacing: 0; }
.te-opi-hold__ph s { position: relative; display: inline-block; color: #B9C6D0; text-decoration: none; }
.te-opi-hold__ph s::after { content: ""; position: absolute; left: -2%; right: -2%; top: 52%; height: 0.12em; border-radius: 0.06em; background: #C8312B; transform: rotate(-3deg); }
.te-opi-hold__story { grid-column: 2; grid-row: 1 / 3; }
.te-opi-hold__story h3 { margin: 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-opi-hold__story p { margin-top: 0.3rem !important; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-opi-hold__fix { grid-column: 3; grid-row: 1 / 3; padding-left: 1.1rem; border-left: 3px solid #1E7A4C; font-size: 0.9rem; line-height: 1.55; color: #1E5E3C; }
.te-opi-hold__fix b { display: block; margin-bottom: 0.1rem; font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive; font-size: 1.35rem; font-weight: 700; color: #1E7A4C; }

/* How it works: a keypad */
.te-opi-how { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; margin-top: 3rem !important; }
.te-opi-pad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.9rem; max-width: 19rem; padding: 1.6rem; border-radius: 22px; background: #fff; box-shadow: inset 0 0 0 1.5px #C3D0DA, 0 30px 50px -36px rgba(15, 42, 61, .6); }
.te-opi-pad span { display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; background: var(--te-cloud); box-shadow: inset 0 -2px 0 #D5DEE5; font-size: 1.5rem; font-weight: 700; color: #9DB3C2; }
.te-opi-pad span.is-on { background: var(--te-navy); box-shadow: 0 10px 18px -10px rgba(15, 42, 61, .8); color: #fff; }
.te-opi-pad span.is-on:nth-child(4) { background: var(--te-signal); }
.te-opi-steps { display: grid; gap: 1.2rem; margin: 0; padding: 0; list-style: none; }
.te-opi-steps li { display: grid; grid-template-columns: 3rem 1fr; gap: 1.1rem; align-items: start; margin: 0; }
.te-opi-steps__key { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: var(--te-navy); font-size: 1.1rem; font-weight: 800; color: #fff; }
.te-opi-steps li:last-child .te-opi-steps__key { background: var(--te-signal); }
.te-opi-steps h3 { margin: 0.35rem 0 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-opi-steps p { margin: 0.25rem 0 0; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-opi-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem !important; padding: 0; list-style: none; }
.te-opi-ways li { margin: 0; padding: 1.2rem 1.3rem; border-top: 3px solid var(--te-steel); border-radius: 0 0 12px 12px; background: #fff; }
.te-opi-ways h3 { margin: 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-opi-ways p { margin: 0.35rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Speed dial */
.te-opi-dial { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-opi-dial li { position: relative; margin: 0; padding: 1.3rem 1.25rem 1.35rem; border: 1.5px solid #C3D0DA; border-radius: 16px; background: #fff; }
.te-opi-dial__key { position: absolute; right: 1rem; top: 1rem; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--te-cloud); box-shadow: inset 0 -2px 0 #D5DEE5; font-size: 0.875rem; font-weight: 800; color: var(--te-steel-deep); }
.te-opi-dial__ico { display: block; width: 1.6rem; height: 1.6rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-opi-dial h3 { margin: 0.9rem 0 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-opi-dial p { margin: 0.35rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }

/* What a call sounds like */
.te-opi-script-section { background: var(--te-navy); color: #fff; }
.te-opi-script { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.te-opi-script__intro > * { margin: 0; }
.te-opi-script__intro .te-eyebrow { color: var(--te-sky); }
.te-opi-script__intro h2 { margin-top: 0.75rem !important; color: #fff; }
.te-opi-script__intro h2 .te-accent { color: var(--te-sky); }
.te-opi-script__intro .te-head__lede { color: rgba(255, 255, 255, .78); }
.te-opi-script__photo { margin-top: 1.8rem !important; }
.te-opi-script__photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 16px; }
.te-opi-transcript { padding: 1.4rem 1.5rem 1.5rem; border-radius: 18px; background: #fff; color: var(--te-ink); box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-opi-transcript p { margin: 0; }
.te-opi-transcript__h { display: flex; justify-content: space-between; align-items: center; padding-bottom: 0.9rem; border-bottom: 1px solid var(--te-line); font-size: 0.75rem; color: var(--te-slate); }
.te-opi-transcript__h span:first-child { display: inline-flex; align-items: center; gap: 0.45rem; font-weight: 800; color: #1E7A4C; }
.te-opi-transcript__h i { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: #2FA36B; box-shadow: 0 0 0 3px rgba(47, 163, 107, .25); }
.te-opi-transcript ol { display: grid; gap: 0.8rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.te-opi-transcript li { max-width: 85%; margin: 0; }
.te-opi-transcript li > span { display: block; margin-bottom: 0.25rem; font-size: 0.6875rem; font-weight: 800; color: var(--te-slate); }
.te-opi-transcript li p { padding: 0.7rem 0.9rem; border-radius: 14px; font-size: 0.9375rem; line-height: 1.5; }
.te-opi-transcript li.is-int p { background: #FDEFE7; border-bottom-left-radius: 4px; }
.te-opi-transcript li.is-int > span { color: #B8410F; }
.te-opi-transcript li.is-you { justify-self: end; }
.te-opi-transcript li.is-you p { background: var(--te-navy); color: #fff; border-bottom-right-radius: 4px; }
.te-opi-transcript li.is-you > span { text-align: right; }
.te-opi-transcript li.is-them { justify-self: end; }
.te-opi-transcript li.is-them p { background: var(--te-ice); color: var(--te-navy); border-bottom-right-radius: 4px; }
.te-opi-transcript li.is-them > span { text-align: right; }
.te-opi-transcript__rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem 1rem; margin: 1.3rem 0 0; padding: 1.1rem 0 0; list-style: none; border-top: 1px solid var(--te-line); }
.te-opi-transcript__rules li { display: flex; gap: 0.45rem; max-width: none; margin: 0; font-size: 0.875rem; font-weight: 600; line-height: 1.45; color: #1E5E3C; }
.te-opi-transcript__rules li::before { content: ""; flex: none; width: 1rem; height: 1rem; margin-top: 0.15rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Confidential by design */
.te-opi-secure { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-opi-secure__photo { margin: 0; }
.te-opi-secure__photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .6); }
.te-opi-secure__body > * { margin: 0; }
.te-opi-secure__body h2 { margin-top: 0.75rem !important; }
.te-opi-secure__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem 2rem; margin-top: 1.8rem !important; padding: 0; list-style: none; }
.te-opi-secure__list li { margin: 0; padding-top: 0.9rem; border-top: 3px solid var(--te-steel); }
.te-opi-secure__list strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-opi-secure__list span { display: block; margin-top: 0.3rem; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }

/* Usage report */
.te-opi-usage { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-opi-usage__intro > * { margin: 0; }
.te-opi-usage__intro h2 { margin-top: 0.75rem !important; }
.te-opi-usage__points { display: grid; gap: 0.75rem; margin-top: 1.6rem !important; padding: 0; list-style: none; }
.te-opi-usage__points li { margin: 0; padding-left: 1rem; border-left: 3px solid var(--te-steel); font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-opi-usage__points strong { color: var(--te-navy); }
.te-opi-report { margin: 0; padding: 1.5rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -42px rgba(15, 42, 61, .6); }
.te-opi-report__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-opi-report__head b { font-size: 1.1rem; color: var(--te-navy); }
.te-opi-report__head span { font-size: 0.75rem; color: var(--te-slate); }
.te-opi-report ul { margin: 0.4rem 0 0; padding: 0; list-style: none; }
.te-opi-report li { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) 4.6rem 5.5rem; gap: 0.8rem; align-items: center; margin: 0; padding: 0.7rem 0; border-bottom: 1px solid var(--te-line); font-size: 0.875rem; }
.te-opi-report__dept { font-weight: 700; color: var(--te-navy); }
.te-opi-report__bar { height: 0.8rem; border-radius: 4px; background: var(--te-cloud); overflow: hidden; }
.te-opi-report__bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--te-steel), var(--te-steel-deep)); }
.te-opi-report__min { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; color: var(--te-ink); }
.te-opi-report__lang { font-size: 0.75rem; color: var(--te-slate); }
.te-opi-report figcaption { display: flex; justify-content: space-between; margin-top: 0.9rem; font-size: 0.875rem; color: var(--te-slate); }
.te-opi-report figcaption b { font-size: 1.1rem; color: var(--te-navy); font-variant-numeric: tabular-nums; }

/* Channels */
.te-opi-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-opi-channels li { margin: 0; padding: 1.4rem 1.3rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-opi-channels li.is-here { border-color: var(--te-navy); box-shadow: inset 0 4px 0 var(--te-signal); }
.te-opi-channels h3 { margin: 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-opi-channels p { margin: 0.5rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-opi-channels strong { display: block; font-size: 0.75rem; color: var(--te-steel-deep); }
.te-opi-channels a, .te-opi-channels__here { display: inline-block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-opi-channels__here { padding: 0.2rem 0.6rem; border-radius: 999px; background: var(--te-navy); font-size: 0.75rem; color: #fff; }

/* Get started: a quick-reference card */
.te-opi-start { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-opi-start__intro > * { margin: 0; }
.te-opi-start__intro h2 { margin-top: 0.75rem !important; }
.te-opi-start__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; margin-top: 1.75rem !important; }
.te-opi-start__btn { display: inline-block; padding: 0.9rem 1.4rem; border-radius: 10px; background: var(--te-navy); color: #fff !important; font-weight: 700; text-decoration: none; }
.te-opi-start__btn:hover { background: var(--te-steel-deep); }
.te-opi-start__alt { font-weight: 600; color: var(--te-steel-deep); }
.te-opi-card { position: relative; padding: 1.6rem 1.6rem 1.3rem; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px #C3D0DA, 0 30px 50px -30px rgba(15, 42, 61, .55); transform: rotate(1.5deg); }
.te-opi-card::before { content: ""; position: absolute; left: 50%; top: -0.6rem; width: 4rem; height: 1.2rem; margin-left: -2rem; background: rgba(200, 215, 225, .75); transform: rotate(-2deg); }
.te-opi-card p { margin: 0; }
.te-opi-card__brand { padding-bottom: 0.9rem; border-bottom: 3px solid var(--te-signal); }
.te-opi-card__brand b { display: block; font-size: 1.35rem; color: var(--te-navy); }
.te-opi-card__brand span { font-size: 0.8125rem; color: var(--te-slate); }
.te-opi-card ol { display: grid; gap: 0.75rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.te-opi-card li { display: flex; align-items: flex-start; gap: 0.75rem; margin: 0; font-size: 0.9375rem; line-height: 1.45; color: var(--te-ink); }
.te-opi-card li span { display: grid; place-items: center; flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--te-navy); font-size: 0.8125rem; font-weight: 800; color: #fff; }
.te-opi-card li b { color: var(--te-navy); }
.te-opi-card__tip { margin-top: 1.1rem !important; padding: 0.7rem 0.85rem; border-radius: 8px; background: var(--te-cloud); font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }
.te-opi-card__foot { margin-top: 0.8rem !important; font-size: 0.6875rem; color: var(--te-slate); }
.te-opi-start__btn:focus-visible, .te-opi-start__alt:focus-visible, .te-opi-channels a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .te-opi-phone__wave i { animation: none; } }
@media (max-width: 1100px) {
	.te-opi-dial { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-opi-hold li { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 0.9rem; }
	.te-opi-hold__story { grid-column: 1; grid-row: auto; }
	.te-opi-hold__fix { grid-column: 2; grid-row: 3; }
	.te-opi-hold__story { grid-row: 3; }
	.te-opi-hold__lang, .te-opi-hold__ph { grid-column: 1 / -1; }
}
@media (max-width: 1024px) {
	.te-opi-hero__grid, .te-opi-how, .te-opi-script, .te-opi-secure, .te-opi-usage, .te-opi-start { grid-template-columns: minmax(0, 1fr); }
	.te-opi-pad { display: none; }
}
@media (max-width: 760px) {
	.te-opi-ways, .te-opi-channels, .te-opi-secure__list, .te-opi-transcript__rules { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.te-opi-phone { justify-content: flex-start; }
	.te-opi-phone__body { width: 15.5rem; }
	.te-opi-ivr { right: 0; top: auto; bottom: 0; width: 9.5rem; }
	.te-opi-dial { grid-template-columns: minmax(0, 1fr); }
	.te-opi-hold li { grid-template-columns: minmax(0, 1fr); }
	.te-opi-hold__story, .te-opi-hold__fix { grid-column: 1; grid-row: auto; }
	.te-opi-transcript li { max-width: 95%; }
	.te-opi-report li { grid-template-columns: 6.5rem minmax(0, 1fr) 4.2rem; }
	.te-opi-report__lang { display: none; }
	.te-opi-card { transform: none; }
}

/* ==========================================================================
   Conference and event interpreting (/solutions/conference-interpretation/): the stage, the booth, the receiver
   ========================================================================== */
.te-cf-hero { padding-bottom: 0 !important; }
.te-cf-hero > .te-cf-hero__bg { position: absolute; inset: 0; z-index: 0; max-width: none !important; margin: 0 !important; }
.te-cf-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.te-cf-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 28, 42, .96) 0%, rgba(10, 28, 42, .88) 42%, rgba(10, 28, 42, .55) 70%, rgba(10, 28, 42, .35) 100%), linear-gradient(0deg, rgba(10, 28, 42, .95) 0%, transparent 35%); }
.te-cf-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-cf-hero__copy > * { margin-block: 0; }
.te-cf-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-cf-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-cf-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: an interpretation receiver tuned to channel 2 */
.te-cf-rx { position: relative; justify-self: center; display: flex; flex-direction: column; align-items: center; transform: rotate(4deg); }
.te-cf-rx p { margin: 0; }
.te-cf-rx__ant { width: 0.5rem; height: 2.2rem; margin-left: 6rem; border-radius: 4px 4px 0 0; background: linear-gradient(90deg, #3A4955, #22303B); }
.te-cf-rx__body { width: 14.5rem; padding: 1.1rem 1.1rem 1.3rem; border-radius: 24px; background: linear-gradient(160deg, #3A4955, #1A242C 70%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 40px 60px -30px rgba(0, 0, 0, .9); }
.te-cf-rx__brand { font-size: 0.6875rem; font-weight: 800; color: rgba(255, 255, 255, .5); text-align: center; }
.te-cf-rx__lcd { position: relative; margin-top: 0.7rem; padding: 0.9rem 1rem 0.8rem; border-radius: 10px; background: linear-gradient(180deg, #CFE8D8, #A9D3BC); box-shadow: inset 0 2px 6px rgba(0, 0, 0, .35); color: #0E3B25; }
.te-cf-rx__ch { display: flex; align-items: baseline; gap: 0.4rem; font-family: "Courier New", monospace; font-size: 2.6rem; font-weight: 700; line-height: 1; }
.te-cf-rx__ch span { font-size: 0.875rem; }
.te-cf-rx__lang { margin-top: 0.2rem !important; font-size: 1.05rem; font-weight: 800; }
.te-cf-rx__sig { position: absolute; right: 0.8rem; top: 0.9rem; display: flex; align-items: flex-end; gap: 2px; height: 1rem; }
.te-cf-rx__sig i { width: 3px; background: #0E3B25; }
.te-cf-rx__sig i:nth-child(1) { height: 30%; } .te-cf-rx__sig i:nth-child(2) { height: 55%; } .te-cf-rx__sig i:nth-child(3) { height: 80%; } .te-cf-rx__sig i:nth-child(4) { height: 100%; }
.te-cf-rx__list { display: grid; grid-template-columns: 1fr 1fr; gap: 0.25rem 0.6rem; margin: 0.9rem 0 0; padding: 0; list-style: none; }
.te-cf-rx__list li { display: flex; gap: 0.4rem; margin: 0; font-size: 0.75rem; color: rgba(255, 255, 255, .6); }
.te-cf-rx__list b { color: rgba(255, 255, 255, .35); font-variant-numeric: tabular-nums; }
.te-cf-rx__list li.is-on { color: #fff; font-weight: 700; }
.te-cf-rx__list li.is-on b { color: var(--te-signal); }
.te-cf-rx__knobs { display: flex; justify-content: center; gap: 0.6rem; margin-top: 1rem; }
.te-cf-rx__knobs span { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: #11181D; box-shadow: inset 0 -2px 0 rgba(255, 255, 255, .08); font-size: 0.8rem; font-weight: 800; color: rgba(255, 255, 255, .7); }
.te-cf-rx__knobs .is-ch { background: var(--te-signal); color: #fff; }
.te-cf-rx__cord { width: 0.35rem; height: 3rem; border-radius: 0 0 4px 4px; background: #11181D; }

/* Benchmarks */
.te-cf-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-cf-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-cf-bench li { margin: 0; padding: 0 1.4rem; }
.te-cf-bench li:first-child { padding-left: 0; }
.te-cf-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-cf-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-cf-bench li:first-child strong { color: #FFB591; }
.te-cf-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-cf-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* The room: a floor plan with numbered pins */
.te-cf-room { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; margin-top: 3rem !important; }
.te-cf-plan { position: relative; margin: 0; aspect-ratio: 5 / 4; border-radius: 16px; background: #F4F7F9 linear-gradient(#E3EAF0 1px, transparent 1px) 0 0 / 100% 22px, linear-gradient(90deg, #E3EAF0 1px, transparent 1px) 0 0 / 22px 100%; background-color: #F7F9FB; box-shadow: inset 0 0 0 3px var(--te-navy); overflow: hidden; }
.te-cf-plan__stage { position: absolute; left: 4%; top: 18%; bottom: 18%; width: 16%; display: grid; place-items: center; border-radius: 8px; background: var(--te-navy); font-size: 0.8125rem; font-weight: 800; color: #fff; writing-mode: vertical-rl; transform: rotate(180deg); }
.te-cf-plan__seats { position: absolute; left: 28%; right: 26%; top: 12%; bottom: 28%; display: grid; grid-template-columns: repeat(6, 1fr); gap: 6% 8%; align-content: space-between; }
.te-cf-plan__seats i { aspect-ratio: 1; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2.5px var(--te-steel); }
.te-cf-plan__booths { position: absolute; right: 4%; top: 10%; display: grid; gap: 0.35rem; }
.te-cf-plan__booths i { display: grid; place-items: center; width: 3.6rem; height: 1.9rem; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 2px var(--te-navy); font-size: 0.6875rem; font-style: normal; font-weight: 800; color: var(--te-navy); }
.te-cf-plan__tx { position: absolute; right: 7%; top: 66%; width: 2rem; height: 1.2rem; border-radius: 3px; background: var(--te-navy); }
.te-cf-plan__tx::after { content: ""; position: absolute; right: 100%; top: 50%; width: 9rem; height: 9rem; margin: -4.5rem 0 0; border-radius: 50%; background: radial-gradient(circle at 100% 50%, transparent 30%, rgba(232, 85, 26, .14) 31% 33%, transparent 34% 52%, rgba(232, 85, 26, .12) 53% 55%, transparent 56% 72%, rgba(232, 85, 26, .1) 73% 75%, transparent 76%); }
.te-cf-plan__pin { position: absolute; left: var(--x); top: var(--y); display: grid; place-items: center; width: 1.9rem; height: 1.9rem; margin: -0.95rem 0 0 -0.95rem; border-radius: 50%; background: var(--te-signal); box-shadow: 0 0 0 4px rgba(232, 85, 26, .25), 0 6px 12px -4px rgba(0, 0, 0, .4); font-size: 0.8125rem; font-weight: 900; color: #fff; }
.te-cf-room__list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-cf-room__list li { display: grid; grid-template-columns: 2.2rem 1fr; gap: 1rem; margin: 0; }
.te-cf-room__n { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--te-signal); font-size: 0.875rem; font-weight: 900; color: #fff; }
.te-cf-room__list h3 { margin: 0.2rem 0 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-cf-room__list p { margin: 0.25rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Inside the booth */
.te-cf-booth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-cf-booth__photo { position: relative; margin: 0; }
.te-cf-booth__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .6); }
.te-cf-booth__photo figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: 0.5rem 0.9rem; border-radius: 999px; background: rgba(15, 42, 61, .9); color: #fff; font-size: 0.8125rem; font-weight: 600; }
.te-cf-booth__body > * { margin: 0; }
.te-cf-booth__body h2 { margin-top: 0.75rem !important; }
.te-cf-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.8rem !important; }
.te-cf-pair__one { position: relative; padding: 1.1rem 1.15rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-cf-pair__one.is-live { border-color: var(--te-signal); box-shadow: 0 18px 30px -24px rgba(232, 85, 26, .6); }
.te-cf-pair__dot { position: absolute; right: 1rem; top: 1.1rem; width: 0.7rem; height: 0.7rem; border-radius: 50%; background: #C3D0DA; }
.is-live .te-cf-pair__dot { background: #C8312B; box-shadow: 0 0 0 4px rgba(200, 49, 43, .2); }
.te-cf-pair__one b { font-size: 1rem; color: var(--te-navy); }
.te-cf-pair__one p { margin: 0.35rem 0 0; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }
.te-cf-booth__note { margin-top: 1.2rem !important; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }

/* Formats */
.te-cf-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-cf-format { margin: 0; padding: 1.4rem 1.3rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-cf-format__pic { position: relative; display: block; height: 5rem; margin-bottom: 1.1rem; border-radius: 10px; background: #F4F7F9; box-shadow: inset 0 0 0 1px #DCE4EA; }
.te-cf-format__pic i { position: absolute; display: block; }
.te-cf-format--onsite .te-cf-format__pic i:nth-child(1) { left: 8%; top: 22%; bottom: 22%; width: 14%; border-radius: 4px; background: var(--te-navy); }
.te-cf-format--onsite .te-cf-format__pic i:nth-child(2) { left: 30%; right: 26%; top: 30%; height: 0.6rem; background: repeating-linear-gradient(90deg, var(--te-steel-deep) 0 0.6rem, transparent 0.6rem 1.1rem); border-radius: 3px; box-shadow: 0 1.2rem 0 var(--te-steel-deep); }
.te-cf-format--onsite .te-cf-format__pic i:nth-child(3) { right: 8%; top: 25%; width: 12%; height: 50%; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 2px var(--te-signal); }
.te-cf-format--remote .te-cf-format__pic i { top: 22%; width: 26%; height: 56%; border-radius: 6px; background: #CFDCE6; box-shadow: inset 0 0 0 2px #B3C5D3; }
.te-cf-format--remote .te-cf-format__pic i:nth-child(1) { left: 8%; } .te-cf-format--remote .te-cf-format__pic i:nth-child(2) { left: 37%; background: var(--te-signal); box-shadow: none; } .te-cf-format--remote .te-cf-format__pic i:nth-child(3) { left: 66%; }
.te-cf-format--hybrid .te-cf-format__pic i:nth-child(1) { left: 8%; top: 22%; width: 40%; height: 56%; border-radius: 6px; background: repeating-linear-gradient(90deg, var(--te-steel-deep) 0 0.5rem, transparent 0.5rem 0.9rem) 0 70% / 100% 0.5rem no-repeat, #fff; box-shadow: inset 0 0 0 2px var(--te-navy); }
.te-cf-format--hybrid .te-cf-format__pic i:nth-child(2) { left: 53%; top: 34%; width: 12%; height: 32%; border-radius: 4px; background: var(--te-signal); }
.te-cf-format--hybrid .te-cf-format__pic i:nth-child(3) { left: 70%; top: 22%; width: 22%; height: 56%; border-radius: 6px; background: #CFDCE6; box-shadow: inset 0 0 0 2px #B3C5D3; }
.te-cf-format h3 { margin: 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-cf-format p { margin: 0.45rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-cf-format a { display: inline-block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 700; color: var(--te-steel-deep); }

/* Equipment: road cases */
.te-cf-fleet-section { background: var(--te-navy); color: #fff; }
.te-cf-fleet-section .te-head__link a { color: var(--te-sky); }
.te-cf-fleet { margin-top: 3rem !important; }
.te-cf-cases { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-cf-case { position: relative; margin: 0; padding: 1.5rem 1.2rem 1.2rem; border-radius: 10px; background: #1C2329 radial-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px) 0 0 / 4px 4px; box-shadow: inset 0 0 0 3px #5D6B76, inset 0 0 0 5px #11181D, 0 26px 40px -26px rgba(0, 0, 0, .9); }
.te-cf-case::before, .te-cf-case::after { content: ""; position: absolute; width: 0.9rem; height: 0.9rem; border-radius: 3px; background: linear-gradient(135deg, #C9D3DB, #7A8892); }
.te-cf-case::before { left: 0.5rem; top: 0.5rem; } .te-cf-case::after { right: 0.5rem; top: 0.5rem; }
.te-cf-case__latch { position: absolute; left: 50%; top: -0.4rem; width: 3rem; height: 0.8rem; margin-left: -1.5rem; border-radius: 3px; background: linear-gradient(180deg, #C9D3DB, #7A8892); }
.te-cf-case__tag { display: inline-block; margin: 0.4rem 0 0; padding: 0.15rem 0.5rem; border: 2px solid #F4C26B; font-family: "Courier New", monospace; font-size: 0.75rem; font-weight: 700; color: #F4C26B; }
.te-cf-case h3 { margin: 0.7rem 0 0; font-size: 1.05rem !important; color: #fff; }
.te-cf-case dl { margin: 0.8rem 0 0; }
.te-cf-case dl div { display: flex; justify-content: space-between; gap: 0.8rem; padding: 0.4rem 0; border-top: 1px dashed rgba(255, 255, 255, .14); font-size: 0.8125rem; }
.te-cf-case dt { color: rgba(255, 255, 255, .55); }
.te-cf-case dd { margin: 0; font-weight: 700; text-align: right; color: #fff; }
.te-cf-rent { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 2rem; align-items: center; margin-top: 2rem; }
.te-cf-rent figure { margin: 0; padding: 1rem; border-radius: 14px; background: #fff; }
.te-cf-rent img { display: block; width: 100%; height: auto; }
.te-cf-rent__opts { display: grid; gap: 1rem; }
.te-cf-rent__opts div { padding-left: 1rem; border-left: 3px solid var(--te-signal); }
.te-cf-rent__opts b { font-size: 1.05rem; color: #fff; }
.te-cf-rent__opts p { margin: 0.25rem 0 0; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }

/* Notable events: a photo wall */
.te-cf-wall { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: 1.5rem; margin-top: 3rem !important; }
.te-cf-wall ul { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 15rem 12rem; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-cf-wall__item { margin: 0; }
.te-cf-wall__item--1 { grid-row: span 2; }
.te-cf-wall__item--4 { display: none; }
.te-cf-wall figure { position: relative; height: 100%; margin: 0; overflow: hidden; border-radius: 14px; }
.te-cf-wall img { width: 100%; height: 100%; object-fit: cover; }
.te-cf-wall figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2rem 1rem 0.9rem; background: linear-gradient(0deg, rgba(10, 28, 42, .9), transparent); font-size: 0.875rem; font-weight: 700; color: #fff; }
.te-cf-clients { align-self: stretch; padding: 1.4rem 1.3rem; border-radius: 14px; background: var(--te-cloud); box-shadow: inset 0 0 0 1px #DCE4EA; }
.te-cf-clients p { margin: 0; }
.te-cf-clients__h { font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-cf-clients ul { display: block; margin: 0.8rem 0 0; padding: 0; list-style: none; }
.te-cf-clients li { margin: 0; padding: 0.7rem 0; border-top: 1px solid #D5DEE5; font-family: Georgia, serif; font-size: 1.1rem; color: var(--te-navy); }
.te-cf-clients__note { margin-top: 0.8rem !important; font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }

/* Plan your event */
.te-cf-plan-ev { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-cf-plan-ev__intro > * { margin: 0; }
.te-cf-plan-ev__intro h2 { margin-top: 0.75rem !important; }
.te-cf-plan-ev__h { margin-top: 1.8rem !important; font-size: 0.8125rem; font-weight: 800; color: var(--te-steel-deep); }
.te-cf-brief { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem 1.5rem; margin: 0.8rem 0 0; padding: 0; list-style: none; }
.te-cf-brief li { margin: 0; padding-left: 1.6rem; position: relative; }
.te-cf-brief li::before { content: ""; position: absolute; left: 0; top: 0.2rem; width: 1rem; height: 1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-file) center / contain no-repeat; mask: var(--te-i-file) center / contain no-repeat; }
.te-cf-brief strong { display: block; font-size: 0.95rem; color: var(--te-navy); }
.te-cf-brief span { display: block; margin-top: 0.15rem; font-size: 0.85rem; line-height: 1.5; color: var(--te-slate); }
.te-cf-ticket { padding: 1.6rem 1.7rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .6); }
.te-cf-ticket p { margin: 0; }
.te-cf-ticket__h { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-cf-ticket__h b { font-size: 1.1rem; color: var(--te-navy); }
.te-cf-ticket__h span { font-size: 0.75rem; color: var(--te-slate); }
.te-cf-ticket__form { margin: 0; }
.te-cf-ticket dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem 1rem; margin: 1.1rem 0 0; }
.te-cf-ticket dl div { padding: 0.6rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-cf-ticket dt { font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-cf-ticket dd { margin: 0.15rem 0 0; font-size: 0.9375rem; font-weight: 600; color: var(--te-ink); }
.te-cf-ticket__set { margin: 0.8rem 0 0; padding: 0.6rem 0.8rem 0.75rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-cf-ticket__set legend { float: left; width: 100%; padding: 0; font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-cf-chip { position: relative; display: inline-block; margin: 0.45rem 0.4rem 0 0; cursor: pointer; }
.te-cf-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-cf-chip span { display: inline-block; padding: 0.4rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.8125rem; font-weight: 600; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-cf-chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-cf-chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-cf-chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-cf-ticket__btn { display: block; width: 100%; margin-top: 1.3rem; padding: 0.9rem 1rem; border: 0; border-radius: 10px; background: var(--te-navy); cursor: pointer; font: inherit; font-weight: 700; color: #fff; }
.te-cf-ticket__btn:hover { background: var(--te-steel-deep); }
.te-cf-ticket__alt { display: block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 600; text-align: center; color: var(--te-steel-deep); }
.te-cf-ticket__btn:focus-visible, .te-cf-ticket__alt:focus-visible, .te-cf-format a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .te-cf-chip span { transition: none; } }
@media (max-width: 1100px) {
	.te-cf-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-cf-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-cf-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-cf-wall { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
	.te-cf-hero__grid, .te-cf-room, .te-cf-booth, .te-cf-plan-ev, .te-cf-rent { grid-template-columns: minmax(0, 1fr); }
	.te-cf-rx { display: none; }
	.te-cf-hero__bg::after { background: linear-gradient(0deg, rgba(10, 28, 42, .95), rgba(10, 28, 42, .8)); }
}
@media (max-width: 760px) {
	.te-cf-formats, .te-cf-pair, .te-cf-brief { grid-template-columns: minmax(0, 1fr); }
	.te-cf-wall ul { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
	.te-cf-wall__item--1 { grid-row: auto; }
	.te-cf-wall figure { height: 14rem; }
}
@media (max-width: 600px) {
	.te-cf-bench ul, .te-cf-cases, .te-cf-ticket dl { grid-template-columns: minmax(0, 1fr); }
	.te-cf-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-cf-plan__booths i { width: 2.6rem; height: 1.4rem; font-size: 0.6rem; }
	.te-cf-plan__tx::after { width: 5rem; height: 5rem; margin-top: -2.5rem; }
}

/* ==========================================================================
   Video remote interpreting (/video-web-conference-interpretation/): the lens, the frame, the screen
   ========================================================================== */
.te-vri-hero { padding-bottom: 0 !important; }
.te-vri-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-vri-hero__copy > * { margin-block: 0; }
.te-vri-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-vri-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-vri-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: a tablet on a stand, mid-call */
.te-vri-tab { position: relative; display: flex; flex-direction: column; align-items: center; padding-bottom: 1rem; }
.te-vri-tab p { margin: 0; }
.te-vri-tab__frame { position: relative; width: 100%; max-width: 32rem; padding: 0.9rem; border-radius: 26px; background: #0B1218; box-shadow: inset 0 0 0 2px #2E3B45, 0 50px 80px -40px rgba(0, 0, 0, .95); }
.te-vri-tab__cam { position: absolute; left: 50%; top: 0.35rem; width: 0.4rem; height: 0.4rem; margin-left: -0.2rem; border-radius: 50%; background: #2E3B45; }
.te-vri-tab__screen { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 16px; background: #13293A; }
.te-vri-tab__screen > img { width: 100%; height: 100%; object-fit: cover; object-position: 35% center; }
.te-vri-tab__screen::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .45), transparent 25% 70%, rgba(0, 0, 0, .6)); pointer-events: none; }
.te-vri-tab__top { position: absolute; z-index: 1; left: 0.9rem; right: 0.9rem; top: 0.8rem; display: flex; justify-content: space-between; font-size: 0.75rem; font-weight: 700; color: #fff; }
.te-vri-tab__live { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.25rem 0.6rem; border-radius: 999px; background: rgba(0, 0, 0, .45); }
.te-vri-tab__live i { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #2FA36B; box-shadow: 0 0 0 3px rgba(47, 163, 107, .35); }
.te-vri-tab__lang { padding: 0.25rem 0.6rem; border-radius: 999px; background: var(--te-signal); }
.te-vri-tab__corner { position: absolute; z-index: 1; width: 1.6rem; height: 1.6rem; border: 3px solid rgba(255, 255, 255, .85); }
.te-vri-tab__corner.is-tl { left: 50%; top: 16%; border-right: 0; border-bottom: 0; }
.te-vri-tab__corner.is-tr { right: 18%; top: 16%; border-left: 0; border-bottom: 0; }
.te-vri-tab__corner.is-bl { left: 50%; bottom: 30%; border-right: 0; border-top: 0; }
.te-vri-tab__corner.is-br { right: 18%; bottom: 30%; border-left: 0; border-top: 0; }
.te-vri-tab__self { position: absolute; z-index: 1; left: 0.9rem; top: 3rem; width: 20%; aspect-ratio: 3 / 4; border-radius: 10px; background: radial-gradient(circle at 50% 38%, #9DB3C2 0 18%, transparent 19%), radial-gradient(ellipse at 50% 100%, #9DB3C2 0 42%, transparent 43%), linear-gradient(160deg, #2B4E6B, #13293A); box-shadow: 0 0 0 2px rgba(255, 255, 255, .7); }
.te-vri-tab__self span { position: absolute; left: 0.4rem; bottom: 0.3rem; font-size: 0.625rem; font-weight: 700; color: #fff; }
.te-vri-tab__name { position: absolute; z-index: 1; left: 0.9rem; bottom: 3.4rem; font-size: 0.75rem; color: rgba(255, 255, 255, .8); }
.te-vri-tab__name b { display: block; font-size: 0.95rem; color: #fff; }
.te-vri-tab__bar { position: absolute; z-index: 1; left: 50%; bottom: 0.8rem; display: flex; gap: 0.6rem; transform: translateX(-50%); }
.te-vri-tab__bar i { width: 2.1rem; height: 2.1rem; border-radius: 50%; background: rgba(255, 255, 255, .2); }
.te-vri-tab__bar i.is-end { background: #C8312B; }
.te-vri-tab__stand { width: 5rem; height: 4rem; background: linear-gradient(90deg, #2E3B45, #4A5B68, #2E3B45); clip-path: polygon(38% 0, 62% 0, 62% 70%, 100% 100%, 0 100%, 38% 70%); }
.te-vri-pick { position: relative; z-index: 2; margin-top: -1.6rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.35rem; max-width: 32rem; padding: 0.8rem 0.9rem; border-radius: 12px; background: #fff; box-shadow: 0 24px 40px -20px rgba(0, 0, 0, .75); }
.te-vri-pick p { margin-right: 0.3rem !important; font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-vri-pick span { padding: 0.25rem 0.6rem; border-radius: 999px; background: var(--te-cloud); font-size: 0.75rem; font-weight: 700; color: var(--te-navy); }
.te-vri-pick span.is-on { background: var(--te-navy); color: #fff; }

/* Benchmarks */
.te-vri-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-vri-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-vri-bench li { position: relative; margin: 0; padding: 1.3rem 1.3rem 1.25rem; border-radius: 4px; background: rgba(255, 255, 255, .04); }
.te-vri-bench li::before, .te-vri-bench li::after { content: ""; position: absolute; width: 1rem; height: 1rem; border: 2px solid var(--te-sky); }
.te-vri-bench li::before { left: 0; top: 0; border-right: 0; border-bottom: 0; }
.te-vri-bench li::after { right: 0; bottom: 0; border-left: 0; border-top: 0; }
.te-vri-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-vri-bench li:first-child strong { color: #FFB591; }
.te-vri-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-vri-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* What audio can't see: viewfinder frames */
.te-vri-frames { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-vri-frame { margin: 0; }
.te-vri-frame__view { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 6px; background: linear-gradient(160deg, #1B3A55, #0B1C28); overflow: hidden; }
.te-vri-frame__rec { position: absolute; left: 0.8rem; top: 0.7rem; display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.6875rem; font-weight: 800; color: #fff; }
.te-vri-frame__rec::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #C8312B; }
.te-vri-frame__c { position: absolute; width: 1.2rem; height: 1.2rem; border: 2.5px solid #fff; }
.te-vri-frame__c.is-tl { left: 18%; top: 22%; border-right: 0; border-bottom: 0; }
.te-vri-frame__c.is-tr { right: 18%; top: 22%; border-left: 0; border-bottom: 0; }
.te-vri-frame__c.is-bl { left: 18%; bottom: 14%; border-right: 0; border-top: 0; }
.te-vri-frame__c.is-br { right: 18%; bottom: 14%; border-left: 0; border-top: 0; }
.te-vri-frame__art { position: absolute; inset: 0; display: block; }
.te-vri-frame--sign .te-vri-frame__art { background: radial-gradient(circle at 36% 44%, #9DB3C2 0 9%, transparent 9.5%), radial-gradient(ellipse at 36% 104%, #6E8899 0 24%, transparent 24.5%), radial-gradient(circle at 64% 44%, #FFD27A 0 9%, transparent 9.5%), radial-gradient(ellipse at 64% 104%, #C9A96B 0 24%, transparent 24.5%); }
.te-vri-frame--face .te-vri-frame__art { background: radial-gradient(circle at 50% 50%, #9DB3C2 0 22%, transparent 22.5%), radial-gradient(circle at 42% 46%, #0B1C28 0 2.2%, transparent 2.6%), radial-gradient(circle at 58% 46%, #0B1C28 0 2.2%, transparent 2.6%), radial-gradient(ellipse 9% 3% at 50% 60%, #0B1C28 0 60%, transparent 62%); }
.te-vri-frame--doc .te-vri-frame__art { background: linear-gradient(#fff, #fff) 50% 50% / 38% 58% no-repeat, repeating-linear-gradient(180deg, transparent 0 8px, #C3D0DA 8px 10px) 50% 52% / 28% 40% no-repeat; }
.te-vri-frame--doc .te-vri-frame__art::after { content: ""; position: absolute; left: 56%; top: 62%; width: 2.2rem; height: 0.9rem; border-radius: 3px; background: var(--te-signal); transform: rotate(-8deg); }
.te-vri-frame--point .te-vri-frame__art { background: radial-gradient(circle at 50% 46%, #9DB3C2 0 13%, transparent 13.5%), radial-gradient(ellipse at 50% 112%, #6E8899 0 40%, transparent 40.5%); }
.te-vri-frame--point .te-vri-frame__art::after { content: ""; position: absolute; left: 60%; top: 66%; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 3px solid var(--te-signal); box-shadow: 0 0 0 6px rgba(232, 85, 26, .25); }
.te-vri-frame h3 { margin: 1rem 0 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-vri-frame p { margin: 0.35rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Where VRI works: device silhouettes */
.te-vri-devices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-vri-dev { display: flex; flex-direction: column; margin: 0; padding: 1.3rem 1.2rem 1.4rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-vri-dev__shape { position: relative; display: grid; place-items: end center; height: 8.5rem; margin-bottom: 1.1rem; border-radius: 10px; background: var(--te-cloud); }
.te-vri-dev__scr { position: relative; display: block; background: #0B1C28; box-shadow: inset 0 0 0 3px #22303B; }
.te-vri-dev__scr i { position: absolute; display: block; border-radius: 3px; }
.te-vri-dev__scr i:first-child { inset: 18% 30% 18% 12%; background: linear-gradient(160deg, #2B4E6B, #13293A); }
.te-vri-dev__scr i:last-child { right: 10%; bottom: 14%; width: 22%; height: 28%; background: var(--te-signal); }
.te-vri-dev--cart .te-vri-dev__scr { width: 6rem; height: 4.2rem; margin-bottom: 3.4rem; border-radius: 8px; }
.te-vri-dev--cart .te-vri-dev__shape::after { content: ""; position: absolute; left: 50%; bottom: 1.1rem; width: 0.45rem; height: 2.4rem; margin-left: -0.225rem; background: #4A5B68; }
.te-vri-dev--cart .te-vri-dev__shape::before { content: ""; position: absolute; left: 50%; bottom: 0.8rem; width: 4.4rem; height: 0.4rem; margin-left: -2.2rem; border-radius: 3px; background: #22303B; }
.te-vri-dev--laptop .te-vri-dev__scr { width: 7.4rem; height: 4.6rem; margin-bottom: 1.6rem; border-radius: 6px 6px 0 0; }
.te-vri-dev--laptop .te-vri-dev__shape::after { content: ""; position: absolute; left: 50%; bottom: 1.2rem; width: 9rem; height: 0.45rem; margin-left: -4.5rem; border-radius: 0 0 6px 6px; background: #4A5B68; }
.te-vri-dev--monitor .te-vri-dev__scr { width: 8.6rem; height: 5rem; margin-bottom: 2rem; border-radius: 4px; }
.te-vri-dev--monitor .te-vri-dev__shape::after { content: ""; position: absolute; left: 50%; bottom: 0.9rem; width: 2.6rem; height: 1.1rem; margin-left: -1.3rem; background: #4A5B68; clip-path: polygon(40% 0, 60% 0, 60% 60%, 100% 100%, 0 100%, 40% 60%); }
.te-vri-dev--phone .te-vri-dev__scr { width: 3.4rem; height: 6.2rem; margin-bottom: 1.1rem; border-radius: 10px; }
.te-vri-dev--phone .te-vri-dev__scr i:first-child { inset: 10% 10% 30% 10%; }
.te-vri-dev--phone .te-vri-dev__scr i:last-child { right: 14%; bottom: 8%; width: 34%; height: 18%; }
.te-vri-dev h3 { margin: 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-vri-dev p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Languages by video: an on-demand board */
.te-vri-langs { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-vri-langs__intro > * { margin: 0; }
.te-vri-langs__intro h2 { margin-top: 0.75rem !important; }
.te-vri-langs__asl { margin-top: 1.5rem !important; padding: 0.9rem 1.1rem; border-left: 4px solid var(--te-steel); border-radius: 0 10px 10px 0; background: var(--te-cloud); font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-vri-langs__asl strong { color: var(--te-navy); }
.te-vri-langs__asl a { font-weight: 700; color: var(--te-steel-deep); }
.te-vri-langs__asl a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-vri-board { display: grid; grid-template-columns: 1.4fr 1fr; gap: 1px; overflow: hidden; border-radius: 16px; background: rgba(255, 255, 255, .08); box-shadow: 0 34px 60px -40px rgba(15, 42, 61, .7); }
.te-vri-board__col { padding: 1.3rem 1.4rem 1.4rem; background: var(--te-navy); }
.te-vri-board__col + .te-vri-board__col { background: #17344C; }
.te-vri-board__h { display: flex; align-items: center; gap: 0.5rem; margin: 0; font-size: 0.8125rem; font-weight: 800; color: #fff; }
.te-vri-board__dot { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: #F4C26B; }
.te-vri-board__dot.is-live { background: #2FA36B; box-shadow: 0 0 0 4px rgba(47, 163, 107, .25); }
.te-vri-board ul { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.te-vri-board li { margin: 0; padding: 0.4rem 0.75rem; border-radius: 8px; background: rgba(255, 255, 255, .08); font-size: 0.875rem; font-weight: 600; color: #fff; }
.te-vri-board__col:first-child li { box-shadow: inset 3px 0 0 #2FA36B; }
.te-vri-board__foot { grid-column: 1 / -1; margin: 0; padding: 0.7rem 1.4rem; background: #0B1C28; font-size: 0.75rem; color: rgba(255, 255, 255, .6); }

/* Is video right? */
.te-vri-fit-section { background: var(--te-navy); color: #fff; }
.te-vri-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 3rem !important; }
.te-vri-fit__col { padding: 1.5rem 1.6rem; border-radius: 16px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.te-vri-fit__col.is-yes { box-shadow: inset 0 0 0 1.5px rgba(47, 163, 107, .6); }
.te-vri-fit__h { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: 1.1rem; font-weight: 800; color: #fff; }
.te-vri-fit__sig { width: 0.9rem; height: 0.9rem; border-radius: 50%; background: #F4C26B; box-shadow: 0 0 0 4px rgba(244, 194, 107, .2); }
.te-vri-fit__sig.is-on { background: #2FA36B; box-shadow: 0 0 0 4px rgba(47, 163, 107, .25); }
.te-vri-fit ul { display: grid; gap: 0.7rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.te-vri-fit li { display: flex; gap: 0.55rem; margin: 0; font-size: 0.95rem; line-height: 1.5; color: rgba(255, 255, 255, .85); }
.te-vri-fit li::before { content: ""; flex: none; width: 1rem; height: 1rem; margin-top: 0.2rem; background: #8FE0B5; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-vri-fit .is-no li::before { background: #F4C26B; -webkit-mask-image: var(--te-i-users); mask-image: var(--te-i-users); }
.te-vri-fit a { display: inline-block; margin-top: 1.1rem; font-weight: 700; color: var(--te-sky); }

/* Technology and security */
.te-vri-tech { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-vri-tech__body > * { margin: 0; }
.te-vri-tech__body h2 { margin-top: 0.75rem !important; }
.te-vri-tech__list { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem 2rem; margin-top: 1.8rem !important; padding: 0; list-style: none; }
.te-vri-tech__list li { margin: 0; padding-top: 0.9rem; border-top: 3px solid var(--te-steel); }
.te-vri-tech__list strong { display: block; font-size: 1rem; color: var(--te-navy); }
.te-vri-tech__list span { display: block; margin-top: 0.3rem; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-vri-tech__photo { margin: 0; }
.te-vri-tech__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; box-shadow: 0 30px 60px -36px rgba(15, 42, 61, .6); }

/* Get started */
.te-vri-start { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-vri-start__intro > * { margin: 0; }
.te-vri-start__intro h2 { margin-top: 0.75rem !important; }
.te-vri-start__tip { margin-top: 1.5rem !important; padding: 1rem 1.2rem; border-left: 4px solid var(--te-signal); border-radius: 0 10px 10px 0; background: #fff; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-vri-start__tip strong { color: var(--te-navy); }
.te-vri-card { padding: 1.6rem 1.7rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .6); }
.te-vri-card p { margin: 0; }
.te-vri-card__h { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-vri-card__h b { font-size: 1.1rem; color: var(--te-navy); }
.te-vri-card__h span { font-size: 0.75rem; color: var(--te-slate); }
.te-vri-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem 1rem; margin: 1.1rem 0 0; }
.te-vri-card dl div { padding: 0.6rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-vri-card dt { font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-vri-card dd { margin: 0.15rem 0 0; font-size: 0.9375rem; font-weight: 600; color: var(--te-ink); }
.te-vri-card__form { margin: 0; }
.te-vri-card__set { margin: 0.8rem 0 0; padding: 0.6rem 0.8rem 0.75rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-vri-card__set legend { float: left; width: 100%; padding: 0; font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-vri-chip { position: relative; display: inline-block; margin: 0.45rem 0.4rem 0 0; cursor: pointer; }
.te-vri-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-vri-chip span { display: inline-block; padding: 0.4rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.8125rem; font-weight: 600; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-vri-chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-vri-chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-vri-chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-vri-card__hint { display: none; margin-top: 0.6rem !important; font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }
.te-vri-card__set:has(#te-vri-dev-tablets:checked) .te-vri-card__hint--tablets,
.te-vri-card__set:has(#te-vri-dev-laptops:checked) .te-vri-card__hint--laptops,
.te-vri-card__set:has(#te-vri-dev-mobile:checked) .te-vri-card__hint--mobile,
.te-vri-card__set:has(#te-vri-dev-unsure:checked) .te-vri-card__hint--unsure { display: block; }
.te-vri-card__btn { display: block; width: 100%; margin-top: 1.3rem; padding: 0.9rem 1rem; border: 0; border-radius: 10px; background: var(--te-navy); cursor: pointer; font: inherit; font-weight: 700; color: #fff; }
.te-vri-card__btn:hover { background: var(--te-steel-deep); }
.te-vri-card__alt { display: block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 600; text-align: center; color: var(--te-steel-deep); }
.te-vri-card__btn:focus-visible, .te-vri-card__alt:focus-visible, .te-vri-fit a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .te-vri-chip span { transition: none; } }
@media (max-width: 1100px) {
	.te-vri-frames, .te-vri-devices, .te-vri-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-vri-hero__grid, .te-vri-langs, .te-vri-tech, .te-vri-start { grid-template-columns: minmax(0, 1fr); }
	.te-vri-tab { max-width: 34rem; }
}
@media (max-width: 760px) {
	.te-vri-fit, .te-vri-tech__list, .te-vri-board { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.te-vri-frames, .te-vri-devices, .te-vri-bench ul, .te-vri-card dl { grid-template-columns: minmax(0, 1fr); }
	.te-vri-pick { margin-top: 0.8rem; }
	.te-vri-tab__name { bottom: 3.2rem; font-size: 0.6875rem; }
	.te-vri-tab__self { width: 20%; }
}

/* Section heads that break before the accent phrase. */
.te-head--stack h2 .te-accent { display: block; }
.te-head--stack .te-head__text { max-width: none; }
.te-head--stack h2 { max-width: none; }
@media (min-width: 900px) { .te-head--stack h2 { white-space: nowrap; } }

/* ==========================================================================
   Deaf and hard-of-hearing access (/deaf-hard-of-hearing-accessibility-asl-interpreting/): hands and captions
   ========================================================================== */
.te-dh-hero { padding-bottom: 0 !important; }
.te-dh-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-dh-hero__copy > * { margin-block: 0; }
.te-dh-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-dh-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-dh-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Hero: a captioned meeting with an interpreter picture-in-picture */
.te-dh-screen { position: relative; padding: 0 0 4.2rem 0; }
.te-dh-screen p { margin: 0; }
.te-dh-screen__main { margin: 0; }
.te-dh-screen__main img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-dh-pip { position: absolute; right: 4px; top: -1.2rem; width: 34%; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 14px; box-shadow: 0 0 0 4px #fff, 0 24px 40px -18px rgba(0, 0, 0, .8); }
.te-dh-pip img { width: 100%; height: 100%; object-fit: cover; object-position: 64% 30%; }
.te-dh-pip span { position: absolute; left: 0.5rem; bottom: 0.5rem; padding: 0.2rem 0.5rem; border-radius: 999px; background: var(--te-signal); font-size: 0.6875rem; font-weight: 800; color: #fff; }
.te-dh-cap { position: absolute; left: 1.2rem; right: 1.2rem; bottom: 0; padding: 0.9rem 1.1rem 1rem; border-radius: 14px; background: #0B1218; box-shadow: 0 24px 40px -20px rgba(0, 0, 0, .8); color: #fff; }
.te-dh-cap__h { display: flex; justify-content: space-between; font-size: 0.6875rem; font-weight: 700; color: rgba(255, 255, 255, .6); }
.te-dh-cap__h span:first-child { display: inline-flex; align-items: center; gap: 0.4rem; color: #8FE0B5; }
.te-dh-cap__h i { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #2FA36B; box-shadow: 0 0 0 3px rgba(47, 163, 107, .3); }
.te-dh-cap__line { margin-top: 0.45rem !important; font-family: "Courier New", monospace; font-size: 1rem; line-height: 1.45; font-weight: 600; }
.te-dh-cap__line b { color: #FFD27A; }
.te-dh-cap__cur { display: inline-block; width: 0.55em; height: 1.05em; margin-left: 0.15em; vertical-align: -0.15em; background: #FFD27A; animation: te-mt-blink 1s steps(1) infinite; }

/* Benchmarks */
.te-dh-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-dh-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-dh-bench li { margin: 0; padding: 0 1.4rem; }
.te-dh-bench li:first-child { padding-left: 0; }
.te-dh-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-dh-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-dh-bench li:first-child strong { color: #FFB591; }
.te-dh-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-dh-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* Before the first word: a countdown */
/* Countdown dial: the 90 minutes before the first word */
.te-dh-dial { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4rem; align-items: center; margin-top: 3rem !important; }
.te-dh-dial__face { position: relative; box-sizing: border-box; margin: 0; padding: 2rem; border-radius: 28px; background: var(--te-cloud); }
.te-dh-dial__face svg { display: block; width: 100%; height: auto; }
.te-dh-dial__face figcaption { position: absolute; left: 50%; top: 50%; width: 12rem; margin-top: 4.4rem; transform: translate(-50%, -50%); text-align: center; }
.te-dh-dial__face b { display: block; font-size: 3.6rem; line-height: 1; font-weight: 800; color: var(--te-navy); }
.te-dh-dial__face span { display: block; margin-top: 0.3rem; font-size: 0.82rem; line-height: 1.4; color: var(--te-slate); }
.te-dh-dial ol { margin: 0; padding: 0; list-style: none; }
.te-dh-dial li { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: 1.2rem; margin: 0; padding: 1rem 0; border-top: 1px solid var(--te-line); }
.te-dh-dial li:first-child { padding-top: 0; border-top: 0; }
.te-dh-dial__clk { font-size: 1.5rem; line-height: 1.1; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--c); }
.te-dh-dial li p { margin: 0; }
.te-dh-dial__code { font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-dh-dial h3 { margin: 0.1rem 0 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-dh-dial li p:last-child { margin-top: 0.2rem; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-dh-dial__note { margin: 1rem 0 0; padding: 0.9rem 1.1rem; border-radius: 10px; background: #FFF1EB; box-shadow: inset 3px 0 0 var(--te-signal); font-size: 0.88rem; line-height: 1.5; color: #7A2E0E; }

/* Modes */
/* Communication modes: one message, received three ways */
.te-dh-msg { box-sizing: border-box; margin-top: 3rem !important; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 26px; background: radial-gradient(120% 90% at 0% 0%, var(--te-navy-soft) 0%, var(--te-navy) 55%, #0B2131 100%); color: #fff; }
.te-dh-msg p, .te-dh-msg h3, .te-dh-msg ul, .te-dh-msg li { margin: 0; }
.te-dh-msg__top { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.4rem 2rem; align-items: end; padding-bottom: 2.2rem; border-bottom: 1px solid rgba(255,255,255,.14); }
.te-dh-msg__lbl { grid-column: 1 / -1; font-size: 0.85rem; font-weight: 600; color: var(--te-sky); }
.te-dh-msg__q { max-width: 22ch; font-size: clamp(1.7rem, 3.4vw, 2.5rem); line-height: 1.1; font-weight: 800; letter-spacing: -0.02em; color: #fff; }
.te-dh-msg__sub { justify-self: end; max-width: 30ch; font-size: 0.98rem; line-height: 1.55; color: rgba(255,255,255,.72); }
.te-dh-msg__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; margin-top: 2.2rem; }
.te-dh-msg__c { --a: var(--te-sky); }
.te-dh-msg__c--touch { --a: #FF8A5B; }
.te-dh-msg__c--text { --a: #8FD9B0; }
.te-dh-msg__m { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 16px; background: #0B1824; }
.te-dh-msg__m img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-dh-msg__c--sign img { object-position: 35% 40%; }
.te-dh-msg__tag { position: absolute; left: 0.9rem; bottom: 0.9rem; padding: 0.35rem 0.75rem; border-radius: 99px; background: rgba(15,27,38,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); font-size: 0.8rem; font-weight: 700; color: var(--a); }
.te-dh-msg__cap { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 1.6rem; background: repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 2px, transparent 2px 4px), #0A1520; }
.te-dh-msg__spk { font: 700 0.78rem/1 ui-monospace, Consolas, monospace; color: var(--a); }
.te-dh-msg__line { margin-top: 0.6rem !important; font: 700 clamp(1rem, 1.6vw, 1.25rem)/1.45 ui-monospace, Consolas, monospace; color: #fff; }
.te-dh-msg__line .te-dh-cap__cur { display: inline-block; width: 0.6em; height: 1.1em; margin-left: 0.15em; vertical-align: -0.15em; background: var(--a); }
.te-dh-msg h3 { margin-top: 1.3rem !important; font-size: 1.6rem !important; font-weight: 800; color: #fff !important; }
.te-dh-msg__for { margin-top: 0.2rem !important; font-size: 0.9rem; color: var(--a); }
.te-dh-msg ul { margin-top: 1rem !important; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.12); }
.te-dh-msg li { display: flex; align-items: baseline; gap: 0.8rem; padding: 0.6rem 0; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 0.95rem; color: rgba(255,255,255,.9); }
.te-dh-msg abbr { flex: 0 0 3.2rem; font-size: 0.72rem; font-weight: 800; text-decoration: none; color: var(--a); }
.te-dh-msg__more { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem 2rem; align-items: center; margin-top: 2.2rem; padding: 1.3rem 1.5rem; border-radius: 16px; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.te-dh-msg__more-h { font-size: 0.85rem; font-weight: 700; color: var(--te-sky); }
.te-dh-msg__more ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; margin: 0 !important; padding: 0; border: 0; list-style: none; }
.te-dh-msg__more li { display: block; padding: 0 0 0 1rem; border: 0; border-left: 2px solid #FFC24B; }
.te-dh-msg__more b { display: block; font-size: 1rem; color: #fff; }
.te-dh-msg__more span { display: block; margin-top: 0.2rem; font-size: 0.875rem; line-height: 1.5; color: rgba(255,255,255,.75); }

/* CART */
.te-dh-cart-section { background: var(--te-navy); color: #fff; }
.te-dh-cart { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-dh-cart__body > * { margin: 0; }
.te-dh-cart__body .te-eyebrow { color: var(--te-sky); }
.te-dh-cart__body h2 { margin-top: 0.75rem !important; color: #fff; }
.te-dh-cart__body h2 .te-accent { color: var(--te-sky); }
.te-dh-cart__body .te-head__lede { color: rgba(255, 255, 255, .78); }
.te-dh-cart__specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.8rem !important; padding: 0; list-style: none; }
.te-dh-cart__specs li { margin: 0; padding: 1rem; border-radius: 12px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.te-dh-cart__specs b { display: block; font-size: 1.8rem; font-weight: 800; line-height: 1; color: #FFD27A; }
.te-dh-cart__specs span { display: block; margin-top: 0.4rem; font-size: 0.8125rem; line-height: 1.4; color: rgba(255, 255, 255, .75); }
.te-dh-cart__note { margin-top: 1.2rem !important; font-size: 0.875rem; line-height: 1.55; color: rgba(255, 255, 255, .65); }
.te-dh-stream { margin: 0; overflow: hidden; border-radius: 16px; background: #0B1218; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1), 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-dh-stream__top { display: flex; align-items: center; gap: 0.6rem; padding: 0.8rem 1.1rem; border-bottom: 1px solid rgba(255, 255, 255, .1); font-size: 0.75rem; color: rgba(255, 255, 255, .55); }
.te-dh-stream__top b { color: #fff; font-size: 0.875rem; }
.te-dh-stream__top span:last-child { margin-left: auto; }
.te-dh-stream__dot { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: #C8312B; box-shadow: 0 0 0 3px rgba(200, 49, 43, .3); }
.te-dh-stream__body { padding: 1.1rem 1.2rem 1.3rem; }
.te-dh-stream__body p { margin: 0 0 0.8rem; font-family: "Courier New", monospace; font-size: 0.98rem; line-height: 1.55; color: rgba(255, 255, 255, .55); }
.te-dh-stream__body p b { color: rgba(255, 210, 122, .7); }
.te-dh-stream__body p.is-live { margin: 0; color: #fff; }
.te-dh-stream__body p.is-live b { color: #FFD27A; }
.te-dh-stream figcaption { padding: 0 1.2rem 0.9rem; font-size: 0.6875rem; color: rgba(255, 255, 255, .4); }

/* Vetting */
/* Vetting: five-step ribbon and credential seals */
.te-dh-vet { margin-top: 3rem !important; }
.te-dh-vet__rib { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.te-dh-vet__rib li { margin: 0; }
.te-dh-vet__chev { display: flex; align-items: center; gap: 0.7rem; height: 64px; margin: 0; padding: 0 1.6rem 0 2rem; background: var(--c); font-size: 1.1rem !important; font-weight: 800; color: #fff !important; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%); }
.te-dh-vet__rib li:first-child .te-dh-vet__chev { padding-left: 1.3rem; border-radius: 12px 0 0 12px; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%); }
.te-dh-vet__chev span { display: grid; place-items: center; flex: none; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: rgba(255,255,255,.18); font-size: 0.8rem; }
.te-dh-vet__rib p { margin: 0.8rem 0 0; padding: 0 0.6rem 0 1.3rem; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-dh-vet__wall { box-sizing: border-box; margin-top: 2.2rem; padding: 2rem 2.2rem 2.2rem; border: 1.5px solid #D3DDE5; border-radius: 22px; }
.te-dh-vet__h { margin: 0; font-size: 1.15rem; font-weight: 800; color: var(--te-navy); }
.te-dh-vet__h span { display: block; margin-top: 0.2rem; font-size: 0.875rem; font-weight: 500; color: var(--te-slate); }
.te-dh-vet__wall ul { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1.2rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.te-dh-vet__wall li { display: flex; flex-direction: column; align-items: center; margin: 0; text-align: center; }
.te-dh-vet__wall svg { display: block; width: 100%; max-width: 112px; height: auto; font-family: inherit; }
.te-dh-vet__wall li span { margin-top: 0.6rem; font-size: 0.78rem; line-height: 1.35; color: var(--te-slate); }

/* Scheduling desk and team */
.te-dh-desk { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-dh-desk__intro > * { margin: 0; }
.te-dh-desk__intro h2 { margin-top: 0.75rem !important; }
.te-dh-desk__points { display: grid; gap: 0.9rem; margin-top: 1.6rem !important; padding: 0; list-style: none; }
.te-dh-desk__points li { margin: 0; padding-left: 1rem; border-left: 3px solid var(--te-steel); font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-dh-desk__points strong { color: var(--te-navy); }
.te-dh-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem 1rem; margin: 0; padding: 0; list-style: none; }
.te-dh-team li { margin: 0; text-align: center; }
.te-dh-team img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 50%; box-shadow: 0 0 0 4px #fff, 0 0 0 5.5px #C3D0DA; }
.te-dh-team b { display: block; margin-top: 0.7rem; font-size: 0.875rem; color: var(--te-navy); }
.te-dh-team span { display: block; margin-top: 0.15rem; font-size: 0.75rem; line-height: 1.35; color: var(--te-slate); }

/* Settings and testimonial */
.te-dh-settings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; margin-top: 3rem !important; padding: 0; list-style: none; }
.te-dh-settings li { margin: 0; padding: 1.3rem 1.25rem; border: 1.5px solid #C3D0DA; border-radius: 14px; background: #fff; }
.te-dh-settings__ico { display: block; width: 1.5rem; height: 1.5rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-dh-settings h3 { margin: 0.8rem 0 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-dh-settings p { margin: 0.35rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-dh-quote { box-sizing: border-box; margin-top: 2.2rem !important; margin-bottom: 0 !important; padding: 1.8rem 2rem; border-radius: 16px; background: var(--te-cloud); }
.te-dh-quote blockquote { margin: 0; padding: 0; border: 0; }
.te-dh-quote p { margin: 0; font-family: Georgia, serif; font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.5; color: var(--te-navy); }
.te-dh-quote p::before { content: "“"; color: var(--te-signal); }
.te-dh-quote p::after { content: "”"; color: var(--te-signal); }
.te-dh-quote figcaption { margin-top: 0.9rem; font-size: 0.875rem; color: var(--te-slate); }
.te-dh-quote figcaption b { margin-right: 0.4rem; color: var(--te-navy); }

/* Proof */
.te-dh-proof-section { background: var(--te-navy); color: #fff; }
.te-dh-proof-section .te-head__link a { color: var(--te-sky); }
.te-dh-proof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 2.6rem !important; margin-bottom: 2.4rem !important; padding: 0; list-style: none; }
.te-dh-proof li { margin: 0; padding: 1.2rem 1.25rem; border-radius: 14px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.te-dh-proof strong { display: block; font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 800; line-height: 1.05; color: #fff; }
.te-dh-proof li:first-child strong { color: #FFB591; }
.te-dh-proof span { display: block; margin-top: 0.45rem; font-size: 0.85rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

/* Request card */
.te-dh-req { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-dh-req__intro > * { margin: 0; }
.te-dh-req__intro h2 { margin-top: 0.75rem !important; }
.te-dh-req__tip { margin-top: 1.5rem !important; padding: 1rem 1.2rem; border-left: 4px solid var(--te-signal); border-radius: 0 10px 10px 0; background: #fff; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-dh-req__tip strong { color: var(--te-navy); }
.te-dh-req__tip + .te-dh-req__tip { margin-top: 0.75rem !important; }
.te-dh-req__tip--plan { border-left-color: var(--te-steel); }
.te-dh-card { padding: 1.6rem 1.7rem; border: 1.5px solid #8FA8BA; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .6); }
.te-dh-card p { margin: 0; }
.te-dh-card__h { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-dh-card__h b { font-size: 1.1rem; color: var(--te-navy); }
.te-dh-card__h span { font-size: 0.75rem; color: var(--te-slate); }
.te-dh-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem 1rem; margin: 1.1rem 0 0; }
.te-dh-card dl div { padding: 0.6rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-dh-card dt { font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-dh-card dd { margin: 0.15rem 0 0; font-size: 0.9375rem; font-weight: 600; color: var(--te-ink); }
.te-dh-card__form { margin: 0; }
.te-dh-card__set { margin: 0.8rem 0 0; padding: 0.6rem 0.8rem 0.75rem; border: 1px solid #C3D0DA; border-radius: 8px; background: var(--te-cloud); }
.te-dh-card__set legend { float: left; width: 100%; padding: 0; font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-dh-chip { position: relative; display: inline-block; margin: 0.45rem 0.4rem 0 0; cursor: pointer; }
.te-dh-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-dh-chip span { display: inline-block; padding: 0.4rem 0.8rem; border: 1px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.8125rem; font-weight: 600; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-dh-chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-dh-chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-dh-chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-dh-card__hint { display: none; margin-top: 0.6rem !important; font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }
.te-dh-card__set:has(#te-dh-svc-asl-onsite:checked) .te-dh-card__hint--asl-onsite,
.te-dh-card__set:has(#te-dh-svc-cart:checked) .te-dh-card__hint--cart,
.te-dh-card__set:has(#te-dh-svc-vri:checked) .te-dh-card__hint--vri,
.te-dh-card__set:has(#te-dh-svc-deafblind:checked) .te-dh-card__hint--deafblind { display: block; }
.te-dh-card__btn { display: block; width: 100%; margin-top: 1.3rem; padding: 0.9rem 1rem; border: 0; border-radius: 10px; background: var(--te-navy); cursor: pointer; font: inherit; font-weight: 700; color: #fff; }
.te-dh-card__btn:hover { background: var(--te-steel-deep); }
.te-dh-card__alt { display: block; margin-top: 0.8rem; font-size: 0.875rem; font-weight: 600; text-align: center; color: var(--te-steel-deep); }
.te-dh-card__btn:focus-visible, .te-dh-card__alt:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .te-dh-cap__cur { animation: none; } .te-dh-chip span { transition: none; } }
@media (max-width: 1100px) {
	.te-dh-dial { gap: 2.5rem; }
	.te-dh-vet__wall ul { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 1.6rem; }
	.te-dh-vet__chev { padding-right: 1.2rem; font-size: 1rem !important; }
	.te-dh-bench ul, .te-dh-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-dh-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-dh-settings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.te-dh-msg__more, .te-dh-msg__more ul { grid-template-columns: minmax(0, 1fr); }
	.te-dh-vet__rib { grid-template-columns: minmax(0, 1fr); gap: 0.9rem; }
	.te-dh-vet__rib li { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 1.2rem; align-items: center; }
	.te-dh-vet__rib li .te-dh-vet__chev, .te-dh-vet__rib li:first-child .te-dh-vet__chev { padding-left: 1.2rem; border-radius: 12px 0 0 12px; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%); }
	.te-dh-vet__rib p { margin: 0; padding: 0; }
	.te-dh-dial { grid-template-columns: minmax(0, 1fr); }
	.te-dh-dial__face { width: 100%; max-width: 420px; justify-self: center; }
	.te-dh-msg__row { grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
	.te-dh-msg__c { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0 1.6rem; align-items: start; }
	.te-dh-msg__m { grid-row: span 3; }
	.te-dh-msg__c h3 { margin-top: 0 !important; }
	.te-dh-msg__top { grid-template-columns: minmax(0, 1fr); }
	.te-dh-msg__sub { justify-self: start; }
}
@media (max-width: 600px) {
	.te-dh-dial__face { padding: 1.2rem; }
	.te-dh-dial__face figcaption { width: 8.5rem; margin-top: 3.2rem; }
	.te-dh-dial__face span { font-size: 0.72rem; }
	.te-dh-dial__face b { font-size: 2.6rem; }
	.te-dh-dial li { grid-template-columns: 4.2rem minmax(0, 1fr); gap: 0.9rem; }
	.te-dh-vet__rib li { display: block; }
	.te-dh-vet__rib p { margin-top: 0.6rem; }
	.te-dh-vet__wall { padding: 1.5rem 1.2rem; }
	.te-dh-vet__wall ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-dh-vet__wall svg { max-width: 84px; }
	.te-dh-msg__c { display: block; }
	.te-dh-msg__c h3 { margin-top: 1.1rem !important; }
}
@media (max-width: 1024px) {
	.te-dh-hero__grid, .te-dh-cart, .te-dh-desk, .te-dh-req { grid-template-columns: minmax(0, 1fr); }
	.te-dh-screen { max-width: 620px; }
	.te-dh-pip { right: 0.6rem; top: 0.6rem; }
}
@media (max-width: 600px) {
	.te-dh-settings, .te-dh-bench ul, .te-dh-proof, .te-dh-cart__specs, .te-dh-card dl { grid-template-columns: minmax(0, 1fr); }
	.te-dh-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-dh-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-dh-cap { left: 0.6rem; right: 0.6rem; }
	.te-dh-cap__line { font-size: 0.875rem; }
	.te-dh-quote { padding: 1.4rem 1.2rem; }
}

/* ==========================================================================
   Braille services page (.te-br-*)
   ========================================================================== */

/* Braille cells: six dots, read 1-2-3 down the left, 4-5-6 down the right */
.te-br-word { display: inline-flex; flex-wrap: wrap; align-items: flex-start; row-gap: calc(var(--br-d, 8px) * 1.6); }
.te-br-cell { --d: var(--br-d, 8px); display: inline-grid; grid-template-rows: repeat(3, var(--d)); grid-auto-flow: column; grid-auto-columns: var(--d); gap: calc(var(--d) * 0.5); margin-right: calc(var(--d) * 1.25); }
.te-br-cell:last-child { margin-right: 0; }
.te-br-cell.is-space { margin-right: calc(var(--d) * 1.6); }
.te-br-cell i { display: block; width: var(--d); height: var(--d); border-radius: 50%; background: var(--br-off, transparent); }
.te-br-cell i.is-on { background: var(--br-on, var(--te-navy)); box-shadow: var(--br-shadow, none); }
.te-br-cell.is-space i { background: transparent; box-shadow: none; }

/* Hero */
.te-br-hero { padding-bottom: 0 !important; }
.te-br-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-br-hero__copy > * { margin-block: 0; }
.te-br-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-br-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-br-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-br-visual { position: relative; display: grid; justify-items: end; padding: 0 0 3.5rem; }
.te-br-visual p { margin: 0; }
.te-br-visual__photo { width: 78%; margin: 0; }
.te-br-visual__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 40% 40%; border-radius: 22px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-br-plate { --br-d: 9px; max-width: 100%; box-sizing: border-box; --br-on: radial-gradient(circle at 35% 30%, #fff 0 25%, #D5DEE5 75%); --br-shadow: 0 1.5px 1.5px rgba(15, 42, 61, .45), 0 3px 6px rgba(15, 42, 61, .2); position: absolute; left: 0; bottom: 0; padding: 1.3rem 1.6rem 1.2rem; border-radius: 16px; background: linear-gradient(145deg, #F8FAFC, #E1E8EE); box-shadow: 0 30px 50px -24px rgba(0, 0, 0, .75), inset 0 1px 0 #fff; }
.te-br-plate .te-br-word { flex-wrap: nowrap; }
.te-br-plate__k { margin-bottom: 0.85rem !important; font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-br-plate__print { margin-top: 0.85rem !important; padding-top: 0.7rem; border-top: 1px solid #C9D4DC; font-size: 0.95rem; font-weight: 700; color: var(--te-navy); }
.te-br-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-br-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-br-bench li { margin: 0; padding: 0 1.4rem; }
.te-br-bench li:first-child { padding-left: 0; }
.te-br-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-br-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-br-bench li:first-child strong { color: #FFB591; }
.te-br-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-br-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* How Braille works: cell anatomy, live preview, contractions */
.te-br-learn { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 1.5rem; margin-top: 3rem !important; }
.te-br-learn p { margin: 0; }
.te-br-anatomy { display: flex; flex-direction: column; justify-content: space-between; gap: 1.6rem; margin: 0; padding: 2rem; border-radius: 22px; background: radial-gradient(120% 100% at 0 0, var(--te-navy-soft), var(--te-navy) 65%); color: #fff; }
.te-br-anatomy__cell { display: grid; grid-template-rows: repeat(3, 56px); grid-auto-flow: column; grid-auto-columns: 56px; gap: 18px 26px; justify-content: center; }
.te-br-anatomy__cell span { display: grid; place-items: center; border-radius: 50%; border: 2px dashed rgba(255, 255, 255, .35); font-size: 1rem; font-weight: 800; color: rgba(255, 255, 255, .55); }
.te-br-anatomy__cell span.is-on { border: 0; background: radial-gradient(circle at 35% 30%, #fff 0 25%, #CFE3EC 80%); box-shadow: 0 4px 10px rgba(0, 0, 0, .35); color: var(--te-navy); }
.te-br-anatomy figcaption { font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .78); }
.te-br-anatomy figcaption b { display: block; margin-bottom: 0.3rem; font-size: 1.1rem; color: #fff; }
.te-br-type { display: flex; flex-direction: column; padding: 2rem; border: 1.5px solid #C3D0DA; border-radius: 22px; background: #fff; }
.te-br-type__lbl { font-size: 1.1rem; font-weight: 800; color: var(--te-navy); }
.te-br-type__in { box-sizing: border-box; width: 100%; margin-top: 0.8rem; padding: 0.85rem 1rem; border: 1.5px solid #8FA8BA; border-radius: 12px; background: var(--te-cloud); font: inherit; font-size: 1.25rem; font-weight: 600; color: var(--te-ink); }
.te-br-type__in:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; border-color: var(--te-steel-deep); }
.te-br-type__out { --br-d: 15px; --br-off: rgba(15, 42, 61, .07); --br-on: radial-gradient(circle at 35% 30%, #fff 0 22%, #C9D6DF 80%); --br-shadow: 0 2px 2px rgba(15, 42, 61, .45), 0 4px 8px rgba(15, 42, 61, .18); flex: 1; display: flex; flex-direction: column; justify-content: center; min-height: 9.5rem; margin-top: 1.1rem; padding: 1.5rem 1.6rem; border-radius: 14px; background: linear-gradient(160deg, #F6F8FA, #E6EDF2); box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 #D3DDE5; }
.te-br-type__print { margin-top: 1rem !important; font-size: 0.95rem; font-weight: 700; color: var(--te-steel-deep); }
.te-br-type__note { margin-top: 0.9rem !important; font-size: 0.8125rem; line-height: 1.5; color: var(--te-slate); }
.te-br-contract { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.4rem; padding: 1.8rem 2rem 2rem; border-radius: 22px; background: var(--te-cloud); }
.te-br-contract > p { grid-column: 1; }
.te-br-contract__h { font-size: 1.15rem; font-weight: 800; color: var(--te-navy); }
.te-br-contract__lede { max-width: 70ch; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-br-contract ul { margin-top: 1.1rem !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-br-contract li { --br-d: 6px; margin: 0; padding: 1rem 1rem 1.1rem; border-radius: 14px; background: #fff; box-shadow: 0 1px 0 #D3DDE5; }
.te-br-contract__word { display: block; font-size: 1.05rem; font-weight: 800; color: var(--te-navy); }
.te-br-contract__row { display: flex; flex-direction: column; gap: 0.4rem; margin-top: 0.7rem; padding-top: 0.6rem; border-top: 1px solid var(--te-line); }
.te-br-contract__n { font-size: 0.72rem; font-weight: 700; color: var(--te-slate); }
.te-br-contract__row.is-short { --br-on: var(--te-signal); }
.te-br-contract__row.is-short .te-br-contract__n { color: var(--te-signal); }

/* What we transcribe */
.te-br-docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-br-docs li { margin: 0; padding: 0 0 1.5rem; overflow: hidden; border: 1px solid #D3DDE5; border-radius: 18px; background: #fff; }
.te-br-docs__plate { --br-d: 8px; --br-on: radial-gradient(circle at 35% 30%, #fff 0 25%, #BFD9E6 80%); --br-shadow: 0 1px 2px rgba(0, 0, 0, .55), 0 0 6px rgba(124, 200, 230, .25); display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 86px; padding: 0 1.4rem; background: linear-gradient(135deg, var(--te-navy-soft), var(--te-navy)); }
.te-br-docs__ico { flex: none; width: 1.5rem; height: 1.5rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-br-docs h3 { margin: 1.2rem 1.4rem 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-br-docs p { margin: 0.35rem 1.4rem 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Tactile graphics */
.te-br-tactile { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-br-tactile__copy > * { margin: 0; }
.te-br-tactile__copy h2 { margin-top: 0.75rem !important; }
.te-br-tactile__copy .te-head__lede { margin-top: 1rem !important; }
.te-br-tactile__list { display: grid; gap: 0.75rem; margin: 1.5rem 0 0 !important; padding: 0; list-style: none; }
.te-br-tactile__list li { margin: 0; padding-left: 1rem; border-left: 3px solid var(--te-steel); font-size: 0.9375rem; line-height: 1.5; color: var(--te-slate); }
.te-br-tactile__list b { color: var(--te-navy); }
.te-br-tactile__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.te-br-chart { position: relative; margin: 0; padding: 1.3rem 1.3rem 1.2rem; border-radius: 18px; }
.te-br-chart p { margin: 0; }
.te-br-chart--print { border: 1px solid #D3DDE5; background: #fff; }
.te-br-chart--touch { background: linear-gradient(160deg, #F6F8FA, #E3EAEF); box-shadow: inset 0 1px 0 #fff, 0 24px 40px -30px rgba(15, 42, 61, .55); }
.te-br-chart__t { font-size: 0.8rem; font-weight: 800; color: var(--te-steel-deep); }
.te-br-chart svg { display: block; width: 100%; height: auto; margin-top: 0.6rem; }
.te-br-chart__labels { --br-d: 5px; --br-on: var(--te-navy); position: relative; height: 1.2rem; margin-top: -1.6rem; }
.te-br-chart__labels span { position: absolute; top: 0; transform: translateX(-50%); }
.te-br-chart__labels span:nth-child(1) { left: 25.8%; }
.te-br-chart__labels span:nth-child(2) { left: 46.5%; }
.te-br-chart__labels span:nth-child(3) { left: 67.3%; }
.te-br-chart__labels span:nth-child(4) { left: 88%; }
.te-br-chart figcaption { margin-top: 0.9rem; font-size: 0.8125rem; color: var(--te-slate); }

/* Process (navy) */
.te-br-process-section { background: var(--te-navy); color: #fff; }
.te-br-process { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-br-process__step { position: relative; margin: 0; padding: 1.5rem; border-radius: 18px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.te-br-process__step:not(:last-child)::after { content: ""; position: absolute; top: 3.6rem; right: -1.1rem; z-index: 1; width: 0.95rem; height: 2px; background: repeating-linear-gradient(90deg, var(--te-sky) 0 3px, transparent 3px 6px); }
.te-br-process__art { --br-d: 6px; --br-on: var(--te-sky); display: flex; align-items: center; gap: 0.8rem; height: 4.2rem; padding: 0 1rem; border-radius: 12px; background: rgba(255, 255, 255, .06); }
.te-br-process__lines { display: grid; gap: 6px; width: 3.2rem; }
.te-br-process__lines i { display: block; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .5); }
.te-br-process__lines i:nth-child(2) { width: 80%; }
.te-br-process__lines i:nth-child(3) { width: 60%; }
.te-br-process__arrow { position: relative; width: 1.2rem; height: 2px; background: #FFB591; }
.te-br-process__arrow::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 2px solid #FFB591; border-right: 2px solid #FFB591; transform: rotate(45deg); }
.te-br-process__bars { display: flex; align-items: flex-end; gap: 8px; height: 3rem; }
.te-br-process__bars i { width: 1.2rem; border: 2px solid var(--te-sky); background: radial-gradient(circle, var(--te-sky) 1.2px, transparent 1.6px) 0 0 / 6px 6px; }
.te-br-process__bars i:nth-child(1) { height: 55%; }
.te-br-process__bars i:nth-child(2) { height: 100%; }
.te-br-process__bars i:nth-child(3) { height: 75%; }
.te-br-process__check { position: relative; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: rgba(124, 200, 230, .14); }
.te-br-process__check::after { content: ""; position: absolute; inset: 0.55rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-br-process__n { display: block; margin-top: 1.2rem; font-size: 0.75rem; font-weight: 700; color: var(--te-sky); }
.te-br-process h3 { margin: 0.3rem 0 0; font-size: 1.1rem !important; color: #fff !important; }
.te-br-process p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }

/* Enterprise statements and obligations */
.te-br-ent { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-br-ent__cycle > * { margin: 0; }
.te-br-ent__cycle h2 { margin-top: 0.75rem !important; }
.te-br-ent__cycle .te-head__lede { margin-top: 1rem !important; }
.te-br-cycle { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.5rem; margin: 2rem 0 0 !important; padding: 0; list-style: none; }
.te-br-cycle li { position: relative; margin: 0; padding: 0.9rem 0.8rem 1rem; border-radius: 12px; background: var(--te-cloud); font-size: 0.85rem; font-weight: 700; line-height: 1.35; color: var(--te-navy); }
.te-br-cycle li:last-child { background: #E4F4EA; color: #14532F; }
.te-br-cycle span { display: grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-bottom: 0.6rem; border-radius: 50%; background: var(--te-navy); font-size: 0.75rem; color: #fff; }
.te-br-cycle li:last-child span { background: #1E7A4C; }
.te-br-ent__law { padding: 1.8rem; border: 1.5px solid #C3D0DA; border-radius: 20px; background: #fff; }
.te-br-ent__law p { margin: 0; }
.te-br-ent__law-h { font-size: 1.1rem; font-weight: 800; color: var(--te-navy); }
.te-br-ent__law dl { margin: 1rem 0 0; }
.te-br-ent__law dl div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; padding: 0.9rem 0; border-top: 1px solid var(--te-line); }
.te-br-ent__law dt { font-size: 1rem; font-weight: 800; color: var(--te-steel-deep); }
.te-br-ent__law dd { margin: 0; font-size: 0.875rem; line-height: 1.5; color: var(--te-slate); }
.te-br-ent__fine { padding-top: 0.9rem; border-top: 1px solid var(--te-line); font-size: 0.78rem; line-height: 1.5; color: var(--te-slate); }

/* Request card (reuses the .te-dh-card styles) */
.te-br-req { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-br-req__intro > * { margin: 0; }
.te-br-req__intro h2 { margin-top: 0.75rem !important; }
.te-br-req__intro .te-head__lede { margin-top: 1rem !important; }
.te-br-req__tip { margin-top: 1.5rem !important; padding: 1rem 1.2rem; border-left: 4px solid var(--te-signal); border-radius: 0 10px 10px 0; background: #fff; font-size: 0.9375rem; line-height: 1.55; color: var(--te-slate); }
.te-br-req__tip strong { color: var(--te-navy); }
.te-dh-card__set:has(#te-br-req-document:checked) .te-br-card__hint--document,
.te-dh-card__set:has(#te-br-req-recurring:checked) .te-br-card__hint--recurring,
.te-dh-card__set:has(#te-br-req-stem:checked) .te-br-card__hint--stem,
.te-dh-card__set:has(#te-br-req-graphics:checked) .te-br-card__hint--graphics,
.te-dh-card__set:has(#te-br-req-language:checked) .te-br-card__hint--language { display: block; }

@media (max-width: 1100px) {
	.te-br-cycle { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-br-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-br-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 1024px) {
	.te-br-hero__grid, .te-br-tactile, .te-br-ent, .te-br-req { grid-template-columns: minmax(0, 1fr); }
	.te-br-visual { max-width: 560px; }
	.te-br-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-br-process__step::after { display: none; }
}
@media (max-width: 900px) {
	.te-br-learn { grid-template-columns: minmax(0, 1fr); }
	.te-br-docs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-br-contract ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.te-br-docs, .te-br-process, .te-br-bench ul, .te-br-tactile__pair, .te-br-cycle { grid-template-columns: minmax(0, 1fr); }
	.te-br-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-br-visual__photo { width: 88%; }
	.te-br-plate { --br-d: 6px; right: 0; padding: 1rem 1.1rem; }
	.te-br-anatomy, .te-br-type, .te-br-contract { padding: 1.4rem; }
	.te-br-anatomy__cell { grid-template-rows: repeat(3, 46px); grid-auto-columns: 46px; gap: 14px 20px; }
	.te-br-type__out { --br-d: 11px; }
	.te-br-ent__law dl div { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
}

/* ==========================================================================
   Language instruction page (.te-li-*)
   ========================================================================== */

/* Hero */
.te-li-hero { padding-bottom: 0 !important; }
.te-li-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-li-hero__copy > * { margin-block: 0; }
.te-li-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-li-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-li-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-li-visual { position: relative; padding: 0 0 6rem 2.5rem; }
.te-li-visual p { margin: 0; }
.te-li-visual__photo { margin: 0; }
.te-li-visual__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 60% 30%; border-radius: 22px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-li-lesson { position: absolute; left: 0; bottom: 0; box-sizing: border-box; width: min(360px, 82%); padding: 1.2rem 1.3rem 1.25rem; border-radius: 16px; background: #fff; box-shadow: 0 30px 50px -24px rgba(0, 0, 0, .75); color: var(--te-ink); }
.te-li-lesson__top { display: flex; justify-content: space-between; align-items: center; font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-li-lesson__lvl { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.2rem 0.55rem; border-radius: 99px; background: var(--te-ice); color: var(--te-steel-deep); }
.te-li-lesson__lvl i { width: 0.7rem; height: 2px; background: currentColor; position: relative; }
.te-li-lesson__lvl i::after { content: ""; position: absolute; right: 0; top: -3px; width: 6px; height: 6px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.te-li-lesson__goal { margin-top: 0.6rem !important; font-size: 0.95rem; font-weight: 800; color: var(--te-navy); }
.te-li-lesson__phrase { margin-top: 0.7rem !important; padding: 0.7rem 0.85rem; border-radius: 10px; background: var(--te-cloud); box-shadow: inset 3px 0 0 var(--te-signal); font-size: 1.05rem; line-height: 1.5; font-weight: 600; color: var(--te-navy); }
.te-li-lesson__en { margin-top: 0.4rem !important; font-size: 0.85rem; font-style: italic; color: var(--te-slate); }
.te-li-lesson__note { margin-top: 0.7rem !important; padding-top: 0.65rem; border-top: 1px solid var(--te-line); font-size: 0.8rem; line-height: 1.45; color: var(--te-slate); }
.te-li-lesson__note b { color: var(--te-steel-deep); }
.te-li-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-li-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-li-bench li { margin: 0; padding: 0 1.4rem; }
.te-li-bench li:first-child { padding-left: 0; }
.te-li-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-li-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-li-bench li:first-child strong { color: #FFB591; }
.te-li-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-li-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* App vs live instruction */
.te-li-vs { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 1.5rem; margin-top: 3rem !important; }
.te-li-vs p { margin: 0; }
.te-li-vs__card { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 1.2rem 1.8rem; padding: 2rem; border-radius: 22px; }
.te-li-vs__k { grid-column: 1 / -1; font-size: 1rem; font-weight: 800; }
.te-li-vs__card--app { background: var(--te-cloud); }
.te-li-vs__card--app .te-li-vs__k { color: var(--te-slate); }
.te-li-vs__card--live { grid-template-columns: minmax(0, 1fr); border: 1.5px solid #8FA8BA; background: #fff; box-shadow: 0 30px 60px -45px rgba(15, 42, 61, .6); }
.te-li-vs__card--live .te-li-vs__k { color: var(--te-navy); }
.te-li-phone { width: 150px; padding: 8px; border-radius: 26px; background: #C9D3DB; }
.te-li-phone__screen { display: flex; flex-direction: column; align-items: center; height: 230px; padding: 1rem 0.8rem; border-radius: 20px; background: #fff; text-align: center; }
.te-li-phone__bar { width: 100%; height: 5px; border-radius: 3px; background: linear-gradient(90deg, #A9B6C1 35%, #E6EBEF 35%); }
.te-li-phone__word { margin-top: auto !important; font-size: 1.15rem; font-weight: 800; color: #6B7684; }
.te-li-phone__tr { margin-top: 0.2rem !important; font-size: 0.8rem; color: #8A96A3; }
.te-li-phone__btn { margin-top: auto; padding: 0.4rem 0.9rem; border-radius: 99px; background: #A9B6C1; font-size: 0.72rem; font-weight: 700; color: #fff; }
.te-li-vs__list { display: grid; align-content: start; gap: 0.7rem; margin: 0; padding: 0; list-style: none; }
.te-li-vs__list li { display: flex; gap: 0.6rem; margin: 0; font-size: 0.92rem; line-height: 1.45; color: var(--te-slate); }
.te-li-vs__list li::before { content: ""; flex: none; width: 1.05rem; height: 1.05rem; margin-top: 0.1rem; border-radius: 50%; }
.te-li-vs__card--app .te-li-vs__list li::before { background: #C9D3DB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.te-li-vs__card--live .te-li-vs__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem 1.4rem; }
.te-li-vs__card--live .te-li-vs__list li { color: var(--te-ink); }
.te-li-vs__card--live .te-li-vs__list li::before { background: #1E7A4C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.5l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.te-li-session { padding: 1.2rem 1.3rem; border-radius: 14px; background: var(--te-cloud); }
.te-li-session__h { font-size: 0.95rem; font-weight: 800; color: var(--te-navy); }
.te-li-session__h span { display: block; margin-bottom: 0.2rem; font-size: 0.72rem; font-weight: 700; color: var(--te-slate); }
.te-li-session__said, .te-li-session__fb { max-width: 85%; margin-top: 0.8rem !important; padding: 0.7rem 0.9rem; border-radius: 12px; font-size: 0.9rem; line-height: 1.5; }
.te-li-session__said { background: #fff; color: var(--te-ink); border-bottom-left-radius: 4px; }
.te-li-session__fb { margin-left: auto !important; background: var(--te-navy); color: #fff; border-bottom-right-radius: 4px; }
.te-li-session__fb em { font-style: normal; font-weight: 700; color: #FFC24B; }
.te-li-session b { font-weight: 700; }

/* Goal explorer */
.te-li-goal { box-sizing: border-box; margin-top: 3rem !important; padding: 2rem; border-radius: 24px; background: #fff; box-shadow: 0 1px 0 #D3DDE5, 0 30px 60px -50px rgba(15, 42, 61, .6); }
.te-li-goal p { margin: 0; }
.te-li-goal__pick { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin: 0; padding: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--te-line); }
.te-li-goal__pick legend { float: left; margin-right: 0.6rem; padding: 0; font-size: 1rem; font-weight: 800; color: var(--te-navy); }
.te-li-goal__chip { position: relative; cursor: pointer; }
.te-li-goal__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-li-goal__chip span { display: inline-block; padding: 0.6rem 1.1rem; border: 1.5px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.92rem; font-weight: 700; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-li-goal__chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-li-goal__chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-li-goal__chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-li-goal__body { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2.5rem; align-items: start; margin-top: 1.8rem; }
.te-li-ladder { display: flex; flex-direction: column-reverse; gap: 0.45rem; margin: 0; padding: 0; list-style: none; }
.te-li-ladder__step { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 0.9rem; margin: 0; padding: 0.6rem 0.9rem; border-radius: 12px; background: var(--te-cloud); transition: background .2s, transform .2s; }
.te-li-ladder__step:nth-child(1) { margin-right: 50%; }
.te-li-ladder__step:nth-child(2) { margin-right: 40%; }
.te-li-ladder__step:nth-child(3) { margin-right: 30%; }
.te-li-ladder__step:nth-child(4) { margin-right: 20%; }
.te-li-ladder__step:nth-child(5) { margin-right: 10%; }
.te-li-ladder__step b { grid-row: span 2; display: grid; place-items: center; height: 2.4rem; border-radius: 8px; background: #fff; font-size: 0.95rem; font-weight: 800; color: var(--te-steel-deep); box-shadow: 0 1px 0 #D3DDE5; }
.te-li-ladder__step span { align-self: end; font-size: 0.88rem; font-weight: 800; color: var(--te-navy); }
.te-li-ladder__step small { font-size: 0.76rem; line-height: 1.35; color: var(--te-slate); }
.te-li-goal:has(#te-li-g-relocate:checked) .te-li-ladder__step--b1,
.te-li-goal:has(#te-li-g-board:checked) .te-li-ladder__step--c1,
.te-li-goal:has(#te-li-g-negotiate:checked) .te-li-ladder__step--b2,
.te-li-goal:has(#te-li-g-site:checked) .te-li-ladder__step--b1,
.te-li-goal:has(#te-li-g-site:checked) .te-li-ladder__step--b2,
.te-li-goal:has(#te-li-g-customer:checked) .te-li-ladder__step--b2 { background: var(--te-navy); }
.te-li-goal:has(#te-li-g-relocate:checked) .te-li-ladder__step--b1 :is(span, small),
.te-li-goal:has(#te-li-g-board:checked) .te-li-ladder__step--c1 :is(span, small),
.te-li-goal:has(#te-li-g-negotiate:checked) .te-li-ladder__step--b2 :is(span, small),
.te-li-goal:has(#te-li-g-site:checked) :is(.te-li-ladder__step--b1, .te-li-ladder__step--b2) :is(span, small),
.te-li-goal:has(#te-li-g-customer:checked) .te-li-ladder__step--b2 :is(span, small) { color: #fff; }
.te-li-goal:has(#te-li-g-relocate:checked) .te-li-ladder__step--b1 b,
.te-li-goal:has(#te-li-g-board:checked) .te-li-ladder__step--c1 b,
.te-li-goal:has(#te-li-g-negotiate:checked) .te-li-ladder__step--b2 b,
.te-li-goal:has(#te-li-g-site:checked) :is(.te-li-ladder__step--b1, .te-li-ladder__step--b2) b,
.te-li-goal:has(#te-li-g-customer:checked) .te-li-ladder__step--b2 b { background: var(--te-signal); color: #fff; box-shadow: none; }
.te-li-plan { display: none; }
.te-li-goal:has(#te-li-g-relocate:checked) .te-li-plan--relocate,
.te-li-goal:has(#te-li-g-board:checked) .te-li-plan--board,
.te-li-goal:has(#te-li-g-negotiate:checked) .te-li-plan--negotiate,
.te-li-goal:has(#te-li-g-site:checked) .te-li-plan--site,
.te-li-goal:has(#te-li-g-customer:checked) .te-li-plan--customer { display: block; }
.te-li-plan__k { font-size: 0.75rem; font-weight: 800; color: var(--te-signal); }
.te-li-plan h3 { margin: 0.3rem 0 0; font-size: 1.5rem !important; line-height: 1.25; color: var(--te-navy); }
.te-li-plan dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; margin: 1.3rem 0 1.5rem; }
.te-li-plan dl div { padding: 0.8rem 0.9rem; border: 1px solid #C3D0DA; border-radius: 10px; background: var(--te-cloud); }
.te-li-plan dt { font-size: 0.6875rem; font-weight: 700; color: var(--te-steel-deep); }
.te-li-plan dd { margin: 0.2rem 0 0; font-size: 0.92rem; font-weight: 700; line-height: 1.35; color: var(--te-ink); }
.te-li-plan__mods { display: grid; gap: 0.5rem; margin: 0.6rem 0 0; padding: 0; list-style: none; counter-reset: te-li-mod; }
.te-li-plan__mods li { display: flex; align-items: center; gap: 0.8rem; margin: 0; padding: 0.75rem 1rem; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px #D3DDE5; font-size: 0.95rem; font-weight: 600; color: var(--te-navy); counter-increment: te-li-mod; }
.te-li-plan__mods li::before { content: counter(te-li-mod); display: grid; place-items: center; flex: none; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--te-ice); font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-li-goal__fine { margin-top: 1.5rem !important; padding-top: 1rem; border-top: 1px solid var(--te-line); font-size: 0.8rem; color: var(--te-slate); }

/* Tracks */
.te-li-tracks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-li-track { margin: 0; padding: 0 0 1.6rem; overflow: hidden; border: 1px solid #D3DDE5; border-radius: 20px; background: #fff; }
.te-li-track h3 { margin: 1.3rem 1.5rem 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-li-track > p { margin: 0.4rem 1.5rem 0; font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }
.te-li-track__photo { position: relative; height: 210px; margin: 0; }
.te-li-track__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-li-track--exec .te-li-track__photo img { object-position: 65% 30%; }
.te-li-track--industry .te-li-track__photo img { object-position: 60% 25%; }
.te-li-track__photo figcaption { position: absolute; left: 1rem; right: 1rem; bottom: 1rem; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.te-li-track__photo figcaption span { padding: 0.3rem 0.65rem; border-radius: 99px; background: rgba(15, 42, 61, .82); font-size: 0.75rem; font-weight: 700; color: #fff; }
.te-li-pass { box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; height: 210px; margin: 0; padding: 1.3rem 1.5rem; background: radial-gradient(120% 120% at 100% 0, var(--te-navy-soft), var(--te-navy) 65%); color: #fff; }
.te-li-pass p { margin: 0; }
.te-li-pass__top, .te-li-pass__meta { display: flex; justify-content: space-between; font-size: 0.75rem; font-weight: 700; color: var(--te-sky); }
.te-li-pass__route { display: flex; align-items: center; gap: 1rem; }
.te-li-pass__route b { font-size: 2.6rem; font-weight: 800; letter-spacing: 0.02em; }
.te-li-pass__route i { position: relative; flex: 1; height: 2px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .6) 0 6px, transparent 6px 12px); }
.te-li-pass__route i::after { content: ""; position: absolute; right: -2px; top: -5px; width: 10px; height: 10px; border-top: 2px solid #FFB591; border-right: 2px solid #FFB591; transform: rotate(45deg); }
.te-li-pass__meta { padding-top: 0.8rem; border-top: 1px dashed rgba(255, 255, 255, .3); color: rgba(255, 255, 255, .8); }

/* Method and report (navy) */
.te-li-method-section { background: var(--te-navy); color: #fff; }
.te-li-method { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; margin-top: 3rem !important; }
.te-li-steps { display: grid; gap: 1.4rem; margin: 0; padding: 0; list-style: none; }
.te-li-steps li { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: 1rem; margin: 0; }
.te-li-steps__n { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: rgba(124, 200, 230, .14); box-shadow: inset 0 0 0 1.5px var(--te-sky); font-weight: 800; color: var(--te-sky); }
.te-li-steps h3 { margin: 0.3rem 0 0; font-size: 1.1rem !important; color: #fff !important; }
.te-li-steps p { margin: 0.3rem 0 0; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }
.te-li-report { margin: 0; padding: 1.6rem 1.7rem 1.4rem; border-radius: 20px; background: #fff; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .8); color: var(--te-ink); }
.te-li-report p { margin: 0; }
.te-li-report__h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-li-report__h b { font-size: 1.1rem; color: var(--te-navy); }
.te-li-report__h span { font-size: 0.75rem; color: var(--te-slate); }
.te-li-report__scale, .te-li-report li { display: grid; grid-template-columns: 9rem repeat(6, minmax(0, 1fr)) 7rem; align-items: center; }
.te-li-report__scale { padding: 0.9rem 0 0.4rem; }
.te-li-report__scale span { font-size: 0.72rem; font-weight: 800; text-align: center; color: var(--te-slate); }
.te-li-report ul { margin: 0; padding: 0; list-style: none; }
.te-li-report li { margin: 0; padding: 0.85rem 0; border-top: 1px solid var(--te-line); }
.te-li-report__who b { display: block; font-size: 0.88rem; color: var(--te-navy); }
.te-li-report__who span { font-size: 0.78rem; color: var(--te-slate); }
.te-li-report__bar { grid-column: 2 / span 6; position: relative; height: 0.9rem; border-radius: 99px; background: repeating-linear-gradient(90deg, var(--te-cloud) 0 calc(100% / 6 - 2px), #fff calc(100% / 6 - 2px) calc(100% / 6)); box-shadow: inset 0 0 0 1px #E3E8EE; }
.te-li-report__fill { position: absolute; top: 0; bottom: 0; left: calc(var(--s) / 6 * 100%); width: calc((var(--c) - var(--s) + 1) / 6 * 100%); border-radius: 99px; background: linear-gradient(90deg, var(--te-steel), var(--te-steel-deep)); }
.te-li-report__target { position: absolute; top: -0.3rem; bottom: -0.3rem; left: calc((var(--t) + 0.5) / 6 * 100%); width: 3px; margin-left: -1.5px; border-radius: 2px; background: var(--te-signal); }
.te-li-report__st { padding-left: 1rem; font-size: 0.8rem; font-weight: 700; color: var(--te-steel-deep); }
.te-li-report__st.is-done { color: #1E7A4C; }
.te-li-report figcaption { display: flex; align-items: center; gap: 0.5rem; padding-top: 0.9rem; border-top: 1px solid var(--te-line); font-size: 0.75rem; color: var(--te-slate); }
.te-li-report__k1, .te-li-report__k2 { display: inline-block; flex: none; }
.te-li-report__k1 { width: 1.4rem; height: 0.55rem; border-radius: 99px; background: var(--te-steel-deep); }
.te-li-report__k2 { width: 3px; height: 0.9rem; margin-left: 0.8rem; border-radius: 2px; background: var(--te-signal); }

/* Languages band and program owner cards */
.te-li-langs { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 2.5rem; align-items: center; margin-bottom: clamp(3rem, 6vw, 4.5rem) !important; padding: 2rem 2.2rem; border-radius: 22px; background: var(--te-cloud); }
.te-li-langs__h { margin: 0; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-li-langs__h b { display: block; font-size: 2.4rem; line-height: 1; font-weight: 800; letter-spacing: -0.02em; color: var(--te-navy); margin-bottom: 0.5rem; }
.te-li-langs ul { display: flex; flex-wrap: wrap; gap: 1.1rem 2rem; margin: 0; padding: 0; list-style: none; }
.te-li-langs li { margin: 0; font-size: 1.45rem; font-weight: 700; line-height: 1.2; color: var(--te-navy); }
.te-li-langs li:nth-child(3n + 2) { color: var(--te-steel-deep); }
.te-li-langs li:nth-child(4n) { color: var(--te-signal); }
.te-li-langs li span { display: block; margin-top: 0.15rem; font-size: 0.7rem; font-weight: 600; color: var(--te-slate); }
.te-li-hr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
.te-li-hr li { margin: 0; padding: 1.6rem; border: 1.5px solid #C3D0DA; border-radius: 18px; background: #fff; }
.te-li-hr__ico { display: block; width: 2.6rem; height: 2.6rem; border-radius: 12px; background: var(--te-ice); position: relative; }
.te-li-hr__ico::after { content: ""; position: absolute; inset: 0.6rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-li-hr h3 { margin: 1rem 0 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-li-hr p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Request card hints */
.te-dh-card__set:has(#te-li-req-executive:checked) .te-li-card__hint--executive,
.te-dh-card__set:has(#te-li-req-relocation:checked) .te-li-card__hint--relocation,
.te-dh-card__set:has(#te-li-req-team:checked) .te-li-card__hint--team,
.te-dh-card__set:has(#te-li-req-industry:checked) .te-li-card__hint--industry { display: block; }

@media (max-width: 1100px) {
	.te-li-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-li-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-li-vs { grid-template-columns: minmax(0, 1fr); }
	.te-li-langs { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
}
@media (max-width: 1024px) {
	.te-li-hero__grid, .te-li-method { grid-template-columns: minmax(0, 1fr); }
	.te-li-visual { max-width: 620px; }
	.te-li-tracks, .te-li-hr { grid-template-columns: minmax(0, 1fr); }
	.te-li-track { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); grid-template-rows: auto 1fr; align-items: start; padding: 0; }
	.te-li-track > .te-li-pass, .te-li-track > .te-li-track__photo { grid-row: span 2; height: 100%; min-height: 200px; }
	.te-li-track h3 { margin-top: 1.4rem; }
	.te-li-track > p { margin-bottom: 1.4rem; }
}
@media (max-width: 900px) {
	.te-li-goal__body { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
	.te-li-ladder__step:nth-child(n) { margin-right: 0; }
	.te-li-ladder { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.4rem; }
	.te-li-ladder__step { display: block; padding: 0.5rem; text-align: center; }
	.te-li-ladder__step span, .te-li-ladder__step small { display: none; }
	.te-li-ladder__step b { height: 2rem; }
}
@media (max-width: 600px) {
	.te-li-bench ul, .te-li-vs__card--live .te-li-vs__list, .te-li-plan dl { grid-template-columns: minmax(0, 1fr); }
	.te-li-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-li-visual { padding: 0 0 9rem; }
	.te-li-lesson { width: 92%; }
	.te-li-vs__card { grid-template-columns: minmax(0, 1fr); padding: 1.4rem; }
	.te-li-phone { justify-self: center; }
	.te-li-goal { padding: 1.3rem; }
	.te-li-track { display: block; padding: 0 0 1.4rem; }
	.te-li-track > .te-li-pass, .te-li-track > .te-li-track__photo { height: 190px; min-height: 0; }
	.te-li-report { padding: 1.2rem; }
	.te-li-report__scale, .te-li-report li { grid-template-columns: repeat(6, minmax(0, 1fr)); row-gap: 0.4rem; }
	.te-li-report__scale span:first-child { display: none; }
	.te-li-report__who { grid-column: 1 / -1; }
	.te-li-report__bar { grid-column: 1 / -1; }
	.te-li-report__st { grid-column: 1 / -1; padding-left: 0; }
	.te-li-langs { padding: 1.4rem; }
	.te-li-langs li { font-size: 1.2rem; }
}

/* ==========================================================================
   Language access compliance audits page (.te-la-*)
   ========================================================================== */

/* Hero */
.te-la-hero { padding-bottom: 0 !important; }
.te-la-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-la-hero__copy > * { margin-block: 0; }
.te-la-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-la-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-la-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-la-visual { position: relative; padding: 0 0 7rem 3rem; }
.te-la-visual p { margin: 0; }
.te-la-visual__photo { margin: 0; }
.te-la-visual__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 60% 40%; border-radius: 22px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-la-sum { position: absolute; left: 0; bottom: 0; box-sizing: border-box; width: min(350px, 84%); padding: 1.2rem 1.3rem 1rem; border-radius: 16px; background: #fff; box-shadow: 0 30px 50px -24px rgba(0, 0, 0, .75); }
.te-la-sum__h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 0.7rem; border-bottom: 2px solid var(--te-navy); }
.te-la-sum__h b { font-size: 1rem; color: var(--te-navy); }
.te-la-sum__h span { font-size: 0.7rem; color: var(--te-slate); }
.te-la-sum ul { margin: 0.3rem 0 0; padding: 0; list-style: none; }
.te-la-sum li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0; padding: 0.5rem 0; border-bottom: 1px solid var(--te-line); font-size: 0.82rem; font-weight: 600; color: var(--te-ink); }
.te-la-sum li:last-child { border-bottom: 0; }
.te-la-st { flex: none; padding: 0.2rem 0.55rem; border-radius: 99px; font-size: 0.7rem; font-style: normal; font-weight: 800; }
.te-la-st--gap { background: #FDE8E1; color: #A63A0D; }
.te-la-st--warn { background: #FFF1CC; color: #7A5200; }
.te-la-st--ok { background: #E4F4EA; color: #14532F; }
.te-la-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-la-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-la-bench li { margin: 0; padding: 0 1.4rem; }
.te-la-bench li:first-child { padding-left: 0; }
.te-la-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-la-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-la-bench li:first-child strong { color: #FFB591; }
.te-la-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-la-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* The rules */
.te-la-rules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-la-rules li { position: relative; margin: 0; padding: 1.6rem 1.5rem; overflow: hidden; border: 1.5px solid #C3D0DA; border-radius: 18px; background: #fff; }
.te-la-rules__sec { position: absolute; top: -0.9rem; right: 0.6rem; font-family: Georgia, serif; font-size: 6.5rem; line-height: 1; color: var(--te-ice); }
.te-la-rules__cite { position: relative; margin: 0; font-family: ui-monospace, Consolas, monospace; font-size: 0.78rem; font-weight: 700; color: var(--te-signal); }
.te-la-rules h3 { position: relative; margin: 0.5rem 0 0; font-size: 1.1rem !important; line-height: 1.3; color: var(--te-navy); }
.te-la-rules li > p:last-child { position: relative; margin: 0.5rem 0 0; font-size: 0.88rem; line-height: 1.55; color: var(--te-slate); }
.te-la-rules__fine { margin-top: 1.2rem !important; font-size: 0.8rem; color: var(--te-slate); }

/* Findings and remedies */
.te-la-find { display: grid; gap: 1rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-la-find li { display: grid; grid-template-columns: minmax(0, 1fr) 3rem minmax(0, 1fr); align-items: stretch; margin: 0; }
.te-la-find__bad, .te-la-find__good { position: relative; padding: 1.4rem 1.6rem; border-radius: 16px; background: #fff; }
.te-la-find__bad { box-shadow: inset 4px 0 0 #C4480F, 0 1px 0 #D3DDE5; }
.te-la-find__good { box-shadow: inset 4px 0 0 #1E7A4C, 0 1px 0 #D3DDE5; }
.te-la-find__stamp { position: absolute; top: 1.1rem; right: 1.2rem; padding: 0.2rem 0.6rem; border: 2px solid currentColor; border-radius: 6px; font-size: 0.7rem; font-weight: 900; transform: rotate(-4deg); }
.te-la-find__bad .te-la-find__stamp { color: #C4480F; }
.te-la-find__good .te-la-find__stamp { color: #1E7A4C; }
.te-la-find h3 { margin: 0; padding-right: 6rem; font-size: 1.1rem !important; color: var(--te-navy); }
.te-la-find p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-la-find__arrow { position: relative; align-self: center; justify-self: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--te-navy); }
.te-la-find__arrow::after { content: ""; position: absolute; left: 0.62rem; top: 0.72rem; width: 0.6rem; height: 0.6rem; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); }

/* Self-check */
.te-la-check { counter-reset: te-la; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 1.6rem 3rem; align-items: start; }
.te-la-check__intro > * { margin: 0; }
.te-la-check__intro h2 { margin-top: 0.75rem !important; }
.te-la-check__intro .te-head__lede { margin-top: 1rem !important; }
.te-la-check__list { grid-column: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 0.6rem 0 0; padding: 0; list-style: none; }
.te-la-check__list li { margin: 0; }
.te-la-check__list li:has(input:checked) { counter-increment: te-la; }
.te-la-check__list label { position: relative; display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: 0.8rem; height: 100%; box-sizing: border-box; padding: 1rem 1.1rem; border: 1.5px solid #C3D0DA; border-radius: 12px; background: #fff; cursor: pointer; font-size: 0.92rem; line-height: 1.45; color: var(--te-ink); transition: border-color .15s, background .15s; }
.te-la-check__list input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-la-check__box { position: relative; width: 1.5rem; height: 1.5rem; border: 2px solid #8FA8BA; border-radius: 6px; background: #fff; }
.te-la-check__list label:hover { border-color: var(--te-steel-deep); }
.te-la-check__list input:focus-visible + .te-la-check__box { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-la-check__list input:checked + .te-la-check__box { border-color: #1E7A4C; background: #1E7A4C; }
.te-la-check__list input:checked + .te-la-check__box::after { content: ""; position: absolute; left: 0.42rem; top: 0.15rem; width: 0.38rem; height: 0.72rem; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.te-la-check__list label:has(input:checked) { border-color: #1E7A4C; background: #F1FAF4; }
.te-la-check__score { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 7rem; padding: 2rem; border-radius: 22px; background: radial-gradient(120% 100% at 0 0, var(--te-navy-soft), var(--te-navy) 65%); color: #fff; }
.te-la-check__score p { margin: 0; }
.te-la-check__num { display: flex; align-items: baseline; gap: 0.6rem; }
.te-la-check__count::before { content: counter(te-la); font-size: 5rem; line-height: 1; font-weight: 800; letter-spacing: -0.03em; color: #fff; }
.te-la-check__of { font-size: 1.4rem; font-weight: 700; color: var(--te-sky); }
.te-la-check__lbl { margin-top: 0.3rem !important; font-size: 1rem; font-weight: 700; color: #fff; }
.te-la-check__msg { margin-top: 1.2rem !important; padding-top: 1.2rem; border-top: 1px solid rgba(255, 255, 255, .15); font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .78); }
.te-la-check__cta { display: block; margin-top: 1.4rem; padding: 0.85rem 1rem; border-radius: 10px; background: #fff; font-weight: 700; text-align: center; text-decoration: none; color: var(--te-navy); }
.te-la-check__cta:hover { background: var(--te-ice); }
.te-la-check__cta:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

/* Four pillars (navy) */
.te-la-pillar-section { background: var(--te-navy); color: #fff; }
.te-la-temple { margin-top: 3rem !important; }
.te-la-temple p { margin: 0; }
.te-la-temple__roof { position: relative; display: flex; align-items: flex-end; justify-content: center; height: 120px; padding-bottom: 1.2rem; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: linear-gradient(180deg, #2A5873, #1B4660); }
.te-la-temple__roof span { font-size: 1rem; font-weight: 800; color: #fff; }
.te-la-temple__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; margin: 0; padding: 0.9rem 1.6rem 0; list-style: none; border-top: 10px solid #1B4660; }
.te-la-temple__cols li { display: flex; flex-direction: column; margin: 0; }
.te-la-temple__cap, .te-la-temple__base { display: block; height: 14px; margin: 0 -0.6rem; border-radius: 3px; background: #2A5873; }
.te-la-temple__shaft { flex: 1; padding: 1.5rem 1.3rem 1.7rem; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .045) 0 2px, transparent 2px 22px), rgba(255, 255, 255, .05); }
.te-la-temple__n { display: block; font-size: 2rem; font-weight: 800; line-height: 1; color: var(--te-sky); }
.te-la-temple h3 { margin: 0.8rem 0 0; font-size: 1.15rem !important; color: #fff !important; }
.te-la-temple__shaft p { margin-top: 0.5rem !important; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .78); }
.te-la-temple__found { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 0.6rem; padding: 1.4rem 2rem; border-radius: 6px; background: linear-gradient(180deg, #2A5873, #1B4660); box-shadow: 0 10px 0 -4px #16384F; }
.te-la-temple__found p { font-size: 0.88rem; line-height: 1.5; color: rgba(255, 255, 255, .82); }
.te-la-temple__found b { display: block; margin-bottom: 0.2rem; font-size: 1rem; color: #fff; }

/* Deliverables */
.te-la-docs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-la-docs > li { margin: 0; }
.te-la-docs p { margin: 0; }
.te-la-docs__doc { box-sizing: border-box; height: 280px; padding: 1.2rem 1.25rem; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 26px 40px -30px rgba(15, 42, 61, .6); font-size: 0.86rem; color: var(--te-ink); }
.te-la-docs__dt { padding-bottom: 0.5rem; border-bottom: 2px solid var(--te-navy); font-size: 0.98rem; font-weight: 800; color: var(--te-navy); }
.te-la-docs__doc table { width: 100%; margin-top: 0.4rem; border-collapse: collapse; }
.te-la-docs__doc td { padding: 0.5rem 0; border: 0; border-bottom: 1px solid #EEF1F4; font-weight: 600; }
.te-la-docs__doc td:last-child { text-align: right; }
.te-la-docs__r { padding: 0.12rem 0.45rem; border-radius: 99px; font-size: 0.74rem; font-style: normal; font-weight: 800; }
.te-la-docs__r--h { background: #FDE8E1; color: #A63A0D; }
.te-la-docs__r--m { background: #FFF1CC; color: #7A5200; }
.te-la-docs__r--l { background: #E4F4EA; color: #14532F; }
.te-la-docs__sub { margin-top: 0.7rem !important; font-size: 0.78rem; font-weight: 700; color: var(--te-slate); }
.te-la-docs__toc { display: grid; gap: 0.6rem; margin: 0.3rem 0 0; padding: 0; list-style: none; }
.te-la-docs__toc li { display: flex; align-items: baseline; gap: 0.4rem; margin: 0; font-weight: 600; }
.te-la-docs__toc i { flex: 1; border-bottom: 1.5px dotted #A9B6C1; }
.te-la-docs__toc b { color: var(--te-slate); }
.te-la-docs__doc--3 { display: flex; flex-direction: column; background: linear-gradient(160deg, var(--te-navy-soft), var(--te-navy)); color: #fff; }
.te-la-docs__mod { font-size: 0.78rem; font-weight: 700; color: var(--te-sky); }
.te-la-docs__st { margin-top: 0.4rem !important; font-size: 1.25rem; font-weight: 800; line-height: 1.2; }
.te-la-docs__pts { display: grid; gap: 0.45rem; margin: auto 0 0; padding: 0; list-style: none; }
.te-la-docs__pts li { margin: 0; padding: 0.5rem 0.65rem; border-radius: 6px; background: rgba(255, 255, 255, .08); font-weight: 600; line-height: 1.35; }
.te-la-docs__kpis { display: grid; gap: 0.6rem; margin-top: 0.8rem; }
.te-la-docs__kpis span { display: grid; grid-template-columns: 5.4rem minmax(0, 1fr); align-items: center; gap: 0.5rem; }
.te-la-docs__kpis b { font-size: 0.8rem; color: var(--te-slate); }
.te-la-docs__kpis i { height: 9px; border-radius: 4px; background: var(--te-steel); }
.te-la-docs__kpis span:last-child i { background: #1E7A4C; }
.te-la-docs__bars { display: flex; align-items: flex-end; gap: 8px; height: 90px; margin-top: 0.8rem; padding-top: 0.4rem; border-top: 1px solid #EEF1F4; }
.te-la-docs__bars i { flex: 1; border-radius: 3px 3px 0 0; background: linear-gradient(var(--te-steel), var(--te-steel-deep)); }
.te-la-docs__cap { display: flex; gap: 0.8rem; margin-top: 1.2rem; }
.te-la-docs__ico { flex: none; width: 1.4rem; height: 1.4rem; background: var(--c); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-la-docs h3 { margin: 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-la-docs__cap p { margin-top: 0.3rem !important; font-size: 0.95rem; line-height: 1.5; color: var(--te-slate); }
.te-la-sectors { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; margin-top: 2.5rem !important; padding-top: 1.6rem; border-top: 1px solid var(--te-line); }
.te-la-sectors p { margin: 0; font-size: 0.9rem; font-weight: 800; color: var(--te-navy); }
.te-la-sectors ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.te-la-sectors li { margin: 0; padding: 0.4rem 0.85rem; border-radius: 99px; background: var(--te-cloud); box-shadow: inset 0 0 0 1px #D3DDE5; font-size: 0.84rem; font-weight: 600; color: var(--te-ink); }

/* Request card hints */
.te-dh-card__set:has(#te-la-req-audit:checked) .te-la-card__hint--audit,
.te-dh-card__set:has(#te-la-req-plan:checked) .te-la-card__hint--plan,
.te-dh-card__set:has(#te-la-req-training:checked) .te-la-card__hint--training,
.te-dh-card__set:has(#te-la-req-monitoring:checked) .te-la-card__hint--monitoring { display: block; }

@media (max-width: 1100px) {
	.te-la-bench ul, .te-la-rules, .te-la-docs { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-la-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-la-temple__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.6rem; }
}
@media (max-width: 1024px) {
	.te-la-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-la-visual { max-width: 620px; }
	.te-la-check { grid-template-columns: minmax(0, 1fr); }
	.te-la-check__score { grid-column: 1; grid-row: auto; position: static; }
}
@media (max-width: 900px) {
	.te-la-find li { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
	.te-la-find__arrow { transform: rotate(90deg); }
	.te-la-temple__found { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 600px) {
	.te-la-bench ul, .te-la-rules, .te-la-docs, .te-la-check__list, .te-la-temple__cols { grid-template-columns: minmax(0, 1fr); }
	.te-la-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-la-visual { padding: 0 0 13rem; }
	.te-la-sum { width: 94%; }
	.te-la-temple__roof { height: 80px; padding-bottom: 0.8rem; }
	.te-la-temple__roof span { font-size: 0.85rem; }
	.te-la-temple__cols { padding: 0.9rem 0.9rem 0; }
	.te-la-temple__found { padding: 1.2rem; }
	.te-la-find h3 { padding-right: 0; padding-top: 1.8rem; }
	.te-la-check__score { padding: 1.5rem; }
}

/* ==========================================================================
   Linguistic staffing page (.te-st-*)
   ========================================================================== */

/* Hero */
.te-st-hero { padding-bottom: 0 !important; }
.te-st-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-st-hero__copy > * { margin-block: 0; }
.te-st-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-st-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-st-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-st-visual { position: relative; padding: 0 0 5.5rem 3rem; }
.te-st-visual p { margin: 0; }
.te-st-visual__photo { margin: 0; }
.te-st-visual__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 55% 40%; border-radius: 22px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-st-short { position: absolute; left: 0; bottom: 0; box-sizing: border-box; width: min(380px, 88%); padding: 1.2rem 1.3rem 0.9rem; border-radius: 16px; background: #fff; box-shadow: 0 30px 50px -24px rgba(0, 0, 0, .75); }
.te-st-short__h { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.7rem; border-bottom: 2px solid var(--te-navy); }
.te-st-short__h b { font-size: 1rem; color: var(--te-navy); }
.te-st-short__h span { font-size: 0.7rem; color: var(--te-slate); }
.te-st-short ul { margin: 0.2rem 0 0; padding: 0; list-style: none; }
.te-st-short li { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) auto; gap: 0.7rem; align-items: center; margin: 0; padding: 0.6rem 0; border-bottom: 1px solid var(--te-line); }
.te-st-short li:last-child { border-bottom: 0; }
.te-st-short__av { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--te-ice); font-size: 0.72rem; font-weight: 800; color: var(--te-steel-deep); }
.te-st-short__who { font-size: 0.75rem; color: var(--te-slate); }
.te-st-short__who b { display: block; font-size: 0.85rem; color: var(--te-ink); }
.te-st-short__ok { padding: 0.2rem 0.55rem; border-radius: 99px; background: #E4F4EA; font-size: 0.68rem; font-weight: 800; color: #14532F; white-space: nowrap; }
.te-st-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-st-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-st-bench li { margin: 0; padding: 0 1.4rem; }
.te-st-bench li:first-child { padding-left: 0; }
.te-st-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-st-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-st-bench li:first-child strong { color: #FFB591; }
.te-st-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-st-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* Resume vs verified profile */
.te-st-vs { display: grid; grid-template-columns: minmax(0, 5fr) 3.5rem minmax(0, 7fr); gap: 1rem; align-items: center; margin-top: 3rem !important; }
.te-st-vs p { margin: 0; }
.te-st-vs__k { margin-bottom: 0.8rem !important; font-size: 0.9rem; font-weight: 800; color: var(--te-slate); }
.te-st-vs__paper { padding: 1.6rem 1.6rem 1.2rem; border-radius: 6px; background: #FBFBF9; box-shadow: 0 0 0 1px #E1E4E8, 0 20px 30px -24px rgba(15, 42, 61, .5); transform: rotate(-1.5deg); }
.te-st-vs__name { margin-bottom: 0.9rem !important; padding-bottom: 0.6rem; border-bottom: 2px solid #C9D1D8; font-size: 1.1rem; font-weight: 800; color: #6B7684; }
.te-st-vs__claim { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.6rem 0; border-bottom: 1px dashed #D8DDE2; font-size: 0.95rem; color: #6B7684; }
.te-st-vs__claim span { display: grid; place-items: center; flex: none; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #FDE8E1; font-size: 0.85rem; font-weight: 900; color: #C4480F; }
.te-st-vs__arrow { position: relative; width: 3rem; height: 3rem; border-radius: 50%; background: var(--te-navy); }
.te-st-vs__arrow::after { content: ""; position: absolute; left: 0.95rem; top: 1.12rem; width: 0.7rem; height: 0.7rem; border-top: 2.5px solid #fff; border-right: 2.5px solid #fff; transform: rotate(45deg); }
.te-st-vs__profile { position: relative; padding: 1.8rem 2rem 1.6rem; border: 1.5px solid #8FA8BA; border-radius: 20px; background: #fff; box-shadow: 0 30px 60px -45px rgba(15, 42, 61, .6); }
.te-st-vs__profile .te-st-vs__k { color: var(--te-navy); }
.te-st-vs__profile ul { margin: 0; padding: 0; list-style: none; }
.te-st-vs__profile li { position: relative; margin: 0; padding: 0.75rem 0 0.75rem 2.4rem; border-top: 1px solid var(--te-line); }
.te-st-vs__profile li::before { content: ""; position: absolute; left: 0; top: 0.95rem; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #1E7A4C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.5l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.te-st-vs__was { display: block; font-size: 0.78rem; color: var(--te-slate); text-decoration: line-through; text-decoration-color: rgba(74, 88, 104, .5); }
.te-st-vs__profile b { display: block; margin-top: 0.1rem; font-size: 1rem; color: var(--te-navy); }
.te-st-vs__stamp { position: absolute; top: 1.4rem; right: 1.6rem; padding: 0.3rem 0.7rem; border: 2px solid #1E7A4C; border-radius: 6px; font-size: 0.75rem; font-weight: 900; color: #1E7A4C; transform: rotate(-4deg); }

/* Vetting gates */
.te-st-gates { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-st-gates::before { content: ""; position: absolute; left: 2rem; right: 2rem; top: 2.2rem; height: 3px; background: linear-gradient(90deg, #C3D0DA, var(--te-steel) 70%, #1E7A4C); }
.te-st-gates li { position: relative; margin: 0; padding: 1.2rem 1.2rem 1.4rem; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
.te-st-gates__n, .te-st-gates__check { position: relative; z-index: 1; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--te-navy); font-size: 0.85rem; font-weight: 800; color: #fff; box-shadow: 0 0 0 5px #fff; }
.te-st-gates h3 { margin: 0.9rem 0 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-st-gates p { margin: 0.35rem 0 0; font-size: 0.86rem; line-height: 1.5; color: var(--te-slate); }
.te-st-gates__out { background: #1E7A4C !important; box-shadow: none !important; }
.te-st-gates__out h3 { color: #fff !important; }
.te-st-gates__out p { color: rgba(255, 255, 255, .85); }
.te-st-gates__check { background: #fff; box-shadow: 0 0 0 5px #1E7A4C; }
.te-st-gates__check::after { content: ""; width: 0.4rem; height: 0.75rem; margin-top: -0.15rem; border: solid #1E7A4C; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }

/* Staffing tracks */
.te-st-tracks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-st-track { margin: 0; padding: 0 0 1.6rem; overflow: hidden; border: 1px solid #D3DDE5; border-radius: 20px; background: #fff; }
.te-st-track p { margin: 0; }
.te-st-track__head { display: flex; align-items: center; gap: 0.9rem; padding: 1.5rem 1.6rem; background: radial-gradient(120% 140% at 100% 0, var(--te-navy-soft), var(--te-navy) 70%); }
.te-st-track--2 .te-st-track__head { background: radial-gradient(120% 140% at 100% 0, #2A6A84, var(--te-navy) 70%); }
.te-st-track--3 .te-st-track__head { background: radial-gradient(120% 140% at 100% 0, #8A3A12, var(--te-navy) 70%); }
.te-st-track__ico { flex: none; width: 2.6rem; height: 2.6rem; border-radius: 12px; background: rgba(255, 255, 255, .1); position: relative; }
.te-st-track__ico::after { content: ""; position: absolute; inset: 0.6rem; background: #FFB591; -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-st-track h3 { margin: 0; font-size: 1.2rem !important; color: #fff !important; }
.te-st-track__k { margin: 1.3rem 1.6rem 0 !important; font-size: 0.75rem; font-weight: 800; color: var(--te-signal); }
.te-st-track__roles { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0.6rem 1.6rem 0; padding: 0; list-style: none; }
.te-st-track__roles li { margin: 0; padding: 0.4rem 0.75rem; border-radius: 8px; background: var(--te-cloud); box-shadow: inset 0 0 0 1px #D3DDE5; font-size: 0.84rem; font-weight: 600; color: var(--te-ink); }
.te-st-track__val { margin: 0.5rem 1.6rem 0 !important; font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }

/* Scale and governance (navy) */
.te-st-scale-section { background: var(--te-navy); color: #fff; }
.te-st-scale { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-st-scale__copy > * { margin: 0; }
.te-st-scale__copy .te-eyebrow { color: var(--te-sky); }
.te-st-scale__copy h2 { margin-top: 0.75rem !important; color: #fff; }
.te-st-scale__copy h2 .te-accent { color: var(--te-sky); }
.te-st-scale__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-st-scale__gov { display: grid; gap: 0.9rem; margin: 1.8rem 0 0 !important; padding: 0; list-style: none; }
.te-st-scale__gov li { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1rem; margin: 0; padding-top: 0.9rem; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .8); }
.te-st-scale__gov b { font-size: 0.95rem; color: #FFB591; }
.te-st-ramp { margin: 0; padding: 1.6rem 1.7rem 1.3rem; border-radius: 20px; background: #fff; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .8); color: var(--te-ink); }
.te-st-ramp p { margin: 0; }
.te-st-ramp__h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-navy); }
.te-st-ramp__h b { font-size: 1.1rem; color: var(--te-navy); }
.te-st-ramp__h span { font-size: 0.75rem; color: var(--te-slate); }
.te-st-ramp__chart { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.8rem; align-items: end; height: 260px; margin-top: 1.2rem; padding-bottom: 0.2rem; border-bottom: 1px solid var(--te-line); }
.te-st-ramp__col { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; }
.te-st-ramp__col i { display: block; width: 100%; max-height: calc(100% - 3rem); border-radius: 6px 6px 0 0; background: linear-gradient(var(--te-steel), var(--te-steel-deep)); }
.te-st-ramp__col:last-child i { background: linear-gradient(#2FA36B, #1E7A4C); }
.te-st-ramp__v { margin-bottom: 0.3rem; font-size: 0.9rem; font-weight: 800; color: var(--te-navy); }
.te-st-ramp__w { order: 3; margin-top: 0.4rem; font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-st-ramp figcaption { margin-top: 1.4rem; font-size: 0.8rem; color: var(--te-slate); }

/* Engagement models */
.te-st-models { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-st-models li { display: flex; flex-direction: column; margin: 0; padding: 1.6rem; border: 1.5px solid #C3D0DA; border-radius: 18px; background: #fff; }
.te-st-models__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 12px; background: #FFF1EB; }
.te-st-models__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--te-signal); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-st-models h3 { margin: 1rem 0 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-st-models p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-st-models .te-st-models__best { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--te-line); font-weight: 700; color: var(--te-navy); }
.te-st-models__best span { display: block; font-size: 0.72rem; color: var(--te-steel-deep); }
.te-st-models li > p:nth-of-type(1) { margin-bottom: 1rem; }

/* Request card hints */
.te-dh-card__set:has(#te-st-req-expert:checked) .te-st-card__hint--expert,
.te-dh-card__set:has(#te-st-req-team:checked) .te-st-card__hint--team,
.te-dh-card__set:has(#te-st-req-scale:checked) .te-st-card__hint--scale,
.te-dh-card__set:has(#te-st-req-bench:checked) .te-st-card__hint--bench { display: block; }

@media (max-width: 1100px) {
	.te-st-bench ul, .te-st-models { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-st-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-st-gates { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-st-gates::before { display: none; }
}
@media (max-width: 1024px) {
	.te-st-hero__grid, .te-st-scale { grid-template-columns: minmax(0, 1fr); }
	.te-st-visual { max-width: 620px; }
	.te-st-tracks { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
	.te-st-vs { grid-template-columns: minmax(0, 1fr); }
	.te-st-vs__arrow { justify-self: center; transform: rotate(90deg); }
}
@media (max-width: 600px) {
	.te-st-bench ul, .te-st-models, .te-st-gates { grid-template-columns: minmax(0, 1fr); }
	.te-st-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-st-visual { padding: 0; }
	.te-st-short { position: relative; width: auto; margin: -2.5rem 0.8rem 0; }
	.te-st-vs__profile { padding: 1.4rem; }
	.te-st-vs__stamp { position: static; display: inline-block; margin-bottom: 0.8rem; }
	.te-st-scale__gov li { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
	.te-st-ramp { padding: 1.2rem; }
	.te-st-ramp__chart { height: 200px; gap: 0.5rem; }
}

/* ==========================================================================
   AI data labeling page (.te-ai-*)
   Own type system (Bricolage Grotesque, Instrument Sans, JetBrains Mono),
   loaded in functions.php only on this page; brand navy and signal orange
   with a highlighter-label palette for annotations.
   ========================================================================== */

body:has(.te-ai-hero) {
	--ai-display: "Bricolage Grotesque", "Segoe UI", sans-serif;
	--ai-body: "Instrument Sans", "Segoe UI", sans-serif;
	--ai-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
	--ai-ink: #0F2A3D;
	--ai-deep: #091B28;
	--ai-paper: #F2F5F7;
	--ai-amber: #FFC24B;
	--ai-mint: #4FCB95;
	--ai-sky: #7CC8E6;
	--ai-coral: #FF7A50;
	--ai-signal: #E24B0F;
	--ai-line: #DCE3E9;
}
body:has(.te-ai-hero) .entry-content { font-family: var(--ai-body); }
body:has(.te-ai-hero) .entry-content :is(h1, h2, h3) { font-family: var(--ai-display); font-weight: 700; letter-spacing: -0.025em; }
body:has(.te-ai-hero) .entry-content .te-eyebrow { font-family: var(--ai-mono); font-size: 0.78rem; font-weight: 700; letter-spacing: 0; }
body:has(.te-ai-hero) .entry-content .te-head__lede { font-family: var(--ai-body); }
.te-ai-sec p, .te-ai-hero p { margin: 0; }

/* Hero */
.te-ai-hero { padding-bottom: 0 !important; background: radial-gradient(60% 70% at 85% 10%, rgba(124, 200, 230, .16), transparent 60%), radial-gradient(45% 60% at 0% 100%, rgba(226, 75, 15, .14), transparent 60%), radial-gradient(circle, rgba(255, 255, 255, .07) 1px, transparent 1.4px) 0 0 / 26px 26px, var(--ai-deep) !important; }
.te-ai-hero__top > * { margin-block: 0; }
body:has(.te-ai-hero) .entry-content h1.te-ai-h1 { max-width: 30ch; margin-top: 1.9rem !important; font-family: var(--wp--preset--font-family--inter); line-height: 1.4 !important; }
.te-ai-tag { --c: var(--ai-amber); position: relative; padding: 0 0.06em; background: linear-gradient(color-mix(in srgb, var(--c) 55%, transparent), color-mix(in srgb, var(--c) 55%, transparent)) no-repeat 0 88% / 100% 0.28em; color: inherit; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.te-ai-tag--b { --c: var(--ai-mint); }
.te-ai-tag--c { --c: var(--ai-sky); }
.te-ai-tag::before { content: attr(data-tag) / ""; position: absolute; left: 0.06em; top: -0.62em; padding: 0.15rem 0.45rem; border-radius: 4px; background: var(--c); font: 700 0.72rem/1.2 var(--ai-mono); letter-spacing: 0.04em; color: var(--ai-deep); white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) {
	.te-ai-tag { animation: te-ai-mark 0.9s cubic-bezier(.2, .7, .2, 1) both; }
	.te-ai-tag::before { animation: te-ai-pop 0.5s cubic-bezier(.2, .9, .3, 1.3) both; }
	.te-ai-tag--a, .te-ai-tag--a::before { animation-delay: 0.35s; }
	.te-ai-tag--b, .te-ai-tag--b::before { animation-delay: 0.8s; }
	.te-ai-tag--c, .te-ai-tag--c::before { animation-delay: 1.25s; }
	.te-ai-tag::before { animation-delay: inherit; }
	.te-ai-tag--a::before { animation-delay: 0.7s; }
	.te-ai-tag--b::before { animation-delay: 1.15s; }
	.te-ai-tag--c::before { animation-delay: 1.6s; }
}
@keyframes te-ai-mark { from { background-size: 0 0.28em; } to { background-size: 100% 0.28em; } }
@keyframes te-ai-pop { from { opacity: 0; transform: translateY(6px) scale(.9); } to { opacity: 1; transform: none; } }
.te-ai-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 5rem); align-items: end; margin-top: 2.2rem !important; }
.te-ai-hero__copy > * { margin-block: 0; }
.te-ai-hero__copy .te-svc-hero__lede { font-size: 1.12rem; line-height: 1.6; }
.te-ai-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }

/* Annotation console */
.te-ai-console { position: relative; padding: 1.3rem 1.5rem 1.4rem; border-radius: 18px; background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .03)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), 0 40px 70px -40px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; transform: translateY(1.5rem); }
.te-ai-console__bar { display: flex; align-items: center; gap: 0.6rem; padding-bottom: 0.9rem; border-bottom: 1px solid rgba(255, 255, 255, .12); font: 500 0.75rem var(--ai-mono); color: rgba(255, 255, 255, .6); }
.te-ai-console__bar b { color: #fff; font-weight: 700; }
.te-ai-console__meta { margin-left: auto; }
.te-ai-console__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ai-mint); box-shadow: 0 0 0 0 rgba(79, 203, 149, .6); }
@media (prefers-reduced-motion: no-preference) { .te-ai-console__dot { animation: te-ai-pulse 2s infinite; } }
@keyframes te-ai-pulse { 70% { box-shadow: 0 0 0 8px rgba(79, 203, 149, 0); } 100% { box-shadow: 0 0 0 0 rgba(79, 203, 149, 0); } }
.te-ai-console__text { margin-top: 1.6rem !important; font-size: 1.35rem; line-height: 2.3; font-weight: 500; }
.te-ai-console__gloss { margin-top: 0.4rem !important; font-size: 0.85rem; font-style: italic; color: rgba(255, 255, 255, .55); }
.te-ai-console__chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 1.2rem 0 0; padding: 1rem 0 0; list-style: none; border-top: 1px dashed rgba(255, 255, 255, .16); }
.te-ai-console__chips li { margin: 0; padding: 0.3rem 0.6rem; border-radius: 6px; background: rgba(255, 255, 255, .07); font: 500 0.72rem var(--ai-mono); color: rgba(255, 255, 255, .65); }
.te-ai-console__chips b { color: #fff; }
.te-ai-console__chips li.is-ok { background: rgba(79, 203, 149, .18); color: var(--ai-mint); font-weight: 700; }

/* Entity highlights (shared) */
.te-ai-ent { --c: var(--ai-amber); position: relative; padding: 0.05em 0.25em; border-radius: 4px; background: color-mix(in srgb, var(--c) 22%, transparent); box-shadow: inset 0 -2px 0 var(--c); transition: background .2s; }
.te-ai-ent:hover { background: color-mix(in srgb, var(--c) 40%, transparent); }
.te-ai-ent::after { content: attr(data-l) / ""; position: absolute; left: 0.2em; top: -1.05em; font: 700 0.6rem/1 var(--ai-mono); letter-spacing: 0.04em; color: var(--c); white-space: nowrap; }
.te-ai-ent--loc { --c: var(--ai-mint); }
.te-ai-ent--date { --c: var(--ai-sky); }
.te-ai-ent--neg { --c: var(--ai-coral); }

/* Bench */
.te-ai-bench { position: relative; z-index: 1; margin-top: clamp(3.5rem, 6vw, 5rem) !important; padding: 0 0 1.8rem; }
.te-ai-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-ai-bench li { margin: 0; padding: 0 1.4rem; }
.te-ai-bench li:first-child { padding-left: 0; }
.te-ai-bench li + li { border-left: 1px solid rgba(255, 255, 255, .12); }
.te-ai-bench strong { display: block; font: 800 clamp(1.9rem, 3.2vw, 2.7rem)/1 var(--ai-display); letter-spacing: -0.03em; color: #fff; }
.te-ai-bench li:first-child strong { color: var(--ai-amber); }
.te-ai-bench__lbl { display: block; margin-top: 0.55rem; font: 700 0.78rem var(--ai-mono); color: var(--ai-sky); }
.te-ai-bench__sub { display: block; margin-top: 0.3rem; font-size: 0.84rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Machines vs people */
.te-ai-truth { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.te-ai-truth__intro { position: sticky; top: 7rem; }
.te-ai-truth__intro > * { margin: 0; }
.te-ai-truth__intro h2 { margin-top: 0.75rem !important; font-size: clamp(2rem, 3.6vw, 3rem) !important; line-height: 1.08; }
.te-ai-truth__intro .te-head__lede { margin-top: 1.1rem !important; }
.te-ai-pairs { display: grid; gap: 1.25rem; }
.te-ai-pair { padding: 1.6rem 1.7rem; border-radius: 20px; background: var(--ai-paper); }
.te-ai-pair__src { font: 700 clamp(1.3rem, 2.2vw, 1.75rem)/1.25 var(--ai-display); letter-spacing: -0.02em; color: var(--ai-ink); }
.te-ai-pair__src em { margin-left: 0.4rem; font: 500 0.75rem var(--ai-mono); font-style: normal; color: var(--te-slate); vertical-align: middle; }
.te-ai-pair__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin-top: 1.2rem; }
.te-ai-pair__m, .te-ai-pair__h { position: relative; padding: 0.9rem 1rem 1rem; border-radius: 12px; background: #fff; }
.te-ai-pair__m { box-shadow: inset 0 0 0 1.5px #F4C7B5; }
.te-ai-pair__h { box-shadow: inset 0 0 0 1.5px #A9DEC4; }
.te-ai-pair__who { display: block; font: 700 0.7rem var(--ai-mono); color: var(--te-slate); }
.te-ai-pair code { display: block; margin-top: 0.4rem; padding-right: 1.6rem; background: none; font: 500 0.85rem/1.5 var(--ai-mono); color: var(--ai-ink); }
.te-ai-pair__m code { color: #9A3B14; text-decoration: line-through; text-decoration-color: rgba(154, 59, 20, .45); }
.te-ai-pair__x, .te-ai-pair__ok { position: absolute; top: 0.8rem; right: 0.8rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; }
.te-ai-pair__x { background: var(--ai-signal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
.te-ai-pair__ok { background: #1E7A4C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.5l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }

/* Modalities bento */
.te-ai-mod-section { background: var(--ai-paper); }
.te-ai-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: minmax(0, auto); gap: 1.25rem; margin-top: 3rem !important; }
.te-ai-tile { display: flex; flex-direction: column; padding: 1.8rem; border-radius: 24px; background: #fff; box-shadow: 0 0 0 1px var(--ai-line); transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s; }
.te-ai-tile:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px #C3D0DA, 0 30px 50px -35px rgba(15, 42, 61, .55); }
.te-ai-tile--nlp { grid-column: 1 / span 7; grid-row: span 2; background: var(--ai-ink); color: #fff; box-shadow: none; }
.te-ai-tile--cv, .te-ai-tile--audio { grid-column: 8 / span 5; }
.te-ai-tile__k { font: 700 0.72rem var(--ai-mono); color: var(--ai-signal); }
.te-ai-tile--nlp .te-ai-tile__k { color: var(--ai-amber); }
.te-ai-tile h3 { margin: 0.5rem 0 0; font-size: 1.55rem !important; line-height: 1.15; color: var(--ai-ink); }
.te-ai-tile--nlp h3 { font-size: 2.1rem !important; color: #fff !important; }
.te-ai-tile__demo { margin: 1.3rem 0 1.4rem; }
.te-ai-tile--nlp .te-ai-tile__demo { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.te-ai-nlp { padding: 2.4rem 2rem 1.4rem; border-radius: 16px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.te-ai-nlp p { font-size: clamp(1.45rem, 2.4vw, 2.1rem); line-height: 2.2; font-weight: 500; }
.te-ai-nlp__rels { display: grid; gap: 0.5rem; margin: 1.6rem 0 0; padding: 1.2rem 0 0; list-style: none; border-top: 1px dashed rgba(255, 255, 255, .18); }
.te-ai-nlp__rels li { display: flex; align-items: center; gap: 0.6rem; margin: 0; font: 500 0.9rem var(--ai-mono); color: #fff; }
.te-ai-nlp__rels span { padding: 0.25rem 0.55rem; border-radius: 6px; background: rgba(255, 255, 255, .08); }
.te-ai-nlp__rels i { position: relative; flex: none; padding: 0 1.1rem 0 0.2rem; font-style: normal; font-weight: 700; color: var(--ai-amber); }
.te-ai-nlp__rels i::after { content: "→"; position: absolute; right: 0; color: rgba(255, 255, 255, .5); }
.te-ai-svc { display: grid; gap: 0.8rem; margin: auto 0 0; padding: 0; list-style: none; }
.te-ai-svc li { margin: 0; padding-top: 0.8rem; border-top: 1px solid var(--ai-line); font-size: 0.92rem; line-height: 1.5; color: var(--te-slate); }
.te-ai-svc b { display: block; font-size: 1rem; color: var(--ai-ink); }
.te-ai-tile--nlp .te-ai-svc li { border-top-color: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .72); }
.te-ai-tile--nlp .te-ai-svc b { color: #fff; }
.te-ai-ocr { display: grid; place-items: center; height: 170px; border-radius: 14px; background: repeating-linear-gradient(45deg, #EEF2F5 0 10px, #E8EDF1 10px 20px); }
.te-ai-ocr__doc { position: relative; display: grid; gap: 0.5rem; align-content: start; width: 74%; height: 140px; padding: 1rem 1.1rem; border-radius: 4px; background: #fff; box-shadow: 0 14px 24px -16px rgba(15, 42, 61, .5); transform: rotate(-2deg); }
.te-ai-ocr__line { display: block; height: 6px; border-radius: 3px; background: #E3E8EE; }
.te-ai-ocr__line.s { width: 60%; }
.te-ai-ocr__box { position: absolute; right: 1rem; bottom: 1rem; padding: 0.25rem 0.5rem; border: 2px dashed var(--ai-signal); border-radius: 4px; font: 700 0.85rem var(--ai-mono); color: var(--ai-ink); background: rgba(226, 75, 15, .06); }
.te-ai-ocr__box s { margin-right: 0.3rem; font-weight: 500; color: #B4542B; }
.te-ai-ocr__box::before { content: attr(data-l) / ""; position: absolute; left: -2px; top: -1.35rem; padding: 0.1rem 0.4rem; border-radius: 3px 3px 0 0; background: var(--ai-signal); font: 700 0.6rem var(--ai-mono); color: #fff; }
.te-ai-ocr__box--b { right: auto; left: 1.1rem; bottom: 1rem; border-color: #2A6A84; background: rgba(42, 106, 132, .06); }
.te-ai-ocr__box--b::before { background: #2A6A84; }
.te-ai-wave { padding: 1.1rem 1.2rem; border-radius: 14px; background: var(--ai-paper); }
.te-ai-wave__bars { display: flex; align-items: center; gap: 3px; height: 70px; }
.te-ai-wave__bars i { flex: 1; height: var(--h); border-radius: 2px; background: linear-gradient(var(--ai-sky), #2A6A84); }
.te-ai-wave__bars i:nth-child(n+12):nth-child(-n+24) { background: linear-gradient(var(--ai-coral), var(--ai-signal)); }
.te-ai-wave__seg { display: flex; justify-content: space-between; gap: 0.6rem; margin-top: 0.8rem; padding-top: 0.6rem; border-top: 1px dashed #C3D0DA; font: 500 0.78rem var(--ai-mono); color: var(--ai-ink); }
.te-ai-wave__seg b { color: var(--ai-signal); }

/* RLHF ranking */
.te-ai-rlhf { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.te-ai-rlhf__intro > * { margin: 0; }
.te-ai-rlhf__intro h2 { margin-top: 0.75rem !important; font-size: clamp(2rem, 3.6vw, 3rem) !important; line-height: 1.08; }
.te-ai-rlhf__intro .te-head__lede { margin-top: 1.1rem !important; }
.te-ai-rank { padding: 1.6rem; border-radius: 24px; background: var(--ai-paper); }
.te-ai-rank__prompt { padding: 1rem 1.2rem; border-radius: 14px; background: var(--ai-ink); font-size: 1.05rem; font-weight: 600; line-height: 1.45; color: #fff; }
.te-ai-rank__prompt span { display: block; margin-bottom: 0.35rem; font: 700 0.7rem var(--ai-mono); color: var(--ai-amber); }
.te-ai-rank__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; margin-top: 0.9rem; }
.te-ai-rank__opt { position: relative; cursor: pointer; }
.te-ai-rank__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ai-rank__card { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; padding: 1.1rem 1.2rem; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--ai-line); font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); transition: box-shadow .2s, transform .2s; }
.te-ai-rank__card b { display: block; margin-bottom: 0.4rem; font: 700 0.78rem var(--ai-mono); color: var(--ai-ink); }
.te-ai-rank__card em { align-self: flex-start; margin-top: auto; padding-top: 0.9rem; font-style: normal; font: 700 0.8rem var(--ai-mono); color: var(--ai-signal); }
.te-ai-rank__opt:hover .te-ai-rank__card { transform: translateY(-2px); box-shadow: inset 0 0 0 1.5px #8FA8BA; }
.te-ai-rank__opt input:focus-visible + .te-ai-rank__card { outline: 3px solid var(--ai-sky); outline-offset: 2px; }
.te-ai-rank__opt input:checked + .te-ai-rank__card { box-shadow: inset 0 0 0 2.5px var(--ai-signal); }
.te-ai-rank__opt input:checked + .te-ai-rank__card em::before { content: "✓ "; }
.te-ai-rank__verdict { margin-top: 0.9rem; padding: 1.1rem 1.2rem; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--ai-line); }
.te-ai-rank__wait { font: 500 0.85rem var(--ai-mono); color: var(--te-slate); }
.te-ai-rank__out, .te-ai-rank__if-a, .te-ai-rank__if-b { display: none; }
.te-ai-rank:has(input:checked) .te-ai-rank__wait { display: none; }
.te-ai-rank:has(input:checked) .te-ai-rank__out { display: block; animation: te-ai-pop .4s ease both; }
.te-ai-rank:has(#te-ai-rank-a:checked) .te-ai-rank__if-a, .te-ai-rank:has(#te-ai-rank-b:checked) .te-ai-rank__if-b { display: inline; }
.te-ai-rank__head { font: 700 1.1rem var(--ai-display); color: var(--ai-ink); }
.te-ai-rank:has(#te-ai-rank-b:checked) .te-ai-rank__head { color: #1E7A4C; }
.te-ai-rank__rubric { display: grid; gap: 0.55rem; margin: 0.9rem 0 0; padding: 0; list-style: none; }
.te-ai-rank__rubric li { display: grid; grid-template-columns: 9rem minmax(0, 1fr) 6rem; gap: 0.8rem; align-items: center; margin: 0; font-size: 0.85rem; color: var(--ai-ink); }
.te-ai-rank__rubric i { display: grid; gap: 3px; }
.te-ai-rank__rubric i::before, .te-ai-rank__rubric i::after { content: ""; height: 7px; border-radius: 4px; }
.te-ai-rank__rubric i::before { width: calc(var(--a) / 5 * 100%); background: var(--ai-coral); }
.te-ai-rank__rubric i::after { width: calc(var(--b) / 5 * 100%); background: var(--ai-mint); }
.te-ai-rank__rubric b { font: 700 0.75rem var(--ai-mono); text-align: right; color: var(--te-slate); }
.te-ai-rank__why { margin-top: 0.9rem !important; padding-top: 0.8rem; border-top: 1px dashed #C3D0DA; font-size: 0.88rem; line-height: 1.5; color: var(--te-slate); }
.te-ai-rank__why b { color: var(--ai-ink); }

/* Secure pipeline (deep navy) */
.te-ai-pipe-section { position: relative; overflow: hidden; background: var(--ai-deep); color: #fff; isolation: isolate; }
.te-ai-pipe-section::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/ai/data-network.webp") center / cover no-repeat; opacity: .16; mix-blend-mode: screen; }
.te-ai-pipe { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.te-ai-pipe__side { position: sticky; top: 7rem; }
.te-ai-pipe__side > * { margin: 0; }
.te-ai-pipe__side .te-eyebrow { color: var(--ai-sky); }
.te-ai-pipe__side h2 { margin-top: 0.75rem !important; font-size: clamp(2rem, 3.6vw, 3rem) !important; line-height: 1.08; color: #fff; }
.te-ai-pipe__side h2 .te-accent { color: var(--ai-amber); }
.te-ai-pipe__side .te-head__lede { margin-top: 1.1rem !important; color: rgba(255, 255, 255, .75); }
.te-ai-pipe__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.6rem 0 0 !important; padding: 0; list-style: none; }
.te-ai-pipe__badges li { margin: 0; padding: 0.45rem 0.75rem; border-radius: 8px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); font: 600 0.76rem var(--ai-mono); color: var(--ai-mint); }
.te-ai-pipe__steps { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.te-ai-pipe__steps::before { content: ""; position: absolute; left: 1.9rem; top: 1rem; bottom: 1rem; width: 2px; background: linear-gradient(var(--ai-sky), var(--ai-mint)); opacity: .5; }
.te-ai-pipe__steps li { position: relative; display: grid; grid-template-columns: 3.8rem minmax(0, 1fr); gap: 1.4rem; margin: 0; padding: 1.3rem 0; }
.te-ai-pipe__n { display: grid; place-items: center; width: 3.8rem; height: 3.8rem; border-radius: 16px; background: var(--ai-deep); box-shadow: inset 0 0 0 1.5px rgba(124, 200, 230, .5); font: 700 1.1rem var(--ai-mono); color: var(--ai-sky); }
.te-ai-pipe__steps li:last-child .te-ai-pipe__n { background: var(--ai-mint); box-shadow: none; color: var(--ai-deep); }
.te-ai-pipe__steps h3 { margin: 0.5rem 0 0; font-size: 1.35rem !important; color: #fff !important; }
.te-ai-pipe__steps p { margin-top: 0.4rem !important; font-size: 0.95rem; line-height: 1.6; color: rgba(255, 255, 255, .72); }

/* Languages */
.te-ai-langs__head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-ai-langs__head > div > * { margin: 0; }
.te-ai-langs__head h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem) !important; line-height: 1.1; color: var(--ai-ink); }
.te-ai-langs__head .te-head__lede { margin-top: 0.8rem !important; max-width: 52ch; }
.te-ai-langs__big { font: 800 clamp(5rem, 11vw, 9rem)/0.85 var(--ai-display); letter-spacing: -0.06em; color: var(--ai-ink); }
.te-ai-langs__big span { color: var(--ai-signal); }
.te-ai-marquee { display: grid; gap: 0.9rem; margin-top: 2.6rem; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.te-ai-marquee__row { display: flex; gap: 0.7rem; width: max-content; margin: 0; padding: 0; list-style: none; }
.te-ai-marquee__row li { margin: 0; padding: 0.55rem 1.1rem; border-radius: 999px; background: var(--ai-paper); box-shadow: inset 0 0 0 1px var(--ai-line); font: 600 1.15rem var(--ai-display); color: var(--ai-ink); white-space: nowrap; }
.te-ai-marquee__row li.is-low { background: #fff; box-shadow: inset 0 0 0 1.5px var(--ai-signal); }
.te-ai-marquee__row li.is-low::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 0.55rem; border-radius: 50%; background: var(--ai-signal); vertical-align: middle; }
@media (prefers-reduced-motion: no-preference) {
	.te-ai-marquee__row { animation: te-ai-scroll 70s linear infinite; }
	.te-ai-marquee__row.is-rev { animation-direction: reverse; animation-duration: 85s; }
	.te-ai-marquee:hover .te-ai-marquee__row { animation-play-state: paused; }
}
@keyframes te-ai-scroll { to { transform: translateX(-50%); } }
.te-ai-langs__key { display: flex; align-items: center; gap: 0.5rem; margin-top: 1rem !important; font: 500 0.78rem var(--ai-mono); color: var(--te-slate); }
.te-ai-langs__key span { width: 7px; height: 7px; border-radius: 50%; background: var(--ai-signal); }

/* Request card hints */
.te-dh-card__set:has(#te-ai-req-nlp:checked) .te-ai-card__hint--nlp,
.te-dh-card__set:has(#te-ai-req-rlhf:checked) .te-ai-card__hint--rlhf,
.te-dh-card__set:has(#te-ai-req-vision:checked) .te-ai-card__hint--vision,
.te-dh-card__set:has(#te-ai-req-speech:checked) .te-ai-card__hint--speech { display: block; }

/* Scroll-driven reveals (progressive: no effect where unsupported or reduced motion) */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.te-ai-reveal { animation: te-ai-in linear both; animation-timeline: view(); animation-range: entry 0% entry 60%; }
	}
}
@keyframes te-ai-in { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }

@media (max-width: 1100px) {
	.te-ai-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-ai-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-ai-tile--nlp { grid-column: 1 / -1; grid-row: auto; }
	.te-ai-tile--cv { grid-column: 1 / span 6; }
	.te-ai-tile--audio { grid-column: 7 / span 6; }
}
@media (max-width: 1024px) {
	.te-ai-hero__grid, .te-ai-truth, .te-ai-rlhf, .te-ai-pipe { grid-template-columns: minmax(0, 1fr); }
	.te-ai-truth__intro, .te-ai-pipe__side { position: static; }
	.te-ai-console { transform: none; max-width: 640px; }
}
@media (max-width: 760px) {
	.te-ai-tile--cv, .te-ai-tile--audio { grid-column: 1 / -1; }
	.te-ai-pair__row, .te-ai-rank__opts { grid-template-columns: minmax(0, 1fr); }
	.te-ai-langs__head { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 600px) {
	.te-ai-bench ul { grid-template-columns: minmax(0, 1fr); }
	.te-ai-bench li { padding: 0 !important; border-left: 0 !important; }
	body:has(.te-ai-hero) .entry-content h1.te-ai-h1 { line-height: 1.55 !important; }
	.te-ai-tag::before { font-size: 0.55rem; top: -0.75em; }
	.te-ai-console { padding: 1.1rem; }
	.te-ai-console__text, .te-ai-nlp p { font-size: 1.1rem; }
	.te-ai-tile { padding: 1.3rem; }
	.te-ai-tile--nlp h3 { font-size: 1.6rem !important; }
	.te-ai-rank { padding: 1rem; }
	.te-ai-rank__rubric li { grid-template-columns: minmax(0, 1fr) 5rem; }
	.te-ai-rank__rubric i { grid-column: 1 / -1; grid-row: 2; }
	.te-ai-pipe__steps li { grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; }
	.te-ai-pipe__n { width: 3rem; height: 3rem; font-size: 0.9rem; }
	.te-ai-pipe__steps::before { left: 1.5rem; }
}

/* ==========================================================================
   Cultural training page (.te-ct-*)
   ========================================================================== */

.te-ct-hero p, .te-ct-ice p, .te-ct-dec p, .te-ct-role p, .te-ct-cq p { margin: 0; }

/* Hero */
.te-ct-hero { padding-bottom: 0 !important; }
.te-ct-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-ct-hero__copy > * { margin-block: 0; }
.te-ct-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-ct-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-ct-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-ct-visual { position: relative; padding: 1.5rem 0 2rem; }
.te-ct-visual__photo { width: 72%; margin: 0 0 0 auto; }
.te-ct-visual__photo img { display: block; width: 100%; height: auto; aspect-ratio: 737 / 1000; object-fit: cover; border-radius: 22px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-ct-note { position: absolute; left: 0; box-sizing: border-box; width: min(290px, 70%); padding: 1rem 1.15rem; border-radius: 14px; background: #fff; box-shadow: 0 26px 44px -22px rgba(0, 0, 0, .75); }
.te-ct-note--a { top: 12%; }
.te-ct-note--b { bottom: 6%; left: 8%; }
.te-ct-note__k { font-size: 0.72rem; font-weight: 700; color: var(--te-signal); }
.te-ct-note__said { margin-top: 0.35rem !important; font-size: 0.98rem; font-weight: 800; line-height: 1.3; color: var(--te-navy); }
.te-ct-note__meant { margin-top: 0.55rem !important; padding-top: 0.55rem; border-top: 1px dashed #C3D0DA; font-size: 0.84rem; line-height: 1.45; color: var(--te-slate); }
.te-ct-note__meant span { display: block; font-size: 0.68rem; font-weight: 700; color: var(--te-steel-deep); }
@media (prefers-reduced-motion: no-preference) {
	.te-ct-note { animation: te-ct-float 6s ease-in-out infinite; }
	.te-ct-note--b { animation-delay: -3s; }
}
@keyframes te-ct-float { 50% { transform: translateY(-8px); } }
.te-ct-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; padding: 0 0 1.8rem; }
.te-ct-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-ct-bench li { margin: 0; padding: 0 1.4rem; }
.te-ct-bench li:first-child { padding-left: 0; }
.te-ct-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-ct-bench strong { display: block; font-size: clamp(1.7rem, 2.8vw, 2.4rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-ct-bench li:first-child strong { color: #FFB591; }
.te-ct-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-ct-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* Iceberg */
.te-ct-ice { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ct-ice__copy h2 { margin-top: 0.75rem !important; }
.te-ct-ice__copy .te-head__lede { margin-top: 1rem !important; }
.te-ct-ice__k { display: flex; align-items: center; gap: 0.5rem; margin-top: 1.6rem !important; font-size: 0.85rem; font-weight: 700; color: var(--te-navy); }
.te-ct-ice__dot { width: 0.8rem; height: 0.8rem; border-radius: 50%; }
.te-ct-ice__dot--up { background: #fff; box-shadow: inset 0 0 0 2px #8FA8BA; }
.te-ct-ice__dot--down { margin-left: 1rem; background: var(--te-steel-deep); }
.te-ct-berg { position: relative; overflow: hidden; border-radius: 26px; background: linear-gradient(#EAF4F8, #F6FAFC 100%); box-shadow: 0 0 0 1px #D3DDE5; }
.te-ct-berg__sky { position: relative; height: 200px; }
.te-ct-berg__tip { position: absolute; left: 50%; bottom: 0; width: 230px; height: 150px; transform: translateX(-50%); background: linear-gradient(160deg, #fff, #DCEBF2); clip-path: polygon(38% 0, 58% 14%, 74% 6%, 100% 100%, 0 100%, 18% 40%); filter: drop-shadow(0 0 1px #8FA8BA); }
.te-ct-berg__above { position: absolute; inset: 1.4rem 1.4rem auto; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.5rem 0.8rem; margin: 0; padding: 0; list-style: none; }
.te-ct-berg__above li { margin: 0; padding: 0.35rem 0.75rem; border-radius: 99px; background: rgba(255, 255, 255, .9); box-shadow: inset 0 0 0 1px #C3D0DA; font-size: 0.82rem; font-weight: 700; color: var(--te-navy); }
.te-ct-berg__above li:nth-child(3), .te-ct-berg__above li:nth-child(4) { margin-top: 3.4rem; }
.te-ct-berg__line { position: relative; z-index: 2; height: 0; border-top: 2px dashed var(--te-steel); }
.te-ct-berg__line span { position: absolute; right: 1.2rem; top: -1.6rem; font-size: 0.72rem; font-weight: 800; color: var(--te-steel-deep); }
.te-ct-berg__sea { position: relative; display: flex; align-items: center; min-height: 270px; box-sizing: border-box; padding: 2rem 1.6rem 2.4rem; background: linear-gradient(180deg, #2A6A84, #16384F 55%, #0F2A3D); }
.te-ct-berg__mass { position: absolute; left: 50%; top: 0; width: 72%; height: 92%; transform: translateX(-50%); background: linear-gradient(180deg, rgba(234, 244, 248, .32), rgba(124, 200, 230, .08)); clip-path: polygon(16% 0, 86% 0, 100% 34%, 88% 78%, 58% 100%, 22% 92%, 0 52%); }
.te-ct-berg__below { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.7rem; max-width: 520px; margin: 0 auto; padding: 0; list-style: none; }
.te-ct-berg__below li { margin: 0; padding: 0.55rem 0.95rem; border-radius: 10px; background: rgba(15, 42, 61, .55); box-shadow: inset 0 0 0 1px rgba(124, 200, 230, .35); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); font-size: 0.95rem; font-weight: 700; color: #fff; transition: background .2s, transform .2s; }
.te-ct-berg__below li:hover { background: rgba(124, 200, 230, .28); transform: translateY(-2px); }
@media (prefers-reduced-motion: no-preference) {
	.te-ct-berg__tip { animation: te-ct-bob 7s ease-in-out infinite; }
}
@keyframes te-ct-bob { 50% { transform: translate(-50%, 4px); } }

/* Decoder */
.te-ct-dec { box-sizing: border-box; margin-top: 3rem !important; padding: 2rem; border-radius: 24px; background: #fff; box-shadow: 0 1px 0 #D3DDE5, 0 30px 60px -50px rgba(15, 42, 61, .6); }
.te-ct-dec__pick { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin: 0; padding: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--te-line); }
.te-ct-dec__pick legend { float: left; margin-right: 0.6rem; padding: 0; font-size: 1rem; font-weight: 800; color: var(--te-navy); }
.te-ct-dec__chip { position: relative; cursor: pointer; }
.te-ct-dec__chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ct-dec__chip span { display: inline-block; padding: 0.6rem 1.1rem; border: 1.5px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.92rem; font-weight: 700; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-ct-dec__chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-ct-dec__chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-ct-dec__chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ct-card { display: none; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 2.5rem; align-items: center; margin-top: 1.8rem; }
.te-ct-dec:has(#te-ct-m-cn:checked) .te-ct-card--cn,
.te-ct-dec:has(#te-ct-m-gulf:checked) .te-ct-card--gulf,
.te-ct-dec:has(#te-ct-m-jp:checked) .te-ct-card--jp,
.te-ct-dec:has(#te-ct-m-de:checked) .te-ct-card--de,
.te-ct-dec:has(#te-ct-m-br:checked) .te-ct-card--br { display: grid; animation: te-ct-in .35s ease both; }
@keyframes te-ct-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.te-ct-card__word { position: relative; overflow: hidden; padding: 2rem 1.8rem; border-radius: 18px; background: radial-gradient(120% 120% at 100% 0, var(--te-navy-soft), var(--te-navy) 70%); color: #fff; }
.te-ct-card__script { position: absolute; right: -0.4rem; bottom: -1.4rem; font-size: 6.5rem; line-height: 1; font-weight: 800; color: rgba(255, 255, 255, .08); white-space: nowrap; }
.te-ct-card__term { position: relative; font-size: 2.6rem; line-height: 1; font-weight: 800; letter-spacing: -0.02em; color: #FFB591; font-style: italic; }
.te-ct-card__region { position: relative; margin-top: 0.6rem !important; font-size: 0.9rem; font-weight: 700; color: var(--te-sky); }
.te-ct-card__rule { font-size: 1.3rem; line-height: 1.45; font-weight: 700; color: var(--te-navy); }
.te-ct-card__dd { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.3rem; }
.te-ct-card__do, .te-ct-card__dont { padding: 1rem 1.1rem; border-radius: 12px; font-size: 0.92rem; line-height: 1.5; color: var(--te-ink); }
.te-ct-card__do { background: #E4F4EA; }
.te-ct-card__dont { background: #FDECE5; }
.te-ct-card__do span, .te-ct-card__dont span { display: block; margin-bottom: 0.25rem; font-size: 0.72rem; font-weight: 800; }
.te-ct-card__do span { color: #14532F; }
.te-ct-card__dont span { color: #A63A0D; }

/* Risks */
.te-ct-risks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ct-risks li { position: relative; overflow: hidden; margin: 0; padding: 1.8rem 1.7rem; border: 1.5px solid #C3D0DA; border-radius: 20px; background: #fff; }
.te-ct-risks__n { position: absolute; right: 1rem; top: -1.2rem; font-size: 7rem; line-height: 1; font-weight: 800; color: var(--te-ice); }
.te-ct-risks__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 12px; background: #FFF1EB; }
.te-ct-risks__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--te-signal); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-ct-risks h3 { position: relative; margin: 1.1rem 0 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-ct-risks p { position: relative; margin: 0.45rem 0 0; font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }

/* Programs */
.te-ct-progs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ct-prog { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 1.2rem; margin: 0; padding: 1.7rem; border-radius: 20px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; transition: box-shadow .25s, transform .25s; }
.te-ct-prog:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px #8FA8BA, 0 26px 40px -30px rgba(15, 42, 61, .5); }
.te-ct-prog__n { grid-row: span 2; margin: 0; font-size: 2.6rem; line-height: 1; font-weight: 800; color: var(--te-signal); }
.te-ct-prog h3 { margin: 0.2rem 0 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-ct-prog ul { display: grid; gap: 0.7rem; margin: 0.9rem 0 0; padding: 0; list-style: none; }
.te-ct-prog li { margin: 0; padding-left: 0.9rem; border-left: 2px solid var(--te-sky); font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-ct-prog li b { display: block; color: var(--te-ink); }

/* Role players (navy) */
.te-ct-role-section { background: var(--te-navy); color: #fff; }
.te-ct-role { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ct-role__copy .te-eyebrow { color: var(--te-sky); }
.te-ct-role__copy h2 { margin-top: 0.75rem !important; color: #fff; }
.te-ct-role__copy h2 .te-accent { color: var(--te-sky); }
.te-ct-role__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-ct-role__list { display: grid; gap: 0.7rem; margin: 1.5rem 0 0 !important; padding: 0; list-style: none; }
.te-ct-role__list li { display: flex; gap: 0.6rem; margin: 0; font-size: 0.95rem; line-height: 1.5; color: rgba(255, 255, 255, .88); }
.te-ct-role__list li::before { content: ""; flex: none; width: 1rem; height: 1rem; margin-top: 0.2rem; background: #FFB591; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-ct-script { margin: 0; padding: 1.5rem 1.6rem 1.3rem; border-radius: 18px; background: #FBF8F1; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .8); color: var(--te-ink); transform: rotate(1deg); }
.te-ct-script__h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 0.8rem; border-bottom: 2px solid var(--te-navy); }
.te-ct-script__h b { font-size: 1.05rem; color: var(--te-navy); }
.te-ct-script__h span { font-size: 0.72rem; color: var(--te-slate); }
.te-ct-script ol { margin: 0; padding: 0; list-style: none; }
.te-ct-script li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); column-gap: 0.8rem; margin: 0; padding: 0.75rem 0; border-bottom: 1px dashed #D8D2C4; }
.te-ct-script__t { grid-row: span 2; font-family: ui-monospace, Consolas, monospace; font-size: 0.78rem; font-weight: 700; color: var(--te-signal); }
.te-ct-script li b { font-size: 0.95rem; color: var(--te-navy); }
.te-ct-script__role { font-size: 0.82rem; color: var(--te-slate); }
.te-ct-script figcaption { margin-top: 0.9rem; font-size: 0.85rem; line-height: 1.5; color: var(--te-slate); font-style: italic; }
.te-ct-script figcaption b { font-style: normal; color: var(--te-navy); }

/* CQ framework: rising bars */
.te-ct-cq { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; align-items: end; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ct-cq li { margin: 0; }
.te-ct-cq__bar { display: block; height: calc(3rem + var(--i) * 2.4rem); border-radius: 12px 12px 4px 4px; background: linear-gradient(180deg, var(--te-steel), var(--te-steel-deep)); }
.te-ct-cq li:last-child .te-ct-cq__bar { background: linear-gradient(180deg, #FF9B6E, var(--te-signal)); }
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.te-ct-cq__bar { transform-origin: bottom; animation: te-ct-grow linear both; animation-timeline: view(); animation-range: entry 10% cover 40%; }
	}
}
@keyframes te-ct-grow { from { transform: scaleY(0.15); } to { transform: none; } }
.te-ct-cq__n { margin-top: 1rem !important; font-size: 0.75rem; font-weight: 800; color: var(--te-signal); }
.te-ct-cq h3 { margin: 0.25rem 0 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-ct-cq li > p:last-child { margin-top: 0.35rem !important; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-ct-cq__markets { box-sizing: border-box; margin-top: 2.2rem !important; padding: 1.1rem 1.4rem; border-radius: 14px; background: var(--te-cloud); box-shadow: inset 4px 0 0 var(--te-signal); font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }
.te-ct-cq__markets b { color: var(--te-navy); }

/* Request card hints */
.te-dh-card__set:has(#te-ct-req-exec:checked) .te-ct-card__hint--exec,
.te-dh-card__set:has(#te-ct-req-mobility:checked) .te-ct-card__hint--mobility,
.te-dh-card__set:has(#te-ct-req-team:checked) .te-ct-card__hint--team,
.te-dh-card__set:has(#te-ct-req-role:checked) .te-ct-card__hint--role,
.te-dh-card__set:has(#te-ct-req-brand:checked) .te-ct-card__hint--brand { display: block; }

@media (max-width: 1100px) {
	.te-ct-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-ct-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-ct-cq { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-ct-hero__grid, .te-ct-ice, .te-ct-role { grid-template-columns: minmax(0, 1fr); }
	.te-ct-visual { max-width: 560px; }
	.te-ct-risks { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
	.te-ct-card { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
	.te-ct-progs { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.te-ct-bench ul, .te-ct-card__dd, .te-ct-cq { grid-template-columns: minmax(0, 1fr); }
	.te-ct-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-ct-visual__photo { width: 80%; }
	.te-ct-note { width: 78%; padding: 0.8rem 0.9rem; }
	.te-ct-dec { padding: 1.3rem; }
	.te-ct-card__term { font-size: 2rem; }
	.te-ct-berg__sky { height: 230px; }
	.te-ct-berg__above { justify-content: center; }
	.te-ct-berg__above li:nth-child(3), .te-ct-berg__above li:nth-child(4) { margin-top: 0; }
	.te-ct-berg__tip { width: 160px; height: 100px; }
	.te-ct-prog { grid-template-columns: minmax(0, 1fr); padding: 1.3rem; }
	.te-ct-prog__n { grid-row: auto; font-size: 2rem; }
	.te-ct-cq__bar { height: 0.6rem; }
}

/* ==========================================================================
   Specialized services hub (.te-ss-*)
   ========================================================================== */

.te-ss-find p, .te-ss-group p, .te-ss-combos p { margin: 0; }

/* Hero with photo mosaic */
.te-ss-hero { padding-bottom: clamp(3rem, 6vw, 4.5rem) !important; }
.te-ss-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-ss-hero__copy > * { margin-block: 0; }
.te-ss-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-ss-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-ss-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-ss-mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(3, 150px); gap: 10px; }
.te-ss-mosaic__tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 0.85rem 0.95rem; border-radius: 16px; background: var(--te-navy-soft) var(--img) center / cover no-repeat; text-decoration: none; color: #fff; isolation: isolate; transition: transform .35s var(--te-ease); }
.te-ss-mosaic__tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(15, 42, 61, .15), rgba(15, 42, 61, .88)); transition: background .3s; }
.te-ss-mosaic__tile:hover { transform: translateY(-3px); }
.te-ss-mosaic__tile:hover::before { background: linear-gradient(180deg, rgba(226, 75, 15, .2), rgba(15, 42, 61, .92)); }
.te-ss-mosaic__tile:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-ss-mosaic__n { font-size: 0.72rem; font-weight: 800; color: #FFB591; }
.te-ss-mosaic__t { font-size: 0.95rem; font-weight: 800; line-height: 1.2; }
.te-ss-mosaic__tile--1 { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.te-ss-mosaic__tile--1 .te-ss-mosaic__t { font-size: 1.35rem; }
.te-ss-mosaic__tile--2 { grid-column: 3; grid-row: 1; }
.te-ss-mosaic__tile--3 { grid-column: 4; grid-row: 1 / span 2; }
.te-ss-mosaic__tile--4 { grid-column: 3; grid-row: 2; }
.te-ss-mosaic__tile--5 { grid-column: 1; grid-row: 3; }
.te-ss-mosaic__tile--6 { grid-column: 2; grid-row: 3; }
.te-ss-mosaic__tile--7 { grid-column: 3; grid-row: 3; }
.te-ss-mosaic__tile--8 { grid-column: 4; grid-row: 3; }
@media (prefers-reduced-motion: no-preference) {
	.te-ss-mosaic__tile { animation: te-ss-in .6s var(--te-ease) both; }
	.te-ss-mosaic__tile--2 { animation-delay: .06s; } .te-ss-mosaic__tile--3 { animation-delay: .12s; } .te-ss-mosaic__tile--4 { animation-delay: .18s; }
	.te-ss-mosaic__tile--5 { animation-delay: .24s; } .te-ss-mosaic__tile--6 { animation-delay: .3s; } .te-ss-mosaic__tile--7 { animation-delay: .36s; }
}
@keyframes te-ss-in { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }

/* Audience finder */
.te-ss-find { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto 1fr; gap: 1.6rem 3rem; align-items: start; scroll-margin-top: 7rem; }
.te-ss-find__intro { grid-column: 1; }
.te-ss-find__intro h2 { margin-top: 0.75rem !important; }
.te-ss-find__intro .te-head__lede { margin-top: 1rem !important; }
.te-ss-find__pick { grid-column: 1; display: grid; gap: 0.6rem; margin: 0; padding: 0; border: 0; }
.te-ss-aud { position: relative; cursor: pointer; }
.te-ss-aud input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ss-aud > span { display: block; padding: 0.85rem 1.1rem 0.9rem 2.9rem; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1.5px #D3DDE5; font-size: 0.85rem; line-height: 1.45; color: var(--te-slate); position: relative; transition: box-shadow .15s, background .15s; }
.te-ss-aud > span::before { content: ""; position: absolute; left: 1rem; top: 1.05rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; box-shadow: inset 0 0 0 2px #8FA8BA; }
.te-ss-aud b { display: block; font-size: 1rem; color: var(--te-navy); }
.te-ss-aud:hover > span { box-shadow: inset 0 0 0 1.5px var(--te-steel-deep); }
.te-ss-aud input:checked + span { background: var(--te-navy); box-shadow: none; color: rgba(255, 255, 255, .75); }
.te-ss-aud input:checked + span b { color: #fff; }
.te-ss-aud input:checked + span::before { box-shadow: inset 0 0 0 5px var(--te-signal); background: #fff; }
.te-ss-aud input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ss-find__out { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 7rem; padding: 1.6rem; border-radius: 24px; background: var(--te-cloud); }
.te-ss-find__k { font-size: 0.78rem; font-weight: 800; color: var(--te-signal); }
.te-ss-find__recs { display: none; gap: 0.8rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.te-ss-find:has(#te-ss-a-deaf:checked) .te-ss-find__recs--deaf,
.te-ss-find:has(#te-ss-a-blind:checked) .te-ss-find__recs--blind,
.te-ss-find:has(#te-ss-a-lep:checked) .te-ss-find__recs--lep,
.te-ss-find:has(#te-ss-a-staff:checked) .te-ss-find__recs--staff,
.te-ss-find:has(#te-ss-a-gov:checked) .te-ss-find__recs--gov,
.te-ss-find:has(#te-ss-a-ai:checked) .te-ss-find__recs--ai { display: grid; }
.te-ss-find__recs li { margin: 0; }
@media (prefers-reduced-motion: no-preference) { .te-ss-find__recs li { animation: te-ss-in .4s var(--te-ease) both; } .te-ss-find__recs li:nth-child(2) { animation-delay: .07s; } .te-ss-find__recs li:nth-child(3) { animation-delay: .14s; } }
.te-ss-find__recs a { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1.1rem; align-items: center; padding: 0.7rem; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; text-decoration: none; transition: box-shadow .2s, transform .2s; }
.te-ss-find__recs a:hover { transform: translateX(4px); box-shadow: 0 0 0 1.5px var(--te-steel-deep), 0 20px 30px -24px rgba(15, 42, 61, .5); }
.te-ss-find__recs a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ss-find__img { display: block; height: 5.2rem; border-radius: 11px; background: center / cover no-repeat; }
.te-ss-find__txt { font-size: 0.86rem; line-height: 1.5; color: var(--te-slate); }
.te-ss-find__txt em { display: inline-block; margin-bottom: 0.3rem; padding: 0.15rem 0.5rem; border-radius: 99px; background: var(--te-signal); font-size: 0.68rem; font-style: normal; font-weight: 800; color: #fff; }
.te-ss-find__txt b { display: block; font-size: 1.05rem; color: var(--te-navy); }
.te-ss-find__recs li.is-top a { box-shadow: 0 0 0 2px var(--te-navy); }
.te-ss-find__recs li.is-top .te-ss-find__img { height: 6.4rem; }

/* Index of all services */
.te-ss-index { display: grid; gap: 2.4rem; margin-top: 3rem !important; }
.te-ss-group { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 2rem; align-items: start; }
.te-ss-group__head { position: sticky; top: 7rem; padding-top: 0.9rem; border-top: 3px solid var(--te-signal); }
.te-ss-group--people .te-ss-group__head { border-top-color: var(--te-steel); }
.te-ss-group--ai .te-ss-group__head { border-top-color: #1E7A4C; }
.te-ss-group__head h3 { margin: 0; font-size: 1.25rem !important; color: var(--te-navy); }
.te-ss-group__head p { margin-top: 0.4rem !important; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-ss-group ul { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.te-ss-group li { margin: 0; }
.te-ss-row { display: grid; grid-template-columns: 2.6rem 8.5rem minmax(0, 1fr) 12rem 2.4rem; gap: 1.3rem; align-items: center; padding: 0.8rem 1.1rem 0.8rem 1.2rem; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; text-decoration: none; transition: box-shadow .25s, transform .25s; }
.te-ss-row:hover { transform: translateY(-2px); box-shadow: 0 0 0 1.5px var(--te-steel-deep), 0 26px 40px -30px rgba(15, 42, 61, .55); }
.te-ss-row:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-ss-row__n { font-size: 1.5rem; font-weight: 800; color: #C3D0DA; transition: color .2s; }
.te-ss-row:hover .te-ss-row__n { color: var(--te-signal); }
.te-ss-row__img { display: block; overflow: hidden; height: 5.6rem; border-radius: 12px; }
.te-ss-row__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--te-ease); }
.te-ss-row:hover .te-ss-row__img img { transform: scale(1.06); }
.te-ss-row__main { font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-ss-row__main b { display: block; margin-bottom: 0.2rem; font-size: 1.15rem; color: var(--te-navy); }
.te-ss-row__facts { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.te-ss-row__facts i { padding: 0.25rem 0.55rem; border-radius: 99px; background: var(--te-cloud); box-shadow: inset 0 0 0 1px #D3DDE5; font-size: 0.74rem; font-style: normal; font-weight: 700; color: var(--te-steel-deep); }
.te-ss-row__go { position: relative; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--te-ice); transition: background .2s; }
.te-ss-row__go::after { content: ""; position: absolute; left: 0.78rem; top: 0.88rem; width: 0.55rem; height: 0.55rem; border-top: 2px solid var(--te-navy); border-right: 2px solid var(--te-navy); transform: rotate(45deg); }
.te-ss-row:hover .te-ss-row__go { background: var(--te-signal); }
.te-ss-row:hover .te-ss-row__go::after { border-color: #fff; }

/* Combinations (navy) */
.te-ss-combo-section { background: var(--te-navy); color: #fff; }
.te-ss-combos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ss-combos li { display: flex; flex-direction: column; margin: 0; padding: 1.6rem; border-radius: 20px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.te-ss-combos__stack { display: flex; }
.te-ss-combos__stack span { width: 3.6rem; height: 3.6rem; margin-right: -0.9rem; border-radius: 50%; background: center / cover no-repeat; box-shadow: 0 0 0 3px var(--te-navy); }
.te-ss-combos h3 { margin: 1.2rem 0 0; font-size: 1.2rem !important; color: #fff !important; }
.te-ss-combos li > p:not(.te-ss-combos__links) { margin-top: 0.5rem !important; font-size: 0.92rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }
.te-ss-combos__links { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: auto !important; padding-top: 1.2rem; }
.te-ss-combos__links a { padding: 0.35rem 0.7rem; border-radius: 99px; background: rgba(124, 200, 230, .12); font-size: 0.78rem; font-weight: 700; color: var(--te-sky); text-decoration: none; }
.te-ss-combos__links a:hover { background: var(--te-sky); color: var(--te-navy); }
.te-ss-combos__links a:focus-visible { outline: 2px solid var(--te-sky); outline-offset: 2px; }

/* Request card hints */
.te-dh-card__set:has(#te-ss-req-access:checked) .te-ss-card__hint--access,
.te-dh-card__set:has(#te-ss-req-audit:checked) .te-ss-card__hint--audit,
.te-dh-card__set:has(#te-ss-req-people:checked) .te-ss-card__hint--people,
.te-dh-card__set:has(#te-ss-req-ai:checked) .te-ss-card__hint--ai,
.te-dh-card__set:has(#te-ss-req-unsure:checked) .te-ss-card__hint--unsure { display: block; }

@media (max-width: 1100px) {
	.te-ss-row { grid-template-columns: 2.2rem 7rem minmax(0, 1fr) 2.4rem; }
	.te-ss-row__facts { display: none; }
	.te-ss-group { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.te-ss-group__head { position: static; }
}
@media (max-width: 1024px) {
	.te-ss-hero__grid, .te-ss-find { grid-template-columns: minmax(0, 1fr); }
	.te-ss-find__out { grid-column: 1; grid-row: auto; position: static; }
	.te-ss-combos { grid-template-columns: minmax(0, 1fr); }
	.te-ss-mosaic { grid-template-rows: repeat(3, 130px); }
}
@media (max-width: 600px) {
	.te-ss-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: 110px; }
	.te-ss-mosaic__tile[class*="--"] { grid-column: auto; grid-row: auto; }
	.te-ss-mosaic__tile--1 { grid-column: 1 / -1 !important; }
	.te-ss-mosaic__tile--1 .te-ss-mosaic__t { font-size: 1.1rem; }
	.te-ss-mosaic__t { font-size: 0.82rem; }
	.te-ss-row { grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.9rem; padding: 0.7rem; }
	.te-ss-row__n, .te-ss-row__go { display: none; }
	.te-ss-row__img { height: 5rem; }
	.te-ss-row__main b { font-size: 1rem; }
	.te-ss-find__recs a { grid-template-columns: 5rem minmax(0, 1fr); gap: 0.8rem; }
	.te-ss-find__out { padding: 1rem; }
}

/* ==========================================================================
   Interpreting services hub (.te-ih-*)
   ========================================================================== */

.te-ih-hero p, .te-ih-map p, .te-ih-cs p, .te-ih-method p { margin: 0; }
.te-ih-mode--opi { --m: #E24B0F; }
.te-ih-mode--vri { --m: #4B94AF; }
.te-ih-mode--onsite { --m: #1E7A4C; }
.te-ih-mode--rsi { --m: #7A5AF8; }
.te-ih-mode--conf { --m: #C28A00; }

/* Hero */
.te-ih-hero { padding-bottom: 0 !important; }
.te-ih-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-ih-hero__copy > * { margin-block: 0; }
.te-ih-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-ih-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-ih-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-ih-board { padding: 1.2rem 1.2rem 0.6rem; border-radius: 20px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), 0 40px 70px -40px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-ih-board__h { display: flex; align-items: center; gap: 0.6rem; padding: 0 0.3rem 0.9rem; border-bottom: 1px solid rgba(255, 255, 255, .12); font-size: 0.78rem; color: rgba(255, 255, 255, .55); }
.te-ih-board__h b { font-size: 0.95rem; color: #fff; }
.te-ih-board__h span:last-child { margin-left: auto; }
.te-ih-board__live { width: 9px; height: 9px; border-radius: 50%; background: #4FCB95; }
.te-ih-board ul { margin: 0; padding: 0; list-style: none; }
.te-ih-board li { display: grid; grid-template-columns: 3.4rem 5.6rem minmax(0, 1fr) auto; gap: 0.9rem; align-items: center; margin: 0; padding: 0.7rem 0.3rem; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.te-ih-board li:last-child { border-bottom: 0; }
.te-ih-board__img { width: 3.4rem; height: 3.4rem; border-radius: 12px; background: center / cover no-repeat; }
.te-ih-board__mode { justify-self: start; padding: 0.25rem 0.6rem; border-radius: 99px; background: color-mix(in srgb, var(--m) 25%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--m) 60%, transparent); font-size: 0.72rem; font-weight: 800; color: #fff; }
.te-ih-board__who { font-size: 0.8rem; line-height: 1.35; color: rgba(255, 255, 255, .62); }
.te-ih-board__who b { display: block; font-size: 0.95rem; color: #fff; }
.te-ih-board__st { font-size: 0.75rem; font-weight: 700; color: #4FCB95; white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) {
	.te-ih-board li { animation: te-ih-in .5s var(--te-ease) both; animation-delay: calc(.3s + var(--d)); }
	.te-ih-board__live { animation: te-ih-pulse 2s infinite; }
}
@keyframes te-ih-in { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
@keyframes te-ih-pulse { 0% { box-shadow: 0 0 0 0 rgba(79, 203, 149, .6); } 70% { box-shadow: 0 0 0 9px rgba(79, 203, 149, 0); } 100% { box-shadow: 0 0 0 0 rgba(79, 203, 149, 0); } }
.te-ih-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-ih-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-ih-bench li { margin: 0; padding: 0 1.4rem; }
.te-ih-bench li:first-child { padding-left: 0; }
.te-ih-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-ih-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-ih-bench li:first-child strong { color: #FFB591; }
.te-ih-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-ih-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* Interpreting map */
.te-ih-map { box-sizing: border-box; margin-top: 3rem !important; padding: 2rem; border-radius: 24px; background: #fff; box-shadow: 0 1px 0 #D3DDE5, 0 30px 60px -50px rgba(15, 42, 61, .6); scroll-margin-top: 7rem; }
.te-ih-map__pick { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin: 0; padding: 0 0 1.5rem; border: 0; border-bottom: 1px solid var(--te-line); }
.te-ih-map__pick legend { float: left; margin-right: 0.6rem; padding: 0; font-size: 1rem; font-weight: 800; color: var(--te-navy); }
.te-ih-chip { position: relative; cursor: pointer; }
.te-ih-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ih-chip span { display: inline-block; padding: 0.6rem 1.05rem; border: 1.5px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.9rem; font-weight: 700; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-ih-chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-ih-chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-ih-chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ih-map__body { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.5rem; align-items: center; margin-top: 1.8rem; }
.te-ih-plot { position: relative; padding: 0 0 2.2rem 2.4rem; }
.te-ih-plot__y { position: absolute; left: 0; top: 0; bottom: 2.2rem; display: flex; flex-direction: column; justify-content: space-between; width: 1.6rem; }
.te-ih-plot__y b, .te-ih-plot__x b { font-size: 0.7rem; font-weight: 700; color: var(--te-slate); white-space: nowrap; }
.te-ih-plot__y b { writing-mode: vertical-rl; transform: rotate(180deg); }
.te-ih-plot__x { position: absolute; left: 2.4rem; right: 0; bottom: 0.4rem; display: flex; justify-content: space-between; }
.te-ih-plot__area { position: relative; height: 360px; border-radius: 16px; background: linear-gradient(var(--te-line) 1px, transparent 1px) 0 0 / 100% 25%, linear-gradient(90deg, var(--te-line) 1px, transparent 1px) 0 0 / 25% 100%, var(--te-cloud); box-shadow: inset 0 0 0 1px #D3DDE5; }
.te-ih-dot { position: absolute; transform: translate(-50%, 50%); display: grid; place-items: center; }
.te-ih-dot i { width: var(--s); height: var(--s); border-radius: 50%; background: color-mix(in srgb, var(--m) 22%, #fff); box-shadow: inset 0 0 0 2px var(--m); transition: transform .35s var(--te-ease), background .25s, box-shadow .25s; }
.te-ih-dot em { position: absolute; top: calc(50% + var(--s) / 2 + 0.3rem); padding: 0.15rem 0.45rem; border-radius: 6px; background: #fff; font-size: 0.75rem; font-style: normal; font-weight: 800; color: var(--te-navy); white-space: nowrap; box-shadow: 0 1px 0 #D3DDE5; transition: background .25s, color .25s; }
.te-ih-dot--opi { --m: #E24B0F; } .te-ih-dot--vri { --m: #4B94AF; } .te-ih-dot--onsite { --m: #1E7A4C; } .te-ih-dot--rsi { --m: #7A5AF8; } .te-ih-dot--conf { --m: #C28A00; }
.te-ih-map:has(#te-ih-s-call:checked) .te-ih-dot--opi,
.te-ih-map:has(#te-ih-s-er:checked) .te-ih-dot--vri,
.te-ih-map:has(#te-ih-s-depo:checked) .te-ih-dot--onsite,
.te-ih-map:has(#te-ih-s-town:checked) .te-ih-dot--rsi,
.te-ih-map:has(#te-ih-s-summit:checked) .te-ih-dot--conf { z-index: 2; }
.te-ih-map:has(#te-ih-s-call:checked) .te-ih-dot--opi i,
.te-ih-map:has(#te-ih-s-er:checked) .te-ih-dot--vri i,
.te-ih-map:has(#te-ih-s-depo:checked) .te-ih-dot--onsite i,
.te-ih-map:has(#te-ih-s-town:checked) .te-ih-dot--rsi i,
.te-ih-map:has(#te-ih-s-summit:checked) .te-ih-dot--conf i { transform: scale(1.18); background: var(--m); box-shadow: 0 0 0 8px color-mix(in srgb, var(--m) 22%, transparent); }
.te-ih-map:has(#te-ih-s-call:checked) .te-ih-dot--opi em,
.te-ih-map:has(#te-ih-s-er:checked) .te-ih-dot--vri em,
.te-ih-map:has(#te-ih-s-depo:checked) .te-ih-dot--onsite em,
.te-ih-map:has(#te-ih-s-town:checked) .te-ih-dot--rsi em,
.te-ih-map:has(#te-ih-s-summit:checked) .te-ih-dot--conf em { background: var(--te-navy); color: #fff; }
.te-ih-plot__key { margin-top: 0.4rem !important; text-align: right; font-size: 0.72rem; color: var(--te-slate); }
.te-ih-rec { display: none; }
.te-ih-map:has(#te-ih-s-call:checked) .te-ih-rec--call,
.te-ih-map:has(#te-ih-s-er:checked) .te-ih-rec--er,
.te-ih-map:has(#te-ih-s-depo:checked) .te-ih-rec--depo,
.te-ih-map:has(#te-ih-s-town:checked) .te-ih-rec--town,
.te-ih-map:has(#te-ih-s-summit:checked) .te-ih-rec--summit { display: block; animation: te-ih-in .35s var(--te-ease) both; }
.te-ih-rec__sit { padding: 1rem 1.1rem; border-radius: 14px; background: var(--te-cloud); font-size: 1rem; line-height: 1.5; font-style: italic; color: var(--te-ink); }
.te-ih-rec__k { margin-top: 1.4rem !important; font-size: 0.75rem; font-weight: 800; color: var(--te-signal); }
.te-ih-rec h3 { margin: 0.3rem 0 0; font-size: 1.6rem !important; line-height: 1.2; color: var(--te-navy); }
.te-ih-rec__why { margin-top: 0.6rem !important; font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }
.te-ih-rec__go { display: inline-block; margin-top: 1.3rem; padding: 0.75rem 1.2rem; border-radius: 10px; background: var(--te-navy); font-weight: 700; font-size: 0.92rem; color: #fff; text-decoration: none; }
.te-ih-rec__go:hover { background: var(--te-steel-deep); }
.te-ih-rec__go:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }

/* Five modes: editorial staggered grid */
.te-ih-modes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ih-m { margin: 0; }
.te-ih-m--1, .te-ih-m--2 { grid-column: span 3; }
.te-ih-m--3, .te-ih-m--4, .te-ih-m--5 { grid-column: span 2; }
.te-ih-m a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; text-decoration: none; transition: transform .3s var(--te-ease), box-shadow .3s; }
.te-ih-m a:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px #8FA8BA, 0 30px 50px -36px rgba(15, 42, 61, .6); }
.te-ih-m a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-ih-m__img { display: block; height: 220px; overflow: hidden; }
.te-ih-m--1 .te-ih-m__img, .te-ih-m--2 .te-ih-m__img { height: 260px; }
.te-ih-m__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--te-ease); }
.te-ih-m a:hover .te-ih-m__img img { transform: scale(1.05); }
.te-ih-m__body { display: flex; flex: 1; flex-direction: column; padding: 1.4rem 1.5rem 1.5rem; }
.te-ih-m__tag { align-self: flex-start; padding: 0.25rem 0.6rem; border-radius: 99px; background: color-mix(in srgb, var(--m) 12%, #fff); font-size: 0.72rem; font-weight: 800; color: var(--m); }
.te-ih-m--3 .te-ih-m__tag { color: #14532F; }
.te-ih-m--5 .te-ih-m__tag { color: #7A5200; }
.te-ih-m__name { display: block; margin-top: 0.7rem; font-size: 1.3rem; line-height: 1.2; color: var(--te-navy); }
.te-ih-m__how { display: block; margin-top: 0.45rem; font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }
.te-ih-m__best { display: block; margin-top: 0.9rem; padding-top: 0.8rem; border-top: 1px solid var(--te-line); font-size: 0.88rem; line-height: 1.5; color: var(--te-ink); }
.te-ih-m__best i { display: block; font-size: 0.7rem; font-style: normal; font-weight: 800; color: var(--te-steel-deep); }
.te-ih-m__go { margin-top: auto; padding-top: 1rem; font-size: 0.9rem; font-weight: 700; color: var(--te-steel-deep); }
.te-ih-m__go::after { content: ""; display: inline-block; width: 0.45rem; height: 0.45rem; margin-left: 0.45rem; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.te-ih-m a:hover .te-ih-m__go::after { transform: translateX(4px) rotate(45deg); }

/* Consecutive vs simultaneous */
.te-ih-cs { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ih-cs__copy h2 { margin-top: 0.75rem !important; }
.te-ih-cs__copy .te-head__lede { margin-top: 1rem !important; }
.te-ih-tl { padding: 2rem; border-radius: 22px; background: var(--te-cloud); }
.te-ih-tl__label { margin-bottom: 0.6rem !important; font-size: 0.9rem; font-weight: 800; color: var(--te-navy); }
.te-ih-tl__track { position: relative; height: 2.4rem; margin-bottom: 1.8rem; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px #D3DDE5; }
.te-ih-tl__track--two { height: 3.6rem; }
.te-ih-tl__s, .te-ih-tl__i { position: absolute; left: calc(var(--x) * 1%); width: calc(var(--w) * 1%); top: 0.45rem; height: 1.5rem; border-radius: 6px; }
.te-ih-tl__s { background: var(--te-navy); }
.te-ih-tl__i { background: var(--te-signal); }
.te-ih-tl__track--two .te-ih-tl__s { top: 0.4rem; height: 1.25rem; width: calc(var(--w) * 0.5%); }
.te-ih-tl__track--two .te-ih-tl__i { top: 1.95rem; height: 1.25rem; width: calc(var(--w) * 0.5% - 2%); }
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.te-ih-tl__s, .te-ih-tl__i { transform-origin: left; animation: te-ih-grow linear both; animation-timeline: view(); animation-range: entry 20% cover 45%; }
	}
}
@keyframes te-ih-grow { from { transform: scaleX(0); } to { transform: none; } }
.te-ih-tl__key { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.8rem; font-weight: 700; color: var(--te-slate); }
.te-ih-tl__ks, .te-ih-tl__ki { width: 1.2rem; height: 0.6rem; border-radius: 3px; }
.te-ih-tl__ks { background: var(--te-navy); }
.te-ih-tl__ki { margin-left: 0.8rem; background: var(--te-signal); }
.te-ih-tl__time { margin-left: auto; color: var(--te-steel-deep); }

/* Workforce values */
.te-ih-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ih-values li { margin: 0; padding: 1.8rem 1.7rem; border-radius: 20px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
.te-ih-values__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 12px; background: var(--te-ice); }
.te-ih-values__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-ih-values h3 { margin: 1.1rem 0 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-ih-values p { margin: 0.45rem 0 0; font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }

/* Method (navy) */
.te-ih-method-section { background: var(--te-navy); color: #fff; }
.te-ih-method { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ih-method__copy .te-eyebrow { color: var(--te-sky); }
.te-ih-method__copy h2 { margin-top: 0.75rem !important; color: #fff; }
.te-ih-method__copy h2 .te-accent { color: var(--te-sky); }
.te-ih-method__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-ih-method__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.5rem 0 0 !important; padding: 0; list-style: none; }
.te-ih-method__chips li { margin: 0; padding: 0.4rem 0.8rem; border-radius: 99px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); font-size: 0.8rem; font-weight: 700; color: #fff; }
.te-ih-method__steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.te-ih-method__steps li { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 1rem; margin: 0; padding: 1.4rem; border-radius: 18px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.te-ih-method__n { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 12px; background: var(--te-signal); font-weight: 800; color: #fff; }
.te-ih-method__steps h3 { margin: 0.25rem 0 0; font-size: 1.08rem !important; color: #fff !important; }
.te-ih-method__steps p { margin-top: 0.35rem !important; font-size: 0.88rem; line-height: 1.55; color: rgba(255, 255, 255, .74); }

/* Request card hints */
.te-dh-card__set:has(#te-ih-req-onsite:checked) .te-ih-card__hint--onsite,
.te-dh-card__set:has(#te-ih-req-opi:checked) .te-ih-card__hint--opi,
.te-dh-card__set:has(#te-ih-req-vri:checked) .te-ih-card__hint--vri,
.te-dh-card__set:has(#te-ih-req-rsi:checked) .te-ih-card__hint--rsi,
.te-dh-card__set:has(#te-ih-req-conf:checked) .te-ih-card__hint--conf { display: block; }

@media (max-width: 1100px) {
	.te-ih-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-ih-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-ih-modes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ih-m[class*="te-ih-m--"] { grid-column: auto; }
	.te-ih-m--5 { grid-column: 1 / -1 !important; }
}
@media (max-width: 1024px) {
	.te-ih-hero__grid, .te-ih-cs, .te-ih-method, .te-ih-map__body { grid-template-columns: minmax(0, 1fr); }
	.te-ih-board { max-width: 620px; }
	.te-ih-values { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.te-ih-bench ul, .te-ih-modes, .te-ih-method__steps { grid-template-columns: minmax(0, 1fr); }
	.te-ih-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-ih-m--5 { grid-column: auto !important; }
	.te-ih-board li { grid-template-columns: 2.8rem minmax(0, 1fr) auto; }
	.te-ih-board__img { width: 2.8rem; height: 2.8rem; }
	.te-ih-board__mode { grid-column: 2; grid-row: 1; margin-bottom: 0.2rem; }
	.te-ih-board__who { grid-column: 2; }
	.te-ih-board__img { grid-row: span 2; }
	.te-ih-board__st { grid-column: 3; grid-row: 1 / span 2; }
	.te-ih-map { padding: 1.2rem; }
	.te-ih-plot__area { height: 280px; }
	.te-ih-dot i { width: calc(var(--s) * .7); height: calc(var(--s) * .7); }
	.te-ih-dot em { top: calc(50% + var(--s) * .35 + 0.2rem); font-size: 0.66rem; }
	.te-ih-tl { padding: 1.2rem; }
	.te-ih-tl__time { margin-left: 0; width: 100%; }
}

/* ==========================================================================
   Legal industry page (.te-lg-*)
   Legal stationery cues: a certificate with a seal, docket numbers, and
   pleading paper (numbered lines, double margin rule) for the review process.
   ========================================================================== */

.te-lg-hero, .te-lg-docket, .te-lg-proc, .te-lg-clients { --lg-serif: Georgia, "Times New Roman", serif; --lg-rule: #C2412D; --lg-paper: #FBF9F4; }
.te-lg-hero p, .te-lg-docket p, .te-lg-proc p, .te-lg-clients p { margin: 0; }

/* Hero */
.te-lg-hero { padding-bottom: 0 !important; }
.te-lg-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-lg-hero__copy > * { margin-block: 0; }
.te-lg-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-lg-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-lg-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-lg-visual { position: relative; padding: 0 0 4.5rem 3rem; }
.te-lg-visual__photo { margin: 0; }
.te-lg-visual__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 45%; border-radius: 22px; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .9); }
.te-lg-cert { position: absolute; left: 0; bottom: 0; box-sizing: border-box; width: min(330px, 80%); padding: 1.3rem 1.4rem 1.1rem; border-radius: 6px; background: var(--lg-paper); box-shadow: 0 0 0 1px #E6DFCF, 0 30px 50px -24px rgba(0, 0, 0, .75); color: var(--te-ink); }
.te-lg-cert::before { content: ""; position: absolute; inset: 6px; border: 1px solid #D8CFBA; border-radius: 3px; pointer-events: none; }
.te-lg-cert__k { font-family: var(--lg-serif); font-size: 0.95rem; font-style: italic; color: var(--te-navy); }
.te-lg-cert__doc { margin-top: 0.6rem !important; padding-bottom: 0.6rem; border-bottom: 1px solid #E2DACA; font-size: 1rem; font-weight: 800; color: var(--te-navy); }
.te-lg-cert__doc span { display: block; margin-top: 0.15rem; font-size: 0.78rem; font-weight: 600; color: var(--te-slate); }
.te-lg-cert__checks { display: grid; gap: 0.35rem; margin: 0.7rem 0 0; padding: 0; list-style: none; padding-right: 4.6rem; }
.te-lg-cert__checks li { display: flex; gap: 0.45rem; margin: 0; font-size: 0.8rem; line-height: 1.35; color: var(--te-ink); }
.te-lg-cert__checks li::before { content: ""; flex: none; width: 0.85rem; height: 0.85rem; margin-top: 0.12rem; background: #1E7A4C; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-lg-cert__seal { position: absolute; right: 1rem; bottom: 1.4rem; display: grid; place-items: center; width: 4.2rem; height: 4.2rem; border-radius: 50%; background: radial-gradient(circle, #D9543A 0 55%, #B83A22 56% 100%); box-shadow: 0 0 0 3px var(--lg-paper), 0 0 0 4px #D9543A, 0 6px 12px -4px rgba(120, 30, 10, .6); transform: rotate(-12deg); }
.te-lg-cert__seal span { font-family: var(--lg-serif); font-size: 0.66rem; font-style: italic; font-weight: 700; letter-spacing: 0.04em; color: #FFF4EC; }
.te-lg-cert__note { margin-top: 0.8rem !important; font-size: 0.66rem; color: #8A8270; }
@media (prefers-reduced-motion: no-preference) {
	.te-lg-cert__seal { animation: te-lg-stamp .5s cubic-bezier(.3, 1.4, .5, 1) .7s both; }
}
@keyframes te-lg-stamp { from { opacity: 0; transform: rotate(-12deg) scale(1.8); } to { opacity: 1; transform: rotate(-12deg) scale(1); } }
.te-lg-bench { position: relative; z-index: 1; margin-top: clamp(2.75rem, 5vw, 4rem) !important; padding: 0 0 1.8rem; }
.te-lg-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-lg-bench li { margin: 0; padding: 0 1.4rem; }
.te-lg-bench li:first-child { padding-left: 0; }
.te-lg-bench li + li { border-left: 1px solid rgba(255, 255, 255, .14); }
.te-lg-bench strong { display: block; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-lg-bench li:first-child strong { color: #FFB591; }
.te-lg-bench__lbl { display: block; margin-top: 0.55rem; font-size: 0.9375rem; font-weight: 700; color: #fff; }
.te-lg-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.8125rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

/* Client logos */
.te-lg-clients-section { padding-block: 2.6rem !important; border-bottom: 1px solid var(--te-line); }
.te-lg-clients { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 2rem; align-items: center; }
.te-lg-clients__h { font-family: var(--lg-serif); font-size: 1rem; font-style: italic; color: var(--te-slate); }
.te-lg-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-lg-clients__track { display: flex; width: max-content; }
.te-lg-clients ul { display: flex; flex: none; align-items: center; gap: 3.5rem; margin: 0; padding: 0 3.5rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-lg-clients__track { animation: te-lg-marquee 32s linear infinite; }
	.te-lg-clients:hover .te-lg-clients__track { animation-play-state: paused; }
}
@keyframes te-lg-marquee { to { transform: translateX(-50%); } }
.te-lg-clients li { margin: 0; }
.te-lg-clients img { display: block; width: auto; height: 34px; max-width: 170px; object-fit: contain; mix-blend-mode: multiply; opacity: .7; transition: opacity .2s; }
.te-lg-clients li:hover img { opacity: 1; }

/* Docket: matter selector */
.te-lg-docket { margin-top: 3rem !important; }
.te-lg-docket__tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; }
.te-lg-tab { position: relative; cursor: pointer; }
.te-lg-tab input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-lg-tab > span { display: block; height: 100%; box-sizing: border-box; padding: 1rem 1.2rem 1.1rem; border-radius: 14px 14px 0 0; background: #E8EDF1; box-shadow: inset 0 -3px 0 transparent; font-size: 1.02rem; font-weight: 800; color: var(--te-slate); transition: background .15s, color .15s, box-shadow .15s; }
.te-lg-tab i { display: block; margin-bottom: 0.25rem; font-family: var(--lg-serif); font-size: 0.82rem; font-style: italic; font-weight: 400; color: var(--te-steel-deep); }
.te-lg-tab:hover > span { color: var(--te-navy); background: #DFE6EC; }
.te-lg-tab input:checked + span { background: #fff; color: var(--te-navy); box-shadow: inset 0 3px 0 var(--te-signal); }
.te-lg-tab input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: -3px; }
.te-lg-matter { display: none; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2.6rem; align-items: center; padding: 2rem; border-radius: 0 0 22px 22px; background: #fff; box-shadow: 0 30px 60px -50px rgba(15, 42, 61, .6); }
.te-lg-docket:has(#te-lg-m-lit:checked) .te-lg-matter--lit,
.te-lg-docket:has(#te-lg-m-disc:checked) .te-lg-matter--disc,
.te-lg-docket:has(#te-lg-m-deal:checked) .te-lg-matter--deal,
.te-lg-docket:has(#te-lg-m-ip:checked) .te-lg-matter--ip { display: grid; }
@media (prefers-reduced-motion: no-preference) {
	.te-lg-docket:has(input:checked) .te-lg-matter { animation: te-lg-in .35s var(--te-ease) both; }
}
@keyframes te-lg-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.te-lg-matter__img { margin: 0; }
.te-lg-matter__img img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.te-lg-matter h3 { margin: 0; font-size: 1.6rem !important; line-height: 1.2; color: var(--te-navy); }
.te-lg-matter__line { margin-top: 0.6rem !important; font-size: 1rem; line-height: 1.6; color: var(--te-slate); }
.te-lg-matter__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1.4rem; margin: 1.3rem 0 0; padding: 0; list-style: none; }
.te-lg-matter__list li { display: flex; gap: 0.55rem; margin: 0; font-size: 0.92rem; line-height: 1.45; color: var(--te-ink); }
.te-lg-matter__list li::before { content: "§"; flex: none; font-family: var(--lg-serif); font-weight: 700; color: var(--te-signal); }
.te-lg-matter__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 1.5rem !important; padding-top: 1.1rem; border-top: 1px solid var(--te-line); }
.te-lg-matter__links span { margin-right: 0.3rem; font-size: 0.78rem; font-weight: 800; color: var(--te-slate); }
.te-lg-matter__links a { padding: 0.45rem 0.85rem; border-radius: 99px; background: var(--te-ice); font-size: 0.85rem; font-weight: 700; color: var(--te-steel-deep); text-decoration: none; }
.te-lg-matter__links a:hover { background: var(--te-navy); color: #fff; }
.te-lg-matter__links a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

/* Delivery options: interpreting docket */
.te-lg-dk { position: relative; box-sizing: border-box; margin-top: 3rem !important; padding: 2.2rem 2.4rem 1.8rem; border-radius: 6px; background: #FBF9F4; box-shadow: 0 0 0 1px #E6DFCF, 0 30px 60px -40px rgba(15, 42, 61, .6); }
.te-lg-dk::before { content: ""; position: absolute; inset: 8px; border: 1px solid #DED5C1; border-radius: 3px; pointer-events: none; }
.te-lg-dk p { margin: 0; }
.te-lg-dk__top { padding-bottom: 1.2rem; border-bottom: 3px double var(--te-navy); text-align: center; }
.te-lg-dk__title { font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; font-variant: small-caps; letter-spacing: 0.06em; color: var(--te-navy); }
.te-lg-dk__sub { margin-top: 0.3rem !important; font-family: Georgia, "Times New Roman", serif; font-size: 0.92rem; font-style: italic; color: #6B6452; }
.te-lg-dk table { width: 100%; border-collapse: collapse; }
.te-lg-dk th, .te-lg-dk td { padding: 1rem 1.2rem 1rem 0; border: 0; border-bottom: 1px solid #E2DACA; text-align: left; vertical-align: middle; font-size: 0.9rem; line-height: 1.5; color: #4A4636; }
.te-lg-dk thead th { padding-top: 0.9rem; padding-bottom: 0.5rem; font-size: 0.72rem; font-weight: 800; color: #8A8270; }
.te-lg-dk tbody th { font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; font-weight: 700; color: var(--te-navy); }
.te-lg-dk tbody tr:last-child > * { border-bottom: 0; }
.te-lg-dk__no { width: 4.5rem; font-family: Georgia, "Times New Roman", serif; font-size: 1rem !important; font-style: italic; color: #C2412D !important; white-space: nowrap; }
.te-lg-dk__who { font-weight: 700; color: var(--te-ink) !important; white-space: nowrap; }
.te-lg-dk__ico { display: inline-block; width: 1.1rem; height: 1.1rem; margin-right: 0.5rem; vertical-align: -0.2rem; background: var(--te-navy); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-lg-dk__foot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 0.4rem; padding-top: 1rem; border-top: 3px double var(--te-navy); }
.te-lg-dk__foot p { font-size: 0.88rem; line-height: 1.55; color: #4A4636; }
.te-lg-dk__foot b { font-family: Georgia, "Times New Roman", serif; font-style: italic; color: var(--te-navy); }

/* Two-linguist process on pleading paper (navy section) */
.te-lg-proc-section { background: var(--te-navy); color: #fff; }
.te-lg-proc { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-lg-proc__copy .te-eyebrow { color: var(--te-sky); }
.te-lg-proc__copy h2 { margin-top: 0.75rem !important; color: #fff; }
.te-lg-proc__copy h2 .te-accent { color: var(--te-sky); }
.te-lg-proc__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-lg-proc__fine { margin-top: 1.2rem !important; padding-left: 1rem; border-left: 2px solid #FFB591; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .7); }
.te-lg-pleading { position: relative; margin: 0; padding: 1.6rem 1.8rem 1.6rem 5.2rem; border-radius: 6px; list-style: none; background: linear-gradient(90deg, transparent calc(100% - 1.2rem), rgba(194, 65, 45, .08) calc(100% - 1.2rem)), var(--lg-paper); box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .85); color: var(--te-ink); }
.te-lg-pleading::before { content: ""; position: absolute; left: 3.9rem; top: 0; bottom: 0; width: 5px; border-left: 1.5px solid var(--lg-rule); border-right: 1.5px solid var(--lg-rule); }
.te-lg-pleading li { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0.9rem 0; }
.te-lg-pleading li + li { border-top: 1px dashed #D8CFBA; }
.te-lg-pleading__n { position: absolute; left: -4.1rem; top: 0.95rem; width: 2.4rem; text-align: right; font-family: var(--lg-serif); font-size: 1.4rem; font-weight: 700; color: var(--lg-rule); }
.te-lg-pleading h3 { margin: 0; font-family: var(--lg-serif); font-size: 1.2rem !important; font-weight: 700; color: var(--te-navy); }
.te-lg-pleading p { margin-top: 0.3rem !important; font-size: 0.92rem; line-height: 1.55; color: #4A4636; }

/* Stakeholders */
.te-lg-seats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-lg-seats li { margin: 0; padding: 1.6rem; border: 1.5px solid #C3D0DA; border-radius: 18px; background: #fff; }
.te-lg-seats__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 12px; background: var(--te-ice); }
.te-lg-seats__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-lg-seats h3 { margin: 1rem 0 0; font-size: 1.12rem !important; color: var(--te-navy); }
.te-lg-seats p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-lg-seats li.te-lg-seats__priv { border-color: transparent; background: radial-gradient(120% 120% at 100% 0, var(--te-navy-soft), var(--te-navy) 70%); }
.te-lg-seats__priv h3 { margin-top: 0; color: #fff !important; }
.te-lg-seats__priv h3::before { content: "§"; display: block; margin-bottom: 0.5rem; font-family: Georgia, serif; font-size: 2.2rem; line-height: 1; color: #FFB591; }
.te-lg-seats__priv p { color: rgba(255, 255, 255, .78); }

/* Request card hints */
.te-dh-card__set:has(#te-lg-req-interp:checked) .te-lg-card__hint--interp,
.te-dh-card__set:has(#te-lg-req-translate:checked) .te-lg-card__hint--translate,
.te-dh-card__set:has(#te-lg-req-discovery:checked) .te-lg-card__hint--discovery,
.te-dh-card__set:has(#te-lg-req-patent:checked) .te-lg-card__hint--patent { display: block; }

@media (max-width: 1100px) {
	.te-lg-bench ul, .te-lg-seats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.4rem; }
	.te-lg-bench li:nth-child(3) { padding-left: 0; border-left: 0; }
	.te-lg-clients { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
}
@media (max-width: 1024px) {
	.te-lg-hero__grid, .te-lg-proc { grid-template-columns: minmax(0, 1fr); }
	.te-lg-visual { max-width: 620px; }
	.te-lg-matter { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
	.te-lg-matter__img img { aspect-ratio: 16 / 9; }
}
@media (max-width: 760px) {
	.te-lg-docket__tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-lg-tab > span { border-radius: 12px; }
	.te-lg-matter { margin-top: 0.6rem; border-radius: 18px; }
	.te-lg-matter__list { grid-template-columns: minmax(0, 1fr); }
	.te-lg-dk__foot { grid-template-columns: minmax(0, 1fr); gap: 0.8rem; }
}
@media (max-width: 600px) {
	.te-lg-bench ul, .te-lg-seats { grid-template-columns: minmax(0, 1fr); }
	.te-lg-bench li { padding: 0 !important; border-left: 0 !important; }
	.te-lg-visual { padding: 0; }
	.te-lg-cert { position: relative; width: auto; margin: -2.5rem 0.8rem 0; }
	.te-lg-matter { padding: 1.2rem; }
	.te-lg-matter h3 { font-size: 1.3rem !important; }
	.te-lg-pleading { padding: 1.2rem 1.1rem 1.2rem 3.6rem; }
	.te-lg-pleading::before { left: 2.6rem; }
	.te-lg-pleading__n { left: -3.1rem; width: 2rem; font-size: 1.15rem; }
	.te-lg-clients img { height: 26px; max-width: 130px; }
	.te-lg-dk { padding: 1.4rem 1.2rem 1.2rem; }
	.te-lg-dk__title { font-size: 1.35rem; }
	.te-lg-dk thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.te-lg-dk table, .te-lg-dk tbody, .te-lg-dk tr, .te-lg-dk th, .te-lg-dk td { display: block; }
	.te-lg-dk tr { padding: 0.9rem 0; border-bottom: 1px solid #E2DACA; }
	.te-lg-dk tbody tr:last-child { border-bottom: 0; }
	.te-lg-dk th, .te-lg-dk td { padding: 0.15rem 0; border: 0 !important; }
	.te-lg-dk__who { white-space: normal; }
	.te-lg-dk td[data-label]::before { content: attr(data-label); display: block; margin-top: 0.4rem; font-size: 0.68rem; font-weight: 800; color: #8A8270; }
	.te-lg-dk__foot { grid-template-columns: minmax(0, 1fr); gap: 0.8rem; }
}

/* ==========================================================================
   Industries hub (.te-in-*)
   ========================================================================== */

.te-in-hero p, .te-in-word p, .te-in-index p { margin: 0; }

/* Hero: one word, four meanings */
.te-in-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-in-hero__copy > * { margin-block: 0; }
.te-in-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-in-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-in-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-in-word { margin: 0; padding: 1.8rem 1.9rem 1.5rem; border-radius: 22px; background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14), 0 40px 70px -40px rgba(0, 0, 0, .9); color: #fff; }
.te-in-word__k { font-size: 0.8rem; font-weight: 700; color: var(--te-sky); }
.te-in-word__term { margin-top: 0.3rem !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.6rem, 5vw, 3.6rem); font-style: italic; line-height: 1.1; color: #FFB591; }
.te-in-word__list { display: grid; gap: 0.55rem; margin: 1.2rem 0 0; padding: 0; list-style: none; counter-reset: te-in; }
.te-in-word__list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 0.8rem; margin: 0; padding: 0.8rem 1rem; border-radius: 12px; background: rgba(255, 255, 255, .05); counter-increment: te-in; }
.te-in-word__list li::before { content: counter(te-in); display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: rgba(124, 200, 230, .16); font-size: 0.85rem; font-weight: 800; color: var(--te-sky); }
.te-in-word__list li::before { grid-row: span 2; }
.te-in-word__list b, .te-in-word__list span { grid-column: 2; }
.te-in-word__list b { display: block; font-size: 0.95rem; color: #fff; }
.te-in-word__list span { display: block; margin-top: 0.15rem; font-size: 0.85rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }
.te-in-word figcaption { margin-top: 1rem; padding-top: 0.9rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 0.85rem; line-height: 1.5; color: rgba(255, 255, 255, .7); }
@media (prefers-reduced-motion: no-preference) {
	.te-in-word__list li { animation: te-in-hl 10s ease-in-out infinite; animation-delay: calc(var(--i) * 2.5s); }
}
@keyframes te-in-hl { 0%, 22% { background: rgba(255, 181, 145, .14); box-shadow: inset 3px 0 0 #FFB591; } 25%, 100% { background: rgba(255, 255, 255, .05); box-shadow: none; } }

/* Industry index with group filter */
.te-in-index { margin-top: 3rem !important; scroll-margin-top: 7rem; }
.te-in-filter { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 2.2rem; padding: 0; border: 0; }
.te-in-chip { position: relative; cursor: pointer; }
.te-in-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-in-chip span { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.6rem 1.05rem; border: 1.5px solid #C3D0DA; border-radius: 999px; background: #fff; font-size: 0.92rem; font-weight: 700; color: var(--te-slate); transition: background .15s, color .15s, border-color .15s; }
.te-in-chip i { padding: 0.05rem 0.45rem; border-radius: 99px; background: var(--te-cloud); font-size: 0.75rem; font-style: normal; color: var(--te-steel-deep); }
.te-in-chip:hover span { border-color: var(--te-steel-deep); color: var(--te-navy); }
.te-in-chip input:checked + span { border-color: var(--te-navy); background: var(--te-navy); color: #fff; }
.te-in-chip input:checked + span i { background: rgba(255, 255, 255, .16); color: #fff; }
.te-in-chip input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-in-group { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 2rem; align-items: start; padding-top: 2rem; margin-top: 2rem; border-top: 1px solid var(--te-line); }
.te-in-group:first-of-type { margin-top: 0; }
.te-in-index:has(#te-in-f-reg:checked) .te-in-group:not(.te-in-group--reg),
.te-in-index:has(#te-in-f-pub:checked) .te-in-group:not(.te-in-group--pub),
.te-in-index:has(#te-in-f-ind:checked) .te-in-group:not(.te-in-group--ind),
.te-in-index:has(#te-in-f-dig:checked) .te-in-group:not(.te-in-group--dig) { display: none; }
.te-in-index:has(#te-in-f-all:not(:checked)) .te-in-group { margin-top: 0; }
.te-in-group__head { position: sticky; top: 7rem; }
.te-in-group__head h3 { margin: 0; font-size: 1.3rem !important; color: var(--te-navy); }
.te-in-group__head h3::before { content: ""; display: block; width: 2.4rem; height: 3px; margin-bottom: 0.8rem; background: var(--te-signal); }
.te-in-group--pub .te-in-group__head h3::before { background: var(--te-steel); }
.te-in-group--ind .te-in-group__head h3::before { background: #C28A00; }
.te-in-group--dig .te-in-group__head h3::before { background: #7A5AF8; }
.te-in-group__head p { margin-top: 0.45rem !important; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-in-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; margin: 0; padding: 0; list-style: none; }
.te-in-cards li { margin: 0; }
.te-in-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; text-decoration: none; transition: transform .3s var(--te-ease), box-shadow .3s; }
.te-in-card:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px #8FA8BA, 0 26px 40px -30px rgba(15, 42, 61, .55); }
.te-in-card:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-in-card__img { display: block; height: 150px; overflow: hidden; background: var(--te-cloud); }
.te-in-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--te-ease); }
.te-in-card:hover .te-in-card__img img { transform: scale(1.05); }
.te-in-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.1rem 1.2rem 1.2rem; font-size: 0.88rem; line-height: 1.5; color: var(--te-slate); }
.te-in-card__body b { margin-bottom: 0.3rem; font-size: 1.1rem; color: var(--te-navy); }
.te-in-card__body em { margin-top: auto; padding-top: 0.8rem; font-style: normal; font-size: 0.85rem; font-weight: 700; color: var(--te-steel-deep); }
.te-in-card__body em::after { content: ""; display: inline-block; width: 0.4rem; height: 0.4rem; margin-left: 0.4rem; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.te-in-card:hover .te-in-card__body em::after { transform: translateX(3px) rotate(45deg); }

/* What changes by industry */
.te-in-matrix { margin-top: 3rem !important; overflow-x: auto; border-radius: 18px; box-shadow: 0 0 0 1px #D3DDE5; }
.te-in-matrix table { width: 100%; min-width: 720px; border-collapse: collapse; background: #fff; }
.te-in-matrix th, .te-in-matrix td { padding: 1rem 1.2rem; border: 0; border-bottom: 1px solid var(--te-line); text-align: left; vertical-align: top; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-in-matrix thead th, .te-in-matrix thead td { background: var(--te-navy); font-size: 0.85rem; font-weight: 800; color: #fff; }
.te-in-matrix tbody th { width: 9rem; font-size: 0.98rem; font-weight: 800; color: var(--te-navy); background: var(--te-cloud); }
.te-in-matrix tbody tr:last-child > * { border-bottom: 0; }

/* How we fit (navy) */
.te-in-fit-section { background: var(--te-navy); color: #fff; }
.te-in-fit { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-in-fit li { margin: 0; padding: 1.6rem; border-radius: 18px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.te-in-fit__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 12px; background: rgba(124, 200, 230, .14); }
.te-in-fit__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-in-fit h3 { margin: 1rem 0 0; font-size: 1.1rem !important; color: #fff !important; }
.te-in-fit p { margin: 0.4rem 0 0; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }

/* Request card hints */
.te-dh-card__set:has(#te-in-req-translate:checked) .te-in-card__hint--translate,
.te-dh-card__set:has(#te-in-req-interpret:checked) .te-in-card__hint--interpret,
.te-dh-card__set:has(#te-in-req-localize:checked) .te-in-card__hint--localize,
.te-dh-card__set:has(#te-in-req-program:checked) .te-in-card__hint--program { display: block; }

@media (max-width: 1100px) {
	.te-in-group { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.te-in-group__head { position: static; }
	.te-in-fit { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-in-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-in-word { max-width: 620px; }
}
@media (max-width: 760px) {
	.te-in-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.te-in-cards, .te-in-fit { grid-template-columns: minmax(0, 1fr); }
	.te-in-card { flex-direction: row; }
	.te-in-card__img { flex: none; width: 7rem; height: auto; min-height: 7rem; }
	.te-in-card__body { padding: 0.9rem 1rem; }
	.te-in-card__body em { display: none; }
	.te-in-word { padding: 1.3rem; }
	.te-in-matrix { overflow: visible; box-shadow: none; }
	.te-in-matrix table { min-width: 0; background: transparent; }
	.te-in-matrix thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.te-in-matrix tbody, .te-in-matrix tr, .te-in-matrix th, .te-in-matrix td { display: block; }
	.te-in-matrix tr { margin-bottom: 0.8rem; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
	.te-in-matrix tbody th { width: auto; padding: 0.8rem 1rem; }
	.te-in-matrix td { padding: 0.45rem 1rem; border: 0; }
	.te-in-matrix td:last-child { padding-bottom: 0.9rem; }
	.te-in-matrix td::before { content: attr(data-label); display: block; font-size: 0.7rem; font-weight: 800; color: var(--te-steel-deep); }
}

/* ==========================================================================
   Government and defense (.te-gv-*)
   ========================================================================== */

.te-gv-hero p, .te-gv-card ul, .te-gv-files p, .te-gv-ops p, .te-gv-sec p, .te-gv-rec p, .te-gv-pp p, .te-gv-ways p, .te-gv-roles p { margin: 0; }

/* Hero: copy left, contracting quick card right */
.te-gv-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-gv-hero__copy > * { margin-block: 0; }
.te-gv-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-gv-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-gv-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-gv-hero > .te-svc-hero__media { width: 70%; }
.te-gv-hero .te-svc-hero__media img { object-position: 60% 40%; }

/* Quick card: a credential the contracting officer can copy from */
.te-gv-card { position: relative; box-sizing: border-box; overflow: hidden; border-radius: 16px; background: #fff; color: var(--te-ink); box-shadow: 0 40px 70px -35px rgba(0, 0, 0, .85); }
.te-gv-card__head { padding: 1.3rem 1.6rem 1.1rem; background: var(--te-navy-soft); background: linear-gradient(120deg, #17384F, #24506C); color: #fff; }
.te-gv-card__k { font-size: 0.8rem; font-weight: 700; color: var(--te-sky); }
.te-gv-card__name { margin-top: 0.2rem !important; font-size: 1.2rem; font-weight: 800; }
.te-gv-card dl { margin: 0; padding: 0.4rem 1.6rem 0.2rem; }
.te-gv-card dl > div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: 0.7rem 0; border-bottom: 1px dashed #D3DDE5; }
.te-gv-card dl > div:last-child { border-bottom: 0; }
.te-gv-card dt { font-size: 0.85rem; color: var(--te-slate); }
.te-gv-card dd { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin: 0; font-size: 1.02rem; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: 0.02em; color: var(--te-navy); }
.te-gv-card .te-gov-copy { padding: 0.3rem 0.65rem; }
.te-gv-card__foot { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0.9rem 1.6rem 1.2rem; list-style: none; background: var(--te-cloud); }
.te-gv-card__foot li { margin: 0; padding: 0.25rem 0.6rem; border-radius: 99px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }

/* Bench strip under the hero */
.te-gv-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-gv-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-gv-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(255, 181, 145, .5); }
.te-gv-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #FFB591; }
.te-gv-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-gv-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Defense palette, scoped to this page */
.te-gv-ops, .te-gv-ways, .te-gv-rec, .te-gv-sec-section, .te-gv-topo, .te-gv-roles {
	--gv-gun: #16222B; --gv-gun-2: #1E2D37; --gv-deep: #0F1920; --gv-olive: #5F6B3A; --gv-khaki: #C2B48A; --gv-manila: #EDE6D3; --gv-ink: #4E4A36;
	--gv-stencil: "Saira Stencil One", var(--wp--preset--font-family--inter), sans-serif;
}

/* Ways to buy: requisition slips with a channel band */
.te-gv-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-gv-ways li { display: flex; flex-direction: column; margin: 0; overflow: hidden; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px #CBD3D9, 0 24px 40px -34px rgba(15, 25, 32, .6); }
.te-gv-ways__hd { position: relative; display: flex; align-items: center; gap: 0.75rem; padding: 0.85rem 4.5rem 0.85rem 1.3rem; background: var(--gv-gun); font-size: 0.85rem; font-weight: 700; color: #E9E4D2; }
.te-gv-ways__hd::after { content: ""; position: absolute; right: 1.2rem; top: 50%; width: 2.6rem; height: 0.6rem; margin-top: -0.3rem; background: repeating-linear-gradient(-45deg, var(--gv-khaki) 0 5px, transparent 5px 10px); opacity: .8; }
.te-gv-ways__ico { position: relative; flex: none; display: block; width: 1.4rem; height: 1.4rem; }
.te-gv-ways__ico::after { content: ""; position: absolute; inset: 0; background: var(--gv-khaki); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-gv-ways__body { padding: 1.5rem 1.4rem 1.7rem; }
.te-gv-ways h3 { margin: 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-gv-ways__body p { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }

/* Mission files: operations board on a plotting grid */
.te-gv-ops { position: relative; color: #fff; background-color: #111C23; background-image: linear-gradient(rgba(124, 200, 230, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(124, 200, 230, .06) 1px, transparent 1px); background-size: 48px 48px; background-position: center top; }
.te-gv-ops h2 { color: #fff; }
.te-gv-ops .te-accent, .te-gv-ops .te-eyebrow { color: var(--te-sky); }
.te-gv-ops .te-head__lede { color: rgba(255, 255, 255, .75); }
.te-gv-ops .te-head__link a { color: var(--te-sky); }
.te-gv-files { margin-top: 3rem !important; box-shadow: 0 0 0 1px rgba(255, 255, 255, .1), 0 50px 80px -50px #000; border-radius: 6px; overflow: hidden; }
.te-gv-files__banner { padding: 0.35rem 1rem; background: #007A33; text-align: center; font-family: var(--gv-stencil); font-size: 0.85rem; letter-spacing: 0.3em; text-transform: uppercase; color: #fff; }
.te-gv-files__tabs { display: flex; flex-wrap: wrap; background: var(--gv-deep); border-bottom: 1px solid rgba(255, 255, 255, .1); }
.te-gv-tab { position: relative; flex: 1 1 auto; cursor: pointer; }
.te-gv-tab input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-gv-tab span { position: relative; display: block; height: 100%; box-sizing: border-box; padding: 1rem 1.2rem 1rem 2.3rem; border-right: 1px solid rgba(255, 255, 255, .08); font-size: 0.95rem; font-weight: 700; color: rgba(255, 255, 255, .62); transition: background .15s, color .15s; }
.te-gv-tab span::before { content: ""; position: absolute; left: 1.15rem; top: 50%; width: 0.5rem; height: 0.5rem; margin-top: -0.25rem; border-radius: 1px; background: rgba(255, 255, 255, .25); transition: background .15s, box-shadow .15s; }
.te-gv-tab:hover span { color: #fff; background: rgba(255, 255, 255, .03); }
.te-gv-tab input:checked + span { background: var(--gv-gun-2); color: #fff; box-shadow: inset 0 -3px 0 var(--te-signal); }
.te-gv-tab input:checked + span::before { background: #FFB591; box-shadow: 0 0 0 3px rgba(255, 181, 145, .2); }
.te-gv-tab input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: -3px; }
.te-gv-file { display: none; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 3.5vw, 3rem); align-items: center; padding: clamp(1.6rem, 3.5vw, 2.75rem); background: var(--gv-gun-2); }
.te-gv-files:has(#te-gv-m-dip:checked) .te-gv-file--dip,
.te-gv-files:has(#te-gv-m-def:checked) .te-gv-file--def,
.te-gv-files:has(#te-gv-m-imm:checked) .te-gv-file--imm,
.te-gv-files:has(#te-gv-m-pub:checked) .te-gv-file--pub,
.te-gv-files:has(#te-gv-m-acc:checked) .te-gv-file--acc { display: grid; }
.te-gv-file h3 { margin: 0; font-size: clamp(1.4rem, 2.2vw, 1.75rem) !important; color: #fff !important; }
.te-gv-file__line { margin-top: 0.75rem !important; font-size: 1.02rem; line-height: 1.65; color: rgba(255, 255, 255, .75); }
.te-gv-file__list { display: grid; gap: 0.6rem; margin: 1.3rem 0 0; padding: 0; list-style: none; }
.te-gv-file__list li { position: relative; margin: 0; padding-left: 1.8rem; font-size: 0.95rem; line-height: 1.55; color: rgba(255, 255, 255, .92); }
.te-gv-file__list li::before { content: ""; position: absolute; left: 0; top: 0.2rem; width: 1.1rem; height: 1.1rem; background: var(--gv-khaki); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-gv-file__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.2rem; margin-top: 1.5rem !important; padding-top: 1.1rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 0.9rem; }
.te-gv-file__links span { color: rgba(255, 255, 255, .6); }
.te-gv-file__links a { font-weight: 700; color: var(--te-sky); }
.te-gv-file__img { position: relative; margin: 0; overflow: hidden; border-radius: 4px; aspect-ratio: 4 / 3; background: var(--gv-deep); }
.te-gv-file__img img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.05); }
.te-gv-file__img::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .07) 0 1px, transparent 1px 3px), radial-gradient(closest-side, transparent 70%, rgba(15, 25, 32, .45)); pointer-events: none; }
.te-gv-hud { position: absolute; inset: 12px; z-index: 1; pointer-events: none; }
.te-gv-hud i { position: absolute; width: 22px; height: 22px; border: 2px solid var(--te-sky); }
.te-gv-hud i:nth-child(1) { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.te-gv-hud i:nth-child(2) { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.te-gv-hud i:nth-child(3) { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.te-gv-hud i:nth-child(4) { bottom: 0; right: 0; border-left: 0; border-top: 0; }

/* SAM.gov record: a manila vendor file */
.te-gv-rec { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 1.25rem; align-items: start; box-sizing: border-box; margin-top: 5rem !important; padding: 1.6rem; border-radius: 0 10px 10px 10px; background: var(--gv-manila); box-shadow: 0 30px 50px -40px rgba(78, 74, 54, .7); }
.te-gv-rec__tab { position: absolute; left: 0; bottom: 100%; padding: 0.7rem 1.4rem 0.55rem; border-radius: 10px 10px 0 0; background: var(--gv-manila); font-family: var(--gv-stencil); font-size: 0.95rem; letter-spacing: 0.04em; color: var(--gv-ink); white-space: nowrap; }
.te-gv-rec > section { box-sizing: border-box; padding: 1.8rem; border-radius: 4px; background: #fff; box-shadow: 0 1px 0 rgba(78, 74, 54, .18); }
.te-gv-rec h3 { margin: 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-gv-rec__head p { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem; margin-top: 0.3rem !important; font-size: 0.9rem; color: var(--te-slate); }
.te-gv-rec__primary { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 0.4rem 1rem; align-items: center; margin-top: 1.3rem; padding: 1rem 1.2rem; border-left: 4px solid var(--te-signal); border-radius: 4px; background: var(--gv-gun); color: #fff; }
.te-gv-rec__primary span { font-size: 0.78rem; font-weight: 700; color: var(--gv-khaki); }
.te-gv-rec__primary b { font-family: var(--gv-stencil); font-size: 1.6rem; font-weight: 400; letter-spacing: 0.04em; }
.te-gv-rec__primary em { font-style: normal; font-size: 0.92rem; color: rgba(255, 255, 255, .85); }
.te-gv-rec__group { margin-top: 1.3rem !important; font-size: 0.8rem; font-weight: 800; color: var(--gv-olive); }
.te-gv-rec__naics ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.2rem; margin: 0.3rem 0 0; padding: 0; list-style: none; }
.te-gv-rec__naics li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0.6rem; margin: 0; padding: 0.55rem 0; border-bottom: 1px dashed #D6D0BE; font-size: 0.86rem; line-height: 1.4; color: var(--te-slate); }
.te-gv-rec__naics li b { font-variant-numeric: tabular-nums; color: var(--te-navy); }
.te-gv-rec__src { margin-top: 1.2rem !important; font-size: 0.8rem; color: var(--te-slate); }
.te-gv-rec__src a { color: var(--te-steel-deep); }
.te-gv-rec__sub { margin-top: 0.3rem !important; font-size: 0.9rem; color: var(--te-slate); }
.te-gv-rec__status ul { margin: 1rem 0 0; padding: 0; list-style: none; }
.te-gv-rec__status li { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) auto; gap: 0.9rem; align-items: center; margin: 0; padding: 0.85rem 0; border-bottom: 1px dashed #D6D0BE; }
.te-gv-rec__status li:last-child { border-bottom: 0; padding-bottom: 0; }
.te-gv-rec__ico { position: relative; display: block; width: 2.4rem; height: 2.4rem; border-radius: 4px; background: var(--gv-manila); }
.te-gv-rec__ico::after { content: ""; position: absolute; inset: 0.55rem; background: var(--gv-olive); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-gv-rec__name { font-size: 0.85rem; line-height: 1.4; color: var(--te-slate); }
.te-gv-rec__name b { display: block; font-size: 0.95rem; color: var(--te-navy); }
.te-gv-state { padding: 0.15rem 0.5rem; border: 2px solid currentColor; border-radius: 4px; font-family: var(--gv-stencil); font-size: 0.82rem; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; transform: rotate(-4deg); opacity: .9; }
.te-gv-state--live { color: #1F7A45; }
.te-gv-state--done { color: #7A6A3A; }

/* Vetting and security: navy with a radar sweep */
.te-gv-sec-section { position: relative; overflow: hidden; background: var(--te-navy); color: #fff; }
.te-gv-sec { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.te-gv-sec > :not(.te-gv-radar) { position: relative; z-index: 1; }
.te-gv-radar { position: absolute; left: -9rem; bottom: -14rem; width: 30rem; height: 30rem; border-radius: 50%; opacity: .55; background: linear-gradient(rgba(124, 200, 230, .2), rgba(124, 200, 230, .2)) center / 1px 100% no-repeat, linear-gradient(rgba(124, 200, 230, .2), rgba(124, 200, 230, .2)) center / 100% 1px no-repeat, repeating-radial-gradient(circle, transparent 0 59px, rgba(124, 200, 230, .22) 59px 60px); pointer-events: none; }
.te-gv-radar span { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, rgba(124, 200, 230, .35), rgba(124, 200, 230, 0) 70deg, transparent 360deg); }
@media (prefers-reduced-motion: no-preference) {
	.te-gv-radar span { animation: te-gv-sweep 6s linear infinite; }
}
@keyframes te-gv-sweep { to { transform: rotate(360deg); } }
.te-gv-sec__copy h2 { margin: 0.9rem 0 0; color: #fff; }
.te-gv-sec__copy .te-accent, .te-gv-sec__copy .te-eyebrow { color: var(--te-sky); }
.te-gv-sec__copy .te-eyebrow { margin: 0; }
.te-gv-sec__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-gv-sec__chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; margin: 1.8rem 0 0; padding: 0; list-style: none; }
.te-gv-sec__chips li { position: relative; margin: 0; padding: 0.75rem 0.9rem 0.75rem 2.4rem; border-radius: 4px; background: rgba(15, 25, 32, .55); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); font-size: 0.88rem; font-weight: 600; line-height: 1.4; }
.te-gv-sec__chips li::before { content: ""; position: absolute; left: 0.85rem; top: 0.85rem; width: 1rem; height: 1rem; background: var(--gv-khaki); -webkit-mask: var(--te-i-shield) center / contain no-repeat; mask: var(--te-i-shield) center / contain no-repeat; }
.te-gv-sec__steps { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.te-gv-sec__steps::before { content: ""; position: absolute; left: 1.35rem; top: 1.5rem; bottom: 1.5rem; border-left: 2px dashed rgba(124, 200, 230, .4); }
.te-gv-sec__steps li { position: relative; display: grid; grid-template-columns: 2.7rem minmax(0, 1fr); gap: 1.2rem; margin: 0; padding: 1.1rem 0; }
.te-gv-sec__n { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 4px; background: var(--te-navy); box-shadow: inset 0 0 0 2px var(--te-sky); font-family: var(--gv-stencil); font-size: 1.15rem; color: var(--te-sky); }
.te-gv-sec__steps h3 { margin: 0.35rem 0 0; font-size: 1.12rem !important; color: #fff !important; }
.te-gv-sec__steps p { margin-top: 0.3rem !important; font-size: 0.92rem; line-height: 1.55; color: rgba(255, 255, 255, .74); }

/* Past performance: unit placards on a topographic map */
.te-gv-topo { background-color: #F2F4F5; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 900' fill='none' stroke='%234B94AF' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M287 260 L285 264 L283 267 L281 270 L278 273 L274 275 L271 277 L268 279 L266 281 L263 284 L259 288 L255 291 L250 292 L245 293 L239 292 L234 290 L230 287 L227 284 L223 282 L219 279 L215 276 L212 273 L209 269 L208 264 L209 260 L211 256 L213 252 L217 249 L220 246 L223 243 L226 241 L230 239 L234 238 L238 237 L242 237 L246 236 L250 235 L254 234 L259 232 L265 230 L272 230 L278 230 L284 233 L288 237 L290 241 L291 247 L290 251 L289 256Z'/%3E%3Cpath d='M329 260 L326 268 L321 275 L315 282 L309 287 L302 292 L295 296 L289 300 L283 306 L277 312 L270 319 L261 325 L250 329 L238 330 L227 328 L217 324 L208 318 L200 312 L192 306 L184 301 L176 294 L168 287 L163 279 L160 269 L162 260 L166 251 L172 243 L179 236 L185 230 L192 224 L199 219 L207 215 L216 212 L224 211 L233 210 L242 209 L250 207 L259 204 L270 200 L283 197 L297 195 L311 197 L323 202 L331 210 L336 220 L337 231 L335 242 L333 251Z'/%3E%3Cpath d='M371 260 L366 272 L359 283 L350 293 L340 302 L329 309 L319 315 L309 322 L301 330 L291 340 L280 350 L266 360 L250 366 L232 368 L215 365 L199 358 L186 349 L173 340 L161 331 L149 322 L136 313 L124 302 L116 289 L113 274 L115 260 L121 246 L130 234 L141 224 L151 214 L161 206 L172 198 L184 191 L197 187 L211 184 L224 183 L237 182 L250 179 L264 175 L281 169 L300 163 L322 161 L343 163 L361 171 L374 184 L381 199 L383 216 L381 232 L377 247Z'/%3E%3Cpath d='M414 260 L406 276 L396 291 L385 305 L371 316 L357 326 L343 334 L330 344 L318 355 L306 368 L291 382 L272 394 L250 403 L226 405 L203 401 L182 392 L163 380 L147 367 L131 355 L114 344 L96 331 L81 316 L70 299 L65 279 L68 260 L77 242 L89 225 L103 211 L117 198 L131 187 L145 176 L161 168 L179 162 L197 158 L215 157 L233 155 L250 151 L269 145 L291 137 L317 130 L346 126 L375 130 L400 140 L417 157 L427 178 L429 201 L426 222 L420 242Z'/%3E%3Cpath d='M456 260 L446 281 L434 299 L420 316 L403 331 L384 343 L367 353 L351 365 L336 379 L320 395 L301 413 L278 429 L250 439 L220 442 L191 437 L164 426 L141 411 L120 395 L100 380 L79 365 L57 349 L37 330 L23 309 L18 284 L21 260 L32 237 L48 217 L65 199 L82 183 L100 168 L118 155 L138 144 L161 136 L184 132 L206 130 L228 128 L250 123 L274 115 L302 105 L335 96 L371 92 L407 96 L438 109 L460 131 L472 157 L475 185 L471 213 L464 237Z'/%3E%3Cpath d='M498 260 L486 285 L472 308 L454 328 L434 345 L412 359 L391 373 L371 387 L353 403 L334 423 L312 444 L283 463 L250 476 L214 480 L178 473 L147 460 L119 442 L94 423 L69 405 L43 387 L17 367 L-6 345 L-23 319 L-30 289 L-26 260 L-13 232 L6 208 L27 186 L48 167 L69 149 L91 133 L116 120 L142 111 L170 106 L198 103 L224 101 L250 95 L279 86 L312 73 L352 63 L396 58 L439 62 L477 79 L504 104 L518 136 L521 170 L517 203 L508 233Z'/%3E%3Cpath d='M540 260 L526 289 L510 316 L489 339 L465 359 L440 376 L415 392 L392 408 L371 428 L349 451 L322 476 L289 498 L250 513 L208 517 L166 510 L129 494 L97 473 L67 450 L38 429 L8 408 L-22 386 L-50 359 L-69 328 L-77 294 L-73 260 L-57 228 L-35 199 L-11 174 L14 151 L38 130 L64 111 L93 96 L124 86 L157 80 L189 77 L219 74 L250 67 L284 56 L323 42 L370 29 L421 23 L472 29 L515 48 L547 78 L564 115 L567 155 L562 193 L552 228Z'/%3E%3Cpath d='M582 260 L566 293 L547 324 L524 351 L497 374 L467 393 L439 411 L413 430 L389 452 L363 479 L333 507 L295 533 L250 550 L202 554 L154 546 L111 528 L74 503 L41 478 L8 454 L-27 430 L-62 404 L-93 374 L-116 338 L-125 299 L-120 260 L-102 223 L-77 190 L-49 161 L-21 135 L8 111 L37 90 L70 72 L106 60 L143 53 L180 50 L215 46 L250 39 L288 26 L334 10 L387 -5 L446 -11 L504 -5 L554 17 L590 51 L609 94 L613 140 L607 183 L596 224Z'/%3E%3Cpath d='M624 260 L606 298 L585 332 L559 362 L528 388 L495 410 L463 430 L433 451 L406 476 L378 506 L343 538 L301 567 L250 586 L195 592 L142 582 L94 561 L52 534 L14 506 L-23 478 L-62 451 L-101 422 L-137 388 L-162 348 L-173 305 L-166 260 L-147 218 L-118 181 L-87 148 L-55 119 L-23 92 L10 68 L47 48 L87 35 L129 27 L171 23 L210 19 L250 11 L293 -3 L344 -22 L404 -38 L471 -46 L536 -38 L592 -14 L633 25 L655 73 L660 124 L653 174 L640 219Z'/%3E%3Cpath d='M783 640 L785 643 L787 647 L788 651 L788 655 L786 658 L783 661 L779 662 L775 664 L771 664 L767 665 L764 665 L760 665 L757 664 L753 662 L751 660 L749 658 L746 656 L744 654 L742 653 L739 651 L737 649 L735 646 L734 643 L734 640 L735 637 L736 634 L737 631 L738 629 L739 625 L740 622 L742 618 L744 615 L748 613 L752 612 L756 612 L760 613 L764 614 L767 616 L770 618 L773 620 L775 623 L776 625 L777 628 L777 631 L778 633 L779 635 L781 638Z'/%3E%3Cpath d='M815 640 L821 647 L826 656 L829 666 L827 675 L822 684 L815 690 L806 694 L796 697 L787 699 L778 700 L769 700 L760 700 L752 697 L744 693 L738 689 L732 684 L727 679 L722 675 L716 671 L709 667 L703 661 L699 655 L697 648 L697 640 L699 633 L702 626 L705 619 L707 612 L709 605 L712 596 L716 588 L722 581 L731 576 L740 573 L750 573 L760 575 L769 578 L777 582 L784 587 L791 592 L796 598 L799 604 L801 611 L802 618 L803 624 L806 629 L810 634Z'/%3E%3Cpath d='M848 640 L857 652 L865 666 L869 681 L867 696 L859 709 L847 719 L833 726 L818 731 L803 734 L788 735 L774 736 L760 734 L747 731 L735 725 L725 717 L716 709 L708 702 L699 695 L690 689 L680 682 L670 674 L663 664 L660 652 L660 640 L664 628 L668 618 L673 607 L676 596 L679 584 L684 571 L690 557 L700 546 L713 538 L729 534 L745 534 L760 537 L774 542 L787 548 L799 555 L809 563 L817 573 L822 584 L825 595 L827 605 L829 614 L832 622 L839 631Z'/%3E%3Cpath d='M880 640 L893 656 L904 675 L909 696 L906 717 L896 735 L879 748 L860 758 L839 764 L818 768 L799 771 L779 771 L760 769 L742 764 L726 756 L712 745 L700 735 L689 724 L677 716 L664 707 L650 698 L637 686 L627 672 L623 656 L623 640 L628 624 L634 609 L641 595 L645 580 L650 563 L655 545 L665 527 L678 511 L696 500 L717 495 L739 495 L760 499 L779 506 L797 514 L813 524 L827 535 L837 548 L845 563 L849 578 L852 592 L854 605 L859 616 L868 627Z'/%3E%3Cpath d='M913 640 L929 660 L943 685 L949 711 L946 737 L932 760 L912 778 L887 790 L860 798 L834 803 L809 806 L784 807 L760 804 L737 798 L717 787 L699 774 L684 760 L669 747 L654 736 L638 725 L620 713 L604 699 L591 681 L585 661 L586 640 L592 620 L600 601 L608 583 L614 564 L620 542 L627 519 L639 496 L656 476 L679 462 L706 455 L733 455 L760 461 L785 470 L807 480 L827 493 L844 507 L858 523 L868 542 L873 561 L876 579 L879 595 L886 609 L897 624Z'/%3E%3Cpath d='M945 640 L965 665 L982 694 L990 726 L985 758 L969 786 L944 807 L913 822 L882 831 L850 838 L819 841 L789 842 L760 839 L732 831 L707 818 L686 802 L668 786 L650 770 L632 756 L612 743 L590 729 L570 711 L556 690 L548 665 L549 640 L557 616 L567 593 L576 571 L584 547 L590 522 L599 494 L613 466 L634 442 L662 425 L694 416 L728 416 L760 423 L790 433 L817 447 L841 461 L862 479 L879 499 L891 521 L897 544 L901 566 L905 586 L912 603 L926 620Z'/%3E%3C/svg%3E"); background-size: 1100px auto; background-position: right -200px top -120px; background-repeat: no-repeat; }
.te-gv-pp { margin-top: 3rem !important; }
.te-gv-pp__count { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-bottom: 1.25rem; }
.te-gv-pp__count p { display: flex; align-items: center; gap: 1.2rem; padding: 1.2rem 1.6rem; border-radius: 6px; background: var(--gv-gun); font-size: 0.95rem; line-height: 1.45; color: rgba(255, 255, 255, .82); }
.te-gv-pp__count p:last-child { background: #fff; box-shadow: 0 0 0 1px #CBD3D9; color: var(--te-slate); }
.te-gv-pp__count b { flex: none; font-family: var(--gv-stencil); font-size: 3rem; font-weight: 400; line-height: 1; color: #FFB591; }
.te-gv-pp__count p:last-child b { color: var(--te-signal); }
.te-gv-pp__dir { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.te-gv-pp__col { display: grid; gap: 1.25rem; }
.te-gv-pp__dir section { margin: 0; overflow: hidden; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px #CBD3D9; }
.te-gv-pp__hd { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.75rem 1.4rem; background: var(--gv-gun); }
.te-gv-pp__dir h3 { margin: 0; font-size: 1rem !important; color: #fff !important; }
.te-gv-pp__hd span { font-family: var(--gv-stencil); font-size: 0.95rem; color: var(--gv-khaki); white-space: nowrap; }
.te-gv-pp__dir ul { margin: 0; padding: 0.3rem 1.4rem 0.6rem; list-style: none; }
.te-gv-pp__dir li { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); gap: 0.6rem; margin: 0; padding: 0.5rem 0; border-top: 1px solid var(--te-line); font-size: 0.88rem; line-height: 1.4; color: var(--te-slate); }
.te-gv-pp__dir li:first-child { border-top: 0; }
.te-gv-pp__dir abbr { font-weight: 800; text-decoration: none; color: var(--te-navy); }

/* Stakeholders */
.te-gv-roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-gv-roles li { position: relative; margin: 0; padding: 1.7rem; border-top: 4px solid var(--gv-gun); border-radius: 0 0 6px 6px; background: var(--te-cloud); }
.te-gv-roles li::after { content: ""; position: absolute; top: 1.2rem; right: 1.3rem; width: 1.4rem; height: 1.2rem; background: var(--gv-olive); opacity: .55; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' fill='none' stroke='black' stroke-width='3' stroke-linejoin='round'%3E%3Cpath d='M2 8l10-6 10 6'/%3E%3Cpath d='M2 17l10-6 10 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' fill='none' stroke='black' stroke-width='3' stroke-linejoin='round'%3E%3Cpath d='M2 8l10-6 10 6'/%3E%3Cpath d='M2 17l10-6 10 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.te-gv-roles__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 4px; background: var(--gv-gun); }
.te-gv-roles__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--gv-khaki); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-gv-roles h3 { margin: 1rem 0 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-gv-roles p { margin-top: 0.45rem !important; font-size: 0.93rem; line-height: 1.6; color: var(--te-slate); }

@media (max-width: 1100px) {
	.te-gv-rec { grid-template-columns: minmax(0, 1fr); }
	.te-gv-pp__dir { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-gv-pp__col { display: contents; }
}
@media (max-width: 1024px) {
	.te-gv-hero__grid, .te-gv-sec { grid-template-columns: minmax(0, 1fr); }
	.te-gv-card { max-width: 560px; }
	.te-gv-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-gv-hero > .te-svc-hero__media { width: 100%; }
	.te-gv-radar { left: auto; right: -12rem; bottom: auto; top: -10rem; }
}
@media (max-width: 900px) {
	.te-gv-ways, .te-gv-roles { grid-template-columns: minmax(0, 1fr); }
	.te-gv-file { grid-template-columns: minmax(0, 1fr); }
	.te-gv-file__img { order: -1; aspect-ratio: 16 / 9; }
	.te-gv-tab { flex: 1 1 33%; }
	.te-gv-tab span { border-bottom: 1px solid rgba(255, 255, 255, .08); }
}
@media (max-width: 600px) {
	.te-gv-bench ul, .te-gv-sec__chips, .te-gv-rec__naics ul, .te-gv-pp__count, .te-gv-pp__dir { grid-template-columns: minmax(0, 1fr); }
	.te-gv-card dl { padding-inline: 1.2rem; }
	.te-gv-card dl > div { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
	.te-gv-card__head, .te-gv-card__foot { padding-inline: 1.2rem; }
	.te-gv-rec { padding: 0.8rem; }
	.te-gv-rec__tab { font-size: 0.8rem; padding-inline: 1rem; max-width: 100%; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box; }
	.te-gv-rec > section { padding: 1.3rem; }
	.te-gv-rec__status li { grid-template-columns: 2.4rem minmax(0, 1fr); }
	.te-gv-state { grid-column: 2; justify-self: start; }
	.te-gv-rec__primary { grid-template-columns: auto minmax(0, 1fr); }
	.te-gv-rec__primary em { grid-column: 1 / -1; }
	.te-gv-tab { flex: 1 1 50%; }
	.te-gv-tab span { padding: 0.75rem 0.8rem 0.75rem 2rem; font-size: 0.88rem; }
	.te-gv-tab span::before { left: 0.9rem; }
}

/* ==========================================================================
   Energy industry (.te-en-*)
   ========================================================================== */

.te-en-hero p, .te-en-sign ul, .te-en-clients p, .te-en-tags p, .te-en-mix p, .te-en-scale p, .te-en-bp p { margin: 0; }
.te-en-hero, .te-en-hse-section, .te-en-mix, .te-en-bp-section {
	--en-danger: #C8102E; --en-caution: #FFC72C; --en-notice: #0060A9; --en-safe: #00843D;
	--en-og: #8C5A1E; --en-ren: #1E8A5A; --en-util: #1F6FB8; --en-bp: #0B3150;
}

/* Hero: copy left, multilingual hazard sign right */
.te-en-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-en-hero__copy > * { margin-block: 0; }
.te-en-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-en-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-en-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-en-hero > .te-svc-hero__media { width: 68%; }
.te-en-hero .te-svc-hero__media img { object-position: 55% 30%; }

.te-en-sign { margin: 0; padding: 1.1rem 1.1rem 1rem; border-radius: 18px; background: rgba(15, 42, 61, .78); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-en-sign__plate { position: relative; box-sizing: border-box; aspect-ratio: 16 / 10; padding: 10px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 4px #141414, 0 40px 70px -35px rgba(0, 0, 0, .9); }
.te-en-sign__plate::before, .te-en-sign__plate::after { content: ""; position: absolute; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #9AA4AC 60%, #5E6870); }
.te-en-sign__plate::before { left: 14px; }
.te-en-sign__plate::after { right: 14px; }
.te-en-sign__faces { position: relative; height: 100%; padding: 0; list-style: none; }
.te-en-sign__faces li { position: absolute; inset: 0; display: flex; flex-direction: column; margin: 0; overflow: hidden; border-radius: 4px; }
.te-en-sign__faces li:not(:first-child) { display: none; }
.te-en-sign__word { display: flex; align-items: center; justify-content: center; gap: 0.8rem; padding: 0.75rem 1rem; background: var(--en-danger); font-size: clamp(1.7rem, 3.2vw, 2.5rem); font-weight: 900; line-height: 1.1; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; }
.te-en-sign__faces li[dir="rtl"] .te-en-sign__word { letter-spacing: 0; }
.te-en-sign__tri { position: relative; flex: none; width: 2.3rem; height: 2rem; background: #141414; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.te-en-sign__tri::before { content: ""; position: absolute; inset: 0.32rem 0.36rem 0.16rem; background: var(--en-caution); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.te-en-sign__tri::after { content: "!"; position: absolute; left: 0; right: 0; bottom: 0.08rem; text-align: center; font-size: 1.1rem; font-weight: 900; line-height: 1; letter-spacing: 0; color: #141414; }
.te-en-sign__msg { display: grid; flex: 1; place-items: center; padding: 0.8rem 1.6rem; text-align: center; font-size: clamp(1.15rem, 2.1vw, 1.6rem); font-weight: 800; line-height: 1.25; color: #141414; }
.te-en-sign__langs { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.te-en-sign__langs li { margin: 0; padding: 0.3rem 0.7rem; border-radius: 99px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2); font-size: 0.8rem; font-weight: 700; color: rgba(255, 255, 255, .6); }
.te-en-sign__langs li:first-child { background: rgba(255, 255, 255, .14); color: #fff; }
.te-en-sign figcaption { margin-top: 0.7rem; font-size: 0.85rem; color: rgba(255, 255, 255, .7); }
@media (prefers-reduced-motion: no-preference) {
	.te-en-sign__faces li:not(:first-child) { display: flex; }
	.te-en-sign__faces li { opacity: 0; animation: te-en-face 15s infinite; animation-delay: calc(var(--i) * 3s); }
	.te-en-sign__langs li, .te-en-sign__langs li:first-child { background: transparent; color: rgba(255, 255, 255, .6); animation: te-en-chip 15s infinite; animation-delay: calc(var(--i) * 3s); }
}
@keyframes te-en-face { 0% { opacity: 0; } 2%, 19% { opacity: 1; } 21%, 100% { opacity: 0; } }
@keyframes te-en-chip { 0%, 20% { background: rgba(255, 255, 255, .14); color: #fff; } 21%, 100% { background: transparent; color: rgba(255, 255, 255, .6); } }

.te-en-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-en-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-en-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(255, 199, 44, .55); }
.te-en-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #FFD45C; }
.te-en-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-en-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Clients */
.te-en-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-en-clients { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-en-clients__k { font-size: 0.9rem; font-weight: 700; color: var(--te-slate); }
.te-en-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-en-clients__track { display: flex; width: max-content; }
.te-en-clients ul { display: flex; flex: none; align-items: center; gap: 3.5rem; margin: 0; padding: 0 3.5rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-en-clients__track { animation: te-lg-marquee 30s linear infinite; }
	.te-en-clients:hover .te-en-clients__track { animation-play-state: paused; }
}
.te-en-clients li { margin: 0; }
.te-en-clients img { display: block; width: auto; height: 46px; opacity: .75; filter: grayscale(1); transition: opacity .2s, filter .2s; }
.te-en-clients img.te-en-clients__logo--chevron, .te-en-clients img.te-en-clients__logo--doe, .te-en-clients img.te-en-clients__logo--nrc, .te-en-clients img.te-en-clients__logo--ferc { height: 60px; }
.te-en-clients li:hover img { opacity: 1; filter: none; }
.te-en-clients span { display: block; max-width: 13rem; font-size: 0.92rem; font-weight: 800; line-height: 1.3; color: #5B6B78; }

/* Zero-harm: lockout tags hanging from a rail */
.te-en-tags { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); margin-top: 3rem !important; padding-top: 0.5rem; }
.te-en-tags::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 8px; border-radius: 4px; background: linear-gradient(#D5DDE3, #9AA7B1); box-shadow: 0 6px 12px -8px rgba(15, 42, 61, .6); }
.te-en-tag { position: relative; margin-top: 2.6rem; padding-top: 3rem; border-radius: 14px 14px 16px 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 30px 50px -36px rgba(15, 42, 61, .55); transform: rotate(var(--r, 0deg)); transform-origin: 50% -2.6rem; }
.te-en-tag:nth-child(1) { --r: -0.6deg; }
.te-en-tag:nth-child(2) { --r: 0.4deg; }
.te-en-tag:nth-child(3) { --r: -0.3deg; }
.te-en-tag::before { content: ""; position: absolute; left: 50%; top: -2.6rem; width: 2px; height: 3.7rem; margin-left: -1px; background: #8A97A2; }
.te-en-tag::after { content: ""; position: absolute; left: 50%; top: 0.9rem; width: 1.3rem; height: 1.3rem; margin-left: -0.65rem; border-radius: 50%; background: var(--te-cloud); box-shadow: inset 0 0 0 4px #A9B5BE, 0 0 0 1px #8A97A2; }
.te-en-tag__hd { margin: 0 1.3rem !important; padding: 0.6rem 0.8rem; border-radius: 4px; text-align: center; font-size: 1rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; color: #fff; }
.te-en-tag--safe .te-en-tag__hd { background: var(--en-safe); }
.te-en-tag--notice .te-en-tag__hd { background: var(--en-notice); }
.te-en-tag--caution .te-en-tag__hd { background: var(--en-caution); color: #141414; }
.te-en-tag__body { padding: 1.3rem 1.6rem 1.7rem; }
.te-en-tag h3 { margin: 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-en-tag__body > p { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-en-tag ul { display: grid; gap: 0.45rem; margin: 1.1rem 0 0; padding: 1rem 0 0; border-top: 1px dashed #D3DDE5; list-style: none; }
.te-en-tag li { position: relative; margin: 0; padding-left: 1.5rem; font-size: 0.9rem; line-height: 1.45; color: var(--te-ink); }
.te-en-tag li::before { content: ""; position: absolute; left: 0; top: 0.18rem; width: 1rem; height: 1rem; background: var(--tone); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-en-tag--safe { --tone: var(--en-safe); }
.te-en-tag--notice { --tone: var(--en-notice); }
.te-en-tag--caution { --tone: #B98900; }

/* Energy mix: a stacked bar that selects the sector */
.te-en-mix { margin-top: 3rem !important; }
.te-en-mix__bar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
.te-en-seg { position: relative; cursor: pointer; }
.te-en-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-en-seg span { position: relative; display: flex; align-items: center; gap: 0.7rem; height: 100%; box-sizing: border-box; padding: 1.05rem 1.3rem; border-radius: 12px; background: var(--soft); font-size: 1rem; font-weight: 800; color: var(--deep); transition: background .2s, color .2s; }
.te-en-seg span::before { content: ""; flex: none; width: 0.75rem; height: 0.75rem; border-radius: 3px; background: var(--tone); }
.te-en-seg--og { --tone: var(--en-og); --soft: #F3E8DA; --deep: #6B4313; }
.te-en-seg--ren { --tone: var(--en-ren); --soft: #DCF0E6; --deep: #135C3B; }
.te-en-seg--util { --tone: var(--en-util); --soft: #DCE9F6; --deep: #164E85; }
.te-en-seg:hover span { filter: brightness(.97); }
.te-en-seg input:checked + span { background: var(--tone); color: #fff; }
.te-en-seg input:checked + span::before { background: #fff; }
.te-en-seg input:checked + span::after { content: ""; position: absolute; left: 50%; bottom: -12px; width: 14px; height: 14px; margin-left: -7px; background: var(--tone); transform: rotate(45deg); }
.te-en-seg input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-en-panel { display: none; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 3.5vw, 3rem); align-items: center; margin-top: 1.5rem; padding: clamp(1.2rem, 2.5vw, 1.8rem); border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 30px 60px -45px rgba(15, 42, 61, .55); }
.te-en-mix:has(#te-en-m-og:checked) .te-en-panel--og,
.te-en-mix:has(#te-en-m-ren:checked) .te-en-panel--ren,
.te-en-mix:has(#te-en-m-util:checked) .te-en-panel--util { display: grid; }
.te-en-panel--og { --tone: var(--en-og); }
.te-en-panel--ren { --tone: var(--en-ren); }
.te-en-panel--util { --tone: var(--en-util); }
.te-en-panel__img { margin: 0; overflow: hidden; border-radius: 12px; aspect-ratio: 4 / 3; background: var(--te-cloud); }
.te-en-panel__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-en-panel h3 { margin: 0; font-size: clamp(1.4rem, 2.2vw, 1.75rem) !important; color: var(--te-navy); }
.te-en-panel__line { margin-top: 0.7rem !important; font-size: 1.02rem; line-height: 1.65; color: var(--te-slate); }
.te-en-panel__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1.2rem; margin: 1.3rem 0 0; padding: 0; list-style: none; }
.te-en-panel__list li { margin: 0; padding: 0.75rem 0.9rem; border-left: 3px solid var(--tone); border-radius: 0 8px 8px 0; background: var(--te-cloud); font-size: 0.92rem; font-weight: 600; line-height: 1.4; color: var(--te-ink); }
.te-en-panel__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.2rem; margin-top: 1.4rem !important; padding-top: 1rem; border-top: 1px solid var(--te-line); font-size: 0.9rem; }
.te-en-panel__links span { color: var(--te-slate); }
.te-en-panel__links a { font-weight: 700; color: var(--te-steel-deep); }

/* Global scale on a blueprint */
.te-en-bp-section { color: #fff; background-color: var(--en-bp); background-image: linear-gradient(rgba(255, 255, 255, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .09) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px; background-position: center top; }
.te-en-scale { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-en-scale__copy .te-eyebrow { margin: 0; color: var(--te-sky); }
.te-en-scale__copy h2 { margin: 0.9rem 0 0; color: #fff; }
.te-en-scale__copy .te-accent { color: var(--te-sky); }
.te-en-scale__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-en-scale__list { display: grid; gap: 1.4rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.te-en-scale__list li { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); gap: 1rem; margin: 0; }
.te-en-scale__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 6px; box-shadow: inset 0 0 0 1.5px rgba(124, 200, 230, .6); }
.te-en-scale__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--te-sky); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-en-scale__list h3 { margin: 0.2rem 0 0; font-size: 1.1rem !important; color: #fff !important; }
.te-en-scale__list p { margin-top: 0.3rem !important; font-size: 0.92rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }
.te-en-bp { margin: 0; padding: clamp(1rem, 2vw, 1.4rem); border-radius: 6px; background: rgba(6, 30, 50, .55); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); }
.te-en-bp__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0 0 0.6rem; padding: 0; border: 0; }
.te-en-bp__lang legend { float: left; margin-right: 0.6rem; padding: 0; font-size: 0.85rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-en-bp__lang label { position: relative; cursor: pointer; }
.te-en-bp__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-en-bp__lang span { display: inline-block; padding: 0.4rem 0.85rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .45); font-size: 0.85rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-en-bp__lang input:checked + span { background: #fff; color: var(--en-bp); }
.te-en-bp__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-en-bp__svg { display: block; width: 100%; height: auto; }
.te-en-bp__ln { fill: none; stroke: #EAF5FF; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.te-en-bp__dim { fill: none; stroke: rgba(234, 245, 255, .7); stroke-width: 1; }
.te-en-bp__dim path:nth-child(2) { fill: rgba(234, 245, 255, .7); }
.te-en-bp__block { fill: none; stroke: rgba(234, 245, 255, .7); stroke-width: 1.2; }
.te-en-bp__t { fill: #fff; font-family: var(--wp--preset--font-family--inter); font-size: 15px; font-weight: 600; letter-spacing: 0.03em; }
.te-en-bp__tb { fill: #fff; font-size: 13px; font-weight: 700; }
.te-en-bp__tb--s { font-size: 11px; font-weight: 500; fill: rgba(255, 255, 255, .75); }
.te-en-bp__t--es, .te-en-bp__t--pt { display: none; }
.te-en-bp:has(#te-en-l-es:checked) .te-en-bp__t--en, .te-en-bp:has(#te-en-l-pt:checked) .te-en-bp__t--en { display: none; }
.te-en-bp:has(#te-en-l-es:checked) .te-en-bp__t--es, .te-en-bp:has(#te-en-l-pt:checked) .te-en-bp__t--pt { display: inline; }
.te-en-bp figcaption { margin-top: 0.6rem; font-size: 0.82rem; color: rgba(255, 255, 255, .7); }

/* Request card hints */
.te-dh-card__set:has(#te-en-req-hse:checked) .te-en-card__hint--hse,
.te-dh-card__set:has(#te-en-req-reg:checked) .te-en-card__hint--reg,
.te-dh-card__set:has(#te-en-req-interp:checked) .te-en-card__hint--interp,
.te-dh-card__set:has(#te-en-req-cad:checked) .te-en-card__hint--cad { display: block; }

@media (max-width: 1024px) {
	.te-en-hero__grid, .te-en-scale { grid-template-columns: minmax(0, 1fr); }
	.te-en-sign { max-width: 520px; }
	.te-en-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-en-hero > .te-svc-hero__media { width: 100%; }
}
@media (max-width: 900px) {
	.te-en-tags { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 0; }
	.te-en-tags::before, .te-en-tag::before { display: none; }
	.te-en-tag { margin-top: 1.25rem; transform: none; }
	.te-en-panel { grid-template-columns: minmax(0, 1fr); }
	.te-en-panel__img { aspect-ratio: 16 / 9; }
	.te-en-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 600px) {
	.te-en-bench ul, .te-en-panel__list { grid-template-columns: minmax(0, 1fr); }
	.te-en-mix__bar { grid-template-columns: minmax(0, 1fr); }
	.te-en-seg input:checked + span::after { display: none; }
	.te-en-sign__plate { aspect-ratio: 4 / 3; }
	.te-en-clients img { height: 36px; }
	.te-en-clients img.te-en-clients__logo--chevron, .te-en-clients img.te-en-clients__logo--doe, .te-en-clients img.te-en-clients__logo--nrc, .te-en-clients img.te-en-clients__logo--ferc { height: 48px; }
	.te-en-bp__t { font-size: 24px; }
	.te-en-bp__tb { font-size: 18px; }
	.te-en-bp__tb--s { font-size: 15px; }
}

/* ==========================================================================
   E-commerce industry (.te-ec-*)
   ========================================================================== */

.te-ec-hero p, .te-ec-pdp ul, .te-ec-clients p, .te-ec-journey p, .te-ec-seo p, .te-ec-seats p { margin: 0; }

/* Hero: copy left, a product page that switches markets right */
.te-ec-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-ec-hero__copy > * { margin-block: 0; }
.te-ec-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-ec-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-ec-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-ec-hero > .te-svc-hero__media { width: 66%; }
.te-ec-hero .te-svc-hero__media img { object-position: 70% 40%; }

.te-ec-pdp { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(15, 42, 61, .8); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-ec-pdp__mk { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-ec-pdp__mk legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-ec-pdp__mk label { position: relative; cursor: pointer; }
.te-ec-pdp__mk input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ec-pdp__mk span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-ec-pdp__mk label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-ec-pdp__mk input:checked + span { background: #fff; color: var(--te-navy); }
.te-ec-pdp__mk input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ec-pdp__card { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr); gap: 1.2rem; margin-top: 0.9rem; padding: 1rem; border-radius: 14px; background: #fff; color: var(--te-ink); }
.te-ec-pdp__shot { position: relative; display: grid; place-items: center; min-height: 15rem; border-radius: 10px; background: linear-gradient(160deg, #EAF3F8, #CADDE8); }
.te-ec-pdp__shot svg { width: 62%; height: auto; filter: drop-shadow(0 14px 14px rgba(15, 42, 61, .22)); }
.te-ec-bag__strap { fill: none; stroke: #1C3F52; stroke-width: 6; stroke-linecap: round; }
.te-ec-bag__body { fill: #2C5F7C; }
.te-ec-bag__flap { fill: #234E66; }
.te-ec-bag__pocket { fill: #3A7393; }
.te-ec-bag__zip { stroke: rgba(255, 255, 255, .55); stroke-width: 3; stroke-linecap: round; }
.te-ec-pdp__sw { position: absolute; left: 0; right: 0; bottom: 0.7rem; display: flex; justify-content: center; gap: 0.4rem; padding: 0; list-style: none; }
.te-ec-pdp__sw li { width: 0.85rem; height: 0.85rem; margin: 0; border-radius: 50%; background: #2C5F7C; }
.te-ec-pdp__sw li:first-child { box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px #2C5F7C; }
.te-ec-pdp__sw li:nth-child(2) { background: #6B7A3E; }
.te-ec-pdp__sw li:nth-child(3) { background: #E0745A; }
.te-ec-pdp__face { display: none; flex-direction: column; gap: 0.45rem; min-width: 0; }
@media (prefers-reduced-motion: no-preference) {
	.te-ec-pdp__face { animation: te-ec-face .45s ease; }
}
@keyframes te-ec-face { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.te-ec-pdp:has(#te-ec-mk-us:checked) .te-ec-pdp__face--us,
.te-ec-pdp:has(#te-ec-mk-de:checked) .te-ec-pdp__face--de,
.te-ec-pdp:has(#te-ec-mk-fr:checked) .te-ec-pdp__face--fr,
.te-ec-pdp:has(#te-ec-mk-jp:checked) .te-ec-pdp__face--jp,
.te-ec-pdp:has(#te-ec-mk-mx:checked) .te-ec-pdp__face--mx { display: flex; }
.te-ec-pdp__title { font-size: 1.08rem; font-weight: 800; line-height: 1.3; color: var(--te-navy); }
.te-ec-pdp__price { font-size: 1.55rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--te-ink); }
.te-ec-pdp__opt { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; font-weight: 600; color: var(--te-slate); }
.te-ec-pdp__opt::after { content: ""; width: 0.8rem; height: 0.8rem; border-radius: 50%; background: #2C5F7C; }
.te-ec-pdp__btn { margin-top: auto !important; padding: 0.7rem 0.8rem; border-radius: 8px; background: var(--te-navy); text-align: center; font-size: 0.95rem; font-weight: 800; color: #fff; }
.te-ec-pdp__ship { position: relative; padding-left: 1.4rem; font-size: 0.8rem; font-weight: 600; line-height: 1.35; color: #1F7A45; }
.te-ec-pdp__ship::before { content: ""; position: absolute; left: 0; top: 0.08rem; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-ec-pdp figcaption { margin-top: 0.7rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-ec-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-ec-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-ec-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(124, 200, 230, .5); }
.te-ec-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: var(--te-sky); }
.te-ec-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-ec-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Clients marquee */
.te-ec-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-ec-clients { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-ec-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-ec-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-ec-clients__track { display: flex; width: max-content; }
.te-ec-clients ul { display: flex; flex: none; align-items: center; gap: 3.5rem; margin: 0; padding: 0 3.5rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-ec-clients__track { animation: te-lg-marquee 34s linear infinite; }
	.te-ec-clients:hover .te-ec-clients__track { animation-play-state: paused; }
}
.te-ec-clients li { margin: 0; }
.te-ec-clients img { display: block; width: auto; height: 40px; max-width: 150px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.te-ec-clients li:hover img { filter: none; opacity: 1; }

/* Shopper journey: a checkout-style stepper */
.te-ec-journey { margin-top: 3rem !important; }
.te-ec-steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.te-ec-steps::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 1.35rem; height: 2px; background: repeating-linear-gradient(90deg, #C3D0DA 0 8px, transparent 8px 14px); }
.te-ec-steps li { position: relative; margin: 0; }
.te-ec-step { display: block; cursor: pointer; }
.te-ec-step input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ec-step span { display: flex; flex-direction: column; align-items: center; gap: 0.6rem; font-size: 1rem; font-weight: 700; color: var(--te-slate); transition: color .15s; }
.te-ec-step i { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px #C3D0DA; font-style: normal; font-weight: 800; color: var(--te-slate); transition: background .15s, box-shadow .15s, color .15s; }
.te-ec-step:hover span { color: var(--te-navy); }
.te-ec-step:hover i { box-shadow: inset 0 0 0 2px var(--te-steel-deep); }
.te-ec-step input:checked + span { color: var(--te-navy); }
.te-ec-step input:checked + span i { background: var(--te-navy); box-shadow: 0 0 0 5px rgba(75, 148, 175, .2); color: #fff; }
.te-ec-step input:focus-visible + span i { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-ec-stage { display: none; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 3.5vw, 3rem); align-items: center; margin-top: 2rem; padding: clamp(1.5rem, 3vw, 2.4rem); border-radius: 18px; background: var(--te-cloud); }
.te-ec-journey:has(#te-ec-s-search:checked) .te-ec-stage--search,
.te-ec-journey:has(#te-ec-s-product:checked) .te-ec-stage--product,
.te-ec-journey:has(#te-ec-s-checkout:checked) .te-ec-stage--checkout,
.te-ec-journey:has(#te-ec-s-support:checked) .te-ec-stage--support { display: grid; }
.te-ec-stage h3 { margin: 0; font-size: clamp(1.4rem, 2.2vw, 1.75rem) !important; color: var(--te-navy); }
.te-ec-stage__line { margin-top: 0.7rem !important; font-size: 1.02rem; line-height: 1.65; color: var(--te-slate); }
.te-ec-stage__pts { display: grid; gap: 0.7rem; margin: 1.4rem 0 0; }
.te-ec-stage__pts div { padding: 0.9rem 1.1rem; border-left: 3px solid var(--te-signal); border-radius: 0 10px 10px 0; background: #fff; }
.te-ec-stage__pts dt { font-size: 0.98rem; font-weight: 800; color: var(--te-navy); }
.te-ec-stage__pts dd { margin: 0.2rem 0 0; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-ec-stage__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.2rem; margin-top: 1.3rem !important; font-size: 0.9rem; }
.te-ec-stage__links span { color: var(--te-slate); }
.te-ec-stage__links a { font-weight: 700; color: var(--te-steel-deep); }
.te-ec-stage__img { margin: 0; overflow: hidden; border-radius: 14px; aspect-ratio: 4 / 3; background: #fff; }
.te-ec-stage__img img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Multilingual SEO (navy) */
.te-ec-seo-section { background: var(--te-navy); color: #fff; }
.te-ec-seo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ec-seo__copy .te-eyebrow { margin: 0; color: var(--te-sky); }
.te-ec-seo__copy h2 { margin: 0.9rem 0 0; color: #fff; }
.te-ec-seo__copy .te-accent { color: var(--te-sky); }
.te-ec-seo__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-ec-seo__code { margin: 1.6rem 0 0; padding: 1rem 1.1rem; overflow-x: auto; border-radius: 10px; background: #0A1C29; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); font-size: 0.8rem; line-height: 1.7; color: #BFE3F2; white-space: pre; }
.te-ec-seo__note { margin-top: 0.6rem !important; font-size: 0.85rem; color: rgba(255, 255, 255, .7); }
.te-ec-q { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-ec-q li { margin: 0; padding: 1.2rem; border-radius: 16px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.te-ec-q__mk { font-size: 0.85rem; font-weight: 700; color: var(--te-sky); }
.te-ec-q__bar { position: relative; display: flex; align-items: center; gap: 0.6rem; margin-top: 0.6rem !important; padding: 0.6rem 0.9rem 0.6rem 2.4rem; border-radius: 99px; background: #fff; color: var(--te-ink); }
.te-ec-q__bar::before { content: ""; position: absolute; left: 0.9rem; top: 50%; width: 1rem; height: 1rem; margin-top: -0.5rem; background: var(--te-slate); -webkit-mask: var(--te-i-search) center / contain no-repeat; mask: var(--te-i-search) center / contain no-repeat; }
.te-ec-q__bar--lit { opacity: .6; }
.te-ec-q__bar--lit s { font-size: 0.98rem; color: var(--te-slate); }
.te-ec-q__bar--loc { box-shadow: 0 0 0 3px rgba(124, 200, 230, .65); }
.te-ec-q__bar--loc b { font-size: 1.05rem; color: var(--te-navy); }
.te-ec-q__tag { flex: none; order: 2; margin-left: auto; font-size: 0.72rem; font-weight: 700; white-space: nowrap; color: var(--te-slate); }
.te-ec-q__bar s, .te-ec-q__bar b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.te-ec-q__bar--loc .te-ec-q__tag { color: #1F7A45; }

/* Teams */
.te-ec-seats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ec-seats li { margin: 0; padding: 1.6rem; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
.te-ec-seats__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 12px; background: var(--te-ice); }
.te-ec-seats__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-ec-seats h3 { margin: 1rem 0 0; font-size: 1.08rem !important; color: var(--te-navy); }
.te-ec-seats p { margin-top: 0.45rem !important; font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }

/* Request card hints */
.te-dh-card__set:has(#te-ec-req-site:checked) .te-ec-card__hint--site,
.te-dh-card__set:has(#te-ec-req-catalog:checked) .te-ec-card__hint--catalog,
.te-dh-card__set:has(#te-ec-req-seo:checked) .te-ec-card__hint--seo,
.te-dh-card__set:has(#te-ec-req-support:checked) .te-ec-card__hint--support { display: block; }

@media (max-width: 1100px) {
	.te-ec-seats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-ec-hero__grid, .te-ec-seo { grid-template-columns: minmax(0, 1fr); }
	.te-ec-pdp { max-width: 560px; }
	.te-ec-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ec-hero > .te-svc-hero__media { width: 100%; }
}
@media (max-width: 900px) {
	.te-ec-stage { grid-template-columns: minmax(0, 1fr); }
	.te-ec-stage__img { order: -1; aspect-ratio: 16 / 9; }
	.te-ec-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 600px) {
	.te-ec-bench ul, .te-ec-q, .te-ec-seats { grid-template-columns: minmax(0, 1fr); }
	.te-ec-pdp__card { grid-template-columns: minmax(0, 1fr); }
	.te-ec-pdp__shot { min-height: 11rem; }
	.te-ec-pdp__shot svg { width: 34%; }
	.te-ec-step span { font-size: 0.8rem; text-align: center; }
	.te-ec-step i { width: 2.3rem; height: 2.3rem; }
	.te-ec-steps::before { top: 1.15rem; }
	.te-ec-clients img { height: 32px; }
}

/* ==========================================================================
   Travel and tourism industry (.te-tr-*)
   ========================================================================== */

:root { --te-i-plane: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E"); }
.te-tr-hero p, .te-tr-pass ul, .te-tr-clients p, .te-tr-map p, .te-tr-touch p, .te-tr-stamps p { margin: 0; }
.te-tr-hero, .te-tr-stamps { --tr-coral: #F2785C; --tr-teal: #1C8C8A; --tr-gold: #D99A2B; }

/* Hero: copy left, a boarding pass that changes language right */
.te-tr-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-tr-hero__copy > * { margin-block: 0; }
.te-tr-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-tr-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-tr-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-tr-hero > .te-svc-hero__media { width: 66%; }
.te-tr-hero .te-svc-hero__media img { object-position: 30% 30%; }

.te-tr-pass { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(15, 42, 61, .8); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-tr-pass__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-tr-pass__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-tr-pass__lang label { position: relative; cursor: pointer; }
.te-tr-pass__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-tr-pass__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-tr-pass__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-tr-pass__lang input:checked + span { background: #fff; color: var(--te-navy); }
.te-tr-pass__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-tr-pass__ticket { display: grid; grid-template-columns: minmax(0, 1fr) 6.5rem; margin-top: 0.9rem; border-radius: 16px; background: #fff; color: var(--te-ink); -webkit-mask: radial-gradient(circle at calc(100% - 6.5rem) 0, transparent 11px, #000 11.5px) top / 100% 51% no-repeat, radial-gradient(circle at calc(100% - 6.5rem) 100%, transparent 11px, #000 11.5px) bottom / 100% 51% no-repeat; mask: radial-gradient(circle at calc(100% - 6.5rem) 0, transparent 11px, #000 11.5px) top / 100% 51% no-repeat, radial-gradient(circle at calc(100% - 6.5rem) 100%, transparent 11px, #000 11.5px) bottom / 100% 51% no-repeat; }
.te-tr-pass__main { min-width: 0; padding: 1.1rem 1.3rem 1.2rem; }
.te-tr-pass__face { display: none; flex-direction: column; gap: 0.85rem; }
.te-tr-pass:has(#te-tr-l-en:checked) .te-tr-pass__face--en,
.te-tr-pass:has(#te-tr-l-es:checked) .te-tr-pass__face--es,
.te-tr-pass:has(#te-tr-l-fr:checked) .te-tr-pass__face--fr,
.te-tr-pass:has(#te-tr-l-de:checked) .te-tr-pass__face--de,
.te-tr-pass:has(#te-tr-l-ja:checked) .te-tr-pass__face--ja,
.te-tr-pass:has(#te-tr-l-zh:checked) .te-tr-pass__face--zh { display: flex; }
@media (prefers-reduced-motion: no-preference) {
	.te-tr-pass__face { animation: te-ec-face .45s ease; }
}
.te-tr-pass__label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; font-weight: 800; color: var(--te-steel-deep); }
.te-tr-pass__plane { flex: none; width: 1.1rem; height: 1.1rem; background: var(--tr-coral); -webkit-mask: var(--te-i-plane) center / contain no-repeat; mask: var(--te-i-plane) center / contain no-repeat; }
.te-tr-pass__route { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.8rem; align-items: center; }
.te-tr-pass__route p { display: flex; flex-direction: column; }
.te-tr-pass__route p:last-child { align-items: flex-end; text-align: right; }
.te-tr-pass__route b { font-size: clamp(1.7rem, 2.6vw, 2.1rem); font-weight: 800; line-height: 1; letter-spacing: 0.02em; color: var(--te-navy); }
.te-tr-pass__route span { margin-top: 0.25rem; font-size: 0.82rem; font-weight: 600; color: var(--te-slate); }
.te-tr-pass__arc { position: relative; height: 1.3rem; border-top: 2px dashed #A8BBC9; border-radius: 50% 50% 0 0; }
.te-tr-pass__arc::after { content: ""; position: absolute; left: 50%; top: -0.75rem; width: 1.2rem; height: 1.2rem; margin-left: -0.6rem; background: var(--tr-coral); transform: rotate(45deg); -webkit-mask: var(--te-i-plane) center / contain no-repeat; mask: var(--te-i-plane) center / contain no-repeat; }
.te-tr-pass__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 0; padding: 0.7rem 0; border-block: 1px dashed #D3DDE5; }
.te-tr-pass__meta dt { font-size: 0.72rem; font-weight: 700; color: var(--te-slate); }
.te-tr-pass__meta dd { margin: 0.1rem 0 0; font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--te-navy); }
.te-tr-pass__msg { font-size: 0.85rem; line-height: 1.45; color: var(--te-slate); }
.te-tr-pass__stub { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.8rem; border-left: 2px dashed #C3D0DA; background: linear-gradient(180deg, #F6F9FB, #E9F0F5); }
.te-tr-pass__code { width: 2.6rem; height: 6.5rem; background: repeating-linear-gradient(0deg, var(--te-navy) 0 2px, transparent 2px 4px, var(--te-navy) 4px 7px, transparent 7px 9px, var(--te-navy) 9px 10px, transparent 10px 13px); opacity: .85; }
.te-tr-pass__stub b { font-size: 1.15rem; font-weight: 800; color: var(--te-navy); }
.te-tr-pass figcaption { margin-top: 0.7rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-tr-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-tr-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-tr-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(255, 176, 138, .55); }
.te-tr-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #FFB08A; }
.te-tr-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-tr-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Clients marquee */
.te-tr-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-tr-clients { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-tr-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-tr-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-tr-clients__track { display: flex; width: max-content; }
.te-tr-clients ul { display: flex; flex: none; align-items: center; gap: 3.5rem; margin: 0; padding: 0 3.5rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-tr-clients__track { animation: te-lg-marquee 30s linear infinite; }
	.te-tr-clients:hover .te-tr-clients__track { animation-play-state: paused; }
}
.te-tr-clients li { margin: 0; }
.te-tr-clients img { display: block; width: auto; height: 48px; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.te-tr-clients li:hover img { filter: none; opacity: 1; }

/* Journey: an airline route map with seven stops */
.te-tr-map { margin-top: 3rem !important; }
.te-tr-stops { position: relative; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 0; padding: 1.6rem 0 0; list-style: none; }
.te-tr-stops::before { content: ""; position: absolute; left: 7.14%; right: 7.14%; top: calc(1.6rem + 1.25rem); height: 2px; background: repeating-linear-gradient(90deg, #A8BBC9 0 8px, transparent 8px 14px); }
.te-tr-stops li { position: relative; margin: 0; }
.te-tr-stop { display: block; cursor: pointer; }
.te-tr-stop input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-tr-stop span { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.55rem; font-size: 0.95rem; font-weight: 700; text-align: center; color: var(--te-slate); transition: color .15s; }
.te-tr-stop i { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px #A8BBC9; font-style: normal; font-weight: 800; color: var(--te-slate); transition: background .15s, box-shadow .15s, color .15s; }
.te-tr-stop:hover span { color: var(--te-navy); }
.te-tr-stop:hover i { box-shadow: inset 0 0 0 2px var(--te-steel-deep); }
.te-tr-stop input:checked + span { color: var(--te-navy); }
.te-tr-stop input:checked + span i { background: var(--te-navy); box-shadow: 0 0 0 5px rgba(242, 120, 92, .22); color: #fff; }
.te-tr-stop input:checked + span::before { content: ""; position: absolute; top: -1.55rem; left: 50%; width: 1.2rem; height: 1.2rem; margin-left: -0.6rem; background: #F2785C; transform: rotate(45deg); -webkit-mask: var(--te-i-plane) center / contain no-repeat; mask: var(--te-i-plane) center / contain no-repeat; }
.te-tr-stop input:focus-visible + span i { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-tr-leg { display: none; margin-top: 2rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 30px 60px -45px rgba(15, 42, 61, .55); }
.te-tr-map:has(#te-tr-s-insp:checked) .te-tr-leg--insp,
.te-tr-map:has(#te-tr-s-plan:checked) .te-tr-leg--plan,
.te-tr-map:has(#te-tr-s-book:checked) .te-tr-leg--book,
.te-tr-map:has(#te-tr-s-pre:checked) .te-tr-leg--pre,
.te-tr-map:has(#te-tr-s-site:checked) .te-tr-leg--site,
.te-tr-map:has(#te-tr-s-exp:checked) .te-tr-leg--exp,
.te-tr-map:has(#te-tr-s-adv:checked) .te-tr-leg--adv { display: block; }
.te-tr-leg h3 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3rem 0.8rem; margin: 0; font-size: clamp(1.4rem, 2.2vw, 1.7rem) !important; color: var(--te-navy); }
.te-tr-leg h3 span { font-size: 0.85rem; font-weight: 700; color: #C9573D; }
.te-tr-leg dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.3rem 0 0; }
.te-tr-leg dl div { padding: 1rem 1.1rem; border-radius: 12px; background: var(--te-cloud); }
.te-tr-leg dl div:last-child { background: #FFF1EB; }
.te-tr-leg dt { font-size: 0.78rem; font-weight: 800; color: var(--te-steel-deep); }
.te-tr-leg dl div:last-child dt { color: #B5492F; }
.te-tr-leg dd { margin: 0.35rem 0 0; font-size: 1rem; font-weight: 600; line-height: 1.45; color: var(--te-ink); }
.te-tr-leg__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.2rem; margin-top: 1.2rem !important; font-size: 0.9rem; }
.te-tr-leg__links span { color: var(--te-slate); }
.te-tr-leg__links a { font-weight: 700; color: var(--te-steel-deep); }

/* Hospitality touchpoints with luggage tags */
.te-tr-touch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem !important; }
.te-tr-tp { overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 30px 60px -45px rgba(15, 42, 61, .5); }
.te-tr-tp__img { margin: 0; aspect-ratio: 16 / 8; overflow: hidden; background: var(--te-cloud); }
.te-tr-tp__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-tr-tp__tag { position: relative; display: inline-block; margin: -1.25rem 0 0 1.6rem !important; padding: 0.5rem 1.1rem 0.5rem 1.9rem; background: var(--te-navy); clip-path: polygon(14px 0, 100% 0, 100% 100%, 14px 100%, 0 50%); font-size: 0.9rem; font-weight: 800; color: #fff; }
.te-tr-tp__tag::before { content: ""; position: absolute; left: 0.85rem; top: 50%; width: 0.45rem; height: 0.45rem; margin-top: -0.225rem; border-radius: 50%; background: #fff; }
.te-tr-tp:nth-child(2) .te-tr-tp__tag { background: #C9573D; }
.te-tr-tp__body { padding: 1.1rem 1.7rem 1.8rem; }
.te-tr-tp h3 { margin: 0; font-size: 1.35rem !important; color: var(--te-navy); }
.te-tr-tp__focus { margin-top: 0.3rem !important; font-size: 0.9rem; font-weight: 600; color: var(--te-steel-deep); }
.te-tr-tp ul { display: grid; gap: 0; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.te-tr-tp li { margin: 0; padding: 0.85rem 0; border-top: 1px dashed #D3DDE5; }
.te-tr-tp li b { display: block; font-size: 1rem; color: var(--te-ink); }
.te-tr-tp li span { display: block; margin-top: 0.2rem; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Strategic pillars as postage stamps */
.te-tr-stamps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2.5rem); margin: 3rem 0 0; padding: 0; list-style: none; }
.te-tr-stamp { margin: 0; }
.te-tr-stamp__face { position: relative; width: 8.5rem; height: 10rem; padding: 10px; box-sizing: border-box; background: #DCE4EA; filter: drop-shadow(0 12px 14px rgba(15, 42, 61, .18)); -webkit-mask: radial-gradient(circle 5px at center, transparent 97%, #000) -6px -6px / 12px 12px round, linear-gradient(#000 0 0) 10px 10px / calc(100% - 20px) calc(100% - 20px) no-repeat; mask: radial-gradient(circle 5px at center, transparent 97%, #000) -6px -6px / 12px 12px round, linear-gradient(#000 0 0) 10px 10px / calc(100% - 20px) calc(100% - 20px) no-repeat; transform: rotate(var(--r, 0deg)); }
.te-tr-stamp:nth-child(1) { --r: -2deg; --tone: var(--tr-coral); }
.te-tr-stamp:nth-child(2) { --r: 1.5deg; --tone: var(--tr-teal); }
.te-tr-stamp:nth-child(3) { --r: -1deg; --tone: var(--tr-gold); }
.te-tr-stamp__face::before { content: ""; position: absolute; inset: 10px; background: linear-gradient(160deg, var(--tone), color-mix(in srgb, var(--tone) 70%, #0F2A3D)); }
.te-tr-stamp__ico { position: absolute; left: 50%; top: 50%; width: 3.4rem; height: 3.4rem; margin: -1.9rem 0 0 -1.7rem; background: #fff; -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-tr-stamp__face::after { content: "250+ languages"; position: absolute; left: 10px; right: 10px; bottom: 16px; text-align: center; font-size: 0.68rem; font-weight: 800; color: rgba(255, 255, 255, .92); }
.te-tr-stamp__mark { position: absolute; right: -0.9rem; top: -0.2rem; width: 3.4rem; height: 3.4rem; border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7); }
.te-tr-stamp__mark::after { content: ""; position: absolute; right: 2.5rem; top: 1.1rem; width: 2.2rem; height: 1.1rem; background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .7) 0 2px, transparent 2px 6px); border-radius: 40%; }
.te-tr-stamp h3 { margin: 1.4rem 0 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-tr-stamp p { margin-top: 0.45rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }

/* Request card hints */
.te-dh-card__set:has(#te-tr-req-digital:checked) .te-tr-card__hint--digital,
.te-dh-card__set:has(#te-tr-req-comms:checked) .te-tr-card__hint--comms,
.te-dh-card__set:has(#te-tr-req-onsite:checked) .te-tr-card__hint--onsite,
.te-dh-card__set:has(#te-tr-req-remote:checked) .te-tr-card__hint--remote { display: block; }

@media (max-width: 1024px) {
	.te-tr-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-tr-pass { max-width: 560px; }
	.te-tr-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-tr-hero > .te-svc-hero__media { width: 100%; }
}
@media (max-width: 900px) {
	.te-tr-touch, .te-tr-leg dl { grid-template-columns: minmax(0, 1fr); }
	.te-tr-stamps { grid-template-columns: minmax(0, 1fr); }
	.te-tr-stamp { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); column-gap: 1.5rem; align-items: center; }
	.te-tr-stamp__face { grid-row: span 2; }
	.te-tr-stamp h3 { margin-top: 0; align-self: end; }
	.te-tr-stamp p { align-self: start; }
	.te-tr-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.te-tr-stop span { font-size: 0.8rem; }
}
@media (max-width: 600px) {
	.te-tr-bench ul { grid-template-columns: minmax(0, 1fr); }
	.te-tr-stops { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 2.4rem; }
	.te-tr-stops::before { display: none; }
	.te-tr-stamp { grid-template-columns: minmax(0, 1fr); }
	.te-tr-stamp h3 { margin-top: 1.2rem; }
	.te-tr-pass__ticket { grid-template-columns: minmax(0, 1fr) 4.5rem; -webkit-mask: radial-gradient(circle at calc(100% - 4.5rem) 0, transparent 11px, #000 11.5px) top / 100% 51% no-repeat, radial-gradient(circle at calc(100% - 4.5rem) 100%, transparent 11px, #000 11.5px) bottom / 100% 51% no-repeat; mask: radial-gradient(circle at calc(100% - 4.5rem) 0, transparent 11px, #000 11.5px) top / 100% 51% no-repeat, radial-gradient(circle at calc(100% - 4.5rem) 100%, transparent 11px, #000 11.5px) bottom / 100% 51% no-repeat; }
	.te-tr-pass__main { padding: 1rem; }
	.te-tr-pass__code { width: 1.8rem; height: 5rem; }
	.te-tr-pass__route b { font-size: 1.5rem; }
	.te-tr-clients img { height: 38px; }
}

/* ==========================================================================
   Financial services industry (.te-fi-*)
   ========================================================================== */

.te-fi-hero p, .te-fi-clients p, .te-fi-pillars p, .te-fi-terms p, .te-fi-infra p { margin: 0; }
.te-fi-hero, .te-fi-pillars, .te-fi-terms, .te-fi-infra { --fi-brass: #B08D3E; --fi-brass-lt: #E3C27A; --fi-green: #0E6B57; --fi-deep: #0B2234; --fi-serif: Georgia, "Times New Roman", serif; }

/* Hero: copy left, an income statement that changes language right */
.te-fi-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-fi-hero__copy > * { margin-block: 0; }
.te-fi-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-fi-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-fi-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-fi-hero > .te-svc-hero__media { width: 66%; }
.te-fi-hero .te-svc-hero__media img { object-position: 60% 30%; }

.te-fi-stmt { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(11, 34, 52, .82); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-fi-stmt__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-fi-stmt__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-fi-stmt__lang label { position: relative; cursor: pointer; }
.te-fi-stmt__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-fi-stmt__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-fi-stmt__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-fi-stmt__lang input:checked + span { background: #fff; color: var(--te-navy); }
.te-fi-stmt__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-fi-stmt__doc { margin-top: 0.9rem; padding: 1.2rem 1.3rem 1rem; border-radius: 6px; border-top: 4px solid var(--fi-brass); background: #fff; color: var(--te-ink); }
.te-fi-stmt__face { display: none; }
.te-fi-stmt:has(#te-fi-l-en:checked) .te-fi-stmt__face--en,
.te-fi-stmt:has(#te-fi-l-de:checked) .te-fi-stmt__face--de,
.te-fi-stmt:has(#te-fi-l-fr:checked) .te-fi-stmt__face--fr,
.te-fi-stmt:has(#te-fi-l-es:checked) .te-fi-stmt__face--es,
.te-fi-stmt:has(#te-fi-l-ja:checked) .te-fi-stmt__face--ja,
.te-fi-stmt:has(#te-fi-l-zh:checked) .te-fi-stmt__face--zh { display: block; }
@media (prefers-reduced-motion: no-preference) {
	.te-fi-stmt__face { animation: te-ec-face .45s ease; }
}
.te-fi-stmt__title { font-family: var(--fi-serif); font-size: 1.12rem; font-weight: 700; line-height: 1.3; color: var(--te-navy); }
.te-fi-stmt table { width: 100%; margin-top: 0.8rem; border-collapse: collapse; }
.te-fi-stmt th, .te-fi-stmt td { padding: 0.55rem 0; border: 0; border-bottom: 1px solid #E3E8EC; font-size: 0.88rem; line-height: 1.35; text-align: right; color: var(--te-ink); }
.te-fi-stmt th[scope="row"], .te-fi-stmt thead th:first-child { padding-right: 0.8rem; text-align: left; font-weight: 600; }
.te-fi-stmt thead th { padding-top: 0; font-size: 0.75rem; font-weight: 700; color: var(--te-slate); border-bottom: 1.5px solid var(--te-navy); }
.te-fi-stmt td { width: 4.6rem; font-variant-numeric: tabular-nums; }
.te-fi-stmt td:nth-child(2) { font-weight: 700; color: var(--te-navy); }
.te-fi-stmt td:last-child { color: var(--te-slate); }
.te-fi-stmt__key > * { border-top: 1.5px solid var(--te-navy); font-weight: 800 !important; }
.te-fi-stmt tbody tr:last-child > * { border-bottom: 3px double var(--te-navy); }
.te-fi-stmt__note { margin-top: 0.7rem !important; font-size: 0.75rem; color: var(--fi-green); font-weight: 600; }
.te-fi-stmt figcaption { margin-top: 0.7rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-fi-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-fi-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-fi-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(227, 194, 122, .55); }
.te-fi-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #E3C27A; }
.te-fi-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-fi-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Clients marquee */
.te-fi-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-fi-clients { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-fi-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-fi-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-fi-clients__track { display: flex; width: max-content; }
.te-fi-clients ul { display: flex; flex: none; align-items: center; gap: 3.2rem; margin: 0; padding: 0 3.2rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-fi-clients__track { animation: te-lg-marquee 48s linear infinite; }
	.te-fi-clients:hover .te-fi-clients__track { animation-play-state: paused; }
}
.te-fi-clients li { margin: 0; }
.te-fi-clients img { display: block; width: auto; height: auto; max-height: 46px; max-width: 150px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.te-fi-clients img.te-fi-clients__wide { max-width: 210px; max-height: 34px; }
.te-fi-clients li:hover img { filter: none; opacity: 1; }

/* Executive value pillars */
.te-fi-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-fi-pillars li { position: relative; margin: 0; padding: 1.8rem 1.7rem 1.9rem; border-top: 3px solid var(--fi-brass); border-radius: 0 0 16px 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 26px 50px -40px rgba(15, 42, 61, .5); }
.te-fi-pillars__for { font-size: 0.82rem; font-weight: 800; color: var(--fi-green); }
.te-fi-pillars__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; margin-top: 1rem; border-radius: 10px; background: var(--te-navy); }
.te-fi-pillars__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--fi-brass-lt); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-fi-pillars h3 { margin: 1rem 0 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-fi-pillars li > p:last-child { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }

/* Specialized verticals as a term sheet (navy) */
.te-fi-terms-section { background: var(--te-navy); color: #fff; }
.te-fi-terms { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.te-fi-terms__intro .te-eyebrow { margin: 0; color: var(--te-sky); }
.te-fi-terms__intro h2 { margin: 0.9rem 0 0; color: #fff; }
.te-fi-terms__intro .te-accent { color: var(--fi-brass-lt); }
.te-fi-terms__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-fi-terms__img { margin: 2rem 0 0; overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 5; max-height: 26rem; }
.te-fi-terms__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-fi-sheet { padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 6px; background: #fff; color: var(--te-ink); box-shadow: 0 40px 70px -40px #000; }
.te-fi-sheet__hd { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 3px double var(--te-navy); }
.te-fi-sheet__hd b { font-family: var(--fi-serif); font-size: 1.5rem; color: var(--te-navy); }
.te-fi-sheet__hd span { font-size: 0.82rem; font-weight: 700; color: var(--te-slate); }
.te-fi-sheet dl { margin: 0; }
.te-fi-sheet dl div { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: 1.5rem; padding: 1.2rem 0; border-bottom: 1px solid #E3E8EC; }
.te-fi-sheet dl div:last-child { border-bottom: 0; padding-bottom: 0; }
.te-fi-sheet dt { display: flex; align-items: flex-start; gap: 0.7rem; font-size: 1.02rem; font-weight: 800; line-height: 1.35; color: var(--te-navy); }
.te-fi-sheet__ico { position: relative; flex: none; display: block; width: 1.9rem; height: 1.9rem; border-radius: 8px; background: #F4EEDF; }
.te-fi-sheet__ico::after { content: ""; position: absolute; inset: 0.42rem; background: var(--fi-brass); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-fi-sheet dd { margin: 0; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }

/* Operational infrastructure */
.te-fi-infra { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 3rem !important; align-items: stretch; }
.te-fi-infra > section { box-sizing: border-box; padding: clamp(1.6rem, 3vw, 2.4rem); border-radius: 18px; }
.te-fi-infra h3 { margin: 0; font-size: 1.4rem !important; }
.te-fi-infra__lede { margin-top: 0.6rem !important; font-size: 0.98rem; line-height: 1.6; }
.te-fi-vault { background: var(--fi-deep); color: #fff; }
.te-fi-vault h3 { color: #fff !important; }
.te-fi-vault .te-fi-infra__lede { color: rgba(255, 255, 255, .75); }
.te-fi-vault ul { display: grid; gap: 0; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.te-fi-vault li { position: relative; margin: 0; padding: 0.85rem 0 0.85rem 2.4rem; border-top: 1px solid rgba(255, 255, 255, .1); }
.te-fi-vault li::before { content: ""; position: absolute; left: 0; top: 0.95rem; width: 1.4rem; height: 1.4rem; background: var(--fi-brass-lt); -webkit-mask: var(--te-i-lock) center / contain no-repeat; mask: var(--te-i-lock) center / contain no-repeat; }
.te-fi-vault li b { display: block; font-size: 1rem; color: #fff; }
.te-fi-vault li span { display: block; margin-top: 0.15rem; font-size: 0.9rem; line-height: 1.5; color: rgba(255, 255, 255, .72); }
.te-fi-tb { background: var(--te-cloud); }
.te-fi-tb h3 { color: var(--te-navy); }
.te-fi-tb .te-fi-infra__lede { color: var(--te-slate); }
.te-fi-entry { margin-top: 1.4rem; padding: 1.2rem 1.3rem; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
.te-fi-entry__hd { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.75rem; font-weight: 800; color: var(--te-slate); }
.te-fi-entry__hd span:last-child { color: var(--fi-green); }
.te-fi-entry__term { margin-top: 0.6rem !important; font-family: var(--fi-serif); font-size: 1.4rem; font-weight: 700; color: var(--te-navy); }
.te-fi-entry__term i { font-style: normal; color: var(--fi-brass); }
.te-fi-entry__def { margin-top: 0.3rem !important; font-size: 0.88rem; line-height: 1.5; color: var(--te-slate); }
.te-fi-entry dl { margin: 0.9rem 0 0; }
.te-fi-entry dl div { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: 1rem; padding: 0.55rem 0; border-top: 1px dashed #D3DDE5; }
.te-fi-entry dt { font-size: 0.85rem; color: var(--te-slate); }
.te-fi-entry dd { margin: 0; font-size: 0.95rem; font-weight: 700; color: var(--te-ink); }
.te-fi-entry__ft { margin-top: 0.7rem !important; padding-top: 0.7rem; border-top: 1px solid var(--te-line); font-size: 0.82rem; color: var(--fi-green); font-weight: 600; }

/* Request card hints */
.te-dh-card__set:has(#te-fi-req-reporting:checked) .te-fi-card__hint--reporting,
.te-dh-card__set:has(#te-fi-req-deal:checked) .te-fi-card__hint--deal,
.te-dh-card__set:has(#te-fi-req-fund:checked) .te-fi-card__hint--fund,
.te-dh-card__set:has(#te-fi-req-kyc:checked) .te-fi-card__hint--kyc { display: block; }

@media (max-width: 1024px) {
	.te-fi-hero__grid, .te-fi-terms { grid-template-columns: minmax(0, 1fr); }
	.te-fi-stmt { max-width: 560px; }
	.te-fi-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-fi-hero > .te-svc-hero__media { width: 100%; }
	.te-fi-terms__img { display: none; }
}
@media (max-width: 900px) {
	.te-fi-pillars, .te-fi-infra { grid-template-columns: minmax(0, 1fr); }
	.te-fi-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 600px) {
	.te-fi-bench ul { grid-template-columns: minmax(0, 1fr); }
	.te-fi-sheet dl div, .te-fi-entry dl div { grid-template-columns: minmax(0, 1fr); gap: 0.3rem; }
	.te-fi-stmt__doc { padding: 1rem; }
	.te-fi-stmt td { width: 3.8rem; }
	.te-fi-stmt th, .te-fi-stmt td { font-size: 0.82rem; }
}

/* ==========================================================================
   Manufacturing industry (.te-mf-*)
   ========================================================================== */

.te-mf-hero p, .te-mf-clients p, .te-mf-plates p, .te-mf-bom p, .te-mf-tech p, .te-mf-line p { margin: 0; }
.te-mf-hero, .te-mf-plates, .te-mf-bom, .te-mf-tech-section, .te-mf-line { --mf-yellow: #F2B705; --mf-steel: #8E9AA6; --mf-screen: #0E1A22; --mf-green: #2BB673; --mf-amber: #F5A524; --mf-red: #D7263D; }

/* Hero: copy left, machine control panel right */
.te-mf-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-mf-hero__copy > * { margin-block: 0; }
.te-mf-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-mf-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-mf-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-mf-hero > .te-svc-hero__media { width: 66%; }
.te-mf-hero .te-svc-hero__media img { object-position: 40% 30%; }

.te-mf-hmi { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(15, 42, 61, .82); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-mf-hmi__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-mf-hmi__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-mf-hmi__lang label { position: relative; cursor: pointer; }
.te-mf-hmi__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-mf-hmi__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-mf-hmi__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-mf-hmi__lang input:checked + span { background: #fff; color: var(--te-navy); }
.te-mf-hmi__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-mf-hmi__panel { position: relative; margin-top: 0.9rem; padding: 14px; border-radius: 12px; background: linear-gradient(160deg, #C9D0D6, #8E9AA6); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), inset 0 -2px 0 rgba(0, 0, 0, .15); }
.te-mf-hmi__panel::before, .te-mf-hmi__panel::after { content: ""; position: absolute; top: 5px; width: 6px; height: 6px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #6B7680); }
.te-mf-hmi__panel::before { left: 5px; }
.te-mf-hmi__panel::after { right: 5px; }
.te-mf-hmi__face { display: none; flex-direction: column; gap: 0.75rem; padding: 1rem; border-radius: 6px; background: var(--mf-screen); box-shadow: inset 0 0 0 2px #05090C; color: #E7F0F5; }
.te-mf-hmi:has(#te-mf-l-en:checked) .te-mf-hmi__face--en,
.te-mf-hmi:has(#te-mf-l-de:checked) .te-mf-hmi__face--de,
.te-mf-hmi:has(#te-mf-l-es:checked) .te-mf-hmi__face--es,
.te-mf-hmi:has(#te-mf-l-pt:checked) .te-mf-hmi__face--pt,
.te-mf-hmi:has(#te-mf-l-zh:checked) .te-mf-hmi__face--zh,
.te-mf-hmi:has(#te-mf-l-ja:checked) .te-mf-hmi__face--ja { display: flex; }
@media (prefers-reduced-motion: no-preference) {
	.te-mf-hmi__face { animation: te-ec-face .45s ease; }
}
.te-mf-hmi__top { display: flex; justify-content: space-between; align-items: center; gap: 0.8rem; padding-bottom: 0.6rem; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.te-mf-hmi__line { font-size: 1.05rem; font-weight: 800; color: #fff; }
.te-mf-hmi__state { display: flex; align-items: center; gap: 0.45rem; font-size: 0.78rem; color: rgba(255, 255, 255, .6); }
.te-mf-hmi__state b { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.2rem 0.6rem; border-radius: 99px; background: rgba(43, 182, 115, .16); font-size: 0.8rem; color: #6EE0A6; }
.te-mf-hmi__state b::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--mf-green); box-shadow: 0 0 6px var(--mf-green); }
.te-mf-hmi__gauge p { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-size: 0.82rem; color: rgba(255, 255, 255, .65); }
.te-mf-hmi__gauge b { font-size: 1.35rem; font-weight: 800; font-variant-numeric: tabular-nums; color: #fff; }
.te-mf-hmi__gauge i { display: block; height: 8px; margin-top: 0.45rem; border-radius: 4px; background: linear-gradient(90deg, var(--mf-green) 0 62%, rgba(255, 255, 255, .1) 62%); }
.te-mf-hmi__alarm { position: relative; padding: 0.55rem 0.75rem 0.55rem 2.2rem; border-radius: 6px; background: rgba(245, 165, 36, .14); box-shadow: inset 3px 0 0 var(--mf-amber); font-size: 0.85rem; font-weight: 700; line-height: 1.35; color: #FFD58A; }
.te-mf-hmi__alarm::before { content: "!"; position: absolute; left: 0.7rem; top: 50%; display: grid; place-items: center; width: 1.05rem; height: 1.05rem; margin-top: -0.525rem; border-radius: 50%; background: var(--mf-amber); font-size: 0.75rem; font-weight: 900; color: #141414; }
.te-mf-hmi__btns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 0.45rem; align-items: stretch; }
.te-mf-hmi__btn { display: grid; place-items: center; min-height: 2.4rem; padding: 0.35rem 0.4rem; border-radius: 6px; background: #1C2C37; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .4), inset 0 0 0 1px rgba(255, 255, 255, .1); text-align: center; font-size: 0.78rem; font-weight: 800; line-height: 1.15; color: #E7F0F5; }
.te-mf-hmi__btn--go { background: #1E7F51; }
.te-mf-hmi__estop { display: flex; flex-direction: column; align-items: center; gap: 0.2rem; padding-left: 0.3rem; max-width: 5.2rem; text-align: center; font-size: 0.62rem; font-weight: 800; line-height: 1.15; color: #FFC2C9; }
.te-mf-hmi__estop i { width: 2rem; height: 2rem; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #FF6B7A, var(--mf-red) 60%, #8E1222); box-shadow: 0 0 0 3px var(--mf-yellow); }
.te-mf-hmi figcaption { margin-top: 0.7rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-mf-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-mf-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-mf-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(242, 183, 5, .55); }
.te-mf-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #FFCB2E; }
.te-mf-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-mf-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Clients marquee */
.te-mf-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-mf-clients { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-mf-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-mf-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-mf-clients__track { display: flex; width: max-content; }
.te-mf-clients ul { display: flex; flex: none; align-items: center; gap: 3.5rem; margin: 0; padding: 0 3.5rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-mf-clients__track { animation: te-lg-marquee 30s linear infinite; }
	.te-mf-clients:hover .te-mf-clients__track { animation-play-state: paused; }
}
.te-mf-clients li { margin: 0; }
.te-mf-clients img { display: block; width: auto; height: auto; max-height: 46px; max-width: 140px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.te-mf-clients img.te-mf-clients__wide { max-width: 170px; max-height: 30px; }
.te-mf-clients li:hover img { filter: none; opacity: 1; }

/* Executive value: photo cards with a riveted nameplate */
.te-mf-plates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-mf-plates > li { margin: 0; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 26px 50px -40px rgba(15, 42, 61, .5); }
.te-mf-plates__img { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--te-cloud); }
.te-mf-plates__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-mf-plates__plate { position: relative; display: inline-block; margin: -1.3rem 0 0 1.5rem !important; padding: 0.45rem 1.4rem; border-radius: 4px; background: linear-gradient(180deg, #E4E8EC, #A9B3BC); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 6px 12px -6px rgba(15, 42, 61, .5); }
.te-mf-plates__plate::before, .te-mf-plates__plate::after { content: ""; position: absolute; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #5E6870); }
.te-mf-plates__plate::before { left: 6px; }
.te-mf-plates__plate::after { right: 6px; }
.te-mf-plates__plate span { font-size: 0.95rem; font-weight: 900; letter-spacing: 0.12em; color: #33404A; text-shadow: 0 1px 0 rgba(255, 255, 255, .6); }
.te-mf-plates h3 { margin: 1rem 1.6rem 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-mf-plates li > p:last-child { margin: 0.5rem 1.6rem 1.7rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }

/* Verticals as a bill of materials */
.te-mf-bom { margin-top: 3rem !important; overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 0 0 1.5px #33404A, 0 30px 60px -45px rgba(15, 42, 61, .55); }
.te-mf-bom__hd { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.4rem; background: #33404A; color: #fff; }
.te-mf-bom__hd p:first-child { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.3rem 1rem; }
.te-mf-bom__hd b { font-size: 1.15rem; }
.te-mf-bom__hd span { font-size: 0.85rem; color: rgba(255, 255, 255, .7); }
.te-mf-bom__rev { font-size: 0.8rem; font-weight: 700; color: var(--mf-yellow); }
.te-mf-bom table { width: 100%; border-collapse: collapse; }
.te-mf-bom th, .te-mf-bom td { padding: 0.85rem 1.2rem; border: 0; border-bottom: 1px solid #E3E8EC; text-align: left; vertical-align: top; font-size: 0.92rem; line-height: 1.45; color: var(--te-slate); }
.te-mf-bom thead th { background: #F1F4F6; font-size: 0.75rem; font-weight: 800; color: #33404A; border-bottom: 1.5px solid #33404A; }
.te-mf-bom tbody th { font-weight: 800; color: var(--te-navy); }
.te-mf-bom tbody tr:last-child > * { border-bottom: 0; }
.te-mf-bom tbody tr:hover > * { background: #FFFBEA; }
.te-mf-bom__no { width: 3.5rem; font-weight: 800; font-variant-numeric: tabular-nums; color: #B98A00 !important; }
.te-mf-bom__grp { width: 17rem; font-size: 0.85rem !important; }
.te-mf-bom td:last-child { color: var(--te-ink); }

/* Technical capabilities (navy) */
.te-mf-tech-section { background: var(--te-navy); color: #fff; }
.te-mf-tech__intro { max-width: 46rem; }
.te-mf-tech__intro .te-eyebrow { margin: 0; color: var(--te-sky); }
.te-mf-tech__intro h2 { margin: 0.9rem 0 0; color: #fff; }
.te-mf-tech__intro .te-accent { color: #FFCB2E; }
.te-mf-tech__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-mf-caps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 2.6rem 0 0; padding: 0; list-style: none; }
.te-mf-caps > li { margin: 0; padding: 1.6rem; border-radius: 16px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.te-mf-caps h3 { margin: 0; font-size: 1.15rem !important; color: #fff !important; }
.te-mf-caps > li > p { margin-top: 0.5rem !important; font-size: 0.92rem; line-height: 1.6; color: rgba(255, 255, 255, .75); }
.te-mf-caps__files { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.te-mf-caps__files li { position: relative; margin: 0; padding: 0.4rem 0.75rem 0.4rem 1.7rem; border-radius: 6px; background: rgba(255, 255, 255, .08); font-size: 0.82rem; font-weight: 700; color: #fff; }
.te-mf-caps__files li::before { content: ""; position: absolute; left: 0.55rem; top: 50%; width: 0.85rem; height: 0.85rem; margin-top: -0.425rem; background: #FFCB2E; -webkit-mask: var(--te-i-file) center / contain no-repeat; mask: var(--te-i-file) center / contain no-repeat; }
.te-mf-caps__gl { width: 100%; margin-top: 1.1rem; border-collapse: collapse; }
.te-mf-caps__gl th, .te-mf-caps__gl td { padding: 0.45rem 0.5rem 0.45rem 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .1); text-align: left; vertical-align: top; font-size: 0.85rem; line-height: 1.35; color: rgba(255, 255, 255, .88); }
.te-mf-caps__gl thead th { font-size: 0.85rem; font-weight: 800; color: #FFCB2E; border-bottom: 1px solid rgba(255, 255, 255, .3); }
.te-mf-caps__gl tbody th { width: 2.2rem; font-size: 0.72rem; font-weight: 800; color: var(--te-sky); }
.te-mf-caps__gl tbody tr:last-child > * { border-bottom: 0; }
.te-mf-caps__img { margin: 0 0 1.1rem; overflow: hidden; border-radius: 12px; aspect-ratio: 16 / 9; }
.te-mf-caps__img img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Quality process as an assembly line */
.te-mf-line { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 10rem; gap: 1rem; margin: 3rem 0 0; padding: 0 0 2.2rem; list-style: none; }
.te-mf-line::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0.6rem; height: 14px; border-radius: 7px; background: repeating-linear-gradient(90deg, #33404A 0 22px, #4A5864 22px 26px); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .15); }
.te-mf-line > li { position: relative; margin: 0; padding: 1.4rem 1.3rem 1.5rem; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 20px 30px -26px rgba(15, 42, 61, .6); }
.te-mf-line > li::after { content: ""; position: absolute; left: 50%; bottom: -1.65rem; width: 2px; height: 1.6rem; background: #A9B3BC; }
.te-mf-line__st { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 6px; background: var(--mf-yellow); font-weight: 900; color: #141414; }
.te-mf-line h3 { margin: 0.9rem 0 0; font-size: 1.08rem !important; color: var(--te-navy); }
.te-mf-line p { margin-top: 0.4rem !important; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-mf-line__out { display: grid !important; place-items: center; background: transparent !important; box-shadow: none !important; }
.te-mf-line__out span { display: grid; place-items: center; width: 8.5rem; height: 8.5rem; border-radius: 50%; border: 3px double #1F7A45; color: #1F7A45; text-align: center; font-size: 0.95rem; font-weight: 900; line-height: 1.2; transform: rotate(-10deg); padding: 1rem; box-sizing: border-box; }

/* Request card hints */
.te-dh-card__set:has(#te-mf-req-manuals:checked) .te-mf-card__hint--manuals,
.te-dh-card__set:has(#te-mf-req-hse:checked) .te-mf-card__hint--hse,
.te-dh-card__set:has(#te-mf-req-hmi:checked) .te-mf-card__hint--hmi,
.te-dh-card__set:has(#te-mf-req-supply:checked) .te-mf-card__hint--supply { display: block; }

@media (max-width: 1100px) {
	.te-mf-line { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 0; }
	.te-mf-line::after, .te-mf-line > li::after { display: none; }
	.te-mf-line__out { grid-column: 1 / -1; }
	.te-mf-caps { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
	.te-mf-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-mf-hmi { max-width: 560px; }
	.te-mf-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-mf-hero > .te-svc-hero__media { width: 100%; }
}
@media (max-width: 900px) {
	.te-mf-plates { grid-template-columns: minmax(0, 1fr); }
	.te-mf-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.te-mf-bom thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.te-mf-bom table, .te-mf-bom tbody, .te-mf-bom tr, .te-mf-bom th, .te-mf-bom td { display: block; width: auto !important; }
	.te-mf-bom tr { position: relative; padding: 0.9rem 1.2rem 0.9rem 3.6rem; border-bottom: 1px solid #E3E8EC; }
	.te-mf-bom th, .te-mf-bom td { padding: 0.1rem 0; border: 0; }
	.te-mf-bom__no { position: absolute; left: 1.2rem; top: 0.95rem; }
	.te-mf-bom__grp { margin-top: 0.15rem; color: var(--te-steel-deep) !important; }
	.te-mf-bom td:last-child { margin-top: 0.35rem; }
}
@media (max-width: 600px) {
	.te-mf-bench ul, .te-mf-line { grid-template-columns: minmax(0, 1fr); }
	.te-mf-hmi__btns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-mf-hmi__estop { grid-column: 1 / -1; flex-direction: row; justify-content: center; max-width: none; font-size: 0.75rem; }
	.te-mf-hmi__estop i { width: 1.6rem; height: 1.6rem; }
	.te-mf-hmi__top { flex-wrap: wrap; }
}

/* ==========================================================================
   Education industry (.te-ed-*)
   ========================================================================== */

.te-ed-hero p, .te-ed-clients p, .te-ed-equity p, .te-ed-year p, .te-ed-catalog p { margin: 0; }
.te-ed-hero, .te-ed-equity, .te-ed-year, .te-ed-catalog { --ed-brick: #B5402A; --ed-pencil: #F4B942; --ed-green: #2F6F5E; --ed-rule: #DCE6EE; }

/* Hero: copy left, a parent notice that changes language right */
.te-ed-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-ed-hero__copy > * { margin-block: 0; }
.te-ed-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-ed-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-ed-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-ed-hero > .te-svc-hero__media { width: 66%; }
.te-ed-hero .te-svc-hero__media img { object-position: 50% 40%; }

.te-ed-note { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(15, 42, 61, .8); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-ed-note__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-ed-note__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-ed-note__lang label { position: relative; cursor: pointer; }
.te-ed-note__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ed-note__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-ed-note__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-ed-note__lang input:checked + span { background: #fff; color: var(--te-navy); }
.te-ed-note__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ed-note__paper { position: relative; margin-top: 0.9rem; padding: 1.1rem 1.3rem 1.3rem 2.6rem; border-radius: 4px; background-color: #fff; background-image: linear-gradient(90deg, transparent 1.75rem, rgba(181, 64, 42, .45) 1.75rem, rgba(181, 64, 42, .45) calc(1.75rem + 1.5px), transparent calc(1.75rem + 1.5px)); color: var(--te-ink); box-shadow: 0 18px 30px -20px rgba(0, 0, 0, .7); }
.te-ed-note__school { display: flex; align-items: center; gap: 0.55rem; padding-bottom: 0.7rem; border-bottom: 2px solid var(--te-navy); font-size: 0.8rem; font-weight: 800; color: var(--te-navy); }
.te-ed-note__crest { flex: none; width: 1.4rem; height: 1.6rem; background: var(--ed-brick); clip-path: polygon(0 0, 100% 0, 100% 62%, 50% 100%, 0 62%); }
.te-ed-note__face { display: none; flex-direction: column; gap: 0.6rem; padding-top: 0.8rem; }
.te-ed-note:has(#te-ed-l-en:checked) .te-ed-note__face--en,
.te-ed-note:has(#te-ed-l-es:checked) .te-ed-note__face--es,
.te-ed-note:has(#te-ed-l-vi:checked) .te-ed-note__face--vi,
.te-ed-note:has(#te-ed-l-ar:checked) .te-ed-note__face--ar,
.te-ed-note:has(#te-ed-l-zh:checked) .te-ed-note__face--zh,
.te-ed-note:has(#te-ed-l-ko:checked) .te-ed-note__face--ko { display: flex; }
@media (prefers-reduced-motion: no-preference) {
	.te-ed-note__face { animation: te-ec-face .45s ease; }
}
.te-ed-note__h { font-size: 1.3rem; font-weight: 800; line-height: 1.25; color: var(--te-navy); }
.te-ed-note__when { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.8rem; }
.te-ed-note__when b { font-size: 1rem; color: var(--ed-brick); }
.te-ed-note__when span { font-size: 0.92rem; font-weight: 700; color: var(--te-ink); }
.te-ed-note__line { font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }
.te-ed-note__interp { position: relative; padding: 0.5rem 0.75rem 0.5rem 2.2rem; border-radius: 8px; background: #E6F2EE; font-size: 0.85rem; font-weight: 700; line-height: 1.4; color: var(--ed-green); }
.te-ed-note__interp::before { content: ""; position: absolute; left: 0.7rem; top: 50%; width: 1.05rem; height: 1.05rem; margin-top: -0.525rem; background: currentColor; -webkit-mask: var(--te-i-users) center / contain no-repeat; mask: var(--te-i-users) center / contain no-repeat; }
.te-ed-note__face[dir="rtl"] .te-ed-note__interp { padding: 0.5rem 2.2rem 0.5rem 0.75rem; }
.te-ed-note__face[dir="rtl"] .te-ed-note__interp::before { left: auto; right: 0.7rem; }
.te-ed-note__btn { align-self: flex-start; padding: 0.55rem 1.1rem; border-radius: 8px; background: var(--te-navy); font-size: 0.88rem; font-weight: 800; color: #fff; }
.te-ed-note figcaption { margin-top: 0.7rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-ed-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-ed-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-ed-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(244, 185, 66, .55); }
.te-ed-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #F7C860; }
.te-ed-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-ed-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Clients marquee */
.te-ed-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-ed-clients { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-ed-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-ed-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-ed-clients__track { display: flex; width: max-content; }
.te-ed-clients ul { display: flex; flex: none; align-items: center; gap: 3.2rem; margin: 0; padding: 0 3.2rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-ed-clients__track { animation: te-lg-marquee 32s linear infinite; }
	.te-ed-clients:hover .te-ed-clients__track { animation-play-state: paused; }
}
.te-ed-clients li { margin: 0; }
.te-ed-clients img { display: block; width: auto; height: auto; max-height: 54px; max-width: 120px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .72; transition: opacity .2s, filter .2s; }
.te-ed-clients img.te-ed-clients__wide { max-width: 180px; max-height: 44px; }
.te-ed-clients li:hover img { filter: none; opacity: 1; }

/* K-12 equity */
.te-ed-equity { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ed-equity__img { position: relative; margin: 0; }
.te-ed-equity__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 18px; }
.te-ed-equity__img::after { content: ""; position: absolute; right: -1rem; bottom: -1rem; z-index: -1; width: 60%; height: 60%; border-radius: 18px; background: repeating-linear-gradient(180deg, transparent 0 14px, rgba(181, 64, 42, .18) 14px 15px); }
.te-ed-equity__body .te-eyebrow { margin: 0; }
.te-ed-equity__body h2 { margin: 0.9rem 0 0; }
.te-ed-equity__body .te-head__lede { margin-top: 1rem !important; }
.te-ed-pillars { display: grid; gap: 1rem; margin: 1.8rem 0 0; padding: 0; list-style: none; }
.te-ed-pillars li { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); gap: 1rem; margin: 0; padding: 1.1rem 1.2rem; border-radius: 14px; background: var(--te-cloud); }
.te-ed-pillars__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px #D3DDE5; }
.te-ed-pillars__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--ed-brick); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-ed-pillars h3 { margin: 0.15rem 0 0; font-size: 1.08rem !important; color: var(--te-navy); }
.te-ed-pillars p { margin-top: 0.25rem !important; font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }

/* A school year as calendar pages */
.te-ed-year { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ed-year li { position: relative; margin: 0; overflow: visible; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 20px 40px -32px rgba(15, 42, 61, .5); }
.te-ed-year li::before, .te-ed-year li::after { content: ""; position: absolute; top: -0.45rem; width: 0.55rem; height: 1.1rem; border-radius: 99px; background: linear-gradient(90deg, #8E9AA6, #D5DDE3 60%, #8E9AA6); }
.te-ed-year li::before { left: 22%; }
.te-ed-year li::after { right: 22%; }
.te-ed-year__m { padding: 0.75rem 1.4rem; border-radius: 12px 12px 0 0; background: var(--ed-brick); font-size: 1.05rem; font-weight: 900; color: #fff; }
.te-ed-year li:nth-child(4) .te-ed-year__m { background: var(--ed-green); }
.te-ed-year__body { padding: 1.1rem 1.4rem 1.4rem; }
.te-ed-year h3 { margin: 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-ed-year__body p { margin-top: 0.35rem !important; font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }

/* Higher education as a course catalog */
.te-ed-catalog { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); margin-top: 3rem !important; }
.te-ed-course { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.te-ed-course--flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.te-ed-course--flip .te-ed-course__img { order: 2; }
.te-ed-course__img { margin: 0; overflow: hidden; border-radius: 18px; aspect-ratio: 5 / 4; background: var(--te-cloud); }
.te-ed-course__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-ed-course__body { padding-top: 1rem; border-top: 3px double var(--te-navy); }
.te-ed-course__code { display: inline-block; padding: 0.2rem 0.6rem; border-radius: 4px; background: #F7E3DF; font-size: 0.8rem; font-weight: 900; letter-spacing: 0.08em; color: var(--ed-brick); }
.te-ed-course h3 { margin: 0.7rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.45rem, 2.3vw, 1.8rem) !important; color: var(--te-navy); }
.te-ed-course__line { margin-top: 0.6rem !important; font-size: 1rem; line-height: 1.65; color: var(--te-slate); }
.te-ed-course dl { margin: 1.1rem 0 0; }
.te-ed-course dl div { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: 1rem; padding: 0.7rem 0; border-top: 1px dotted #B9C6D1; }
.te-ed-course dt { font-size: 0.95rem; font-weight: 800; color: var(--te-ink); }
.te-ed-course dd { margin: 0; font-size: 0.92rem; line-height: 1.5; color: var(--te-slate); }
.te-ed-course__link { margin-top: 1rem !important; font-size: 0.92rem; }
.te-ed-course__link a { font-weight: 700; color: var(--te-steel-deep); }

/* Request card hints */
.te-dh-card__set:has(#te-ed-req-k12:checked) .te-ed-card__hint--k12,
.te-dh-card__set:has(#te-ed-req-iep:checked) .te-ed-card__hint--iep,
.te-dh-card__set:has(#te-ed-req-courses:checked) .te-ed-card__hint--courses,
.te-dh-card__set:has(#te-ed-req-admit:checked) .te-ed-card__hint--admit { display: block; }

@media (max-width: 1024px) {
	.te-ed-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-ed-note { max-width: 560px; }
	.te-ed-bench ul, .te-ed-year { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ed-hero > .te-svc-hero__media { width: 100%; }
}
@media (max-width: 900px) {
	.te-ed-equity, .te-ed-course { grid-template-columns: minmax(0, 1fr); }
	.te-ed-equity__img { max-width: 420px; }
	.te-ed-course--flip { grid-template-columns: minmax(0, 1fr); }
	.te-ed-course--flip .te-ed-course__img { order: 0; }
	.te-ed-course__img { aspect-ratio: 16 / 9; }
	.te-ed-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
}
@media (max-width: 600px) {
	.te-ed-bench ul, .te-ed-year { grid-template-columns: minmax(0, 1fr); }
	.te-ed-course dl div { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
	.te-ed-note__paper { padding-left: 2.3rem; }
	.te-ed-clients img { max-height: 44px; }
}

/* ==========================================================================
   Entertainment and media industry (.te-em-*)
   ========================================================================== */

.te-em-hero p, .te-em-clients p, .te-em-crafts p, .te-em-credits p, .te-em-titles p { margin: 0; }
.te-em-hero, .te-em-crafts, .te-em-credits-section, .te-em-titles { --em-black: #0A0D12; --em-amber: #F5B04C; --em-red: #C2253A; --em-teal: #2A9D8F; }

/* Hero: copy left, a streaming player with cycling subtitles right */
.te-em-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-em-hero__copy > * { margin-block: 0; }
.te-em-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-em-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-em-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-em-hero > .te-svc-hero__media { width: 62%; }
.te-em-hero .te-svc-hero__media img { object-position: 20% 40%; }

.te-em-player { margin: 0; padding: 0.9rem; border-radius: 18px; background: rgba(10, 13, 18, .88); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1), 0 40px 70px -35px #000; }
.te-em-player__screen { position: relative; overflow: hidden; border-radius: 10px; aspect-ratio: 16 / 9; background: var(--em-black); }
.te-em-player__screen::before, .te-em-player__screen::after { content: ""; position: absolute; left: 0; right: 0; z-index: 1; height: 9%; background: var(--em-black); }
.te-em-player__screen::before { top: 0; }
.te-em-player__screen::after { bottom: 0; }
.te-em-player__screen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 35% 40%; filter: saturate(.85) contrast(1.1) sepia(.15) brightness(.85); }
.te-em-player__subs { position: absolute; left: 6%; right: 6%; bottom: 13%; z-index: 2; text-align: center; }
.te-em-player__line { display: none; flex-direction: column; align-items: center; gap: 0.15rem; }
.te-em-player:has(#te-em-l-en:checked) .te-em-player__line--en,
.te-em-player:has(#te-em-l-es:checked) .te-em-player__line--es,
.te-em-player:has(#te-em-l-fr:checked) .te-em-player__line--fr,
.te-em-player:has(#te-em-l-de:checked) .te-em-player__line--de,
.te-em-player:has(#te-em-l-pt:checked) .te-em-player__line--pt,
.te-em-player:has(#te-em-l-ja:checked) .te-em-player__line--ja { display: flex; }
@media (prefers-reduced-motion: no-preference) {
	.te-em-player__line { animation: te-ec-face .45s ease; }
}
.te-em-player__line span { padding: 0.1rem 0.45rem; background: rgba(0, 0, 0, .55); font-size: clamp(0.85rem, 1.25vw, 1.05rem); font-weight: 600; line-height: 1.35; color: #fff; text-shadow: 0 1px 2px #000; }
.te-em-player__bar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 0.8rem; align-items: center; padding: 0.75rem 0.3rem 0.2rem; }
.te-em-player__play { width: 0; height: 0; border-left: 11px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
.te-em-player__track { position: relative; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .2); }
.te-em-player__track i { position: absolute; left: 0; top: 0; bottom: 0; width: 64%; border-radius: 2px; background: var(--em-red); }
.te-em-player__track i::after { content: ""; position: absolute; right: -6px; top: -4px; width: 12px; height: 12px; border-radius: 50%; background: #fff; }
.te-em-player__tc { font-size: 0.78rem; font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, .75); }
.te-em-player__cc { padding: 0.05rem 0.35rem; border: 1.5px solid #fff; border-radius: 3px; font-size: 0.68rem; font-weight: 800; color: #fff; }
.te-em-player__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0.7rem 0 0; padding: 0.7rem 0 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.te-em-player__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-em-player__lang label { position: relative; cursor: pointer; }
.te-em-player__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-em-player__lang span { display: inline-block; padding: 0.3rem 0.7rem; border-radius: 4px; font-size: 0.8rem; font-weight: 700; color: rgba(255, 255, 255, .7); transition: background .15s, color .15s; }
.te-em-player__lang label:hover span { color: #fff; }
.te-em-player__lang input:checked + span { background: rgba(255, 255, 255, .14); color: #fff; box-shadow: inset 2px 0 0 var(--em-red); }
.te-em-player__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-em-player figcaption { margin-top: 0.6rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .7); }

.te-em-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-em-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-em-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(245, 176, 76, .55); }
.te-em-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: var(--em-amber); }
.te-em-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-em-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Client */
.te-em-clients-section { padding-block: 1.2rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-em-clients { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.6rem 1.6rem; }
.te-em-clients p { font-size: 0.9rem; font-weight: 700; color: var(--te-slate); }
.te-em-clients img { display: block; width: auto; height: 64px; mix-blend-mode: multiply; filter: grayscale(1); opacity: .75; }

/* Three crafts */
.te-em-crafts { display: grid; gap: clamp(2.5rem, 5vw, 4rem); margin-top: 3rem !important; }
.te-em-craft { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.te-em-craft--flip > :first-child { order: 2; }
.te-em-craft__k { display: inline-block; padding: 0.25rem 0.7rem; border-radius: 4px; background: var(--em-black); font-size: 0.8rem; font-weight: 800; color: var(--em-amber); }
.te-em-craft h3 { margin: 0.8rem 0 0; font-size: clamp(1.4rem, 2.2vw, 1.75rem) !important; color: var(--te-navy); }
.te-em-craft__body > p:not(.te-em-craft__k) { margin-top: 0.6rem !important; font-size: 1rem; line-height: 1.65; color: var(--te-slate); }
.te-em-craft dl { margin: 1.2rem 0 0; }
.te-em-craft dl div { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: 1rem; padding: 0.7rem 0; border-top: 1px solid var(--te-line); }
.te-em-craft dt { font-size: 0.95rem; font-weight: 800; color: var(--te-ink); }
.te-em-craft dd { margin: 0; font-size: 0.92rem; line-height: 1.5; color: var(--te-slate); }

.te-em-srt { padding: 1.3rem; border-radius: 14px; background: var(--em-black); color: #E6EDF3; box-shadow: 0 30px 60px -40px #000; }
.te-em-srt__hd { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 0.8rem; border-bottom: 1px solid rgba(255, 255, 255, .1); font-size: 0.8rem; color: rgba(255, 255, 255, .6); }
.te-em-srt__hd span:first-child { font-weight: 700; color: #fff; }
.te-em-srt pre { margin: 1rem 0 0; padding: 0; background: none; font-size: 1.02rem; line-height: 1.6; white-space: pre-wrap; color: #fff; }
.te-em-srt pre b { color: var(--em-amber); }
.te-em-srt pre i { font-style: normal; color: #8FD3C8; }
.te-em-srt__checks { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.te-em-srt__checks li { margin: 0; padding: 0.35rem 0.7rem; border-radius: 99px; background: rgba(42, 157, 143, .18); font-size: 0.8rem; color: #BFE9E2; }
.te-em-srt__checks b { color: #fff; }

.te-em-wave { position: relative; padding: 1.3rem 1.3rem 1rem; border-radius: 14px; background: var(--em-black); color: #fff; box-shadow: 0 30px 60px -40px #000; }
.te-em-wave__row { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.8rem; align-items: center; padding: 0.6rem 0; border-bottom: 1px solid rgba(255, 255, 255, .08); font-size: 0.8rem; font-weight: 700; color: rgba(255, 255, 255, .7); }
.te-em-wave__bars { display: block; height: 2.6rem; -webkit-mask: repeating-linear-gradient(90deg, #000 0 3px, transparent 3px 6px); mask: repeating-linear-gradient(90deg, #000 0 3px, transparent 3px 6px); }
.te-em-wave__bars--a { background: linear-gradient(180deg, transparent 0 var(--t, 30%), var(--em-amber) var(--t, 30%) calc(100% - var(--t, 30%)), transparent 0), #0000; background: radial-gradient(ellipse 18% 46% at 14% 50%, var(--em-amber) 98%, transparent), radial-gradient(ellipse 14% 30% at 36% 50%, var(--em-amber) 98%, transparent), radial-gradient(ellipse 20% 48% at 60% 50%, var(--em-amber) 98%, transparent), radial-gradient(ellipse 12% 26% at 86% 50%, var(--em-amber) 98%, transparent); }
.te-em-wave__bars--b { background: radial-gradient(ellipse 19% 44% at 15% 50%, var(--em-teal) 98%, transparent), radial-gradient(ellipse 13% 32% at 37% 50%, var(--em-teal) 98%, transparent), radial-gradient(ellipse 21% 46% at 61% 50%, var(--em-teal) 98%, transparent), radial-gradient(ellipse 11% 28% at 85% 50%, var(--em-teal) 98%, transparent); }
.te-em-wave__bars--c { background: radial-gradient(ellipse 17% 42% at 14% 50%, #8FA8FF 98%, transparent), radial-gradient(ellipse 15% 34% at 37% 50%, #8FA8FF 98%, transparent), radial-gradient(ellipse 19% 47% at 60% 50%, #8FA8FF 98%, transparent), radial-gradient(ellipse 13% 24% at 86% 50%, #8FA8FF 98%, transparent); }
.te-em-wave__cursor { position: absolute; top: 1rem; bottom: 2.8rem; left: calc(1.3rem + 6.3rem + (100% - 8.9rem) * .6); width: 2px; background: var(--em-red); box-shadow: 0 0 8px var(--em-red); }
.te-em-wave__ft { display: flex; justify-content: space-between; gap: 1rem; padding-top: 0.8rem; font-size: 0.78rem; color: rgba(255, 255, 255, .6); }
.te-em-wave__ft span:first-child { color: #8FD3C8; font-weight: 700; }

.te-em-script { padding: 1.6rem 1.8rem; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 30px 60px -40px rgba(15, 42, 61, .6); font-family: "Courier New", Courier, monospace; color: #1A1A1A; }
.te-em-script__hd { font-size: 0.95rem; font-weight: 700; }
.te-em-script__who { margin-top: 1rem !important; text-align: center; font-size: 0.95rem; font-weight: 700; }
.te-em-script__src { margin: 0.3rem auto 0 !important; max-width: 22rem; text-align: center; font-size: 0.95rem; line-height: 1.5; }
.te-em-script__opt { display: flex; align-items: baseline; gap: 0.7rem; margin-top: 0.7rem !important; padding: 0.55rem 0.8rem; border-radius: 6px; font-family: var(--wp--preset--font-family--inter); font-size: 0.95rem; }
.te-em-script__opt span { flex: none; padding: 0.1rem 0.5rem; border-radius: 99px; font-size: 0.7rem; font-weight: 800; }
.te-em-script__opt--no { margin-top: 1.2rem !important; background: #FDECEE; color: #8A1C2B; }
.te-em-script__opt--no span { background: #fff; color: var(--em-red); }
.te-em-script__opt--yes { background: #E5F5F2; font-weight: 700; color: #135E54; }
.te-em-script__opt--yes span { background: #fff; color: #1F7A6C; }

/* Stakeholder value as end credits */
.te-em-credits-section { background: var(--em-black); color: #fff; }
.te-em-credits { text-align: center; }
.te-em-credits .te-eyebrow { justify-content: center; margin: 0; color: var(--em-amber); }
.te-em-credits h2 { margin: 0.9rem 0 0; color: #fff; }
.te-em-credits .te-accent { color: var(--em-amber); }
.te-em-credits dl { display: grid; gap: 1.6rem; max-width: 46rem; margin: 3rem auto 0; }
.te-em-credits dl div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; align-items: baseline; }
.te-em-credits dt { text-align: right; font-size: 0.85rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.te-em-credits dd { margin: 0; text-align: left; font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; line-height: 1.45; color: #fff; }
.te-em-credits__end { margin-top: 3rem !important; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: 1rem; color: rgba(255, 255, 255, .6); }

/* Localized title cards */
.te-em-titles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-em-titles__card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 0.4rem; min-height: 15rem; margin: 0; padding: 1.1rem; overflow: hidden; border-radius: 12px; background: linear-gradient(180deg, rgba(10, 13, 18, 0) 30%, rgba(10, 13, 18, .92)), linear-gradient(150deg, #2A4D69, #0A0D12); color: #fff; box-shadow: 0 24px 40px -30px rgba(10, 13, 18, .8); }
.te-em-titles__card--1 { background: linear-gradient(180deg, rgba(10, 13, 18, 0) 30%, rgba(10, 13, 18, .92)), linear-gradient(150deg, #7A3B2E, #0A0D12); }
.te-em-titles__card--2 { background: linear-gradient(180deg, rgba(10, 13, 18, 0) 30%, rgba(10, 13, 18, .92)), linear-gradient(150deg, #3D5A40, #0A0D12); }
.te-em-titles__card--3 { background: linear-gradient(180deg, rgba(10, 13, 18, 0) 30%, rgba(10, 13, 18, .92)), linear-gradient(150deg, #5B4B7A, #0A0D12); }
.te-em-titles__card--4 { background: linear-gradient(180deg, rgba(10, 13, 18, 0) 30%, rgba(10, 13, 18, .92)), linear-gradient(150deg, #8A6A2A, #0A0D12); }
.te-em-titles__card::before { content: ""; position: absolute; top: 1rem; right: 1rem; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: rgba(255, 255, 255, .12); }
.te-em-titles__mk { position: absolute; top: 1rem; left: 1.1rem; font-size: 0.75rem; font-weight: 700; color: rgba(255, 255, 255, .7); }
.te-em-titles b { font-family: Georgia, "Times New Roman", serif; font-size: 1.3rem; line-height: 1.2; }
.te-em-titles__g { font-size: 0.78rem; font-weight: 700; color: var(--em-amber); }
.te-em-titles__note { margin-top: 1rem !important; font-size: 0.88rem; color: var(--te-slate); }

/* Request card hints */
.te-dh-card__set:has(#te-em-req-subs:checked) .te-em-card__hint--subs,
.te-dh-card__set:has(#te-em-req-dub:checked) .te-em-card__hint--dub,
.te-dh-card__set:has(#te-em-req-script:checked) .te-em-card__hint--script,
.te-dh-card__set:has(#te-em-req-meta:checked) .te-em-card__hint--meta { display: block; }

@media (max-width: 1024px) {
	.te-em-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-em-player { max-width: 620px; }
	.te-em-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-em-hero > .te-svc-hero__media { width: 100%; }
	.te-em-titles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.te-em-craft { grid-template-columns: minmax(0, 1fr); }
	.te-em-craft--flip > :first-child { order: 0; }
}
@media (max-width: 600px) {
	.te-em-bench ul { grid-template-columns: minmax(0, 1fr); }
	.te-em-craft dl div { grid-template-columns: minmax(0, 1fr); gap: 0.2rem; }
	.te-em-credits dl div { grid-template-columns: minmax(0, 1fr); gap: 0.3rem; }
	.te-em-credits dt, .te-em-credits dd { text-align: center; }
	.te-em-titles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-em-titles__card { min-height: 12rem; }
	.te-em-script { padding: 1.2rem; }
}

/* Example engagements as production slates */
.te-em-slates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-em-slate { display: flex; flex-direction: column; margin: 0; overflow: hidden; border-radius: 12px; background: var(--em-black); color: #fff; box-shadow: 0 30px 50px -36px #000; --em-black: #0A0D12; --em-amber: #F5B04C; }
.te-em-slate p { margin: 0; }
.te-em-slate__clap { height: 1.6rem; background: repeating-linear-gradient(-55deg, #fff 0 18px, #0A0D12 18px 36px); border-bottom: 3px solid #fff; }
.te-em-slate__type { margin: 1.3rem 1.4rem 0 !important; font-size: 0.8rem; font-weight: 800; color: var(--em-amber); }
.te-em-slate h3 { margin: 0.35rem 1.4rem 0; font-size: 1.15rem !important; line-height: 1.3; color: #fff !important; }
.te-em-slate dl { margin: 1rem 1.4rem 0; }
.te-em-slate dl div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0.8rem; padding: 0.55rem 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.te-em-slate dt { font-size: 0.78rem; font-weight: 800; color: rgba(255, 255, 255, .55); }
.te-em-slate dd { margin: 0; font-size: 0.9rem; line-height: 1.45; color: #fff; }
.te-em-slate__specs-h { margin: 1rem 1.4rem 0 !important; font-size: 0.78rem; font-weight: 800; color: rgba(255, 255, 255, .55); }
.te-em-slate__specs { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.5rem 1.4rem 0; padding: 0; list-style: none; }
.te-em-slate__specs li { margin: 0; padding: 0.3rem 0.6rem; border-radius: 4px; background: rgba(42, 157, 143, .2); font-size: 0.78rem; font-weight: 700; color: #BFE9E2; }
.te-em-slate__time { margin: auto 0 0 !important; padding: 1rem 1.4rem 0; font-size: 0.88rem; font-weight: 700; color: var(--em-amber); }
.te-em-slate__time::before { content: ""; display: block; margin-bottom: 0.9rem; border-top: 1px dashed rgba(255, 255, 255, .2); }
.te-em-slate__link { padding: 0.7rem 1.4rem 1.3rem; font-size: 0.88rem; }
.te-em-slate__link a { font-weight: 700; color: #fff; text-decoration-color: rgba(255, 255, 255, .4); }
.te-em-slate__link a:hover { color: var(--em-amber); }
.te-em-slate__link a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-em-slates__note { margin-top: 1rem !important; font-size: 0.88rem; color: var(--te-slate); }
@media (max-width: 1024px) {
	.te-em-slates { grid-template-columns: minmax(0, 1fr); max-width: 640px; }
}

/* ==========================================================================
   Single case study (.te-csx-*)
   ========================================================================== */

.te-csx-hero { position: relative; overflow: hidden; margin: 0 !important; padding-block: clamp(2.5rem, 5vw, 4rem); background: var(--te-navy); color: #fff; }
.te-csx-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(48rem 26rem at 100% 0%, rgba(75, 148, 175, .3), transparent 60%); pointer-events: none; }
.te-csx-hero__in { position: relative; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; width: 100%; max-width: calc(1240px + 2 * var(--wp--style--root--padding-left, 1.5rem)); margin: 0 auto; padding-inline: var(--wp--style--root--padding-left, 1.5rem); }
.te-csx-hero p { margin: 0; }
.te-csx-crumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.85rem; color: rgba(255, 255, 255, .6); }
.te-csx-crumbs a { color: var(--te-sky); text-decoration: none; }
.te-csx-crumbs a:hover { text-decoration: underline; }
.te-csx-hero__k { margin-top: 1.4rem !important; font-size: 0.85rem; font-weight: 700; color: var(--te-sky); }
.te-csx-hero__title { margin: 0.6rem 0 0; font-size: clamp(1.9rem, 3.4vw, 2.7rem) !important; line-height: 1.15; color: #fff !important; }
.te-csx-hero__lede { margin-top: 1rem !important; max-width: 60ch; font-size: 1.08rem; line-height: 1.6; color: rgba(255, 255, 255, .82); }
.te-csx-hero__img { margin: 0; overflow: hidden; border-radius: 18px; aspect-ratio: 4 / 3; background: rgba(255, 255, 255, .06); box-shadow: 0 40px 70px -35px rgba(0, 0, 0, .9); }
.te-csx-hero__img img { display: block; width: 100%; height: 100%; object-fit: cover; }

.te-csx { box-sizing: border-box; width: 100%; max-width: calc(1240px + 2 * var(--wp--style--root--padding-left, 1.5rem)); margin-inline: auto; padding-inline: var(--wp--style--root--padding-left, 1.5rem); display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; padding-top: clamp(2.5rem, 5vw, 4rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.te-csx__body { max-width: 46rem; font-size: 1.05rem; line-height: 1.75; color: var(--te-ink); }
.te-csx__body > * { margin-block: 0 1.1rem; }
.te-csx__body p { color: #33424F; }
.te-csx__body p:first-child { padding: 1.2rem 1.4rem; border-left: 4px solid var(--te-steel); border-radius: 0 12px 12px 0; background: var(--te-cloud); font-size: 1.05rem; }
.te-csx__body h2, .te-csx__body .te-csx__h { margin: 2.2rem 0 0.8rem !important; padding-top: 1.4rem; border-top: 1px solid var(--te-line); font-size: 1.5rem !important; line-height: 1.25; color: var(--te-navy); }
.te-csx-sec { position: relative; margin: 0 0 1.25rem !important; padding: 1.8rem 2rem 1.6rem 5.2rem; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 24px 40px -36px rgba(15, 42, 61, .45); }
.te-csx-sec > * { margin-block: 0 1rem; }
.te-csx-sec > *:last-child { margin-bottom: 0 !important; }
.te-csx__body .te-csx-sec h2 { margin: 0 0 0.8rem !important; padding: 0 !important; border: 0 !important; }
.te-csx-sec__n { position: absolute; left: 1.6rem; top: 1.75rem; font-size: 1.6rem; font-weight: 900; line-height: 1; color: #C2412D; }
.te-csx-sec--res { background: var(--te-navy); box-shadow: none; }
.te-csx-sec--res .te-csx-sec__n { color: var(--te-sky); }
.te-csx__body .te-csx-sec--res h2 { color: #fff !important; }
.te-csx__body .te-csx-sec--res p, .te-csx__body .te-csx-sec--res li { color: rgba(255, 255, 255, .85); }
.te-csx__body .te-csx-sec--res strong { color: #fff; }
.te-csx__body .te-csx-sec--res li::before { background: var(--te-sky); }
.te-csx__body .te-csx-sec--res a { color: var(--te-sky); }
.te-csx__body h3 { margin: 1.6rem 0 0.5rem !important; font-size: 1.15rem !important; color: var(--te-navy); }
.te-csx__body ul, .te-csx__body ol { display: grid; gap: 0.7rem; padding: 0; list-style: none; }
.te-csx__body li { position: relative; margin: 0; padding-left: 1.9rem; line-height: 1.65; color: #33424F; }
.te-csx__body li::before { content: ""; position: absolute; left: 0; top: 0.3rem; width: 1.15rem; height: 1.15rem; background: var(--te-signal); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-csx__body strong { color: var(--te-ink); }
.te-csx__body img, .te-csx__body figure { max-width: 100%; height: auto; border-radius: 12px; }
.te-csx__body a { color: var(--te-steel-deep); }

.te-csx__side { position: sticky; top: 7rem; }
.te-csx-glance { padding: 1.6rem; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 30px 50px -40px rgba(15, 42, 61, .5); }
.te-csx-glance p { margin: 0; }
.te-csx-glance__h { font-size: 0.85rem; font-weight: 800; color: var(--te-steel-deep); }
.te-csx-glance dl { margin: 0.8rem 0 0; }
.te-csx-glance dl div { padding: 0.7rem 0; border-top: 1px solid var(--te-line); }
.te-csx-glance dt { font-size: 0.78rem; font-weight: 700; color: var(--te-slate); }
.te-csx-glance dd { margin: 0.15rem 0 0; font-size: 1rem; font-weight: 800; line-height: 1.35; color: var(--te-navy); }
.te-csx-glance__btn { display: block; margin-top: 1.2rem; padding: 0.85rem 1rem; border-radius: 10px; background: var(--te-navy); text-align: center; font-weight: 800; color: #fff; text-decoration: none; }
.te-csx-glance__btn:hover { background: var(--te-steel-deep); }
.te-csx-glance__alt { display: block; margin-top: 0.6rem; text-align: center; font-size: 0.9rem; font-weight: 700; color: var(--te-steel-deep); }
.te-csx-glance__link { display: block; margin-top: 0.9rem; padding-top: 0.9rem; border-top: 1px solid var(--te-line); font-size: 0.92rem; font-weight: 700; color: var(--te-steel-deep); text-decoration: none; }
.te-csx-glance__link + .te-csx-glance__link { margin-top: 0; }
.te-csx-glance__link::after { content: " ›"; }
.te-csx-glance a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

.te-csx-more { margin: 0 !important; padding-block: clamp(2.5rem, 5vw, 4rem); background: var(--te-cloud); }
.te-csx-more__in { box-sizing: border-box; width: 100%; max-width: calc(1240px + 2 * var(--wp--style--root--padding-left, 1.5rem)); margin: 0 auto; padding-inline: var(--wp--style--root--padding-left, 1.5rem); }
.te-csx-more__h { margin: 0 0 1.6rem; font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important; color: var(--te-navy); }

@media (max-width: 1024px) {
	.te-csx { grid-template-columns: minmax(0, 1fr); }
	.te-csx__side { position: static; max-width: 30rem; }
}
@media (max-width: 600px) {
	.te-csx-sec { padding: 1.4rem 1.3rem 1.3rem; }
	.te-csx-sec__n { position: static; display: block; margin-bottom: 0.5rem; font-size: 1.2rem; }
}
@media (max-width: 900px) {
	.te-csx-hero__in { grid-template-columns: minmax(0, 1fr); }
	.te-csx-hero__img { max-width: 560px; aspect-ratio: 16 / 9; }
}

/* ==========================================================================
   Creative agencies industry (.te-ca-*)
   ========================================================================== */

.te-ca-hero p, .te-ca-clients p, .te-ca-trio p, .te-ca-check p, .te-ca-flow p, .te-ca-partner p { margin: 0; }
.te-ca-hero, .te-ca-trio, .te-ca-check-section, .te-ca-swatches, .te-ca-flow, .te-ca-partner { --ca-coral: #FF6B4A; --ca-teal: #17A398; --ca-violet: #7B5CFA; --ca-sun: #FFC845; --ca-ink: #1B1530; --ca-paper: #FFF8EE; }

/* Hero: copy left, a billboard whose tagline is transcreated per market */
.te-ca-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 4.5vw, 4rem); align-items: center; }
.te-ca-hero__copy > * { margin-block: 0; }
.te-ca-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-ca-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-ca-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-ca-hero > .te-svc-hero__media { width: 62%; }
.te-ca-hero .te-svc-hero__media img { object-position: 30% 55%; }

.te-ca-ad { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(15, 42, 61, .82); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-ca-ad__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-ca-ad__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-ca-ad__lang label { position: relative; cursor: pointer; }
.te-ca-ad__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ca-ad__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-ca-ad__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-ca-ad__lang input:checked + span { background: #fff; color: var(--te-navy); }
.te-ca-ad__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ca-ad__board { position: relative; overflow: hidden; margin-top: 0.9rem; aspect-ratio: 16 / 9; border-radius: 10px; background: linear-gradient(135deg, var(--ca-coral), #FF9466 55%, var(--ca-sun)); }
.te-ca-ad__sun { position: absolute; right: -8%; top: -18%; width: 52%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 70%); }
.te-ca-ad__cup { position: absolute; right: 9%; bottom: 0; width: 26%; height: 52%; border-radius: 8px 8px 22px 22px; background: var(--ca-ink); box-shadow: inset -10px 0 0 rgba(255, 255, 255, .06); }
.te-ca-ad__cup::after { content: ""; position: absolute; right: -24%; top: 18%; width: 30%; height: 40%; border: 6px solid var(--ca-ink); border-left: 0; border-radius: 0 50% 50% 0; }
.te-ca-ad__cup i { position: absolute; left: 22%; right: 22%; top: 30%; height: 18%; border-radius: 4px; background: var(--ca-sun); }
.te-ca-ad__face { display: none; position: absolute; left: 7%; top: 0; bottom: 0; width: 56%; flex-direction: column; justify-content: center; }
.te-ca-ad:has(#te-ca-l-en:checked) .te-ca-ad__face--en,
.te-ca-ad:has(#te-ca-l-es:checked) .te-ca-ad__face--es,
.te-ca-ad:has(#te-ca-l-fr:checked) .te-ca-ad__face--fr,
.te-ca-ad:has(#te-ca-l-de:checked) .te-ca-ad__face--de,
.te-ca-ad:has(#te-ca-l-pt:checked) .te-ca-ad__face--pt,
.te-ca-ad:has(#te-ca-l-ja:checked) .te-ca-ad__face--ja { display: flex; }
@media (prefers-reduced-motion: no-preference) {
	.te-ca-ad__face, .te-ca-ad__note { animation: te-ec-face .45s ease; }
}
.te-ca-ad__line { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.35rem, 2.4vw, 2rem); font-weight: 700; line-height: 1.15; color: var(--ca-ink); }
.te-ca-ad__brand { margin-top: 0.7rem !important; font-size: 0.78rem; font-weight: 900; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ca-ink); opacity: .75; }
.te-ca-ad__notes { min-height: 2.8rem; margin-top: 0.8rem; }
.te-ca-ad__note { display: none; font-size: 0.85rem; line-height: 1.45; color: rgba(255, 255, 255, .8); }
.te-ca-ad__note span { color: rgba(255, 255, 255, .55); }
.te-ca-ad__note b { display: block; margin-top: 0.15rem; color: var(--ca-sun); }
.te-ca-ad:has(#te-ca-l-en:checked) .te-ca-ad__note--en,
.te-ca-ad:has(#te-ca-l-es:checked) .te-ca-ad__note--es,
.te-ca-ad:has(#te-ca-l-fr:checked) .te-ca-ad__note--fr,
.te-ca-ad:has(#te-ca-l-de:checked) .te-ca-ad__note--de,
.te-ca-ad:has(#te-ca-l-pt:checked) .te-ca-ad__note--pt,
.te-ca-ad:has(#te-ca-l-ja:checked) .te-ca-ad__note--ja { display: block; }
.te-ca-ad figcaption { margin-top: 0.6rem; padding-top: 0.6rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 0.8rem; line-height: 1.45; color: rgba(255, 255, 255, .65); }

.te-ca-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-ca-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-ca-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(255, 200, 69, .55); }
.te-ca-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: var(--ca-sun); }
.te-ca-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-ca-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Clients */
.te-ca-clients-section { padding-block: 1.4rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-ca-clients { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.8rem 3rem; }
.te-ca-clients p { font-size: 0.9rem; font-weight: 700; color: var(--te-slate); }
.te-ca-clients img { display: block; width: auto; height: 34px; filter: grayscale(1); opacity: .7; transition: filter .2s, opacity .2s; }
.te-ca-clients img:hover { filter: none; opacity: 1; }

/* Three solutions */
.te-ca-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ca-trio li { position: relative; margin: 0; padding: 1.8rem 1.7rem 1.9rem; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
.te-ca-trio li:nth-child(1) { --tone: var(--ca-coral); }
.te-ca-trio li:nth-child(2) { --tone: var(--ca-teal); }
.te-ca-trio li:nth-child(3) { --tone: var(--ca-violet); }
.te-ca-trio__k { display: inline-block; padding: 0.3rem 0.8rem; border-radius: 99px; background: var(--tone); font-size: 0.8rem; font-weight: 800; color: #fff; }
.te-ca-trio h3 { margin: 1rem 0 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-ca-trio li > p { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }

/* Cultural sanity check (dark) */
.te-ca-check-section { background: var(--ca-ink); color: #fff; }
.te-ca-check { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ca-check__copy .te-eyebrow { margin: 0; color: var(--ca-sun); }
.te-ca-check__copy h2 { margin: 0.9rem 0 0; color: #fff; }
.te-ca-check__copy .te-accent { color: var(--ca-coral); }
.te-ca-check__copy .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-ca-check__list { display: grid; gap: 0.8rem; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.te-ca-check__list li { margin: 0; padding: 0.85rem 1rem; border-left: 3px solid var(--ca-coral); border-radius: 0 10px 10px 0; background: rgba(255, 255, 255, .05); }
.te-ca-check__list b { display: block; font-size: 0.95rem; color: #fff; }
.te-ca-check__list span { display: block; margin-top: 0.2rem; font-size: 0.88rem; line-height: 1.5; color: rgba(255, 255, 255, .72); }
.te-ca-proof { margin: 0; padding: 1.1rem; border-radius: 10px; background: var(--ca-paper); box-shadow: 0 40px 70px -40px #000; transform: rotate(1.2deg); }
.te-ca-proof__art { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 4px; background: #F5F1FF; }
.te-ca-proof__shape { position: absolute; border-radius: 50%; }
.te-ca-proof__shape--a { left: 6%; top: 10%; width: 38%; aspect-ratio: 1; background: #fff; box-shadow: 0 0 0 10px #EDE7FF; }
.te-ca-proof__shape--b { right: -10%; bottom: -25%; width: 60%; aspect-ratio: 1; background: var(--ca-violet); opacity: .85; }
.te-ca-proof__price { position: absolute; left: 62%; top: 16%; padding: 0.5rem 0.8rem; border-radius: 6px; background: var(--ca-coral); font-size: clamp(1rem, 1.8vw, 1.4rem); font-weight: 900; color: #fff; transform: rotate(-6deg); }
.te-ca-proof__thumb { position: absolute; left: 44%; top: 50%; width: 16%; height: auto; aspect-ratio: 1; padding: 2.5%; box-sizing: border-box; border-radius: 50%; background: var(--ca-sun); fill: var(--ca-ink); overflow: visible; }
.te-ca-proof__name { position: absolute; left: 8%; bottom: 10%; font-size: clamp(1.4rem, 2.6vw, 2.2rem); font-weight: 900; letter-spacing: 0.08em; color: var(--ca-ink); }
.te-ca-proof__pin { position: absolute; display: grid; place-items: center; width: 2rem; height: 2rem; margin: -1rem 0 0 -1rem; border-radius: 50%; background: var(--ca-coral); box-shadow: 0 0 0 4px rgba(255, 107, 74, .3), 0 6px 12px -4px rgba(0, 0, 0, .5); font-size: 0.9rem; font-weight: 900; color: #fff; }
.te-ca-proof figcaption { margin-top: 0.7rem; font-size: 0.8rem; color: #6B6280; }

/* Capabilities as color swatches */
.te-ca-swatches { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ca-swatch { margin: 0; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 24px 40px -34px rgba(15, 42, 61, .5); }
.te-ca-swatch--coral { --tone: var(--ca-coral); }
.te-ca-swatch--teal { --tone: var(--ca-teal); }
.te-ca-swatch--violet { --tone: var(--ca-violet); }
.te-ca-swatch__chip { display: block; height: 6.5rem; background: var(--tone); background-image: linear-gradient(90deg, transparent 0 75%, rgba(255, 255, 255, .2) 75% 100%), linear-gradient(90deg, transparent 0 50%, rgba(255, 255, 255, .12) 50% 100%); }
.te-ca-swatch h3 { margin: 1.2rem 1.5rem 0; font-size: 1.2rem !important; color: var(--te-navy); }
.te-ca-swatch ul { display: grid; gap: 0; margin: 0.8rem 1.5rem 1.4rem; padding: 0; list-style: none; }
.te-ca-swatch li { margin: 0; padding: 0.6rem 0 0.6rem 1.4rem; border-top: 1px solid var(--te-line); position: relative; font-size: 0.93rem; color: var(--te-ink); }
.te-ca-swatch li::before { content: ""; position: absolute; left: 0; top: 50%; width: 0.6rem; height: 0.6rem; margin-top: -0.3rem; border-radius: 2px; background: var(--tone); }

/* Process as a creative flow */
.te-ca-flow { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 3rem 0 0; padding: 0; list-style: none; }
.te-ca-flow::before { content: ""; position: absolute; left: 1.5rem; right: 1.5rem; top: 1.5rem; height: 3px; border-radius: 2px; background: linear-gradient(90deg, var(--ca-coral), var(--ca-sun), var(--ca-teal), var(--ca-violet)); }
.te-ca-flow li { position: relative; margin: 0; }
.te-ca-flow__n { position: relative; display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: #fff; box-shadow: 0 0 0 3px var(--ca-ink); font-size: 1.1rem; font-weight: 900; color: var(--ca-ink); }
.te-ca-flow h3 { margin: 1.1rem 0 0; font-size: 1.1rem !important; color: var(--te-navy); }
.te-ca-flow p { margin-top: 0.4rem !important; font-size: 0.93rem; line-height: 1.55; color: var(--te-slate); }

/* Agency partnership */
.te-ca-partner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ca-partner__img { margin: 0; overflow: hidden; border-radius: 18px; aspect-ratio: 4 / 5; }
.te-ca-partner__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-ca-partner__body .te-eyebrow { margin: 0; }
.te-ca-partner__body h2 { margin: 0.9rem 0 0; }
.te-ca-partner__body .te-head__lede { margin-top: 1rem !important; }
.te-ca-partner__list { display: grid; gap: 1rem; margin: 1.8rem 0 0; padding: 0; list-style: none; }
.te-ca-partner__list li { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr); gap: 1rem; margin: 0; }
.te-ca-partner__ico { position: relative; display: block; width: 2.8rem; height: 2.8rem; border-radius: 12px; background: #FFE9E3; }
.te-ca-partner__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--ca-coral); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-ca-partner__list h3 { margin: 0.15rem 0 0; font-size: 1.08rem !important; color: var(--te-navy); }
.te-ca-partner__list p { margin-top: 0.25rem !important; font-size: 0.93rem; line-height: 1.55; color: var(--te-slate); }

/* Request card hints */
.te-dh-card__set:has(#te-ca-req-campaign:checked) .te-ca-card__hint--campaign,
.te-dh-card__set:has(#te-ca-req-check:checked) .te-ca-card__hint--check,
.te-dh-card__set:has(#te-ca-req-pitch:checked) .te-ca-card__hint--pitch,
.te-dh-card__set:has(#te-ca-req-media:checked) .te-ca-card__hint--media { display: block; }

@media (max-width: 1024px) {
	.te-ca-hero__grid, .te-ca-check { grid-template-columns: minmax(0, 1fr); }
	.te-ca-ad { max-width: 600px; }
	.te-ca-bench ul, .te-ca-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ca-flow::before { display: none; }
	.te-ca-hero > .te-svc-hero__media { width: 100%; }
	.te-ca-proof { max-width: 560px; }
}
@media (max-width: 900px) {
	.te-ca-trio, .te-ca-swatches, .te-ca-partner { grid-template-columns: minmax(0, 1fr); }
	.te-ca-partner__img { aspect-ratio: 16 / 9; }
}
@media (max-width: 600px) {
	.te-ca-bench ul, .te-ca-flow { grid-template-columns: minmax(0, 1fr); }
	.te-ca-ad__face { width: 62%; left: 6%; }
	.te-ca-ad__line { font-size: 1.15rem; }
	.te-ca-clients img { height: 26px; }
}

/* ==========================================================================
   Life sciences industry (.te-ls-*)
   ========================================================================== */

.te-ls-hero p, .te-ls-clients p, .te-ls-svc p, .te-ls-areas p, .te-ls-gxp p, .te-ls-pair p { margin: 0; }
.te-ls-hero, .te-ls-pipe, .te-ls-svc, .te-ls-areas-section, .te-ls-gxp, .te-ls-pair { --ls-a: #2E8BC0; --ls-b: #14A38B; --ls-c: #7A6FF0; --ls-d: #E0663D; --ls-mint: #E6F6F2; --ls-deep: #0B2F3F; }

/* Hero */
.te-ls-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-ls-hero__copy > * { margin-block: 0; }
.te-ls-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-ls-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-ls-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-ls-hero > .te-svc-hero__media { width: 64%; }
.te-ls-hero .te-svc-hero__media img { object-position: 55% 40%; }

.te-ls-pi { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(15, 42, 61, .82); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-ls-pi__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-ls-pi__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-ls-pi__lang label { position: relative; cursor: pointer; }
.te-ls-pi__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-ls-pi__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-ls-pi__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-ls-pi__lang input:checked + span { background: #fff; color: var(--te-navy); }
.te-ls-pi__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ls-pi__sheet { margin-top: 0.9rem; padding: 1.2rem 1.3rem 0.9rem; border-radius: 4px; background: #fff; color: var(--te-ink); box-shadow: 0 18px 30px -20px rgba(0, 0, 0, .7); background-image: linear-gradient(90deg, var(--ls-b) 0 6px, transparent 6px); }
.te-ls-pi__drug { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.6rem; padding-bottom: 0.7rem; border-bottom: 2px solid var(--te-navy); }
.te-ls-pi__drug b { font-size: 1.15rem; color: var(--te-navy); }
.te-ls-pi__drug span { font-size: 0.82rem; color: var(--te-slate); }
.te-ls-pi__face { display: none; flex-direction: column; gap: 0.6rem; padding-top: 0.8rem; min-height: 9.5rem; }
.te-ls-pi:has(#te-ls-l-en:checked) .te-ls-pi__face--en,
.te-ls-pi:has(#te-ls-l-es:checked) .te-ls-pi__face--es,
.te-ls-pi:has(#te-ls-l-fr:checked) .te-ls-pi__face--fr,
.te-ls-pi:has(#te-ls-l-de:checked) .te-ls-pi__face--de,
.te-ls-pi:has(#te-ls-l-zh:checked) .te-ls-pi__face--zh,
.te-ls-pi:has(#te-ls-l-ja:checked) .te-ls-pi__face--ja { display: flex; }
@media (prefers-reduced-motion: no-preference) {
	.te-ls-pi__face { animation: te-ec-face .45s ease; }
}
.te-ls-pi__h { display: flex; align-items: center; gap: 0.5rem; font-size: 0.98rem; font-weight: 800; color: var(--te-navy); }
.te-ls-pi__h span { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 4px; background: var(--te-navy); font-size: 0.78rem; color: #fff; }
.te-ls-pi__dose { font-size: 0.92rem; line-height: 1.55; color: var(--te-ink); }
.te-ls-pi__warn { position: relative; padding: 0.5rem 0.75rem 0.5rem 2.1rem; border: 1.5px solid var(--te-ink); border-radius: 4px; font-size: 0.85rem; font-weight: 800; color: var(--te-ink); }
.te-ls-pi__warn::before { content: "!"; position: absolute; left: 0.6rem; top: 50%; display: grid; place-items: center; width: 1.05rem; height: 1.05rem; margin-top: -0.525rem; border-radius: 50%; background: var(--te-ink); font-size: 0.72rem; color: #fff; }
.te-ls-pi__ft { display: flex; justify-content: space-between; gap: 1rem; margin-top: 0.8rem !important; padding-top: 0.6rem; border-top: 1px dashed #D3DDE5; font-size: 0.72rem; font-weight: 700; color: var(--te-slate); }
.te-ls-pi__ft span:last-child { color: var(--ls-b); }
.te-ls-pi figcaption { margin-top: 0.7rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-ls-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-ls-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-ls-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(110, 224, 196, .55); }
.te-ls-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #6EE0C4; }
.te-ls-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-ls-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Clients marquee */
.te-ls-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-ls-clients { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-ls-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-ls-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-ls-clients__track { display: flex; width: max-content; }
.te-ls-clients ul { display: flex; flex: none; align-items: center; gap: 3.5rem; margin: 0; padding: 0 3.5rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-ls-clients__track { animation: te-lg-marquee 30s linear infinite; }
	.te-ls-clients:hover .te-ls-clients__track { animation-play-state: paused; }
}
.te-ls-clients li { margin: 0; }
.te-ls-clients img { display: block; width: auto; height: auto; max-height: 54px; max-width: 120px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.te-ls-clients img.te-ls-clients__wide { max-width: 180px; max-height: 40px; }
.te-ls-clients li:hover img { filter: none; opacity: 1; }

/* Pipeline chart */
.te-ls-pipe { margin-top: 3rem !important; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 30px 60px -45px rgba(15, 42, 61, .55); }
.te-ls-pipe table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.te-ls-pipe thead th { padding: 1rem 0.8rem; border: 0; border-bottom: 1px solid #D3DDE5; background: var(--ls-deep); text-align: center; font-size: 0.82rem; font-weight: 800; color: #fff; }
.te-ls-pipe thead th:first-child { width: 32%; padding-left: 1.4rem; text-align: left; }
.te-ls-pipe thead th:not(:first-child) { border-left: 1px solid rgba(255, 255, 255, .12); }
.te-ls-pipe tbody th { padding: 1rem 1rem 1rem 1.4rem; border: 0; border-bottom: 1px solid var(--te-line); text-align: left; font-size: 0.92rem; font-weight: 700; line-height: 1.35; color: var(--te-navy); }
.te-ls-pipe tbody tr:last-child > * { border-bottom: 0; }
.te-ls-pipe__lane { position: relative; padding: 0; border: 0; border-bottom: 1px solid var(--te-line); background: repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), #E3E8EC calc(25% - 1px) 25%); }
.te-ls-pipe__bar { position: absolute; top: 50%; left: calc((var(--s) - 1) * 25% + 0.6rem); width: calc((var(--e) - var(--s) + 1) * 25% - 1.2rem); height: 1.4rem; margin-top: -0.7rem; border-radius: 99px; background: var(--tone); box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .12); }
.te-ls-pipe__bar::after { content: ""; position: absolute; right: 0.35rem; top: 50%; width: 0.7rem; height: 0.7rem; margin-top: -0.35rem; border-radius: 50%; background: rgba(255, 255, 255, .85); }
.te-ls-pipe__bar--a { --tone: var(--ls-a); }
.te-ls-pipe__bar--b { --tone: var(--ls-b); }
.te-ls-pipe__bar--c { --tone: var(--ls-c); }
.te-ls-pipe__bar--d { --tone: var(--ls-d); }
@media (prefers-reduced-motion: no-preference) {
	.te-ls-pipe__bar { transform-origin: left center; animation: te-ls-grow .9s cubic-bezier(.2, .7, .2, 1) both; }
	.te-ls-pipe tr:nth-child(2) .te-ls-pipe__bar { animation-delay: .08s; }
	.te-ls-pipe tr:nth-child(3) .te-ls-pipe__bar { animation-delay: .16s; }
	.te-ls-pipe tr:nth-child(4) .te-ls-pipe__bar { animation-delay: .24s; }
	.te-ls-pipe tr:nth-child(5) .te-ls-pipe__bar { animation-delay: .32s; }
	.te-ls-pipe tr:nth-child(6) .te-ls-pipe__bar { animation-delay: .4s; }
}
@keyframes te-ls-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.te-ls-svc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.te-ls-svc li { margin: 0; padding: 1.5rem; border-radius: 16px; background: var(--te-cloud); }
.te-ls-svc__ico { position: relative; display: block; width: 2.6rem; height: 2.6rem; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px #D3DDE5; }
.te-ls-svc__ico::after { content: ""; position: absolute; inset: 0.6rem; background: var(--ls-b); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-ls-svc h3 { margin: 0.9rem 0 0; font-size: 1.05rem !important; color: var(--te-navy); }
.te-ls-svc p { margin-top: 0.4rem !important; font-size: 0.9rem; line-height: 1.55; color: var(--te-slate); }

/* Therapeutic areas (deep teal) */
.te-ls-areas-section { background: var(--ls-deep); color: #fff; }
.te-ls-areas { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ls-areas__intro .te-eyebrow { margin: 0; color: #6EE0C4; }
.te-ls-areas__intro h2 { margin: 0.9rem 0 0; color: #fff; }
.te-ls-areas__intro .te-accent { color: #6EE0C4; }
.te-ls-areas__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .8); }
.te-ls-areas__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-ls-area { position: relative; margin: 0; padding: 1.5rem 1.4rem 1.4rem; overflow: hidden; border-radius: 16px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.te-ls-area--0 { --tone: var(--ls-a); }
.te-ls-area--1 { --tone: var(--ls-c); }
.te-ls-area--2 { --tone: var(--ls-b); }
.te-ls-area--3 { --tone: var(--ls-d); }
.te-ls-area__mol { position: relative; display: block; width: 3.4rem; height: 2.4rem; }
.te-ls-area__mol i { position: absolute; width: 0.9rem; height: 0.9rem; border-radius: 50%; background: var(--tone); box-shadow: 0 0 12px var(--tone); }
.te-ls-area__mol i:nth-child(1) { left: 0; top: 1.2rem; }
.te-ls-area__mol i:nth-child(2) { left: 1.2rem; top: 0.2rem; width: 1.1rem; height: 1.1rem; }
.te-ls-area__mol i:nth-child(3) { left: 2.4rem; top: 1.3rem; width: 0.7rem; height: 0.7rem; }
.te-ls-area__mol::before { content: ""; position: absolute; left: 0.45rem; top: 0.75rem; width: 2.3rem; height: 0.9rem; border-top: 2px solid rgba(255, 255, 255, .35); border-left: 2px solid rgba(255, 255, 255, .35); transform: skewX(-30deg); }
.te-ls-area h3 { margin: 0.9rem 0 0; font-size: 1.15rem !important; color: #fff !important; }
.te-ls-area p { margin-top: 0.35rem !important; font-size: 0.9rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }

/* Validation flow */
.te-ls-gxp { box-sizing: border-box; margin-top: 3rem !important; padding: clamp(1.4rem, 3vw, 2rem); border-radius: 18px; background: var(--ls-mint); }
.te-ls-gxp__h { font-size: 0.85rem; font-weight: 800; color: #0E7A66; }
.te-ls-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.8rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.te-ls-flow li { position: relative; margin: 0; padding: 1.2rem 1.1rem; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #CBE8E0; }
.te-ls-flow li:not(:last-child)::after { content: ""; position: absolute; right: -0.7rem; top: 50%; z-index: 1; width: 0.6rem; height: 0.6rem; margin-top: -0.3rem; border-top: 2px solid #0E7A66; border-right: 2px solid #0E7A66; transform: rotate(45deg); }
.te-ls-flow li:nth-child(3) { box-shadow: 0 0 0 2px var(--ls-b); }
.te-ls-flow__n { display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--ls-b); font-size: 0.85rem; font-weight: 900; color: #fff; }
.te-ls-flow h3 { margin: 0.7rem 0 0; font-size: 1rem !important; color: var(--te-navy); }
.te-ls-flow p { margin-top: 0.3rem !important; font-size: 0.85rem; line-height: 1.5; color: var(--te-slate); }
.te-ls-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.25rem !important; }
.te-ls-card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
.te-ls-card figure { margin: 0; min-height: 13rem; }
.te-ls-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-ls-card > div { padding: 1.5rem; }
.te-ls-card h3 { margin: 0; font-size: 1.15rem !important; color: var(--te-navy); }
.te-ls-card p { margin-top: 0.5rem !important; font-size: 0.93rem; line-height: 1.6; color: var(--te-slate); }

/* Request card hints */
.te-dh-card__set:has(#te-ls-req-clinical:checked) .te-ls-card__hint--clinical,
.te-dh-card__set:has(#te-ls-req-reg:checked) .te-ls-card__hint--reg,
.te-dh-card__set:has(#te-ls-req-pv:checked) .te-ls-card__hint--pv,
.te-dh-card__set:has(#te-ls-req-device:checked) .te-ls-card__hint--device { display: block; }

@media (max-width: 1100px) {
	.te-ls-svc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ls-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-ls-flow li::after { display: none; }
	.te-ls-pair, .te-ls-card { grid-template-columns: minmax(0, 1fr); }
	.te-ls-card figure { min-height: 0; aspect-ratio: 16 / 8; }
}
@media (max-width: 1024px) {
	.te-ls-hero__grid, .te-ls-areas { grid-template-columns: minmax(0, 1fr); }
	.te-ls-pi { max-width: 560px; }
	.te-ls-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ls-hero > .te-svc-hero__media { width: 100%; }
}
@media (max-width: 900px) {
	.te-ls-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.te-ls-pipe { overflow-x: auto; }
	.te-ls-pipe table { min-width: 640px; }
}
@media (max-width: 600px) {
	.te-ls-bench ul, .te-ls-svc, .te-ls-areas__grid, .te-ls-flow { grid-template-columns: minmax(0, 1fr); }
}

/* Gated checklist download */
.te-ls-dl-section { background: var(--te-cloud); }
.te-ls-dl { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ls-dl p { margin: 0; }
.te-ls-dl__copy .te-eyebrow { margin: 0; }
.te-ls-dl__copy h2 { margin: 0.9rem 0 0; }
.te-ls-dl__copy .te-head__lede { margin-top: 1rem !important; }
.te-ls-dl__list { display: grid; gap: 0.5rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.te-ls-dl__list li { position: relative; margin: 0; padding-left: 1.8rem; font-weight: 600; color: var(--te-ink); }
.te-ls-dl__list li::before { content: ""; position: absolute; left: 0; top: 0.2rem; width: 1.1rem; height: 1.1rem; background: #14A38B; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-ls-dl__card { position: relative; padding: 4.6rem 1.8rem 1.6rem; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 30px 60px -45px rgba(15, 42, 61, .55); }
.te-ls-dl__doc { position: absolute; right: 1.6rem; top: -2.6rem; display: flex; flex-direction: column; gap: 0.35rem; width: 7.5rem; padding: 0.8rem 0.7rem; border-radius: 4px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5, 0 16px 24px -14px rgba(15, 42, 61, .5); transform: rotate(4deg); }
.te-ls-dl__doc b { padding-bottom: 0.35rem; border-bottom: 2px solid var(--te-navy); font-size: 0.6rem; line-height: 1.2; color: var(--te-navy); }
.te-ls-dl__doc i { display: block; height: 0.3rem; border-radius: 2px; background: #E3E8EC; }
.te-ls-dl__doc i:nth-child(odd) { width: 70%; }
.te-ls-dl__doc span { margin-top: 0.2rem; font-size: 0.6rem; font-weight: 800; color: #14A38B; }
.te-ls-dl__form { display: grid; gap: 0.9rem; }
.te-ls-dl__form label { display: block; margin-bottom: 0.3rem; font-size: 0.85rem; font-weight: 700; color: var(--te-ink); }
.te-ls-dl__form input[type="text"], .te-ls-dl__form input[type="email"] { box-sizing: border-box; width: 100%; padding: 0.75rem 0.9rem; border: 1px solid #B9C6D1; border-radius: 10px; font: inherit; font-size: 1rem; color: var(--te-ink); background: #fff; }
.te-ls-dl__form input:focus { outline: 3px solid var(--te-sky); outline-offset: 1px; border-color: var(--te-steel-deep); }
.te-ls-dl__form button { margin-top: 0.3rem; padding: 0.9rem 1rem; border: 0; border-radius: 10px; background: var(--te-navy); font: inherit; font-weight: 800; color: #fff; cursor: pointer; }
.te-ls-dl__form button:hover { background: var(--te-steel-deep); }
.te-ls-dl__form button:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ls-dl__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.te-ls-dl__err { padding: 0.7rem 0.9rem; border-left: 4px solid #C2253A; border-radius: 0 8px 8px 0; background: #FDECEE; font-size: 0.9rem; font-weight: 600; color: #8A1C2B; }
.te-ls-dl__fine { font-size: 0.8rem; color: var(--te-slate); }
.te-ls-dl__fine a { color: var(--te-steel-deep); }
@media (max-width: 900px) {
	.te-ls-dl { grid-template-columns: minmax(0, 1fr); }
	.te-ls-dl__doc { display: none; }
	.te-ls-dl__card { padding-top: 1.8rem; }
}

.te-ls-dl__zoho .te-zoho-form { display: block; width: 100%; height: 44rem; border: 0; }
.te-ls-dl__card:has(.te-ls-dl__zoho) { padding: 4rem 0.6rem 0.6rem; }

/* ==========================================================================
   Engineering industry (.te-eg-*)
   ========================================================================== */

.te-eg-hero p, .te-eg-clients p, .te-eg-phases p, .te-eg-red p, .te-eg-rigor p { margin: 0; }
.te-eg-hero, .te-eg-phases, .te-eg-red, .te-eg-rigor-section { --eg-blue: #0B2740; --eg-cyan: #8FD8F2; --eg-grid: rgba(143, 216, 242, .1); --eg-red: #D7263D; --eg-paper: #FBFCFD; }

/* Hero: copy left, drawing sheet right */
.te-eg-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-eg-hero__copy > * { margin-block: 0; }
.te-eg-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-eg-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-eg-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-eg-hero > .te-svc-hero__media { width: 66%; }
.te-eg-hero .te-svc-hero__media img { object-position: 70% 40%; }

.te-eg-dwg { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(11, 39, 64, .84); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-eg-dwg__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-eg-dwg__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-eg-dwg__lang label { position: relative; cursor: pointer; }
.te-eg-dwg__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-eg-dwg__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-eg-dwg__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-eg-dwg__lang input:checked + span { background: #fff; color: var(--te-navy); }
.te-eg-dwg__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }

.te-eg-dwg__sheet { position: relative; margin-top: 0.9rem; padding: 0.9rem; border: 1px solid rgba(143, 216, 242, .55); background-color: var(--eg-blue); background-image: linear-gradient(var(--eg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--eg-grid) 1px, transparent 1px); background-size: 16px 16px; color: var(--eg-cyan); box-shadow: inset 0 0 0 4px var(--eg-blue), inset 0 0 0 5px rgba(143, 216, 242, .35); }
.te-eg-dwg__art { display: block; width: 100%; height: auto; color: #E6F6FC; }
.te-eg-dwg__dim { stroke: var(--eg-cyan); }
.te-eg-dwg__dimtx { fill: var(--eg-cyan); font-family: inherit; }
.te-eg-dwg__face { display: none; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); margin-top: 0.6rem; border: 1px solid rgba(143, 216, 242, .55); }
.te-eg-dwg:has(#te-eg-l-en:checked) .te-eg-dwg__face--en,
.te-eg-dwg:has(#te-eg-l-de:checked) .te-eg-dwg__face--de,
.te-eg-dwg:has(#te-eg-l-fr:checked) .te-eg-dwg__face--fr,
.te-eg-dwg:has(#te-eg-l-pt:checked) .te-eg-dwg__face--pt,
.te-eg-dwg:has(#te-eg-l-zh:checked) .te-eg-dwg__face--zh,
.te-eg-dwg:has(#te-eg-l-ja:checked) .te-eg-dwg__face--ja { display: grid; }
@media (prefers-reduced-motion: no-preference) {
	.te-eg-dwg__face { animation: te-ec-face .45s ease; }
}
.te-eg-dwg__notes { padding: 0.6rem 0.7rem; border-right: 1px solid rgba(143, 216, 242, .55); }
.te-eg-dwg__notes > p { font-size: 0.7rem; font-weight: 800; color: var(--eg-cyan); }
.te-eg-dwg__notes ol { margin: 0.35rem 0 0; padding-left: 1rem; font-size: 0.78rem; line-height: 1.4; color: #E6F6FC; }
.te-eg-dwg__notes li { margin: 0 0 0.25rem; }
.te-eg-dwg__tb { min-width: 0; }
.te-eg-dwg__title { padding: 0.55rem 0.7rem; border-bottom: 1px solid rgba(143, 216, 242, .55); font-size: 0.92rem; font-weight: 800; line-height: 1.25; color: #fff; }
.te-eg-dwg__tb dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.te-eg-dwg__tb dl > div { padding: 0.4rem 0.7rem; border-bottom: 1px solid rgba(143, 216, 242, .3); }
.te-eg-dwg__tb dl > div:nth-child(odd) { border-right: 1px solid rgba(143, 216, 242, .3); }
.te-eg-dwg__tb dl > div:nth-last-child(-n+2) { border-bottom: 0; }
.te-eg-dwg__tb dt { font-size: 0.66rem; font-weight: 700; color: var(--eg-cyan); }
.te-eg-dwg__tb dd { margin: 0.1rem 0 0; font-size: 0.86rem; font-weight: 800; font-variant-numeric: tabular-nums; color: #fff; }
.te-eg-dwg__hl dd { display: inline-block; padding: 0 0.3rem; border-radius: 3px; background: #F2B705; color: #1B1B1B; }
.te-eg-dwg figcaption { margin-top: 0.7rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-eg-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-eg-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-eg-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(143, 216, 242, .6); }
.te-eg-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #8FD8F2; }
.te-eg-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-eg-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Client marquee */
.te-eg-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-eg-clients { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-eg-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-eg-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-eg-clients__track { display: flex; width: max-content; }
.te-eg-clients ul { display: flex; flex: none; align-items: center; gap: 4rem; margin: 0; padding: 0 4rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-eg-clients__track { animation: te-lg-marquee 34s linear infinite; }
	.te-eg-clients:hover .te-eg-clients__track { animation-play-state: paused; }
}
.te-eg-clients li { margin: 0; }
.te-eg-clients img { display: block; width: auto; height: auto; max-height: 50px; max-width: 140px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.te-eg-clients img.te-eg-clients__wide { max-width: 150px; max-height: 32px; }
.te-eg-clients li:hover img { filter: none; opacity: 1; }

/* Project lifecycle: three phases on a schedule line */
.te-eg-phases { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); margin: 0; padding: 0; list-style: none; }
.te-eg-phases::before { content: ""; position: absolute; left: 0.55rem; right: 0; top: 0.95rem; height: 2px; background: repeating-linear-gradient(90deg, var(--te-steel) 0 10px, transparent 10px 16px); }
.te-eg-phases > li { position: relative; margin: 0; }
.te-eg-phases__ms { position: relative; display: flex; align-items: center; gap: 0.7rem; height: 2rem; }
.te-eg-phases__ms::before { content: ""; width: 0.9rem; height: 0.9rem; margin-left: 0.1rem; background: var(--te-navy); transform: rotate(45deg); box-shadow: 0 0 0 4px #fff; }
.te-eg-phases__ms span { padding: 0.15rem 0.6rem; border-radius: 99px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--te-navy); font-size: 0.8rem; font-weight: 800; color: var(--te-navy); }
.te-eg-phases__img { margin: 1.1rem 0 0; overflow: hidden; border-radius: 12px; aspect-ratio: 3 / 2; }
.te-eg-phases__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-eg-phases h3 { margin: 1.2rem 0 0; font-size: 1.3rem; line-height: 1.25; }
.te-eg-phases__lead { margin-top: 0.4rem !important; font-weight: 700; color: var(--te-steel-deep); }
.te-eg-phases > li > p:not([class]) { margin-top: 0.6rem; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-eg-phases ul { display: grid; gap: 0; margin: 1.1rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--te-line); }
.te-eg-phases ul li { position: relative; margin: 0; padding: 0.55rem 0 0.55rem 1.4rem; border-bottom: 1px solid var(--te-line); font-size: 0.92rem; font-weight: 600; color: var(--te-ink); }
.te-eg-phases ul li::before { content: ""; position: absolute; left: 0.1rem; top: 0.95rem; width: 0.45rem; height: 0.45rem; border: 1.5px solid var(--te-steel-deep); transform: rotate(45deg); }

/* Redline review */
.te-eg-red { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.te-eg-red__sheet { position: sticky; top: calc(var(--te-header-h) + 2rem); padding: 1.6rem 1.7rem 2.2rem; border-radius: 4px; background: var(--eg-paper); box-shadow: 0 0 0 1px #D3DDE5, 0 30px 60px -45px rgba(15, 42, 61, .55); }
.te-eg-red__hd { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; padding-bottom: 0.7rem; border-bottom: 2px solid var(--te-navy); }
.te-eg-red__hd b { font-size: 1rem; color: var(--te-navy); }
.te-eg-red__hd span { font-size: 0.8rem; color: var(--te-slate); }
.te-eg-red__sheet ol { margin: 1.2rem 0 0; padding: 0; list-style: none; }
.te-eg-red__sheet ol li { margin: 0; padding: 0.9rem 0; border-bottom: 1px dashed #D3DDE5; font-size: 1rem; line-height: 1.6; color: var(--te-ink); }
.te-eg-red__sheet mark { position: relative; padding: 0.05rem 0.35rem; border: 1.5px solid var(--eg-red); border-radius: 999px; background: rgba(215, 38, 61, .06); font-weight: 700; color: var(--te-ink); }
.te-eg-red__sheet mark .te-eg-red__ball { position: absolute; right: -0.8rem; top: -0.9rem; }
.te-eg-red__ball { display: inline-grid; place-items: center; flex: none; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--eg-red); font-size: 0.75rem; font-weight: 800; line-height: 1; color: #fff; }
.te-eg-red__stamp { position: absolute; right: 1.4rem; bottom: 1rem; padding: 0.2rem 0.7rem; border: 2px solid #1E7F51; border-radius: 4px; font-size: 0.8rem; font-weight: 800; letter-spacing: .04em; color: #1E7F51; transform: rotate(-6deg); }
.te-eg-red__notes { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.te-eg-red__notes > li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: 1rem; margin: 0; padding: 1.3rem 0; border-bottom: 1px solid #D3DDE5; }
.te-eg-red__notes > li:first-child { padding-top: 0; }
.te-eg-red__notes h3 { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.te-eg-red__notes p { margin-top: 0.4rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-eg-red__notes .te-eg-red__ex { margin-top: 0.6rem !important; font-size: 0.85rem; font-weight: 700; color: var(--te-steel-deep); }

/* Technical rigor: specification sheet on blueprint */
.te-eg-rigor-section { background-color: #0B2740; background-image: linear-gradient(rgba(143, 216, 242, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(143, 216, 242, .06) 1px, transparent 1px); background-size: 32px 32px; color: #fff; }
.te-eg-rigor { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.te-eg-rigor__intro .te-eyebrow { margin: 0; color: var(--eg-cyan); }
.te-eg-rigor__intro h2 { margin: 0.9rem 0 0; color: #fff; }
.te-eg-rigor__intro h2 .te-accent { color: var(--eg-cyan); }
.te-eg-rigor__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-eg-sign { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 2.2rem 0 0; border: 1px solid rgba(143, 216, 242, .55); }
.te-eg-sign > div { padding: 0.8rem 0.9rem 0.9rem; border-right: 1px solid rgba(143, 216, 242, .3); }
.te-eg-sign > div:last-child { border-right: 0; }
.te-eg-sign dt { font-size: 0.75rem; font-weight: 700; color: var(--eg-cyan); }
.te-eg-sign dd { margin: 0.35rem 0 0; }
.te-eg-sign b { display: block; padding-bottom: 0.35rem; border-bottom: 1px solid rgba(255, 255, 255, .35); font-size: 1rem; color: #fff; }
.te-eg-sign span { display: block; margin-top: 0.4rem; font-size: 0.8rem; line-height: 1.4; color: rgba(255, 255, 255, .7); }
.te-eg-spec { border: 1px solid rgba(143, 216, 242, .55); background: rgba(11, 39, 64, .6); }
.te-eg-spec__hd { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; padding: 1rem 1.4rem; border-bottom: 1px solid rgba(143, 216, 242, .55); }
.te-eg-spec__hd b { font-size: 1rem; color: #fff; }
.te-eg-spec__hd span { font-size: 0.8rem; color: var(--eg-cyan); }
.te-eg-spec dl { margin: 0; }
.te-eg-spec dl > div { display: grid; grid-template-columns: 8rem minmax(0, 1fr); border-bottom: 1px solid rgba(143, 216, 242, .22); }
.te-eg-spec dl > div:last-child { border-bottom: 0; }
.te-eg-spec dt { padding: 1.1rem 1.4rem; border-right: 1px solid rgba(143, 216, 242, .22); font-size: 0.9rem; font-weight: 800; color: var(--eg-cyan); }
.te-eg-spec dd { margin: 0; padding: 1.1rem 1.4rem; }
.te-eg-spec dd p { font-size: 0.95rem; line-height: 1.6; color: rgba(255, 255, 255, .86); }
.te-eg-spec dd ul { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.75rem 0 0; padding: 0; list-style: none; }
.te-eg-spec dd ul li { margin: 0; padding: 0.2rem 0.65rem; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(143, 216, 242, .5); font-size: 0.8rem; font-weight: 700; color: #fff; }

.te-dh-card__set:has(#te-eg-req-ip:checked) .te-eg-card__hint--ip,
.te-dh-card__set:has(#te-eg-req-specs:checked) .te-eg-card__hint--specs,
.te-dh-card__set:has(#te-eg-req-hse:checked) .te-eg-card__hint--hse,
.te-dh-card__set:has(#te-eg-req-product:checked) .te-eg-card__hint--product { display: block; }

@media (max-width: 1100px) {
	.te-eg-phases { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
	.te-eg-phases::before { left: 0.5rem; right: auto; top: 1rem; bottom: 0; width: 2px; height: auto; background: repeating-linear-gradient(180deg, var(--te-steel) 0 10px, transparent 10px 16px); }
	.te-eg-phases > li { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 2rem; padding-left: 2.2rem; }
	.te-eg-phases > li > * { grid-column: 2; }
	.te-eg-phases__ms { grid-column: 1 / -1 !important; margin-left: -2.2rem; }
	.te-eg-phases__img { grid-column: 1 !important; grid-row: 2 / span 5; }
}
@media (max-width: 1024px) {
	.te-eg-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-eg-dwg { max-width: 600px; }
	.te-eg-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-eg-hero > .te-svc-hero__media { width: 100%; }
	.te-eg-rigor { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
	.te-eg-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.te-eg-red { grid-template-columns: minmax(0, 1fr); }
	.te-eg-red__sheet { position: relative; top: 0; }
}
@media (max-width: 600px) {
	.te-eg-bench ul { grid-template-columns: minmax(0, 1fr); }
	.te-eg-dwg__face { grid-template-columns: minmax(0, 1fr); }
	.te-eg-dwg__notes { border-right: 0; border-bottom: 1px solid rgba(143, 216, 242, .55); }
	.te-eg-phases > li { display: block; }
	.te-eg-phases__ms { margin-left: -2.2rem; }
	.te-eg-spec dl > div { grid-template-columns: minmax(0, 1fr); }
	.te-eg-spec dt { padding-bottom: 0; border-right: 0; }
	.te-eg-spec dd { padding-top: 0.4rem; }
	.te-eg-red__sheet { padding: 1.3rem 1.2rem 2.4rem; }
	.te-eg-sign { grid-template-columns: minmax(0, 1fr); }
	.te-eg-sign > div { border-right: 0; border-bottom: 1px solid rgba(143, 216, 242, .3); }
	.te-eg-sign > div:last-child { border-bottom: 0; }
}

/* ==========================================================================
   SaaS and software industry (.te-sa-*)
   ========================================================================== */

.te-sa-hero p, .te-sa-clients p, .te-sa-pillars p, .te-sa-pdlc p, .te-sa-stack p { margin: 0; }
.te-sa-hero, .te-sa-pillars, .te-sa-pdlc-section, .te-sa-stack { --sa-ink: #0E1726; --sa-code: #0F1B2B; --sa-violet: #7C6CF2; --sa-mint: #2BD4A4; --sa-amber: #F5B23D; --sa-red: #E5484D; }

/* Hero: copy left, app preview right */
.te-sa-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-sa-hero__copy > * { margin-block: 0; }
.te-sa-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-sa-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-sa-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-sa-hero > .te-svc-hero__media { width: 66%; }
.te-sa-hero .te-svc-hero__media img { object-position: 55% 40%; }

.te-sa-app { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(15, 27, 43, .84); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-sa-app__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-sa-app__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-sa-app__lang label { position: relative; cursor: pointer; }
.te-sa-app__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-sa-app__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-sa-app__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-sa-app__lang input:checked + span { background: #fff; color: var(--te-navy); }
.te-sa-app__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }

.te-sa-app__win { margin-top: 0.9rem; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px rgba(255, 255, 255, .2); }
.te-sa-app__win::before { content: ""; display: block; height: 1.7rem; background: #EEF1F5 radial-gradient(circle, #FF5F57 0 4px, transparent 4.5px) 0.75rem 50% / 14px 14px no-repeat; box-shadow: inset 0 -1px 0 #DDE3EA; }
.te-sa-app__face { display: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.te-sa-app:has(#te-sa-l-en:checked) .te-sa-app__face--en,
.te-sa-app:has(#te-sa-l-de:checked) .te-sa-app__face--de,
.te-sa-app:has(#te-sa-l-fr:checked) .te-sa-app__face--fr,
.te-sa-app:has(#te-sa-l-ja:checked) .te-sa-app__face--ja,
.te-sa-app:has(#te-sa-l-pt:checked) .te-sa-app__face--pt,
.te-sa-app:has(#te-sa-l-ar:checked) .te-sa-app__face--ar { display: grid; }
@media (prefers-reduced-motion: no-preference) {
	.te-sa-app__face { animation: te-ec-face .45s ease; }
}
.te-sa-app__ui { display: flex; flex-direction: column; gap: 0.7rem; padding: 1.1rem 1.1rem 1.2rem; color: var(--sa-ink); }
.te-sa-app__title { font-size: 1.1rem; font-weight: 800; line-height: 1.25; }
.te-sa-app__greet { font-size: 0.85rem; line-height: 1.45; color: #475467; }
.te-sa-app__greet b { padding: 0 0.2rem; border-radius: 3px; background: rgba(124, 108, 242, .14); color: #4B3FCF; }
.te-sa-app__err { position: relative; padding: 0.5rem 0.65rem 0.5rem 1.9rem; border-radius: 8px; background: #FDECEE; font-size: 0.78rem; font-weight: 600; line-height: 1.4; color: #9B1C2C; }
.te-sa-app__ui[dir="rtl"] .te-sa-app__err { padding: 0.5rem 1.9rem 0.5rem 0.65rem; }
.te-sa-app__err::before { content: "!"; position: absolute; inset-inline-start: 0.6rem; top: 0.55rem; display: grid; place-items: center; width: 0.95rem; height: 0.95rem; border-radius: 50%; background: var(--sa-red); font-size: 0.65rem; font-weight: 900; color: #fff; }
.te-sa-app__btn { align-self: flex-start; padding: 0.6rem 1rem; border-radius: 8px; background: var(--te-navy); font-size: 0.85rem; font-weight: 800; color: #fff; }
.te-sa-app__code { min-width: 0; padding: 0.9rem 1rem; background: var(--sa-code); color: #D6E2F0; }
.te-sa-app__file { margin-bottom: 0.5rem !important; font-size: 0.72rem; font-weight: 700; color: #8CA3BD; }
.te-sa-app__code pre { margin: 0; padding: 0; background: none; font-size: 0.74rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.te-sa-app__code code { font-family: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace; background: none; padding: 0; color: #E6EEF7; }
.te-sa-app__k { color: #9DB8FF; }
.te-sa-app__code code span[lang] { unicode-bidi: isolate; }
.te-sa-app__ph { color: var(--sa-amber); font-weight: 700; }
.te-sa-app__ci { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; padding: 0.55rem 1rem; border-top: 1px solid #DDE3EA; background: #F6F8FA; font-size: 0.75rem; font-weight: 700; color: #1E7F51; }
.te-sa-app__ci span { display: inline-flex; align-items: center; gap: 0.35rem; }
.te-sa-app__ci span::before { content: ""; width: 0.8rem; height: 0.8rem; background: currentColor; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-sa-app figcaption { margin-top: 0.7rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-sa-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-sa-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-sa-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(43, 212, 164, .55); }
.te-sa-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #5FE3BD; }
.te-sa-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-sa-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Client marquee */
.te-sa-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-sa-clients { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-sa-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-sa-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-sa-clients__track { display: flex; width: max-content; }
.te-sa-clients ul { display: flex; flex: none; align-items: center; gap: 3.5rem; margin: 0; padding: 0 3.5rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-sa-clients__track { animation: te-lg-marquee 34s linear infinite; }
	.te-sa-clients:hover .te-sa-clients__track { animation-play-state: paused; }
}
.te-sa-clients li { margin: 0; }
.te-sa-clients img { display: block; width: auto; height: auto; max-height: 44px; max-width: 120px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.te-sa-clients img.te-sa-clients__wide { max-width: 150px; max-height: 28px; }
.te-sa-clients li:hover img { filter: none; opacity: 1; }

/* Pillars: CI/CD pipeline, churn, legal */
.te-sa-pillars { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 3vw, 2.5rem); align-items: stretch; }
.te-sa-ci { padding: clamp(1.6rem, 3vw, 2.4rem); border-radius: 18px; background: var(--sa-ink); color: #fff; }
.te-sa-ci h3 { margin: 0; font-size: 1.5rem; line-height: 1.25; color: #fff; }
.te-sa-ci > p { margin-top: 0.7rem !important; max-width: 36rem; font-size: 1rem; line-height: 1.6; color: rgba(255, 255, 255, .78); }
.te-sa-ci__steps { position: relative; display: grid; gap: 0; margin: 1.8rem 0 0; padding: 0; list-style: none; }
.te-sa-ci__steps > li { position: relative; display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: 1rem; margin: 0; padding-bottom: 1.15rem; }
.te-sa-ci__steps > li:last-child { padding-bottom: 0; }
.te-sa-ci__steps > li:not(:last-child)::before { content: ""; position: absolute; left: 1.05rem; top: 2.2rem; bottom: 0; width: 2px; background: linear-gradient(var(--sa-mint), rgba(43, 212, 164, .2)); }
.te-sa-ci__node { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: rgba(43, 212, 164, .12); box-shadow: inset 0 0 0 2px var(--sa-mint); font-size: 0.85rem; font-weight: 800; color: #5FE3BD; }
.te-sa-ci__steps > li:last-child .te-sa-ci__node { background: var(--sa-mint); color: var(--sa-ink); }
.te-sa-ci h4 { margin: 0.2rem 0 0; font-size: 1rem; color: #fff; }
.te-sa-ci__steps p { margin-top: 0.2rem !important; font-size: 0.9rem; line-height: 1.5; color: rgba(255, 255, 255, .72); }
.te-sa-pillars__side { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.te-sa-card { padding: 1.6rem; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px var(--te-line), 0 30px 60px -50px rgba(15, 42, 61, .55); }
.te-sa-card__img { margin: -0.4rem -0.4rem 1.2rem; overflow: hidden; border-radius: 12px; aspect-ratio: 16 / 8; }
.te-sa-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.te-sa-card h3 { margin: 0; font-size: 1.25rem; line-height: 1.3; }
.te-sa-card p { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-sa-card--legal { border-top: 4px solid var(--sa-violet); }

/* PDLC swimlanes */
.te-sa-pdlc { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.te-sa-pdlc__intro { position: sticky; top: calc(var(--te-header-h) + 2rem); }
.te-sa-pdlc__intro .te-eyebrow { margin: 0; }
.te-sa-pdlc__intro h2 { margin: 0.9rem 0 0; }
.te-sa-pdlc__intro .te-head__lede { margin-top: 1rem !important; }
.te-sa-pdlc__lanes { display: grid; gap: 1.25rem; }
.te-sa-lane { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--te-line); --lane: var(--te-steel-deep); }
.te-sa-lane--2 { --lane: #6A5AE0; }
.te-sa-lane--3 { --lane: #13906F; }
.te-sa-lane header { padding: 1.4rem 1.3rem; border-left: 5px solid var(--lane); background: color-mix(in srgb, var(--lane) 7%, #fff); }
.te-sa-lane h3 { margin: 0; font-size: 1.2rem; line-height: 1.25; color: var(--lane); }
.te-sa-lane header p { margin-top: 0.4rem !important; font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-sa-lane ul { display: grid; margin: 0; padding: 0.4rem 1.3rem; list-style: none; }
.te-sa-lane li { margin: 0; padding: 0.8rem 0; border-bottom: 1px solid var(--te-line); }
.te-sa-lane li:last-child { border-bottom: 0; }
.te-sa-lane h4 { margin: 0; font-size: 0.98rem; color: var(--te-ink); }
.te-sa-lane li p { margin-top: 0.15rem !important; font-size: 0.88rem; line-height: 1.5; color: var(--te-slate); }

/* Tech stack: contextual review, platforms, NMT */
.te-sa-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); }
.te-sa-stack__item { padding: 1.7rem; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px var(--te-line), 0 30px 60px -50px rgba(15, 42, 61, .55); }
.te-sa-stack__item--wide { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.te-sa-stack h3 { margin: 0; font-size: 1.3rem; line-height: 1.3; }
.te-sa-stack__item > p, .te-sa-stack__copy p { margin-top: 0.6rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-sa-exp { display: grid; gap: 0.9rem; margin: 0; padding: 1.3rem; border-radius: 14px; background: #F4F6F9; list-style: none; }
.te-sa-exp li { display: grid; grid-template-columns: 11.5rem 10.5rem minmax(0, 1fr); gap: 1rem 1.6rem; align-items: center; margin: 0; }
.te-sa-exp__lbl { font-size: 0.85rem; font-weight: 700; color: var(--te-ink); }
.te-sa-exp__btn { display: block; width: 10.5rem; box-sizing: border-box; padding: 0.55rem 0.8rem; border-radius: 8px; background: var(--te-navy); font-size: 0.9rem; font-weight: 800; color: #fff; white-space: nowrap; }
.te-sa-exp__btn > span { display: block; overflow: hidden; }
.te-sa-exp--bad .te-sa-exp__btn { background: #fff; box-shadow: inset 0 0 0 2px var(--sa-red); color: var(--te-navy); }
.te-sa-exp--bad .te-sa-exp__btn > span { overflow: visible; text-decoration: line-through; text-decoration-color: var(--sa-red); }
.te-sa-exp__note { position: relative; padding-left: 1.3rem; font-size: 0.82rem; font-weight: 700; color: #1E7F51; }
.te-sa-exp__note::before { content: ""; position: absolute; left: 0; top: 0.1rem; width: 0.95rem; height: 0.95rem; background: currentColor; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-sa-exp--bad .te-sa-exp__note { color: #B4232F; }
.te-sa-exp--bad .te-sa-exp__note::before { content: "×"; display: grid; place-items: center; background: none; -webkit-mask: none; mask: none; font-size: 1.1rem; font-weight: 900; line-height: 0.9; }
.te-sa-stack__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 1.1rem 0 0; padding: 0; list-style: none; }
.te-sa-stack__chips li { margin: 0; padding: 0.3rem 0.75rem; border-radius: 99px; background: #EEF2F6; font-size: 0.82rem; font-weight: 700; color: var(--te-ink); }
.te-sa-stack__flow { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-top: 1.1rem !important; }
.te-sa-stack__flow span { padding: 0.3rem 0.75rem; border-radius: 6px; box-shadow: inset 0 0 0 1.5px #C9D3DD; font-size: 0.82rem; font-weight: 700; color: var(--te-ink); }
.te-sa-stack__flow span + span::before { content: ""; display: inline-block; width: 0.9rem; height: 2px; margin: 0 0.5rem 0.25rem -1.3rem; background: #C9D3DD; }
.te-sa-stack__flow span:last-child { background: var(--te-navy); box-shadow: none; color: #fff; }

.te-dh-card__set:has(#te-sa-req-ui:checked) .te-sa-card__hint--ui,
.te-dh-card__set:has(#te-sa-req-docs:checked) .te-sa-card__hint--docs,
.te-dh-card__set:has(#te-sa-req-marketing:checked) .te-sa-card__hint--marketing,
.te-dh-card__set:has(#te-sa-req-legal:checked) .te-sa-card__hint--legal { display: block; }

@media (max-width: 1100px) {
	.te-sa-pdlc { grid-template-columns: minmax(0, 1fr); }
	.te-sa-pdlc__intro { position: static; max-width: 40rem; }
	.te-sa-stack__item--wide { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
	.te-sa-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-sa-app { max-width: 640px; }
	.te-sa-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-sa-hero > .te-svc-hero__media { width: 100%; }
	.te-sa-pillars { grid-template-columns: minmax(0, 1fr); }
	.te-sa-pillars__side { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}
@media (max-width: 900px) {
	.te-sa-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.te-sa-stack { grid-template-columns: minmax(0, 1fr); }
	.te-sa-lane { grid-template-columns: minmax(0, 1fr); }
	.te-sa-lane header { border-left: 0; border-top: 5px solid var(--lane); }
	.te-sa-exp li { grid-template-columns: 10.5rem minmax(0, 1fr); }
	.te-sa-exp__lbl { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.te-sa-bench ul { grid-template-columns: minmax(0, 1fr); }
	.te-sa-app__face { grid-template-columns: minmax(0, 1fr); }
	.te-sa-pillars__side { grid-template-columns: minmax(0, 1fr); }
	.te-sa-exp li { grid-template-columns: minmax(0, 1fr); gap: 0.4rem; }
	.te-sa-stack__item { padding: 1.3rem; }
	.te-sa-exp { padding: 1rem; }
}

/* ==========================================================================
   Video games industry (.te-vg-*)
   ========================================================================== */

.te-vg-hero p, .te-vg-clients p, .te-vg-value p, .te-vg-map p, .te-vg-plat p, .te-vg-risk p, .te-vg-eng p { margin: 0; }
.te-vg-hero, .te-vg-value, .te-vg-map-section, .te-vg-plat, .te-vg-risk, .te-vg-eng-section { --vg-night: #15112E; --vg-deep: #0D0A20; --vg-gold: #F2B544; --vg-cyan: #49D6F2; --vg-violet: #8B7CF6; --vg-red: #E5484D; --vg-cut: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px); }

/* Hero: copy left, quest screen right */
.te-vg-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.te-vg-hero__copy > * { margin-block: 0; }
.te-vg-hero__copy .te-svc-hero__title { margin-top: 0.9rem !important; }
.te-vg-hero__copy .te-svc-hero__lede { margin-top: 1.25rem !important; }
.te-vg-hero__copy .te-svc-hero__ctas { margin-top: 2rem !important; }
.te-vg-hero > .te-svc-hero__media { width: 66%; }
.te-vg-hero .te-svc-hero__media img { object-position: 60% 30%; }

.te-vg-q { margin: 0; padding: 1.1rem; border-radius: 18px; background: rgba(21, 17, 46, .86); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 40px 70px -35px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.te-vg-q__lang { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0; border: 0; }
.te-vg-q__lang legend { float: left; margin-right: 0.5rem; padding: 0; font-size: 0.82rem; font-weight: 700; color: rgba(255, 255, 255, .75); }
.te-vg-q__lang label { position: relative; cursor: pointer; }
.te-vg-q__lang input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-vg-q__lang span { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .35); font-size: 0.8rem; font-weight: 700; color: #fff; transition: background .15s, color .15s; }
.te-vg-q__lang label:hover span { box-shadow: inset 0 0 0 1.5px #fff; }
.te-vg-q__lang input:checked + span { background: #fff; color: var(--vg-night); }
.te-vg-q__lang input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }

.te-vg-q__screen { position: relative; margin-top: 0.9rem; padding: 2px; background: linear-gradient(135deg, var(--vg-gold), rgba(242, 181, 68, .15) 40%, rgba(73, 214, 242, .5)); clip-path: var(--vg-cut); }
.te-vg-q__face { display: none; flex-direction: column; gap: 0.8rem; padding: 1.2rem 1.25rem 1.25rem; background: radial-gradient(120% 90% at 100% 0, rgba(139, 124, 246, .25), transparent 60%), var(--vg-deep); clip-path: var(--vg-cut); color: #EDEAFF; }
.te-vg-q:has(#te-vg-l-en:checked) .te-vg-q__face--en,
.te-vg-q:has(#te-vg-l-ja:checked) .te-vg-q__face--ja,
.te-vg-q:has(#te-vg-l-de:checked) .te-vg-q__face--de,
.te-vg-q:has(#te-vg-l-fr:checked) .te-vg-q__face--fr,
.te-vg-q:has(#te-vg-l-es:checked) .te-vg-q__face--es,
.te-vg-q:has(#te-vg-l-ko:checked) .te-vg-q__face--ko { display: flex; }
@media (prefers-reduced-motion: no-preference) {
	.te-vg-q__face { animation: te-ec-face .45s ease; }
}
.te-vg-q__label { font-size: 0.75rem; font-weight: 800; color: var(--vg-gold); }
.te-vg-q__title { margin-top: -0.4rem !important; font-size: 1.4rem; font-weight: 800; line-height: 1.2; color: #fff; }
.te-vg-q__talk { padding: 0.75rem 0.9rem; border-left: 3px solid var(--vg-cyan); background: rgba(73, 214, 242, .08); }
.te-vg-q__who { display: block; font-size: 0.75rem; font-weight: 800; color: var(--vg-cyan); }
.te-vg-q__talk p { margin-top: 0.25rem !important; font-size: 0.92rem; line-height: 1.5; color: #fff; }
.te-vg-q__loot { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.75rem; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(242, 181, 68, .45); background: rgba(242, 181, 68, .08); }
.te-vg-q__gem { flex: none; width: 1.6rem; height: 1.6rem; background: linear-gradient(135deg, #FFD58A, var(--vg-gold) 45%, #B36A12); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.te-vg-q__loot b { display: block; font-size: 0.9rem; color: #FFD58A; }
.te-vg-q__loot span { display: block; font-size: 0.8rem; font-weight: 700; color: #7FE3A9; }
.te-vg-q__btns { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.te-vg-q__btn { padding: 0.5rem 1.1rem; background: rgba(255, 255, 255, .14); font-size: 0.85rem; font-weight: 800; color: #fff; clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%); }
.te-vg-q__btn--go { background: var(--vg-gold); color: var(--vg-deep); }
.te-vg-q__checks { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin-top: 0.75rem !important; font-size: 0.78rem; font-weight: 700; color: #7FE3A9; }
.te-vg-q__checks span { display: inline-flex; align-items: center; gap: 0.35rem; }
.te-vg-q__checks span::before { content: ""; width: 0.8rem; height: 0.8rem; background: currentColor; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-vg-q figcaption { margin-top: 0.6rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .72); }

.te-vg-bench { position: relative; z-index: 1; margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; padding-top: 1.75rem; border-top: 1px solid rgba(255, 255, 255, .16); }
.te-vg-bench ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.te-vg-bench li { margin: 0; padding-left: 1.1rem; border-left: 2px solid rgba(242, 181, 68, .6); }
.te-vg-bench strong { display: block; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 800; line-height: 1; color: #F2B544; }
.te-vg-bench__lbl { display: block; margin-top: 0.5rem; font-size: 0.95rem; font-weight: 700; color: #fff; }
.te-vg-bench__sub { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.45; color: rgba(255, 255, 255, .68); }

/* Publisher marquee */
.te-vg-clients-section { padding-block: 1.8rem; border-bottom: 1px solid var(--te-line); background: #fff; }
.te-vg-clients { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 2.5rem; align-items: center; }
.te-vg-clients__k { font-size: 0.9rem; font-weight: 700; line-height: 1.4; color: var(--te-slate); }
.te-vg-clients__view { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.te-vg-clients__track { display: flex; width: max-content; }
.te-vg-clients ul { display: flex; flex: none; align-items: center; gap: 3.5rem; margin: 0; padding: 0 3.5rem 0 0; list-style: none; }
@media (prefers-reduced-motion: no-preference) {
	.te-vg-clients__track { animation: te-lg-marquee 32s linear infinite; }
	.te-vg-clients:hover .te-vg-clients__track { animation-play-state: paused; }
}
.te-vg-clients li { margin: 0; }
.te-vg-clients img { display: block; width: auto; height: auto; max-height: 50px; max-width: 120px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1); opacity: .7; transition: opacity .2s, filter .2s; }
.te-vg-clients img.te-vg-clients__wide { max-width: 150px; max-height: 34px; }
.te-vg-clients li:hover img { filter: none; opacity: 1; }

/* Executive value cards */
.te-vg-value { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); margin: 0; padding: 0; list-style: none; }
.te-vg-value__card { position: relative; display: flex; flex-direction: column; margin: 0; padding: 1.7rem 1.6rem 2.1rem; background: var(--vg-night); color: #fff; clip-path: var(--vg-cut); }
.te-vg-value__card::after { content: ""; position: absolute; left: 1.6rem; right: 1.6rem; bottom: 0; height: 3px; background: var(--vg-gold); }
.te-vg-value__card--2::after { background: var(--vg-cyan); }
.te-vg-value__card--3::after { background: var(--vg-violet); }
.te-vg-value__tag { align-self: flex-start; padding: 0.2rem 0.6rem; background: rgba(242, 181, 68, .14); font-size: 0.75rem; font-weight: 800; color: var(--vg-gold); }
.te-vg-value__card--2 .te-vg-value__tag { background: rgba(73, 214, 242, .12); color: var(--vg-cyan); }
.te-vg-value__card--3 .te-vg-value__tag { background: rgba(139, 124, 246, .18); color: #B9AEFF; }
.te-vg-value h3 { margin: 0.9rem 0 0; font-size: 1.3rem; line-height: 1.25; color: #fff; }
.te-vg-value__card > p:not([class]) { margin-top: 0.6rem; font-size: 0.95rem; line-height: 1.6; color: rgba(255, 255, 255, .78); }

/* Lifecycle as a level path */
.te-vg-map-section { background: var(--vg-night); background-image: radial-gradient(60% 80% at 100% 0, rgba(139, 124, 246, .22), transparent 70%), radial-gradient(50% 70% at 0 100%, rgba(73, 214, 242, .12), transparent 70%); color: #fff; }
.te-vg-map__intro { max-width: 40rem; }
.te-vg-map__intro .te-eyebrow { margin: 0; color: var(--vg-cyan); }
.te-vg-map__intro h2 { margin: 0.9rem 0 0; color: #fff; }
.te-vg-map__intro h2 .te-accent { color: var(--vg-gold); }
.te-vg-map__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-vg-map__path { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 6rem; gap: clamp(1.25rem, 2.5vw, 2rem); margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 0; list-style: none; }
.te-vg-map__path::before { content: ""; position: absolute; left: 1rem; right: 3rem; top: 1.1rem; height: 3px; background: repeating-linear-gradient(90deg, var(--vg-gold) 0 14px, transparent 14px 22px); opacity: .8; }
.te-vg-map__path > li { position: relative; margin: 0; }
.te-vg-map__node { position: relative; display: flex; align-items: center; gap: 0.6rem; height: 2.2rem; }
.te-vg-map__node::before { content: ""; width: 1.3rem; height: 1.3rem; margin-left: 0.4rem; background: var(--vg-gold); transform: rotate(45deg); box-shadow: 0 0 0 5px var(--vg-night), 0 0 18px rgba(242, 181, 68, .7); }
.te-vg-map__node span { padding: 0.15rem 0.6rem; background: var(--vg-night); box-shadow: inset 0 0 0 1.5px var(--vg-gold); font-size: 0.78rem; font-weight: 800; color: var(--vg-gold); }
.te-vg-map__path h3 { margin: 1.1rem 0 0; font-size: 1.3rem; line-height: 1.25; color: #fff; }
.te-vg-map__lead { margin-top: 0.35rem !important; font-size: 0.95rem; font-weight: 700; color: var(--vg-cyan); }
.te-vg-map__path ul { display: grid; gap: 0.5rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.te-vg-map__path ul li { position: relative; margin: 0; padding: 0.6rem 0.8rem 0.6rem 2rem; background: rgba(255, 255, 255, .06); font-size: 0.92rem; font-weight: 600; color: #fff; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%); }
.te-vg-map__path ul li::before { content: ""; position: absolute; left: 0.8rem; top: 50%; width: 0.5rem; height: 0.5rem; margin-top: -0.25rem; background: var(--vg-cyan); transform: rotate(45deg); }
.te-vg-map__gold { display: flex; align-items: flex-start; justify-content: center; }
.te-vg-map__gold span { display: grid; place-items: center; width: 4.6rem; height: 4.6rem; margin-top: -1.2rem; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFE7B0, var(--vg-gold) 55%, #A9640F); box-shadow: 0 0 0 5px var(--vg-night), 0 0 30px rgba(242, 181, 68, .55); font-size: 0.9rem; font-weight: 900; color: var(--vg-deep); }

/* Platform verticals */
.te-vg-plat { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.5rem, 3vw, 2.5rem); align-items: stretch; }
.te-vg-plat__img { margin: 0; overflow: hidden; clip-path: var(--vg-cut); }
.te-vg-plat__img img { display: block; width: 100%; height: 100%; min-height: 20rem; object-fit: cover; }
.te-vg-plat__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.te-vg-plat__grid li { position: relative; margin: 0; padding: 1.5rem 1.4rem; background: #fff; box-shadow: inset 0 0 0 1px var(--te-line); clip-path: var(--vg-cut); }
.te-vg-plat__grid li::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 0; width: 3px; background: var(--vg-gold); }
.te-vg-plat__grid li:nth-child(2)::before { background: var(--vg-cyan); }
.te-vg-plat__grid li:nth-child(3)::before { background: var(--vg-red); }
.te-vg-plat__grid li:nth-child(4)::before { background: var(--vg-violet); }
.te-vg-plat__ico { display: block; width: 2.6rem; height: 2.6rem; background: var(--vg-night); -webkit-mask: none; mask: none; position: relative; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.te-vg-plat__ico::after { content: ""; position: absolute; inset: 0.65rem; background: var(--vg-gold); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-vg-plat__grid h3 { margin: 1rem 0 0; font-size: 1.15rem; line-height: 1.3; }
.te-vg-plat__grid p { margin-top: 0.4rem !important; font-size: 0.93rem; line-height: 1.6; color: var(--te-slate); }

/* Cultural risk matrix */
.te-vg-risk { overflow: hidden; background: #fff; box-shadow: 0 0 0 1px var(--te-line), 0 30px 60px -50px rgba(15, 42, 61, .55); clip-path: var(--vg-cut); }
.te-vg-risk table { width: 100%; margin: 0; border-collapse: collapse; font-size: 0.93rem; }
.te-vg-risk thead th { padding: 0.9rem 1.2rem; background: var(--vg-night); text-align: left; font-size: 0.82rem; font-weight: 800; color: #fff; }
.te-vg-risk thead th:nth-child(3) { color: #FF9AA0; }
.te-vg-risk thead th:nth-child(4) { color: #7FE3A9; }
.te-vg-risk tbody th, .te-vg-risk td { padding: 1rem 1.2rem; border-bottom: 1px solid var(--te-line); text-align: left; vertical-align: top; line-height: 1.5; }
.te-vg-risk tbody th { width: 18%; font-weight: 800; color: var(--te-ink); }
.te-vg-risk td { color: var(--te-slate); }
.te-vg-risk__flag { position: relative; padding-left: 2.4rem !important; color: #9B1C2C !important; font-weight: 600; }
.te-vg-risk__flag::before { content: "!"; position: absolute; left: 1.1rem; top: 1.05rem; display: grid; place-items: center; width: 1rem; height: 1rem; border-radius: 50%; background: var(--vg-red); font-size: 0.65rem; font-weight: 900; color: #fff; }
.te-vg-risk__fix { position: relative; padding-left: 2.4rem !important; color: #17603F !important; font-weight: 600; }
.te-vg-risk__fix::before { content: ""; position: absolute; left: 1.1rem; top: 1.1rem; width: 1rem; height: 1rem; background: #1E7F51; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-vg-risk__out { padding: 1.1rem 1.2rem; background: #FFF8E8; font-size: 0.93rem; line-height: 1.55; color: var(--te-ink); }
.te-vg-risk__out b { margin-right: 0.4rem; color: #8A5A00; }

/* Engine integration and LQA bug report */
.te-vg-eng-section { background: #fff; }
.te-vg-eng { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-vg-eng__copy .te-eyebrow { margin: 0; }
.te-vg-eng__copy h2 { margin: 0.9rem 0 0; }
.te-vg-eng__item { margin-top: 1.4rem; padding-left: 1.1rem; border-left: 3px solid var(--vg-gold); }
.te-vg-eng__item:nth-of-type(2) { border-color: var(--vg-cyan); }
.te-vg-eng__item:nth-of-type(3) { border-color: var(--vg-violet); }
.te-vg-eng__item h3 { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.te-vg-eng__item p { margin-top: 0.35rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-vg-bug { padding: 1.4rem; background: var(--vg-night); color: #EDEAFF; clip-path: var(--vg-cut); box-shadow: 0 40px 70px -40px rgba(21, 17, 46, .8); }
.te-vg-bug__hd { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.te-vg-bug__hd b { font-size: 0.85rem; color: var(--vg-cyan); }
.te-vg-bug__state { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.2rem 0.6rem; border-radius: 99px; background: rgba(43, 182, 115, .16); font-size: 0.75rem; font-weight: 800; color: #7FE3A9; }
.te-vg-bug__title { margin-top: 0.6rem !important; font-size: 1.15rem; font-weight: 800; color: #fff; }
.te-vg-bug dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem 1rem; margin: 1rem 0 0; }
.te-vg-bug dt { font-size: 0.72rem; font-weight: 700; color: rgba(255, 255, 255, .55); }
.te-vg-bug dd { margin: 0.1rem 0 0; font-size: 0.88rem; font-weight: 700; color: #fff; }
.te-vg-bug__shot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin-top: 1.1rem; }
.te-vg-bug__menu { display: grid; gap: 0.35rem; padding: 0.8rem; background: var(--vg-deep); box-shadow: inset 0 0 0 1.5px var(--vg-red); }
.te-vg-bug__menu--ok { box-shadow: inset 0 0 0 1.5px #2BB673; }
.te-vg-bug__menu i { display: block; width: 7.2rem; max-width: 100%; overflow: hidden; padding: 0.35rem 0.5rem; background: rgba(255, 255, 255, .08); font-style: normal; font-size: 0.8rem; font-weight: 700; white-space: nowrap; color: #fff; }
.te-vg-bug__bad { box-shadow: inset -3px 0 0 var(--vg-red); color: #FF9AA0 !important; }
.te-vg-bug__note { margin-top: 0.9rem !important; font-size: 0.85rem; line-height: 1.5; color: rgba(255, 255, 255, .78); }

.te-dh-card__set:has(#te-vg-req-text:checked) .te-vg-card__hint--text,
.te-dh-card__set:has(#te-vg-req-vo:checked) .te-vg-card__hint--vo,
.te-dh-card__set:has(#te-vg-req-lqa:checked) .te-vg-card__hint--lqa,
.te-dh-card__set:has(#te-vg-req-culture:checked) .te-vg-card__hint--culture { display: block; }

@media (max-width: 1100px) {
	.te-vg-map__path { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	.te-vg-map__path::before { left: 1.05rem; right: auto; top: 1rem; bottom: 2rem; width: 3px; height: auto; background: repeating-linear-gradient(180deg, var(--vg-gold) 0 14px, transparent 14px 22px); }
	.te-vg-map__path > li:not(.te-vg-map__gold) { padding-left: 0; }
	.te-vg-map__path h3, .te-vg-map__lead, .te-vg-map__path ul { margin-left: 3rem !important; }
	.te-vg-map__gold { justify-content: flex-start; }
	.te-vg-map__gold span { margin: 0; width: 3.6rem; height: 3.6rem; font-size: 0.8rem; }
	.te-vg-value { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
	.te-vg-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-vg-q { max-width: 600px; }
	.te-vg-bench ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-vg-hero > .te-svc-hero__media { width: 100%; }
	.te-vg-eng { grid-template-columns: minmax(0, 1fr); }
	.te-vg-bug { max-width: 560px; }
}
@media (max-width: 900px) {
	.te-vg-clients { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.te-vg-plat { grid-template-columns: minmax(0, 1fr); }
	.te-vg-plat__img img { min-height: 0; height: 16rem; object-position: 50% 30%; }
	.te-vg-risk thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.te-vg-risk table, .te-vg-risk tbody, .te-vg-risk tr, .te-vg-risk th, .te-vg-risk td { display: block; width: auto !important; }
	.te-vg-risk tr { padding: 1rem 1.2rem; border-bottom: 1px solid var(--te-line); }
	.te-vg-risk tbody th, .te-vg-risk td { padding: 0.2rem 0; border: 0; }
	.te-vg-risk td::before { content: attr(data-label); display: block; margin-top: 0.5rem; font-size: 0.75rem; font-weight: 800; color: var(--te-ink); }
	.te-vg-risk__flag, .te-vg-risk__fix { padding-left: 0 !important; }
	.te-vg-risk__flag::after, .te-vg-risk__fix::after { content: none; }
	.te-vg-risk__flag::before, .te-vg-risk__fix::before { position: static; display: block; width: auto; height: auto; margin: 0.5rem 0 0; border-radius: 0; background: none; -webkit-mask: none; mask: none; font-size: 0.75rem; font-weight: 800; }
	.te-vg-risk__flag::before { color: #9B1C2C; }
	.te-vg-risk__fix::before { color: #17603F; }
}
@media (max-width: 600px) {
	.te-vg-bench ul, .te-vg-plat__grid { grid-template-columns: minmax(0, 1fr); }
	.te-vg-bug__shot { grid-template-columns: minmax(0, 1fr); }
}

/* Video games: game mode (HUD type, dark arena sections, achievements) */
.te-vg-hero, .te-vg-dark { --vg-hud: "Chakra Petch", var(--wp--preset--font-family--inter, Inter), sans-serif; }
.te-vg-hero .te-svc-hero__title, .te-vg-dark h2, .te-vg-dark h3, .te-vg-map h2, .te-vg-map h3, .te-vg-q__title, .te-vg-q__label, .te-vg-q__btn, .te-vg-bench strong, .te-vg-value__tag, .te-vg-map__node span, .te-vg-map__gold span, .te-vg-bug__hd b, .te-vg-bug__title, .te-vg-toast b, .te-vg-plat__sel { font-family: var(--vg-hud); }
.te-vg-hero .te-svc-hero__title { letter-spacing: -0.01em; }
.te-vg-hero .te-svc-hero__title .te-accent, .te-vg-dark h2 .te-accent, .te-vg-map h2 .te-accent { background: linear-gradient(90deg, #F2B544, #FFD58A 40%, #49D6F2); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Hero: scanlines and HUD corner brackets */
.te-vg-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 4px); }
.te-vg-hero .te-eyebrow { font-family: var(--vg-hud); color: #F2B544; }
.te-vg-hero .is-style-te-light .wp-block-button__link { background: #F2B544; color: #0D0A20; clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); border-radius: 0; padding-inline: 1.3rem; font-family: var(--vg-hud); font-weight: 700; }
.te-vg-hero .is-style-te-light .wp-block-button__link:hover { background: #FFD58A; }
.te-vg-hero .te-btn-outline-light .wp-block-button__link { border-radius: 0; font-family: var(--vg-hud); font-weight: 700; }
.te-vg-q { position: relative; border-radius: 0; clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px); box-shadow: inset 0 0 0 1px rgba(242, 181, 68, .35), 0 0 60px -20px rgba(139, 124, 246, .6); }
.te-vg-toast { position: absolute; z-index: 2; top: -1.9rem; right: 1.2rem; display: flex; align-items: center; gap: 0.6rem; margin: 0; padding: 0.5rem 0.9rem 0.5rem 0.55rem; background: #0D0A20; box-shadow: inset 0 0 0 1.5px #F2B544, 0 0 24px rgba(242, 181, 68, .45); font-size: 0.75rem; line-height: 1.25; color: rgba(255, 255, 255, .8); }
.te-vg-q:has(.te-vg-toast) { overflow: visible; clip-path: none; margin-top: 2rem; }
.te-vg-toast b { display: block; font-size: 0.8rem; color: #F2B544; }
.te-vg-toast__ico { flex: none; width: 1.9rem; height: 1.9rem; background: radial-gradient(circle at 35% 30%, #FFE7B0, #F2B544 55%, #A9640F); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
@media (prefers-reduced-motion: no-preference) {
	.te-vg-toast { animation: te-vg-toast 0.6s cubic-bezier(.2, .9, .3, 1.3) 1.1s both; }
}
@keyframes te-vg-toast { from { opacity: 0; transform: translateY(-12px) scale(.9); } to { opacity: 1; transform: none; } }

/* Bench as achievement badges */
.te-vg-bench li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 0.9rem; padding-left: 0; border-left: 0; }
.te-vg-bench strong { grid-row: 1 / span 2; display: grid; place-items: center; width: 4.4rem; height: 4.4rem; background: linear-gradient(135deg, #F2B544, #8B7CF6); clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); font-size: 1rem; }
.te-vg-bench strong span { display: grid; place-items: center; width: calc(100% - 6px); height: calc(100% - 6px); background: #15112E; clip-path: inherit; color: #F2B544; }
.te-vg-bench__lbl { margin-top: 0.7rem; }

/* Dark arena sections */
.te-vg-dark { position: relative; background-color: #15112E !important; background-image: linear-gradient(rgba(139, 124, 246, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(139, 124, 246, .07) 1px, transparent 1px); background-size: 48px 48px; color: #EDEAFF; }
.te-vg-dark:nth-of-type(even) { background-color: #110E26 !important; }
.te-vg-dark.te-section::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, #F2B544 0 22%, #49D6F2 22% 48%, #8B7CF6 48% 70%, rgba(255, 255, 255, .12) 70%); }
.te-vg-dark h2, .te-vg-dark h3, .te-vg-dark h4 { color: #fff; }
.te-vg-dark .te-head__lede, .te-vg-dark .te-br-req__intro .te-head__lede { color: rgba(237, 234, 255, .75); }
.te-vg-dark .te-eyebrow, .te-vg-map .te-eyebrow { font-family: var(--vg-hud); font-weight: 700; color: #49D6F2; }
.te-vg-dark .te-head__link a { color: #F2B544; }
.te-vg-dark .te-head__link a:hover { color: #FFD58A; }

/* Publisher strip on dark */
.te-vg-clients-section.te-vg-dark { border-bottom: 1px solid rgba(139, 124, 246, .25); }
.te-vg-dark .te-vg-clients__k { color: rgba(237, 234, 255, .7); }
.te-vg-dark .te-vg-clients ul { gap: 1rem; padding-right: 1rem; }
.te-vg-dark .te-vg-clients li { display: grid; place-items: center; width: 9.5rem; height: 4.6rem; background: #EDEAFF; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); transition: background .2s; }
.te-vg-dark .te-vg-clients img { max-width: 7rem; max-height: 2.6rem; opacity: .85; }
.te-vg-dark .te-vg-clients img.te-vg-clients__wide { max-width: 7.5rem; max-height: 1.9rem; }
.te-vg-dark .te-vg-clients li:hover { background: #fff; }
.te-vg-dark .te-vg-clients li:hover img { filter: none; opacity: 1; }
main .wp-block-group.te-vg-dark, main .wp-block-group.te-vg-map-section { margin-block: 0 !important; }

/* Value cards as glowing power-ups */
.te-vg-dark .te-vg-value__card { background: linear-gradient(160deg, rgba(139, 124, 246, .16), rgba(13, 10, 32, .9) 60%); box-shadow: inset 0 0 0 1px rgba(139, 124, 246, .35); transition: transform .2s, box-shadow .2s; }
.te-vg-dark .te-vg-value__card:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(242, 181, 68, .8); }
.te-vg-value__card::before { content: ""; position: absolute; top: 1.5rem; right: 1.5rem; width: 1.4rem; height: 1.4rem; background: linear-gradient(135deg, #FFD58A, #F2B544 45%, #B36A12); clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); filter: drop-shadow(0 0 6px rgba(242, 181, 68, .8)); }
.te-vg-value__card--2::before { background: linear-gradient(135deg, #B8F3FF, #49D6F2); }
.te-vg-value__card--3::before { background: linear-gradient(135deg, #D6CFFF, #8B7CF6); }

/* Platforms as a character select */
.te-vg-dark .te-vg-plat__img { box-shadow: none; position: relative; }
.te-vg-dark .te-vg-plat__grid li { background: rgba(13, 10, 32, .75); box-shadow: inset 0 0 0 1px rgba(139, 124, 246, .35); transition: box-shadow .2s, transform .2s; }
.te-vg-dark .te-vg-plat__grid li:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 2px #F2B544, 0 0 30px -8px rgba(242, 181, 68, .6); }
.te-vg-dark .te-vg-plat__grid p { color: rgba(237, 234, 255, .72); }
.te-vg-dark .te-vg-plat__ico { background: rgba(242, 181, 68, .14); }
.te-vg-plat__sel { position: absolute; top: 1.5rem; right: 1.4rem; padding: 0.15rem 0.55rem; font-size: 0.72rem; font-weight: 700; color: rgba(237, 234, 255, .5); box-shadow: inset 0 0 0 1px rgba(237, 234, 255, .25); transition: color .2s, background .2s, box-shadow .2s; }
.te-vg-plat__grid li:hover .te-vg-plat__sel { background: #F2B544; color: #0D0A20; box-shadow: none; }

/* Risk matrix as an inventory screen */
.te-vg-dark .te-vg-risk { background: rgba(13, 10, 32, .85); box-shadow: inset 0 0 0 1px rgba(139, 124, 246, .4), 0 0 50px -20px rgba(139, 124, 246, .55); }
.te-vg-dark .te-vg-risk thead th { background: rgba(139, 124, 246, .22); font-family: var(--vg-hud); }
.te-vg-dark .te-vg-risk tbody th { color: #fff; font-family: var(--vg-hud); font-size: 1rem; }
.te-vg-dark .te-vg-risk tbody th, .te-vg-dark .te-vg-risk td, .te-vg-dark .te-vg-risk tr { border-color: rgba(139, 124, 246, .22); }
.te-vg-dark .te-vg-risk td { color: rgba(237, 234, 255, .75); }
.te-vg-dark .te-vg-risk__flag { color: #FF9AA0 !important; }
.te-vg-dark .te-vg-risk__fix { color: #7FE3A9 !important; }
.te-vg-dark .te-vg-risk__fix::before { background: #2BB673; }
.te-vg-dark .te-vg-risk tbody tr:hover { background: rgba(242, 181, 68, .06); }
.te-vg-dark .te-vg-risk__out { background: rgba(242, 181, 68, .1); color: #EDEAFF; }
.te-vg-dark .te-vg-risk__out b { color: #F2B544; font-family: var(--vg-hud); }
@media (max-width: 900px) {
	.te-vg-dark .te-vg-risk td::before { color: #fff; }
	.te-vg-dark .te-vg-risk__flag::before { color: #FF9AA0; }
	.te-vg-dark .te-vg-risk__fix::before { color: #7FE3A9; background: none; }
}

/* Engine section on dark */
.te-vg-eng-section.te-vg-dark { background-color: #15112E !important; }
.te-vg-dark .te-vg-eng__item p { color: rgba(237, 234, 255, .75); }
.te-vg-dark .te-vg-bug { background: #1E1840; box-shadow: inset 0 0 0 1px rgba(73, 214, 242, .4), 0 0 60px -20px rgba(73, 214, 242, .45); }

/* Case studies, request, related on dark */
.te-vg-dark .te-cs-card a { border-color: rgba(139, 124, 246, .45); }
.te-vg-dark .te-cs-card a:hover { border-color: #F2B544; box-shadow: 0 0 32px -10px rgba(242, 181, 68, .6); }
.te-vg-dark .te-cs-card h3 { color: var(--te-navy); }
.te-vg-dark .te-br-req__tip { background: rgba(255, 255, 255, .06); border-left-color: #F2B544; color: rgba(237, 234, 255, .78); }
.te-vg-dark .te-br-req__tip strong { color: #fff; }
.te-vg-dark .te-dh-card { box-shadow: 0 0 0 1.5px #F2B544, 0 0 60px -15px rgba(242, 181, 68, .5); }
.te-vg-dark .te-dh-card h3, .te-vg-dark .te-dh-card h4 { color: var(--te-navy); }
.te-vg-dark .te-doc-related a { border-color: rgba(139, 124, 246, .45); background: rgba(13, 10, 32, .7); }
.te-vg-dark .te-doc-related a:hover { border-color: #F2B544; box-shadow: 0 0 30px -10px rgba(242, 181, 68, .6); }
.te-vg-dark .te-doc-related strong { color: #fff; }
.te-vg-dark .te-doc-related a > span:last-child > span { color: rgba(237, 234, 255, .7); }
.te-vg-dark .te-doc-related__ico { background: #F2B544; }
@media (max-width: 600px) {
	.te-vg-toast { right: 0.8rem; left: 0.8rem; }
	.te-vg-bench strong { width: 3.8rem; height: 3.8rem; font-size: 0.9rem; }
}

/* ==========================================================================
   Blog index (.te-bl-*)
   ========================================================================== */

.te-bl-hero, .te-bl-topics, .te-bl-ceo-section, .te-bl-river { --bl-serif: "Newsreader", Georgia, "Times New Roman", serif; --bl-tr: #2F7EA0; --bl-in: #13906F; --bl-la: #6A5AE0; --bl-cu: #C8551F; --bl-ma: #C2255C; --bl-gn: #4A5A6A; }
.te-bl-hero p, .te-bl-river p, .te-bl-ceo p, .te-bl-lead p { margin: 0; }

/* Topic chip and byline */
.te-bl-topic { display: inline-block; align-self: flex-start; padding: 0.18rem 0.6rem; border-radius: 99px; background: color-mix(in srgb, var(--c, var(--bl-gn)) 12%, #fff); font-size: 0.75rem; font-weight: 800; color: var(--c, var(--bl-gn)); }
.te-bl-topic--tr { --c: var(--bl-tr); } .te-bl-topic--in { --c: var(--bl-in); } .te-bl-topic--la { --c: var(--bl-la); } .te-bl-topic--cu { --c: var(--bl-cu); } .te-bl-topic--ma { --c: var(--bl-ma); }
.te-bl-meta { display: flex; flex-wrap: wrap; gap: 0.2rem 0.55rem; font-size: 0.8rem; color: var(--te-slate); }
.te-bl-meta > * + *::before { content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 0.55rem 0.2rem 0; border-radius: 50%; background: #9AA8B4; vertical-align: middle; }
.te-bl-meta span:first-child { font-weight: 700; color: var(--te-ink); }

/* Generated covers for posts without a featured image */
.te-bl-art.te-bl-art { position: relative; display: flex; align-items: flex-end; overflow: hidden; box-sizing: border-box; padding: 1rem 1.2rem; background-color: var(--c, var(--bl-gn)); color: #fff; }
.te-bl-art::after { content: ""; position: absolute; right: -1.5rem; top: -1.5rem; width: 9rem; height: 9rem; border-radius: 50%; background: rgba(255, 255, 255, .1); }
.te-bl-art b { position: relative; padding-top: 0.5rem; border-top: 2px solid rgba(255, 255, 255, .7); font-family: var(--bl-serif); font-size: 1.15rem; font-weight: 600; line-height: 1; }
.te-bl-lead .te-bl-art b, .te-bl-card--wide .te-bl-art b { font-size: 1.6rem; }
.te-bl-art--tr { --c: var(--bl-tr); background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .09) 0 14px, transparent 14px 28px); }
.te-bl-art--in { --c: var(--bl-in); background-image: repeating-radial-gradient(circle at 85% 30%, rgba(255, 255, 255, .14) 0 2px, transparent 2px 18px); }
.te-bl-art--la { --c: var(--bl-la); background-image: radial-gradient(rgba(255, 255, 255, .22) 1.5px, transparent 1.5px); background-size: 16px 16px; }
.te-bl-art--cu { --c: var(--bl-cu); background-image: linear-gradient(45deg, rgba(255, 255, 255, .1) 25%, transparent 25% 75%, rgba(255, 255, 255, .1) 75%), linear-gradient(45deg, rgba(255, 255, 255, .1) 25%, transparent 25% 75%, rgba(255, 255, 255, .1) 75%); background-size: 28px 28px; background-position: 0 0, 14px 14px; }
.te-bl-art--ma { --c: var(--bl-ma); background-image: linear-gradient(90deg, rgba(255, 255, 255, .14) 0 12%, transparent 12% 20%, rgba(255, 255, 255, .2) 20% 32%, transparent 32% 40%, rgba(255, 255, 255, .26) 40% 52%, transparent 52%); background-size: 100% 60%; background-position: 70% 100%; background-repeat: no-repeat; }
.te-bl-art--gn { --c: var(--bl-gn); background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, .08) 0 1px, transparent 1px 12px); }

/* Hero: masthead, search, lead story */
.te-bl-hero { padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(3rem, 6vw, 5rem); background: linear-gradient(180deg, #EEF4F7, #fff); border-bottom: 1px solid var(--te-line); }
.te-bl-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-bl-hero__copy > * { margin-block: 0; }
/* Pages 2 and later have no lead story or CEO panel. */
.te-bl-hero__grid:not(:has(.te-bl-lead)) { grid-template-columns: minmax(0, 1fr); }
.te-bl-hero__grid:not(:has(.te-bl-lead)) .te-bl-hero__title { font-size: clamp(2.2rem, 4vw, 3.2rem); }
.te-bl-ceo-section:not(:has(.te-bl-ceo__list)) { display: none; }
.te-bl-hero__mast { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-top: 1.4rem !important; font-size: 0.88rem; color: var(--te-slate); }
.te-bl-hero__mast span:first-child { padding: 0.2rem 0.7rem; border-radius: 4px; background: var(--te-navy); font-weight: 800; color: #fff; }
.te-bl-hero__title { margin: 1rem 0 0 !important; font-family: var(--bl-serif); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 600; line-height: 1.04; letter-spacing: -0.015em; color: var(--te-ink); }
.te-bl-hero__title .te-accent { font-style: italic; }
.te-bl-hero__lede { margin-top: 1.2rem !important; max-width: 34rem; font-size: 1.1rem; line-height: 1.6; color: var(--te-slate); }
.te-bl-search { display: flex; max-width: 34rem; margin-top: 1.8rem !important; padding: 0.35rem; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #C9D5DE, 0 18px 40px -28px rgba(15, 42, 61, .5); }
.te-bl-search input[type="search"] { flex: 1; min-width: 0; padding: 0.7rem 0.8rem; border: 0; background: transparent; font: inherit; font-size: 0.98rem; color: var(--te-ink); }
.te-bl-search input[type="search"]:focus { outline: none; }
.te-bl-search:focus-within { box-shadow: 0 0 0 2px var(--te-steel-deep), 0 18px 40px -28px rgba(15, 42, 61, .5); }
.te-bl-search button { padding: 0.7rem 1.2rem; border: 0; border-radius: 9px; background: var(--te-navy); font: inherit; font-weight: 800; color: #fff; cursor: pointer; }
.te-bl-search button:hover { background: var(--te-steel-deep); }
.te-bl-search button:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

.te-bl-lead { margin: 0; }
.te-bl-lead a { display: grid; overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px var(--te-line), 0 40px 70px -45px rgba(15, 42, 61, .6); text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s; }
.te-bl-lead a:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--te-steel), 0 40px 70px -40px rgba(15, 42, 61, .7); }
.te-bl-lead a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-bl-lead__cover { display: block; aspect-ratio: 16 / 8; }
.te-bl-lead__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-bl-lead__body { display: flex; flex-direction: column; gap: 0.6rem; padding: 1.4rem 1.6rem 1.6rem; }
.te-bl-lead__k { font-size: 0.78rem; font-weight: 800; color: #C8551F; }
.te-bl-lead__k + .te-bl-topic { margin-top: -0.2rem; }
.te-bl-lead__title { font-family: var(--bl-serif); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 600; line-height: 1.15; color: var(--te-ink); }
.te-bl-lead a:hover .te-bl-lead__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.te-bl-lead__ex { font-size: 0.98rem; line-height: 1.6; color: var(--te-slate); }

/* Topic rail */
.te-bl-topics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-bl-topics li { margin: 0; }
.te-bl-topics__item { --c: var(--bl-gn); position: relative; display: flex; flex-direction: column; height: 100%; box-sizing: border-box; padding: 1.3rem 1.2rem 1.2rem; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--te-line); text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s; }
.te-bl-topics__item--tr { --c: var(--bl-tr); } .te-bl-topics__item--in { --c: var(--bl-in); } .te-bl-topics__item--la { --c: var(--bl-la); } .te-bl-topics__item--cu { --c: var(--bl-cu); } .te-bl-topics__item--ma { --c: var(--bl-ma); }
.te-bl-topics__item:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 2px var(--c); }
.te-bl-topics__item:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-bl-topics__glyph { display: block; width: 2.6rem; height: 2.6rem; border-radius: 10px; background: var(--c); }
.te-bl-topics__item--tr .te-bl-topics__glyph { background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .25) 0 5px, transparent 5px 10px); }
.te-bl-topics__item--in .te-bl-topics__glyph { background-image: repeating-radial-gradient(circle at 80% 30%, rgba(255, 255, 255, .3) 0 1.5px, transparent 1.5px 7px); }
.te-bl-topics__item--la .te-bl-topics__glyph { background-image: radial-gradient(rgba(255, 255, 255, .45) 1.2px, transparent 1.2px); background-size: 7px 7px; }
.te-bl-topics__item--cu .te-bl-topics__glyph { background-image: linear-gradient(45deg, rgba(255, 255, 255, .25) 25%, transparent 25% 75%, rgba(255, 255, 255, .25) 75%); background-size: 12px 12px; }
.te-bl-topics__item--ma .te-bl-topics__glyph { background-image: linear-gradient(90deg, rgba(255, 255, 255, .3) 0 18%, transparent 18% 32%, rgba(255, 255, 255, .45) 32% 50%, transparent 50% 64%, rgba(255, 255, 255, .6) 64% 82%, transparent 82%); background-size: 100% 55%; background-position: 50% 85%; background-repeat: no-repeat; }
.te-bl-topics__name { margin-top: 1rem; font-family: var(--bl-serif); font-size: 1.35rem; font-weight: 600; line-height: 1.2; color: var(--te-ink); }
.te-bl-topics__desc { margin-top: 0.35rem; font-size: 0.88rem; line-height: 1.5; color: var(--te-slate); }
.te-bl-topics__n { margin-top: auto; padding-top: 0.9rem; font-size: 0.82rem; font-weight: 800; color: var(--c); }

/* CEO perspectives */
.te-bl-ceo-section { background: var(--te-navy); color: #fff; }
.te-bl-ceo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-bl-ceo__intro .te-eyebrow { margin: 0; color: var(--te-sky); }
.te-bl-ceo__intro h2 { margin: 0.9rem 0 0; font-family: var(--bl-serif); font-weight: 600; color: #fff; }
.te-bl-ceo__intro h2 .te-accent { font-style: italic; color: var(--te-sky); }
.te-bl-ceo__intro .te-head__lede { margin-top: 1rem !important; color: rgba(255, 255, 255, .78); }
.te-bl-ceo__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-bl-ceo__list li { margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.te-bl-ceo__list a { display: grid; gap: 0.4rem; padding: 1.2rem 0.2rem; text-decoration: none; color: #fff; }
.te-bl-ceo__list .te-bl-topic { background: rgba(255, 255, 255, .12); color: #CFE7F2; }
.te-bl-ceo__t { font-family: var(--bl-serif); font-size: 1.35rem; font-weight: 600; line-height: 1.25; }
.te-bl-ceo__list a:hover .te-bl-ceo__t { text-decoration: underline; text-underline-offset: 4px; }
.te-bl-ceo__list a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-bl-ceo__m { font-size: 0.82rem; color: rgba(255, 255, 255, .62); }
.te-bl-ceo__all { margin-top: 1.1rem !important; }
.te-bl-ceo__all a { font-weight: 800; color: var(--te-sky); }

/* Article grid */
.te-bl-river__page { margin-bottom: 1.2rem !important; font-weight: 800; color: var(--te-slate); }
.te-bl-grid { display: grid; grid-auto-flow: row dense; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.2vw, 1.75rem); margin: 0; padding: 0; list-style: none; }
.te-bl-card { margin: 0; }
.te-bl-card a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--te-line); text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s; }
.te-bl-card a:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--te-steel), 0 28px 50px -34px rgba(15, 42, 61, .55); }
.te-bl-card a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-bl-card__cover { display: block; aspect-ratio: 16 / 9; }
.te-bl-card__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-bl-card__body { display: flex; flex: 1; flex-direction: column; gap: 0.6rem; padding: 1.2rem 1.3rem 1.3rem; }
.te-bl-card__title { margin: 0; font-family: var(--bl-serif); font-size: 1.35rem; font-weight: 600; line-height: 1.2; color: var(--te-ink); }
.te-bl-card a:hover .te-bl-card__title { text-decoration: underline; text-underline-offset: 4px; }
.te-bl-card__ex { font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }
.te-bl-card .te-bl-meta { margin-top: auto; padding-top: 0.4rem; }
.te-bl-card--wide { grid-column: span 2; }
.te-bl-card--wide a { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.te-bl-card--wide .te-bl-card__cover { aspect-ratio: auto; height: 100%; min-height: 15rem; }
.te-bl-card--wide .te-bl-card__cover img { object-position: 0 50%; }
.te-bl-card--wide .te-bl-card__body { justify-content: center; padding: 1.6rem 1.8rem; }
.te-bl-card--wide .te-bl-card__title { font-size: clamp(1.5rem, 2.2vw, 1.85rem); }
.te-bl-promo { display: flex; flex-direction: column; gap: 0.6rem; margin: 0; padding: 1.6rem; border-radius: 16px; background: var(--te-navy); color: #fff; }
.te-bl-promo__k { font-size: 0.78rem; font-weight: 800; color: var(--te-sky); }
.te-bl-promo__t { font-family: var(--bl-serif); font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
.te-bl-promo__d { font-size: 0.92rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }
.te-bl-promo__btn { align-self: flex-start; margin-top: auto; padding: 0.7rem 1.1rem; border-radius: 9px; background: #fff; font-weight: 800; text-decoration: none; color: var(--te-navy); }
.te-bl-promo__btn:hover { background: var(--te-ice); }
.te-bl-promo--wide, .te-bl-promo--full { grid-column: span 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; column-gap: 2rem; padding: 2rem 2.2rem; background: var(--te-navy) radial-gradient(90% 120% at 100% 0, rgba(124, 200, 230, .22), transparent 60%); }
.te-bl-promo--full { grid-column: 1 / -1; }
.te-bl-promo--wide > *, .te-bl-promo--full > * { grid-column: 1; }
.te-bl-promo--wide .te-bl-promo__btn, .te-bl-promo--full .te-bl-promo__btn { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0; }
.te-bl-promo--wide .te-bl-promo__t, .te-bl-promo--full .te-bl-promo__t { font-size: 1.8rem; }
.te-bl-pager { margin-top: clamp(2rem, 4vw, 3rem); }
.te-bl-pager ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.45rem; margin: 0; padding: 0; list-style: none; }
.te-bl-pager li { margin: 0; }
.te-bl-pager a, .te-bl-pager span { display: grid; place-items: center; min-width: 2.75rem; height: 2.75rem; box-sizing: border-box; padding: 0 0.8rem; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px #C9D5DE; font-weight: 700; text-decoration: none; color: var(--te-ink); }
.te-bl-pager a:hover { box-shadow: inset 0 0 0 2px var(--te-steel-deep); }
.te-bl-pager .current { background: var(--te-navy); box-shadow: none; color: #fff; }
.te-bl-pager .dots { background: none; box-shadow: none; }

@media (max-width: 1100px) {
	.te-bl-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-bl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.te-bl-hero__grid, .te-bl-ceo { grid-template-columns: minmax(0, 1fr); }
	.te-bl-lead { max-width: 680px; }
}
@media (max-width: 760px) {
	.te-bl-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-bl-grid { grid-template-columns: minmax(0, 1fr); }
	.te-bl-card--wide, .te-bl-promo--wide, .te-bl-promo--full { grid-column: auto; }
	.te-bl-promo--wide, .te-bl-promo--full { display: flex; padding: 1.6rem; }
	.te-bl-promo--wide .te-bl-promo__btn, .te-bl-promo--full .te-bl-promo__btn { margin-top: 0.6rem; }
	.te-bl-card--wide a { display: flex; }
	.te-bl-card--wide .te-bl-card__cover { aspect-ratio: 16 / 9; height: auto; min-height: 0; }
	.te-bl-card--wide .te-bl-card__body { padding: 1.2rem 1.3rem 1.3rem; }
}
@media (max-width: 480px) {
	.te-bl-topics { grid-template-columns: minmax(0, 1fr); }
	.te-bl-search { flex-wrap: wrap; }
	.te-bl-search button { width: 100%; }
}

/* ==========================================================================
   Single blog post (.te-ps-*), design B (executive briefing)
   ========================================================================== */

.te-ps { --bl-serif: "Newsreader", Georgia, "Times New Roman", serif; --bl-tr: #2F7EA0; --bl-in: #13906F; --bl-la: #6A5AE0; --bl-cu: #C8551F; --bl-ma: #C2255C; --bl-gn: #4A5A6A; --ps-w: 1240px; --ps-pad: clamp(1rem, 4vw, 1.5rem); }
.te-ps p { margin: 0; }
.te-ps a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

/* Reading progress (scroll-driven, no script) */
.te-ps-progress { display: none; }
@supports (animation-timeline: scroll()) {
	.te-ps-progress { display: block; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--te-steel), var(--te-signal)); transform-origin: 0 50%; transform: scaleX(0); animation: te-ps-progress linear both; animation-timeline: scroll(root); }
}
@keyframes te-ps-progress { to { transform: scaleX(1); } }

/* Shared pieces */
.te-ps-crumbs { display: flex; flex-wrap: wrap; gap: 0.45rem; font-size: 0.85rem; color: var(--te-slate); }
.te-ps-crumbs a { color: var(--te-steel-deep); text-decoration: none; }
.te-ps-crumbs a:hover { text-decoration: underline; }
.te-ps .te-bl-topic { text-decoration: none; }
.te-ps-title { margin: 0; font-family: var(--bl-serif); font-weight: 600; line-height: 1.08; letter-spacing: -0.01em; color: var(--te-ink); }
.te-ps-lede { font-family: var(--bl-serif); font-size: clamp(1.2rem, 1.8vw, 1.4rem); line-height: 1.5; color: #33424F; }
.te-ps-meta { display: flex; flex-wrap: wrap; gap: 0.25rem 0.6rem; font-size: 0.88rem; color: var(--te-slate); }
.te-ps-meta > * + *::before { content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 0.6rem 0.2rem 0; border-radius: 50%; background: #9AA8B4; vertical-align: middle; }
.te-ps-meta__by { font-weight: 700; color: var(--te-ink); }
.te-ps-meta { align-items: center; }
.te-ps-meta__av { width: 2rem; height: 2rem; margin-right: 0.15rem; border-radius: 50%; object-fit: cover; }
.te-ps-meta > .te-ps-meta__av + *::before { display: none; }
.te-ps-meta__by a { color: inherit; }
.te-ps-hero { margin: 0; overflow: hidden; }
.te-ps-hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-ps-hero .te-bl-art { width: 100%; height: 100%; min-height: 14rem; }
.te-ps-hero .te-bl-art b { font-size: 1.6rem; }

.te-ps-toc__h, .te-ps-share > p, .te-ps-points__h { font-size: 0.78rem; font-weight: 800; color: var(--te-slate); }
.te-ps-toc ol { margin: 0.6rem 0 0; padding: 0; list-style: none; border-left: 2px solid var(--te-line); }
.te-ps-toc li { margin: 0; }
.te-ps-toc a { display: block; margin-left: -2px; padding: 0.4rem 0 0.4rem 0.9rem; border-left: 2px solid transparent; font-size: 0.88rem; line-height: 1.4; text-decoration: none; color: var(--te-slate); }
.te-ps-toc a:hover { border-left-color: var(--te-steel-deep); color: var(--te-ink); }
.te-ps-share ul { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.6rem 0 0; padding: 0; list-style: none; }
.te-ps-share li { margin: 0; }
.te-ps-share a { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 99px; box-shadow: inset 0 0 0 1px #C9D5DE; font-size: 0.8rem; font-weight: 700; text-decoration: none; color: var(--te-ink); }
.te-ps-share a:hover { box-shadow: inset 0 0 0 2px var(--te-steel-deep); }

.te-ps-points { padding: 1.4rem 1.5rem; border-radius: 14px; background: #EEF4F7; }
.te-ps-points ul { display: grid; gap: 0.5rem; margin: 0.7rem 0 0; padding: 0; list-style: none; }
.te-ps-points li { position: relative; margin: 0; padding-left: 1.6rem; font-weight: 600; line-height: 1.45; color: var(--te-ink); }
.te-ps-points li::before { content: ""; position: absolute; left: 0; top: 0.2rem; width: 1rem; height: 1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

/* Article typography */
.te-ps-content { font-size: 1.1rem; line-height: 1.75; color: #2A3A47; }
.te-ps .te-ps-content > *, .te-ps .te-ps-content p { margin-block: 0 1.25rem; }
.te-ps-content > *:last-child { margin-bottom: 0; }
.te-ps-content h2 { margin: 2.6rem 0 1rem; font-family: var(--bl-serif); font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 600; line-height: 1.2; color: var(--te-ink); scroll-margin-top: calc(var(--te-header-h) + 1.5rem); }
.te-ps-content h3 { margin: 1.9rem 0 0.6rem; font-size: 1.2rem; font-weight: 800; line-height: 1.35; color: var(--te-ink); }
.te-ps-content a { color: var(--te-steel-deep); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.te-ps-content a:hover { color: var(--te-navy); text-decoration-thickness: 2px; }
.te-ps-content ul, .te-ps-content ol { padding-left: 1.3rem; }
.te-ps-content li { margin-bottom: 0.45rem; }
.te-ps-content li::marker { color: var(--te-steel-deep); }
.te-ps-content strong { color: var(--te-ink); }
.te-ps-content blockquote { margin-inline: 0; padding: 0.2rem 0 0.2rem 1.3rem; border-left: 3px solid var(--te-signal); font-family: var(--bl-serif); font-size: 1.3rem; color: var(--te-ink); }
.te-ps-content img { max-width: 100%; height: auto; border-radius: 12px; }
.te-ps-content figure { margin-inline: 0; }
.te-ps-content hr { margin: 2.4rem 0; border: 0; border-top: 1px solid var(--te-line); }
.te-ps-content table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.te-ps-content th, .te-ps-content td { padding: 0.6rem 0.8rem; border-bottom: 1px solid var(--te-line); text-align: left; }
.te-ps-content details { margin: 0 0 0.7rem; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px #D3DDE5; }
.te-ps-content details[open] { box-shadow: inset 0 0 0 1px var(--te-steel); }
.te-ps-content summary { position: relative; padding: 1rem 3rem 1rem 1.2rem; cursor: pointer; list-style: none; font-weight: 700; line-height: 1.45; color: var(--te-ink); }
.te-ps-content summary::-webkit-details-marker { display: none; }
.te-ps-content summary::after { content: ""; position: absolute; right: 1.1rem; top: 1.15rem; width: 1rem; height: 1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-plus) center / contain no-repeat; mask: var(--te-i-plus) center / contain no-repeat; }
.te-ps-content details[open] summary::after { -webkit-mask-image: var(--te-i-minus); mask-image: var(--te-i-minus); }
.te-ps-content summary:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; border-radius: 12px; }
.te-ps-content details > :not(summary) { margin: 0; padding: 0 1.2rem 1.1rem; font-size: 1rem; }

/* CTA box, author box */
.te-ps-cta { position: relative; overflow: hidden; margin-top: 2.6rem; padding: clamp(1.6rem, 3vw, 2.2rem); border-radius: 18px; background: var(--te-navy) radial-gradient(80% 120% at 100% 0, rgba(124, 200, 230, .25), transparent 60%); color: #fff; }
.te-ps-cta__k { font-size: 0.78rem; font-weight: 800; color: var(--te-sky); }
.te-ps-cta__t { margin-top: 0.5rem !important; font-family: var(--bl-serif); font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 600; line-height: 1.2; }
.te-ps-cta__d { margin-top: 0.7rem; max-width: 44rem; font-size: 1rem; line-height: 1.6; color: rgba(255, 255, 255, .8); }
.te-ps-cta__d p { margin: 0; }
.te-ps-cta__d a { color: #fff; }
.te-ps-cta__btns { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.3rem !important; }
.te-ps-btn { display: inline-block; padding: 0.75rem 1.2rem; border-radius: 10px; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .55); font-weight: 800; text-decoration: none; color: #fff; }
.te-ps-btn:hover { box-shadow: inset 0 0 0 1.5px #fff; }
.te-ps-btn--solid { background: #fff; box-shadow: none; color: var(--te-navy); }
.te-ps-btn--solid:hover { background: var(--te-ice); box-shadow: none; }
.te-ps-author { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 1.2rem; margin-top: 2.2rem; padding: 1.5rem; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--te-line); }
.te-ps-author__av { display: block; width: 4rem; height: 4rem; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--te-line); }
.te-ps-author__k { font-size: 0.75rem; font-weight: 800; color: var(--te-slate); }
.te-ps-author__n { margin-top: 0.2rem !important; font-family: var(--bl-serif); font-size: 1.3rem; font-weight: 600; color: var(--te-ink); }
.te-ps-author__n a { color: inherit; }
.te-ps-author__r { font-size: 0.88rem; font-weight: 700; color: var(--te-steel-deep); }
.te-ps-author__b { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }

/* Related */
.te-ps-related { margin-top: clamp(3rem, 6vw, 5rem); padding-block: clamp(2.5rem, 5vw, 4rem); background: var(--te-cloud); }
.te-ps-related__in { box-sizing: border-box; max-width: calc(var(--ps-w) + 2 * var(--ps-pad)); margin: 0 auto; padding-inline: var(--ps-pad); }
.te-ps-related h2 { margin: 0 0 1.6rem; font-family: var(--bl-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; color: var(--te-ink); }
.te-ps-related__all { margin-top: 1.6rem !important; }
.te-ps-related__all a { font-weight: 800; color: var(--te-steel-deep); }
.te-ps-related .te-bl-grid { grid-auto-flow: row; }
.te-ps-wide { box-sizing: border-box; max-width: calc(var(--ps-w) + 2 * var(--ps-pad)); margin: 0 auto; padding-inline: var(--ps-pad); }

/* ---------- Design B: executive briefing, navy header, sidebar ---------- */
.te-ps--b .te-ps-head { background: var(--te-navy) radial-gradient(70% 140% at 100% 0, rgba(124, 200, 230, .2), transparent 60%); color: #fff; }
.te-ps--b .te-ps-head__in { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; max-width: calc(var(--ps-w) + 2 * var(--ps-pad)); margin: 0 auto; padding: clamp(2.4rem, 5vw, 4rem) var(--ps-pad); }
.te-ps--b .te-ps-head__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.te-ps--b .te-ps-crumbs, .te-ps--b .te-ps-crumbs a { color: rgba(255, 255, 255, .75); }
.te-ps--b .te-ps-title { font-size: clamp(2.2rem, 4.2vw, 3.3rem); color: #fff; }
.te-ps--b .te-ps-head .te-ps-meta, .te-ps--b .te-ps-head .te-ps-meta__by { color: rgba(255, 255, 255, .8); }
.te-ps--b .te-ps-head .te-ps-meta__by a { color: #fff; }
.te-ps--b .te-ps-head .te-bl-topic { background: rgba(255, 255, 255, .14); color: #fff; }
.te-ps--b .te-ps-head .te-ps-points { background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.te-ps--b .te-ps-head .te-ps-points__h { color: var(--te-sky); }
.te-ps--b .te-ps-head .te-ps-points li, .te-ps--b .te-ps-head .te-ps-points p { color: #fff; font-weight: 600; }
.te-ps--b .te-ps-head .te-ps-points li::before { background: var(--te-sky); }
.te-ps--b .te-ps-layout { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 46rem) 19rem; justify-content: space-between; gap: 3rem; max-width: calc(var(--ps-w) + 2 * var(--ps-pad)); margin: clamp(2rem, 4vw, 3rem) auto 0; padding-inline: var(--ps-pad); }
.te-ps--b .te-ps-hero { margin-bottom: 2.2rem; border-radius: 16px; aspect-ratio: 16 / 9; }
.te-ps--b .te-ps-side__stick { position: sticky; top: calc(var(--te-header-h) + 1.5rem); display: grid; gap: 1.6rem; }
.te-ps--b .te-ps-toc { padding: 1.3rem; border-radius: 14px; background: var(--te-cloud); }
.te-ps--b .te-ps-toc ol { max-height: 40vh; overflow: auto; }
.te-ps-side__cta { display: grid; gap: 0.6rem; padding: 1.4rem; border-radius: 14px; background: var(--te-navy); color: rgba(255, 255, 255, .8); font-size: 0.92rem; line-height: 1.5; }
.te-ps-side__t { font-family: var(--bl-serif); font-size: 1.3rem; font-weight: 600; line-height: 1.2; color: #fff; }
.te-ps-side__cta .te-ps-btn { margin-top: 0.3rem; text-align: center; }
.te-ps-side__tel { justify-self: center; font-weight: 800; color: #fff; }

.te-ps--b .te-ps-wide .te-ps-cta { margin-top: clamp(2.5rem, 5vw, 3.5rem); }

@media (max-width: 1100px) {
	.te-ps--b .te-ps-layout { grid-template-columns: minmax(0, 1fr); max-width: calc(46rem + 2 * var(--ps-pad)); }
	.te-ps--b .te-ps-side { order: -1; }
	.te-ps--b .te-ps-side__stick { position: static; }
	.te-ps--b .te-ps-side__cta { display: none; }
}
@media (max-width: 900px) {
	.te-ps--b .te-ps-head__in { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.te-ps-author { grid-template-columns: minmax(0, 1fr); }
	.te-ps-content { font-size: 1.05rem; }
}

/* ==========================================================================
   Guides and white papers library (.te-rl-*) and white paper (.te-wp-*)
   ========================================================================== */

.te-rl-hero, .te-rl, .te-rl-more, .te-wp-hero, .te-wp, .te-wp-audit, .te-wp-next { --bl-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-rl-hero p, .te-rl p, .te-rl-more p, .te-wp p { margin: 0; }

/* Book-style covers */
.te-rl-cover { --c1: #0F2A3D; --c2: #1E5A78; --ink: #fff; --acc: #7CC8E6; position: relative; display: flex; flex-direction: column; box-sizing: border-box; aspect-ratio: 3 / 4; overflow: hidden; padding: 1.2rem 1.1rem 1rem 1.5rem; border-radius: 4px 10px 10px 4px; background: linear-gradient(160deg, var(--c2), var(--c1) 70%); color: var(--ink); box-shadow: inset 6px 0 0 rgba(0, 0, 0, .18), inset 8px 0 0 rgba(255, 255, 255, .08), 0 18px 30px -18px rgba(15, 42, 61, .6); }
.te-rl-cover::after { content: ""; position: absolute; right: -2.5rem; bottom: -2.5rem; width: 9rem; height: 9rem; border-radius: 50%; box-shadow: 0 0 0 14px rgba(255, 255, 255, .06), 0 0 0 30px rgba(255, 255, 255, .04); }
.te-rl-cover--teal { --c1: #0B4F48; --c2: #13906F; --acc: #9FF0D4; }
.te-rl-cover--orange { --c1: #7A2F10; --c2: #C8551F; --acc: #FFD3B5; }
.te-rl-cover--violet { --c1: #2E2470; --c2: #6A5AE0; --acc: #D6CFFF; }
.te-rl-cover--rose { --c1: #6B1232; --c2: #C2255C; --acc: #FFC7D9; }
.te-rl-cover__k { align-self: flex-start; padding-bottom: 0.3rem; border-bottom: 2px solid var(--acc); font-size: 0.7rem; font-weight: 800; color: var(--acc); }
.te-rl-cover__t { margin-top: 0.9rem; font-family: var(--bl-serif); font-size: 1.3rem; font-weight: 600; line-height: 1.12; }
.te-rl-cover__s { margin-top: 0.5rem; font-size: 0.74rem; line-height: 1.35; color: rgba(255, 255, 255, .78); }
.te-rl-cover__p { position: relative; z-index: 1; margin-top: auto; font-size: 0.68rem; font-weight: 800; color: rgba(255, 255, 255, .85); }

/* Hero */
.te-rl-hero { padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(3rem, 6vw, 5rem); background: linear-gradient(180deg, #EEF4F7, #fff); border-bottom: 1px solid var(--te-line); }
.te-rl-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-rl-hero__copy > * { margin-block: 0; }
.te-rl-hero__mast { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-top: 1.4rem !important; font-size: 0.88rem; color: var(--te-slate); }
.te-rl-hero__mast span:first-child { padding: 0.2rem 0.7rem; border-radius: 4px; background: var(--te-navy); font-weight: 800; color: #fff; }
.te-rl-hero__title { margin: 1rem 0 0 !important; font-family: var(--bl-serif); font-size: clamp(2.6rem, 5vw, 4.2rem); font-weight: 600; line-height: 1.02; letter-spacing: -0.015em; color: var(--te-ink); }
.te-rl-hero__title .te-accent { font-style: italic; }
.te-rl-hero__lede { margin-top: 1.2rem !important; max-width: 34rem; font-size: 1.1rem; line-height: 1.6; color: var(--te-slate); }
.te-rl-hero__types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; max-width: 36rem; margin: 1.8rem 0 0; padding: 1.2rem 0 0; list-style: none; border-top: 1px solid #C9D5DE; }
.te-rl-hero__types li { margin: 0; }
.te-rl-hero__types b { display: block; font-family: var(--bl-serif); font-size: 1.15rem; font-weight: 600; color: var(--te-ink); }
.te-rl-hero__types span { display: block; margin-top: 0.2rem; font-size: 0.82rem; line-height: 1.4; color: var(--te-slate); }

.te-rl-feature { position: relative; display: grid; justify-items: center; padding: 1rem 0 0; text-decoration: none; color: #fff; }
.te-rl-feature__stack { position: absolute; inset: 0.4rem 0 3.2rem; display: grid; place-items: center; }
.te-rl-feature__stack i { position: absolute; width: min(25rem, 78%); aspect-ratio: 3 / 4; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px #D3DDE5; }
.te-rl-feature__stack i:first-child { transform: rotate(-7deg) translateX(-1.4rem); }
.te-rl-feature__stack i:last-child { transform: rotate(4deg) translateX(1.2rem); background: #F4F7F9; }
.te-rl-feature__cover { position: relative; display: flex; flex-direction: column; box-sizing: border-box; width: min(25rem, 78%); aspect-ratio: 3 / 4; padding: 2rem 1.8rem 1.6rem 2.2rem; border-radius: 4px 12px 12px 4px; background: linear-gradient(165deg, #1E5A78, #0F2A3D 62%); box-shadow: inset 8px 0 0 rgba(0, 0, 0, .2), inset 10px 0 0 rgba(255, 255, 255, .08), 0 40px 60px -35px rgba(15, 42, 61, .8); transition: transform .3s var(--te-ease); }
.te-rl-feature:hover .te-rl-feature__cover { transform: translateY(-6px) rotate(-1deg); }
.te-rl-feature:focus-visible { outline: none; }
.te-rl-feature:focus-visible .te-rl-feature__cover { outline: 3px solid var(--te-sky); outline-offset: 4px; }
.te-rl-feature__k { align-self: flex-start; padding-bottom: 0.4rem; border-bottom: 2px solid #7CC8E6; font-size: 0.8rem; font-weight: 800; color: #7CC8E6; }
.te-rl-feature__t { margin-top: 1.4rem; font-family: var(--bl-serif); font-size: clamp(1.8rem, 2.8vw, 2.4rem); font-weight: 600; line-height: 1.05; }
.te-rl-feature__s { margin-top: 0.9rem; font-size: 0.95rem; line-height: 1.45; color: rgba(255, 255, 255, .8); }
.te-rl-feature__by { display: flex; align-items: center; gap: 0.7rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .2); font-size: 0.78rem; line-height: 1.35; color: rgba(255, 255, 255, .75); }
.te-rl-feature__by img { width: 2.6rem; height: 2.6rem; border-radius: 50%; object-fit: cover; }
.te-rl-feature__by b { display: block; font-size: 0.9rem; color: #fff; }
.te-rl-feature__logo { position: absolute; right: 1.4rem; top: 1.6rem; width: 5.5rem; height: auto; padding: 0.25rem 0.4rem; border-radius: 4px; background: #fff; }
.te-rl-feature__go { position: relative; margin-top: 1.4rem; padding: 0.75rem 1.3rem; border-radius: 10px; background: var(--te-navy); font-weight: 800; color: #fff; }
.te-rl-feature:hover .te-rl-feature__go { background: var(--te-steel-deep); }

/* Library grid with CSS-only filter */
#library { scroll-margin-top: 6rem; }
.te-rl-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.8rem; padding: 0; border: 0; }
.te-rl-filter label { position: relative; cursor: pointer; }
.te-rl-filter input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-rl-filter span { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.55rem 1rem; border-radius: 99px; background: #fff; box-shadow: inset 0 0 0 1px #C9D5DE; font-size: 0.9rem; font-weight: 700; color: var(--te-ink); }
.te-rl-filter b { display: inline-grid; place-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 0.3rem; border-radius: 99px; background: #E3EAF0; font-size: 0.75rem; }
.te-rl-filter label:hover span { box-shadow: inset 0 0 0 2px var(--te-steel-deep); }
.te-rl-filter input:checked + span { background: var(--te-navy); box-shadow: none; color: #fff; }
.te-rl-filter input:checked + span b { background: rgba(255, 255, 255, .18); }
.te-rl-filter input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-rl:has(#te-rl-f-whitepaper:checked) .te-rl-item:not(.te-rl-item--whitepaper),
.te-rl:has(#te-rl-f-tool:checked) .te-rl-item:not(.te-rl-item--tool),
.te-rl:has(#te-rl-f-ebook:checked) .te-rl-item:not(.te-rl-item--ebook),
.te-rl:has(#te-rl-f-linguists:checked) .te-rl-item:not(.te-rl-item--linguists) { display: none; }
.te-rl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.4vw, 1.75rem); margin: 0; padding: 0; list-style: none; }
.te-rl-item { margin: 0; }
.te-rl-item a { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 1.4rem; height: 100%; box-sizing: border-box; padding: 1.3rem; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--te-line); text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s; }
.te-rl-item a:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--te-steel), 0 28px 50px -34px rgba(15, 42, 61, .55); }
.te-rl-item a:hover .te-rl-cover { transform: rotate(-2deg); }
.te-rl-item a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 3px; }
.te-rl-item .te-rl-cover { align-self: start; padding: 0.8rem 0.7rem 0.7rem 1rem; transition: transform .25s var(--te-ease); }
.te-rl-item .te-rl-cover__t { margin-top: 0.6rem; font-size: 0.92rem; }
.te-rl-item .te-rl-cover__s { display: none; }
.te-rl-item .te-rl-cover__k, .te-rl-item .te-rl-cover__p { font-size: 0.58rem; }
.te-rl-item__body { display: flex; flex-direction: column; gap: 0.45rem; min-width: 0; }
.te-rl-item__k { display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.75rem; font-weight: 800; color: var(--te-steel-deep); }
.te-rl-item__k span { padding: 0 0.45rem; border-radius: 99px; background: #F3EEFF; color: #5A48C9; }
.te-rl-item__t { margin: 0; font-family: var(--bl-serif); font-size: 1.35rem; font-weight: 600; line-height: 1.2; color: var(--te-ink); }
.te-rl-item a:hover .te-rl-item__t { text-decoration: underline; text-underline-offset: 4px; }
.te-rl-item__d { font-size: 0.92rem; line-height: 1.55; color: var(--te-slate); }
.te-rl-item__f { font-size: 0.8rem; font-weight: 700; color: var(--te-slate); }
.te-rl-item__cta { margin-top: auto; padding-top: 0.4rem; font-weight: 800; color: var(--te-steel-deep); }
.te-rl-item__cta::after { content: ""; display: inline-block; width: 0.9rem; height: 0.9rem; margin-left: 0.3rem; vertical-align: -0.1rem; background: currentColor; -webkit-mask: var(--te-i-chevron) center / contain no-repeat; mask: var(--te-i-chevron) center / contain no-repeat; }
.te-rl-item--whitepaper { grid-column: 1 / -1; }
.te-rl-item--whitepaper a { grid-template-columns: 12rem minmax(0, 1fr); padding: 1.6rem; background: var(--te-navy); box-shadow: none; color: #fff; }
.te-rl-item--whitepaper .te-rl-item__t { font-size: clamp(1.6rem, 2.4vw, 2rem); color: #fff; }
.te-rl-item--whitepaper .te-rl-item__k, .te-rl-item--whitepaper .te-rl-item__cta { color: var(--te-sky); }
.te-rl-item--whitepaper .te-rl-item__d, .te-rl-item--whitepaper .te-rl-item__f { color: rgba(255, 255, 255, .78); }
.te-rl-item--whitepaper .te-rl-cover { box-shadow: inset 6px 0 0 rgba(0, 0, 0, .18), 0 0 0 1px rgba(255, 255, 255, .2); }

/* Blog and case studies cross-links */
.te-rl-more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.4vw, 1.75rem); }
.te-rl-more__item { display: flex; flex-direction: column; gap: 0.5rem; padding: clamp(1.6rem, 3vw, 2.2rem); border-radius: 18px; background: var(--te-cloud); text-decoration: none; color: inherit; transition: transform .2s; }
.te-rl-more__item:hover { transform: translateY(-3px); }
.te-rl-more__item--dark { background: var(--te-navy); color: #fff; }
.te-rl-more__k { font-size: 0.78rem; font-weight: 800; color: var(--te-steel-deep); }
.te-rl-more__item--dark .te-rl-more__k { color: var(--te-sky); }
.te-rl-more__t { font-family: var(--bl-serif); font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 600; line-height: 1.15; }
.te-rl-more__d { font-size: 0.98rem; line-height: 1.55; color: var(--te-slate); }
.te-rl-more__item--dark .te-rl-more__d { color: rgba(255, 255, 255, .78); }
.te-rl-more__go { margin-top: 0.6rem; font-weight: 800; color: var(--te-steel-deep); }
.te-rl-more__item--dark .te-rl-more__go { color: var(--te-sky); }

/* White paper: report header */
.te-wp-hero { padding-block: clamp(2.5rem, 5vw, 4rem) clamp(2.8rem, 5vw, 4rem); background: var(--te-navy) radial-gradient(70% 140% at 100% 0, rgba(124, 200, 230, .22), transparent 60%); color: #fff; }
.te-wp-hero .te-breadcrumbs, .te-wp-hero .te-breadcrumbs a { color: rgba(255, 255, 255, .78); }
.te-wp-hero__k { margin: 1.4rem 0 0 !important; display: inline-block; padding-bottom: 0.35rem; border-bottom: 2px solid #7CC8E6; font-size: 0.85rem; font-weight: 800; color: #7CC8E6; }
.te-wp-hero__title { max-width: 30ch; margin: 1rem 0 0 !important; font-family: var(--bl-serif); font-size: clamp(2.2rem, 4.4vw, 3.6rem); font-weight: 600; line-height: 1.06; color: #fff; }
.te-wp-hero__title span { display: block; margin-top: 0.5rem; font-size: 0.55em; font-style: italic; line-height: 1.25; color: rgba(255, 255, 255, .85); }
.te-wp-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-wp-by { display: flex; align-items: center; gap: 0.8rem; font-size: 0.85rem; line-height: 1.35; text-decoration: none; color: rgba(255, 255, 255, .78); }
.te-wp-by img { width: 3.2rem; height: 3.2rem; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px rgba(255, 255, 255, .5); }
.te-wp-by b { display: block; font-size: 1rem; color: #fff; }
.te-wp-hero__facts { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; font-size: 0.85rem; color: rgba(255, 255, 255, .7); }
.te-wp-btn { display: inline-block; padding: 0.8rem 1.3rem; border-radius: 10px; background: #fff; font-weight: 800; text-decoration: none; color: var(--te-navy); }
.te-wp-btn:hover { background: var(--te-ice); }
.te-wp-hero .te-wp-btn { margin-left: auto; }
.te-wp-btn--ghost { background: transparent; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); color: #fff; }
.te-wp-btn--ghost:hover { background: rgba(255, 255, 255, .08); }

/* White paper: layout and typography */
.te-wp { box-sizing: border-box; display: grid; grid-template-columns: 16rem minmax(0, 46rem); justify-content: space-between; gap: 3rem; max-width: calc(1240px + 3rem); margin: clamp(2.4rem, 5vw, 3.5rem) auto 0; padding-inline: clamp(1rem, 4vw, 1.5rem); }
.te-wp-rail { position: sticky; top: calc(var(--te-header-h) + 1.5rem); align-self: start; display: grid; gap: 1.2rem; }
.te-wp-toc { padding: 1.3rem; border-radius: 14px; background: var(--te-cloud); }
.te-wp-toc > p { font-size: 0.78rem; font-weight: 800; color: var(--te-slate); }
.te-wp-toc ol { margin: 0.7rem 0 0; padding: 0; list-style: none; }
.te-wp-toc li { margin: 0; }
.te-wp-toc a { display: grid; grid-template-columns: 1.4rem minmax(0, 1fr); gap: 0.4rem; padding: 0.4rem 0; font-size: 0.88rem; line-height: 1.4; text-decoration: none; color: var(--te-ink); }
.te-wp-toc a span { font-family: var(--bl-serif); font-weight: 600; color: var(--te-steel-deep); }
.te-wp-toc a:hover { color: var(--te-steel-deep); text-decoration: underline; }
.te-wp-rail__cta { display: block; padding: 0.85rem 1rem; border-radius: 10px; background: var(--te-navy); text-align: center; font-weight: 800; text-decoration: none; color: #fff; }
.te-wp-rail__cta:hover { background: var(--te-steel-deep); }
.te-wp-body { min-width: 0; font-size: 1.08rem; line-height: 1.75; color: #2A3A47; }
.te-wp-body section { margin-bottom: clamp(2.6rem, 5vw, 3.6rem); scroll-margin-top: calc(var(--te-header-h) + 1.5rem); }
.te-wp-body .te-wp-sec { margin-bottom: 0.4rem !important; font-size: 0.8rem; font-weight: 800; color: #C8551F; }
.te-wp-body h2 { margin: 0 0 1rem; font-family: var(--bl-serif); font-size: clamp(1.8rem, 2.8vw, 2.3rem); font-weight: 600; line-height: 1.15; color: var(--te-ink); }
.te-wp-body h3 { margin: 2rem 0 0.7rem; font-size: 1.2rem; font-weight: 800; line-height: 1.35; color: var(--te-ink); }
.te-wp-body h4 { margin: 0.2rem 0 0.4rem; font-size: 1.08rem; font-weight: 800; color: var(--te-ink); }
.te-wp-body p + p { margin-top: 1.1rem; }
.te-wp-body ul, .te-wp-body ol { margin: 1rem 0; }
.te-wp-summary { padding: clamp(1.6rem, 3vw, 2.2rem); border-radius: 18px; background: #EEF4F7; }
.te-wp-pull { margin: 1.8rem 0 0; padding: 0 0 0 1.3rem; border-left: 4px solid var(--te-signal); }
.te-wp-pull p { font-family: var(--bl-serif); font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 600; font-style: italic; line-height: 1.3; color: var(--te-ink); }
.te-wp-demands { display: grid; gap: 0.7rem; padding: 0; list-style: none; }
.te-wp-demands li { position: relative; margin: 0; padding: 0.9rem 1rem 0.9rem 2.8rem; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--te-line); font-size: 1rem; line-height: 1.6; }
.te-wp-demands li::before { content: ""; position: absolute; left: 1rem; top: 1.15rem; width: 1.1rem; height: 1.1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-wp-demands b { color: var(--te-ink); }
.te-wp-warn { margin-top: 1.2rem !important; padding: 1rem 1.2rem; border-left: 4px solid #C2253A; border-radius: 0 10px 10px 0; background: #FDECEE; font-weight: 600; color: #7A1C2A; }
.te-wp-risks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.te-wp-risks li { margin: 0; padding: 1.3rem 1.3rem 1.2rem; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--te-line); }
.te-wp-risks__n { display: inline-block; padding: 0.1rem 0.55rem; border-radius: 99px; background: #FDECEE; font-size: 0.75rem; font-weight: 800; color: #B4232F; }
.te-wp-risks h4 { margin-top: 0.6rem; }
.te-wp-risks p { font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-wp-table { overflow-x: auto; margin: 1.2rem 0; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--te-line); }
.te-wp-table table { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: 0.95rem; line-height: 1.5; }
.te-wp-table thead th { padding: 0.9rem 1rem; background: var(--te-navy); text-align: left; font-size: 0.82rem; color: #fff; }
.te-wp-table thead th:first-child { border-radius: 14px 0 0 0; }
.te-wp-table thead th:last-child { border-radius: 0 14px 0 0; }
.te-wp-table tbody th, .te-wp-table td { padding: 0.9rem 1rem; border-top: 1px solid var(--te-line); text-align: left; vertical-align: top; }
.te-wp-table tbody th { font-weight: 800; color: var(--te-ink); }
.te-wp-table td { color: var(--te-slate); }
.te-wp-cost { color: #9B1C2C !important; }
.te-wp-prev { color: #17603F !important; font-weight: 600; }
.te-wp-regions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.te-wp-regions li { margin: 0; padding: 1.2rem; border-radius: 14px; background: var(--te-navy); color: rgba(255, 255, 255, .82); }
.te-wp-regions b { display: block; font-family: var(--bl-serif); font-size: 1.5rem; font-weight: 600; color: #7CC8E6; }
.te-wp-regions p { margin-top: 0.4rem !important; font-size: 0.9rem; line-height: 1.55; }
.te-wp-pillars { display: grid; gap: 1.2rem; padding: 0; list-style: none; }
.te-wp-pillars > li { margin: 0; padding: clamp(1.4rem, 3vw, 1.8rem); border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--te-line); }
.te-wp-pillars__n { display: inline-block; padding: 0.15rem 0.6rem; border-radius: 4px; background: var(--te-navy); font-size: 0.75rem; font-weight: 800; color: #fff; }
.te-wp-pillars h3 { margin: 0.7rem 0 0.3rem; font-family: var(--bl-serif); font-size: 1.5rem; font-weight: 600; }
.te-wp-pillars__principle { margin-bottom: 0.8rem !important; font-style: italic; color: var(--te-steel-deep); }
.te-wp-pillars ul { padding-left: 1.2rem; }
.te-wp-pillars ul li { margin-bottom: 0.4rem; font-size: 1rem; }
.te-wp-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 0; list-style: none; }
.te-wp-results li { margin: 0; padding: 1.3rem; border-radius: 14px; border-top: 4px solid #13906F; background: #F2FAF7; }
.te-wp-results li:last-child { grid-column: 1 / -1; }
.te-wp-results h3 { margin: 0 0 0.4rem; font-size: 1.08rem; }
.te-wp-results p { font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-wp-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.te-wp-two h3 { margin-top: 0.8rem; }
.te-wp-two p { font-size: 0.98rem; }
.te-wp-conclusion { padding-top: 2rem; border-top: 2px solid var(--te-ink); }
.te-wp-about { padding: 1.5rem; border-radius: 14px; background: var(--te-cloud); }
.te-wp-about h2 { font-size: 1.4rem; }
.te-wp-about p { font-size: 0.98rem; }
.te-wp-author { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1.2rem; padding: 1.5rem; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--te-line); }
.te-wp-author img { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; }
.te-wp-author__k { font-size: 0.75rem; font-weight: 800; color: var(--te-slate); }
.te-wp-author__n { font-family: var(--bl-serif); font-size: 1.3rem; font-weight: 600; }
.te-wp-author__n a { color: var(--te-ink); }
.te-wp-author__r { font-size: 0.88rem; font-weight: 700; color: var(--te-steel-deep); }
.te-wp-author__b { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }

.te-wp-audit { --bl-serif: "Newsreader", Georgia, serif; margin-top: clamp(1rem, 3vw, 2rem); padding-block: clamp(2.6rem, 5vw, 3.8rem); background: var(--te-navy) radial-gradient(60% 140% at 100% 0, rgba(124, 200, 230, .22), transparent 60%); color: #fff; scroll-margin-top: var(--te-header-h); }
.te-wp-audit__in { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2rem; align-items: center; max-width: calc(1240px + 3rem); margin: 0 auto; padding-inline: clamp(1rem, 4vw, 1.5rem); }
.te-wp-audit__k { margin: 0; font-size: 0.8rem; font-weight: 800; color: #7CC8E6; }
.te-wp-audit h2 { margin: 0.6rem 0 0; font-family: var(--bl-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; line-height: 1.15; color: #fff; }
.te-wp-audit__in > div > p:last-child { margin: 0.8rem 0 0; font-size: 1rem; line-height: 1.6; color: rgba(255, 255, 255, .8); }
.te-wp-audit__btns { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.6rem; margin: 0; }
.te-wp-next { --bl-serif: "Newsreader", Georgia, serif; padding-block: clamp(2.6rem, 5vw, 3.8rem); background: var(--te-cloud); }
.te-wp-next__in { box-sizing: border-box; max-width: calc(1240px + 3rem); margin: 0 auto; padding-inline: clamp(1rem, 4vw, 1.5rem); }
.te-wp-next h2 { margin: 0 0 1.4rem; font-family: var(--bl-serif); font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 600; color: var(--te-ink); }
.te-wp-next ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin: 0; padding: 0; list-style: none; }
.te-wp-next li { margin: 0; }
.te-wp-next ul a { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1rem; align-items: center; height: 100%; box-sizing: border-box; padding: 1rem; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px var(--te-line); text-decoration: none; font-size: 0.85rem; color: var(--te-slate); }
.te-wp-next ul a:hover { box-shadow: 0 0 0 2px var(--te-steel-deep); }
.te-wp-next ul a b { display: block; margin-bottom: 0.3rem; font-family: var(--bl-serif); font-size: 1.1rem; font-weight: 600; line-height: 1.2; color: var(--te-ink); }
.te-rl-cover--sm { padding: 0.5rem 0.45rem 0.45rem 0.7rem; }
.te-rl-cover--sm .te-rl-cover__t { margin-top: 0.4rem; font-size: 0.62rem; }
.te-rl-cover--sm .te-rl-cover__s, .te-rl-cover--sm .te-rl-cover__p { display: none; }
.te-rl-cover--sm .te-rl-cover__k { font-size: 0.45rem; }
.te-wp-next__all { display: inline-block; margin-top: 1.4rem; font-weight: 800; color: var(--te-steel-deep); }

/* Plain single template (e-books and other content types) */
.te-ps-plain__head, .te-ps-plain__body { box-sizing: border-box; max-width: calc(46rem + 3rem); margin: 0 auto; padding-inline: clamp(1rem, 4vw, 1.5rem); }
.te-ps-plain__head { display: flex; flex-direction: column; align-items: flex-start; gap: 0.8rem; padding-top: clamp(2rem, 4vw, 3rem); }
.te-ps-plain__k { font-size: 0.85rem; font-weight: 800; color: #C8551F; }
.te-ps--plain .te-ps-title { font-size: clamp(2.2rem, 4.4vw, 3.2rem); }
.te-ps-plain__body { margin-top: 1.8rem; padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.te-ps-plain__body .te-ps-hero { margin-bottom: 2rem; border-radius: 16px; aspect-ratio: 16 / 9; }
/* E-book download panel (Zoho form, prefilled with the e-book). */
.te-eb-dl { scroll-margin-top: 6rem; margin-top: 2.5rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #D5E3EA; border-top: 4px solid #4B94AF; border-radius: 16px; background: #F5F9FB; }
.te-eb-dl__intro h2 { margin: 0 0 0.4rem; font-size: clamp(1.4rem, 2.4vw, 1.75rem); line-height: 1.2; color: #12263A; }
.te-eb-dl__intro p { margin: 0 0 1.25rem; color: #3D5266; }
.te-eb-dl__form .te-zoho-form { display: block; width: 100%; height: 40rem; border: 0; background: #fff; border-radius: 10px; }

@media (max-width: 1100px) {
	.te-wp { grid-template-columns: minmax(0, 1fr); max-width: calc(46rem + 3rem); }
	.te-wp-rail { position: static; }
	.te-rl-item--whitepaper a { grid-template-columns: 9.5rem minmax(0, 1fr); }
}
@media (max-width: 1024px) {
	.te-rl-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-rl-feature { max-width: 34rem; margin: 0 auto; }
	.te-wp-audit__in { grid-template-columns: minmax(0, 1fr); }
	.te-wp-audit__btns { justify-content: flex-start; }
}
@media (max-width: 900px) {
	.te-rl-grid, .te-rl-more, .te-wp-next ul { grid-template-columns: minmax(0, 1fr); }
	.te-wp-regions { grid-template-columns: minmax(0, 1fr); }
	.te-wp-hero .te-wp-btn { margin-left: 0; }
}
@media (max-width: 600px) {
	.te-rl-hero__types { grid-template-columns: minmax(0, 1fr); }
	.te-rl-item a, .te-rl-item--whitepaper a { grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; padding: 1rem; }
	.te-rl-item .te-rl-cover__t { font-size: 0.7rem; }
	.te-rl-item .te-rl-cover__p { display: none; }
	.te-wp-risks, .te-wp-results, .te-wp-two { grid-template-columns: minmax(0, 1fr); }
	.te-wp-author { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   Languages we cover (/languages/all-languages/): .te-lx-*
   A lookup and a specimen of languages in their own scripts, region
   postcards, and an A to Z directory that links to every language page.
   ========================================================================== */
.te-lx-hero, .te-lx-section { --lx-serif: "Newsreader", Georgia, "Times New Roman", serif; --lx-script: "Newsreader", Georgia, "Segoe UI", "Nirmala UI", "Ebrima", "Gadugi", "Leelawadee UI", "Microsoft Himalaya", "Myanmar Text", "Khmer UI", "Yu Gothic", "Malgun Gothic", "Microsoft YaHei", "Noto Sans", serif; }
.te-lx-hero p, .te-lx-section p { margin: 0; }

/* Hero */
.te-lx-hero { position: relative; overflow: hidden; padding-block: clamp(2.25rem, 5vw, 4.5rem) clamp(3rem, 6vw, 5.5rem); background: radial-gradient(70rem 40rem at 85% 0%, #1D4A66 0%, rgba(29, 74, 102, 0) 60%), var(--te-navy); color: #fff; }
.te-lx-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-lx-hero__copy > * { margin-block: 0; }
.te-lx-hero .te-breadcrumbs, .te-lx-hero .te-breadcrumbs a { color: #B9D3E0; }
.te-lx-hero__title { margin: 1.1rem 0 0 !important; font-family: var(--lx-serif); font-size: clamp(2.7rem, 5.4vw, 4.6rem); font-weight: 600; line-height: 1; letter-spacing: -0.02em; color: #fff; }
.te-lx-hero__lede { margin-top: 1.2rem !important; max-width: 31rem; font-size: 1.12rem; line-height: 1.6; color: #D3E3EC; }

/* Lookup */
.te-lx-find { position: relative; margin-top: 2rem !important; max-width: 31rem; }
.te-lx-find__label { display: block; margin-bottom: 0.5rem; font-size: 0.92rem; font-weight: 700; color: #fff; }
.te-lx-find__box { display: flex; align-items: stretch; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px rgba(255, 255, 255, .2), 0 18px 40px -18px rgba(0, 0, 0, .55); }
.te-lx-find__box:focus-within { box-shadow: 0 0 0 3px var(--te-sky), 0 18px 40px -18px rgba(0, 0, 0, .55); }
.te-lx-find__input { flex: 1; min-width: 0; padding: 1rem 1.1rem; border: 0; border-radius: 12px 0 0 12px; background: transparent; font: inherit; font-size: 1.1rem; color: var(--te-ink); }
.te-lx-find__input:focus { outline: none; }
.te-lx-find__input::placeholder { color: #6B7A89; }
.te-lx-find__go { flex: none; width: 3.4rem; margin: 0.35rem; border: 0; border-radius: 9px; background: var(--te-signal); cursor: pointer; }
.te-lx-find__go::before { content: ""; display: block; width: 1.2rem; height: 1.2rem; margin: auto; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.te-lx-find__go:hover { background: #C43F0B; }
.te-lx-find__go:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-lx-find__hint { margin-top: 0.6rem !important; font-size: 0.85rem; color: #A9C3D1; }
.te-lx-find__results { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% - 1.6rem); max-height: 22rem; overflow-y: auto; margin: 0; padding: 0.4rem; list-style: none; border-radius: 12px; background: #fff; box-shadow: 0 24px 50px -16px rgba(15, 27, 38, .45); color: var(--te-ink); }
.te-lx-find__results [role="option"] { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: 0.75rem; padding: 0.7rem 0.8rem; border-radius: 8px; cursor: pointer; }
.te-lx-find__results [role="option"]:hover, .te-lx-find__results [aria-selected="true"] { background: var(--te-ice); }
.te-lx-find__n { font-weight: 700; }
.te-lx-find__e { overflow: hidden; font-family: var(--lx-script); font-size: 1.05rem; white-space: nowrap; text-overflow: ellipsis; color: var(--te-slate); }
.te-lx-find__k { font-size: 0.75rem; font-weight: 700; color: var(--te-steel-deep); }
.te-lx-find__none { padding: 0.8rem; font-size: 0.95rem; line-height: 1.5; }
.te-lx-find__none a { font-weight: 700; color: var(--te-steel-deep); }

/* Specimen: languages in their own scripts */
.te-lx-spec { margin: 0; }
.te-lx-spec__wall { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: 1px; margin: 0; padding: 0; list-style: none; border-radius: 18px; overflow: hidden; background: rgba(124, 200, 230, .16); box-shadow: 0 0 0 1px rgba(124, 200, 230, .16); }
.te-lx-spec__tile { margin: 0; background: #0F2A3D; }
.te-lx-spec__tile--wide { grid-column: span 2; }
.te-lx-spec__tile a { box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; gap: 0.6rem; height: 100%; min-height: 6.6rem; padding: 0.95rem 1.05rem; text-decoration: none; color: inherit; transition: background-color .25s ease; }
.te-lx-spec__endo { font-family: var(--lx-script); font-size: clamp(1.1rem, 1.55vw, 1.42rem); font-weight: 500; line-height: 1.25; color: rgba(255, 255, 255, .64); transition: color .25s ease; }
.te-lx-spec__tile--wide .te-lx-spec__endo { font-size: clamp(1.6rem, 2.8vw, 2.3rem); }
.te-lx-spec__en { font-size: 0.78rem; font-weight: 600; color: #8FB2C4; }
.te-lx-spec__tile.is-lit a, .te-lx-spec__tile a:hover, .te-lx-spec__tile a:focus-visible { background: #16384F; }
.te-lx-spec__tile.is-lit .te-lx-spec__endo, .te-lx-spec__tile a:hover .te-lx-spec__endo, .te-lx-spec__tile a:focus-visible .te-lx-spec__endo { color: #fff; }
.te-lx-spec__tile.is-lit .te-lx-spec__en, .te-lx-spec__tile a:hover .te-lx-spec__en { color: var(--te-sky); }
.te-lx-spec__tile.is-lit a { box-shadow: inset 0 -3px 0 var(--te-signal); }
.te-lx-spec__tile a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: -3px; }
.te-lx-spec__cap { margin-top: 0.9rem; font-size: 0.85rem; color: #A9C3D1; }

/* Regions */
.te-lx-regions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); margin: 0; padding: 0; list-style: none; }
.te-lx-region { margin: 0; }
.te-lx-region a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--te-line); border-radius: 16px; background: #fff; text-decoration: none; color: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.te-lx-region a:hover { border-color: #B9CCD8; box-shadow: 0 18px 36px -24px rgba(15, 42, 61, .45); }
.te-lx-region a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 3px; }
.te-lx-region__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--te-ice); }
.te-lx-region__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.te-lx-region a:hover .te-lx-region__img img { transform: scale(1.03); }
.te-lx-region__body { display: flex; flex: 1; flex-direction: column; padding: 1.2rem 1.3rem 1.3rem; }
.te-lx-region__n { font-size: 0.82rem; font-weight: 700; color: var(--te-steel-deep); }
.te-lx-region__t { margin-top: 0.3rem; font-family: var(--lx-serif); font-size: 1.55rem; font-weight: 600; line-height: 1.15; color: var(--te-ink); }
.te-lx-region__d { margin-top: 0.55rem; font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }
.te-lx-region__go { margin-top: auto; padding-top: 1rem; font-size: 0.92rem; font-weight: 700; color: var(--te-steel-deep); }
.te-lx-region a:hover .te-lx-region__go { text-decoration: underline; text-underline-offset: 3px; }

/* Directory */
.te-lx-dir { --lx-sticky: 5.25rem; }
.te-lx-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.2rem; padding: 0; border: 0; }
.te-lx-filter label { position: relative; cursor: pointer; }
.te-lx-filter input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-lx-filter span { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.55rem 1rem; border-radius: 99px; background: #fff; box-shadow: inset 0 0 0 1px #C9D5DE; font-size: 0.9rem; font-weight: 700; color: var(--te-ink); }
.te-lx-filter b { display: inline-grid; place-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 0.35rem; border-radius: 99px; background: #E3EAF0; font-size: 0.75rem; }
.te-lx-filter label:hover span { box-shadow: inset 0 0 0 2px var(--te-steel-deep); }
.te-lx-filter input:checked + span { background: var(--te-navy); box-shadow: none; color: #fff; }
.te-lx-filter input:checked + span b { background: rgba(255, 255, 255, .18); }
.te-lx-filter input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-lx-az { position: sticky; z-index: 5; top: var(--lx-sticky); display: flex; flex-wrap: wrap; gap: 0.15rem; margin: 0 0 1.5rem; padding: 0.45rem; border: 1px solid var(--te-line); border-radius: 12px; background: rgba(255, 255, 255, .94); backdrop-filter: blur(6px); }
.te-lx-az a, .te-lx-az span { display: inline-grid; place-items: center; flex: 1 0 1.9rem; height: 2.1rem; border-radius: 6px; font-family: var(--lx-serif); font-size: 1.05rem; font-weight: 600; text-decoration: none; color: var(--te-ink); }
.te-lx-az span, .te-lx-az a.is-empty { color: #B3BEC9; pointer-events: none; }
.te-lx-az a:hover { background: var(--te-ice); color: var(--te-steel-deep); }
.te-lx-az a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 1px; }
.te-lx-groups { display: grid; gap: 0; border-top: 1px solid #D5DEE6; }
.te-lx-group { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 1.5rem; padding: 1.4rem 0; border-bottom: 1px solid #D5DEE6; scroll-margin-top: calc(var(--lx-sticky) + 4.5rem); }
.te-lx-group__ch { margin: 0; font-family: var(--lx-serif); font-size: 3rem; font-weight: 600; line-height: 0.9; color: var(--te-steel); }
.te-lx-list { columns: 3 13rem; column-gap: 2rem; margin: 0; padding: 0; list-style: none; }
.te-lx-lang { break-inside: avoid; margin: 0; }
.te-lx-lang a { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.15rem 0.6rem; padding: 0.42rem 0.5rem; margin-inline: -0.5rem; border-radius: 6px; text-decoration: none; color: var(--te-ink); }
.te-lx-lang a:hover { background: #fff; }
.te-lx-lang a:hover .te-lx-lang__n { text-decoration: underline; text-decoration-color: var(--te-steel); text-underline-offset: 3px; }
.te-lx-lang a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 0; }
.te-lx-lang__n { font-weight: 600; }
.te-lx-lang__e { font-family: var(--lx-script); font-size: 0.98rem; color: var(--te-slate); }
.te-lx-lang__q { flex-basis: 100%; margin-top: -0.1rem; font-size: 0.72rem; font-weight: 500; color: #6B7A89; }
.te-lx-lang a:hover .te-lx-lang__q { color: var(--te-steel-deep); }
.te-lx-lang__e:lang(bo), .te-lx-lang__e:lang(dz) { font-size: 1.35rem; line-height: 1; }
.te-lx-dir__note { margin-top: 1.2rem !important; font-size: 0.88rem; color: var(--te-slate); }
/* Region filter (CSS only): hide other languages, then empty letter groups. */
.te-lx-dir:has(#te-lx-f-north-america:checked) .te-lx-lang:not(.te-lx-in-north-america),
.te-lx-dir:has(#te-lx-f-south-america:checked) .te-lx-lang:not(.te-lx-in-south-america),
.te-lx-dir:has(#te-lx-f-europe:checked) .te-lx-lang:not(.te-lx-in-europe),
.te-lx-dir:has(#te-lx-f-africa:checked) .te-lx-lang:not(.te-lx-in-africa),
.te-lx-dir:has(#te-lx-f-asia:checked) .te-lx-lang:not(.te-lx-in-asia),
.te-lx-dir:has(#te-lx-f-australia:checked) .te-lx-lang:not(.te-lx-in-australia),
.te-lx-dir:has(#te-lx-f-ind:checked) .te-lx-lang:not(.te-lx-in-ind),
.te-lx-dir:has(#te-lx-f-north-america:checked) .te-lx-group:not(:has(.te-lx-in-north-america)),
.te-lx-dir:has(#te-lx-f-south-america:checked) .te-lx-group:not(:has(.te-lx-in-south-america)),
.te-lx-dir:has(#te-lx-f-europe:checked) .te-lx-group:not(:has(.te-lx-in-europe)),
.te-lx-dir:has(#te-lx-f-africa:checked) .te-lx-group:not(:has(.te-lx-in-africa)),
.te-lx-dir:has(#te-lx-f-asia:checked) .te-lx-group:not(:has(.te-lx-in-asia)),
.te-lx-dir:has(#te-lx-f-australia:checked) .te-lx-group:not(:has(.te-lx-in-australia)),
.te-lx-dir:has(#te-lx-f-ind:checked) .te-lx-group:not(:has(.te-lx-in-ind)) { display: none; }

/* Why it matters, services, and the "not listed" card */
.te-lx-why { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.te-lx-why__copy h2 { margin: 0 0 1rem; font-family: var(--lx-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; line-height: 1.12; color: var(--te-ink); }
.te-lx-why__copy p { margin-top: 0.9rem !important; font-size: 1.02rem; line-height: 1.65; color: var(--te-slate); }
.te-lx-services { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin: 0 !important; }
@media (max-width: 560px) { .te-lx-services { grid-template-columns: minmax(0, 1fr) !important; } }
.te-lx-ask { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem 2.5rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 18px; background: var(--te-navy); color: #fff; }
.te-lx-ask h2 { grid-column: 1; margin: 0; font-family: var(--lx-serif); font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 600; color: #fff; }
.te-lx-ask > p:not(.te-lx-ask__btns) { grid-column: 1; max-width: 40rem; color: #D3E3EC; line-height: 1.6; }
.te-lx-ask__btns { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-wrap: wrap; gap: 0.7rem; }
.te-lx-btn { display: inline-flex; align-items: center; min-height: 3rem; padding: 0 1.3rem; border-radius: 10px; background: var(--te-signal); font-weight: 700; text-decoration: none; color: #fff; }
.te-lx-btn:hover { background: #C43F0B; }
.te-lx-btn--ghost { background: transparent; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45); }
.te-lx-btn--ghost:hover { background: rgba(255, 255, 255, .08); }
.te-lx-btn:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

@media (max-width: 1080px) {
	.te-lx-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-lx-find, .te-lx-hero__lede { max-width: 36rem; }
	.te-lx-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-lx-why { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
	.te-lx-spec__wall { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-lx-spec__tile:nth-child(n+10) { display: none; }
	.te-lx-spec__tile a { min-height: 5.2rem; }
	.te-lx-regions { grid-template-columns: minmax(0, 1fr); }
	.te-lx-group { grid-template-columns: minmax(0, 1fr); gap: 0.4rem; }
	.te-lx-group__ch { font-size: 2.2rem; }
	.te-lx-list { columns: 2 9rem; column-gap: 1rem; }
	.te-lx-az { position: static; }
	.te-lx-ask { grid-template-columns: minmax(0, 1fr); }
	.te-lx-ask__btns { grid-column: 1; grid-row: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.te-lx-region__img img, .te-lx-spec__tile a, .te-lx-spec__endo { transition: none; }
}

/* ==========================================================================
   Request a quote (/request-a-quote/) and Contact us (/contact-us/): .te-qt-*
   The live Zoho quote form in a framed card, with how quoting works,
   contact routes, offices, and government buying details beside it.
   ========================================================================== */
.te-qt-hero p, .te-qt-aside p { margin: 0; }
.te-qt-hero { padding-block: clamp(2rem, 4vw, 3.5rem) clamp(3rem, 6vw, 5rem); background: linear-gradient(180deg, var(--te-ice) 0%, #fff 70%); border-bottom: 1px solid var(--te-line); }
.te-qt-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.te-qt-aside > * { margin-block: 0; }
.te-qt-title { margin: 1rem 0 0 !important; font-size: clamp(2.4rem, 4.6vw, 3.6rem); font-weight: 800; line-height: 1.04; letter-spacing: -0.025em; color: var(--te-ink); }
.te-qt-h2 { margin: 0 !important; font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 800; letter-spacing: -0.02em; color: var(--te-ink); }
.te-qt-lede { margin-top: 1rem !important; max-width: 30rem; font-size: 1.08rem; line-height: 1.6; color: var(--te-slate); }

/* How quoting works: a real sequence, so it is numbered. */
.te-qt-steps { counter-reset: qt; display: grid; gap: 1.1rem; margin: 2rem 0 0 !important; padding: 0; list-style: none; }
.te-qt-steps li { counter-increment: qt; position: relative; display: grid; gap: 0.2rem; margin: 0; padding-left: 3rem; }
.te-qt-steps li::before { content: counter(qt); position: absolute; left: 0; top: -0.1rem; display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: var(--te-navy); font-size: 0.95rem; font-weight: 800; color: #fff; }
.te-qt-steps li:not(:last-child)::after { content: ""; position: absolute; left: 1.03rem; top: 2.2rem; bottom: -1rem; width: 2px; background: #C9D9E3; }
.te-qt-steps b { font-size: 1rem; color: var(--te-ink); }
.te-qt-steps span { font-size: 0.93rem; line-height: 1.5; color: var(--te-slate); }

.te-qt-talk { margin-top: 2rem !important; padding-top: 1.4rem; border-top: 1px solid #D5DEE6; }
.te-qt-talk__h, .te-qt-gov__h, .te-qt-offices__h { font-size: 0.88rem; font-weight: 700; color: var(--te-slate); }
.te-qt-talk__phone { display: inline-block; margin-top: 0.3rem; font-size: 1.6rem; font-weight: 800; letter-spacing: -0.01em; text-decoration: none; color: var(--te-ink); }
.te-qt-talk__phone:hover { color: var(--te-steel-deep); }
.te-qt-talk__link { display: inline-block; margin-top: 0.35rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-qt-gov { margin-top: 1.6rem !important; padding: 1.1rem 1.2rem; border: 1px solid var(--te-line); border-radius: 12px; background: #fff; }
.te-qt-gov dl { display: grid; gap: 0.35rem; margin: 0.7rem 0 0.8rem; }
.te-qt-gov dl div { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.9rem; }
.te-qt-gov dt { color: var(--te-slate); }
.te-qt-gov dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--te-ink); }
.te-qt-gov a { font-size: 0.9rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* The form card */
.te-qt-form { overflow: hidden; border: 1px solid #C9D9E3; border-radius: 18px; background: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .55); }
.te-qt-form__frame { display: block; width: 100%; height: 46rem; border: 0; }
/* Zoho's form text is small and its theme can only be changed by the form owner,
   so scale the whole frame. zoom also scales the height set by zoho-form-resize.js. */
.te-qt-form__frame { zoom: 1.25; }
@media (max-width: 960px) { .te-qt-form__frame { zoom: 1.15; } }
.te-qt-form__privacy { margin: 0 !important; padding: 0.9rem 1.3rem 1.1rem; border-top: 1px solid var(--te-line); font-size: 0.82rem; line-height: 1.5; color: var(--te-slate); }
.te-qt-form__privacy a { color: var(--te-steel-deep); }
.te-qt-picked { padding: 1.1rem 1.3rem; background: var(--te-navy); color: #fff; }
.te-qt-picked__h { margin: 0 !important; font-size: 0.85rem; font-weight: 700; color: var(--te-sky); }
.te-qt-picked dl { display: flex; flex-wrap: wrap; gap: 0.5rem 1.6rem; margin: 0.45rem 0 0; }
.te-qt-picked dt { font-size: 0.75rem; color: #A9C3D1; }
.te-qt-picked dd { margin: 0; font-weight: 700; }
.te-qt-picked__note { margin: 0.6rem 0 0 !important; font-size: 0.85rem; color: #D3E3EC; }

/* Contact page */
.te-qt-hero--contact { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.te-qt-intro > * { margin-block: 0; }
.te-qt-routes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0 0 !important; padding: 0; list-style: none; }
.te-qt-routes li { margin: 0; }
.te-qt-routes a { display: flex; flex-direction: column; gap: 0.4rem; height: 100%; box-sizing: border-box; padding: 1.3rem; border: 1px solid #C9D9E3; border-radius: 14px; background: #fff; text-decoration: none; color: var(--te-ink); transition: border-color .2s ease, box-shadow .2s ease; }
.te-qt-routes a:hover { border-color: var(--te-steel-deep); box-shadow: 0 18px 36px -26px rgba(15, 42, 61, .55); }
.te-qt-routes a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 3px; }
.te-qt-routes__ico { flex: none; width: 1.5rem; height: 1.5rem; margin-bottom: 0.3rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-qt-routes b { font-size: 1.05rem; }
.te-qt-routes span:not(.te-qt-routes__ico):not(.te-sr) { font-size: 0.92rem; line-height: 1.5; color: var(--te-slate); }
.te-qt-offices { display: grid; gap: 1.2rem; margin: 1.6rem 0 0 !important; padding: 1.4rem 0 0; list-style: none; border-top: 1px solid #D5DEE6; }
.te-qt-offices li { margin: 0; }
.te-qt-offices address { margin-top: 0.35rem; font-style: normal; line-height: 1.55; color: var(--te-ink); }
.te-qt-offices a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-qt-offices p + p { margin-top: 0.25rem !important; }

@media (max-width: 960px) {
	.te-qt-grid { grid-template-columns: minmax(0, 1fr); }
	.te-qt-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	/* On the quote page, put the form right after the intro. */
	.te-qt-hero .te-qt-aside { display: contents; }
	.te-qt-hero .te-qt-grid > .te-qt-form { order: 3; }
	.te-qt-hero .te-qt-steps { order: 4; }
	.te-qt-hero .te-qt-talk { order: 5; }
	.te-qt-hero .te-qt-gov { order: 6; }
}
@media (max-width: 560px) {
	.te-qt-routes { grid-template-columns: minmax(0, 1fr); }
	.te-qt-form__frame { height: 52rem; }
}

/* ==========================================================================
   Press room (/about-us/press-room/) and press releases: .te-pr-*
   A newsroom index that links to each release, an "on the record" fact
   sheet, a media kit, and a dateline layout for single releases.
   ========================================================================== */
.te-pr-hero, .te-pr-section, .te-pr-single { --pr-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-pr-hero p, .te-pr-section p, .te-pr-single p { margin: 0; }

/* Hero */
.te-pr-hero { padding-block: clamp(2.25rem, 5vw, 4.5rem) clamp(3rem, 6vw, 5rem); background: linear-gradient(180deg, #EEF4F7 0%, #fff 100%); border-bottom: 1px solid var(--te-line); }
.te-pr-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-pr-hero__copy > * { margin-block: 0; }
.te-pr-hero__title { margin: 1.1rem 0 0 !important; font-family: var(--pr-serif); font-size: clamp(3rem, 6.4vw, 5.4rem); font-weight: 600; line-height: 0.95; letter-spacing: -0.025em; color: var(--te-ink); }
.te-pr-hero__lede { margin-top: 1.3rem !important; max-width: 33rem; font-size: 1.12rem; line-height: 1.6; color: var(--te-slate); }
.te-pr-hero__contact { display: grid; gap: 0.25rem; margin-top: 2rem !important; padding: 1.1rem 0 0; border-top: 2px solid var(--te-ink); max-width: 33rem; }
.te-pr-hero__k { font-size: 0.85rem; font-weight: 700; color: var(--te-slate); }
.te-pr-hero__contact a { font-size: 1.2rem; font-weight: 700; text-decoration: none; color: var(--te-ink); }
.te-pr-hero__contact a:hover { color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }
.te-pr-hero__links { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 1.4rem !important; }
.te-pr-hero__links a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* Fact sheet: an official record */
.te-pr-record { padding: clamp(1.3rem, 2.5vw, 1.8rem); border-radius: 18px; background: var(--te-navy); color: #fff; box-shadow: 0 30px 60px -38px rgba(15, 42, 61, .7); }
.te-pr-record__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.te-pr-record__head h2, .te-pr-record__head h3 { margin: 0; font-family: var(--pr-serif); font-size: 1.45rem; font-weight: 600; color: inherit; }
.te-pr-record__list { display: grid; margin: 0; }
.te-pr-record__list div { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 1rem; padding: 0.62rem 0; border-bottom: 1px solid rgba(255, 255, 255, .09); }
.te-pr-record__list dt { font-size: 0.85rem; color: #9DBDCC; }
.te-pr-record__list dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.te-pr-record__src { margin-top: 0.9rem !important; font-size: 0.82rem; color: #A9C3D1; }
.te-pr-record__src a { color: var(--te-sky); }
.te-pr-copy { flex: none; display: inline-flex; align-items: center; gap: 0.45rem; min-height: 2.4rem; padding: 0 0.9rem; border: 1px solid rgba(255, 255, 255, .35); border-radius: 8px; background: transparent; font: inherit; font-size: 0.85rem; font-weight: 700; color: inherit; cursor: pointer; }
.te-pr-copy::before { content: ""; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: var(--te-i-layers, none) center / contain no-repeat; mask: var(--te-i-layers, none) center / contain no-repeat; }
.te-pr-copy:hover { background: rgba(255, 255, 255, .08); }
.te-pr-copy.is-done { border-color: #7FD3A8; color: #7FD3A8; }
.te-pr-copy:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

/* Releases */
.te-pr-wire { display: grid; gap: clamp(1.5rem, 3vw, 2.2rem); }
.te-pr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1rem; font-size: 0.85rem; color: var(--te-slate); }
.te-pr-meta__k { font-weight: 700; color: #C8551F; }
.te-pr-meta time { font-variant-numeric: tabular-nums; }
.te-pr-lead a { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); overflow: hidden; border: 1px solid var(--te-line); border-radius: 18px; background: #fff; text-decoration: none; color: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.te-pr-lead a:hover { border-color: #B9CCD8; box-shadow: 0 24px 48px -32px rgba(15, 42, 61, .5); }
.te-pr-lead a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 3px; }
.te-pr-lead .te-pr-cover { min-height: 18rem; }
.te-pr-lead__body { display: flex; flex-direction: column; gap: 0.9rem; padding: clamp(1.4rem, 3vw, 2.4rem); }
.te-pr-lead__t { font-family: var(--pr-serif); font-size: clamp(1.7rem, 2.8vw, 2.35rem); font-weight: 600; line-height: 1.12; color: var(--te-ink); }
.te-pr-lead__d { font-size: 1.02rem; line-height: 1.6; color: var(--te-slate); }
.te-pr-go { margin-top: auto; font-weight: 700; color: var(--te-steel-deep); }
.te-pr-lead a:hover .te-pr-go, .te-pr-row a:hover .te-pr-row__t { text-decoration: underline; text-underline-offset: 4px; }
.te-pr-rows { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--te-ink); }
.te-pr-row { margin: 0; border-bottom: 1px solid #D5DEE6; }
.te-pr-row a { display: grid; grid-template-columns: 9rem minmax(0, 1fr) 11rem; gap: 1.6rem; align-items: start; padding: 1.4rem 0; text-decoration: none; color: inherit; }
.te-pr-row a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 2px; }
.te-pr-row__date { padding-top: 0.3rem; font-family: var(--pr-serif); font-size: 1.05rem; font-variant-numeric: tabular-nums; color: var(--te-slate); }
.te-pr-row__body { display: grid; gap: 0.45rem; }
.te-pr-row__t { font-family: var(--pr-serif); font-size: 1.45rem; font-weight: 600; line-height: 1.2; color: var(--te-ink); }
.te-pr-row__d { font-size: 0.97rem; line-height: 1.55; color: var(--te-slate); }
.te-pr-row .te-pr-cover { aspect-ratio: 16 / 10; border-radius: 10px; }
.te-pr-empty { padding: 2rem; border: 1px dashed #B9CCD8; border-radius: 14px; text-align: center; color: var(--te-slate); }

/* Covers: a photo, a small logo on a mat, or a typographic panel */
.te-pr-cover { position: relative; display: block; overflow: hidden; background: var(--te-ice); }
.te-pr-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.te-pr-cover--badge { display: grid; place-items: center; padding: 1.5rem; background: #fff; box-shadow: inset 0 0 0 1px var(--te-line); }
.te-pr-cover--badge img { width: auto; max-width: 70%; height: auto; max-height: 60%; object-fit: contain; }
.te-pr-cover--type { display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1.2rem; background: radial-gradient(30rem 20rem at 100% 0%, #1D4A66, transparent 70%), var(--te-navy); color: #fff; }
.te-pr-cover--type span { font-size: 0.75rem; font-weight: 700; color: var(--te-sky); }
.te-pr-cover--type b { font-family: var(--pr-serif); font-size: 1.15rem; font-weight: 600; line-height: 1.2; }

/* Media kit */
.te-pr-kit { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-areas: "boiler ceo" "files ceo"; gap: clamp(1.2rem, 2.5vw, 2rem); align-items: start; }
.te-pr-boiler { grid-area: boiler; padding: clamp(1.3rem, 2.5vw, 1.8rem); border: 1px solid var(--te-line); border-left: 4px solid var(--te-steel); border-radius: 14px; background: #fff; }
.te-pr-boiler .te-pr-record__head { border-bottom-color: var(--te-line); color: var(--te-ink); }
.te-pr-boiler .te-pr-copy { border-color: #B9CCD8; color: var(--te-steel-deep); }
.te-pr-boiler .te-pr-copy:hover { background: var(--te-ice); }
.te-pr-boiler .te-pr-copy.is-done { border-color: #2E8B57; color: #2E8B57; }
.te-pr-boiler p { margin-top: 1rem !important; font-family: var(--pr-serif); font-size: 1.12rem; line-height: 1.65; color: var(--te-ink); }
.te-pr-files { grid-area: files; display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; }
.te-pr-files li { margin: 0; }
.te-pr-files a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--te-line); border-radius: 12px; background: #fff; text-decoration: none; color: var(--te-ink); transition: border-color .2s ease; }
.te-pr-files a:hover { border-color: var(--te-steel-deep); }
.te-pr-files a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 2px; }
.te-pr-files__ico { width: 1.4rem; height: 1.4rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; transform: rotate(180deg); }
.te-pr-files__ico.te-ico--file { transform: none; }
.te-pr-files a > span:nth-child(2) { display: grid; gap: 0.15rem; }
.te-pr-files a > span:nth-child(2) > span { font-size: 0.85rem; color: var(--te-slate); }
.te-pr-files__go { font-size: 0.88rem; font-weight: 700; color: var(--te-steel-deep); }
.te-pr-ceo { grid-area: ceo; margin: 0; padding: clamp(1.3rem, 2.5vw, 1.8rem); border-radius: 18px; background: #fff; border: 1px solid var(--te-line); }
.te-pr-ceo img { display: block; width: 7.5rem; height: 7.5rem; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 4px var(--te-ice); }
.te-pr-ceo figcaption { display: grid; gap: 0.3rem; margin-top: 1.1rem; }
.te-pr-ceo__k { font-size: 0.82rem; font-weight: 700; color: #C8551F; }
.te-pr-ceo b { font-family: var(--pr-serif); font-size: 1.6rem; font-weight: 600; color: var(--te-ink); }
.te-pr-ceo__t { font-size: 0.92rem; font-weight: 600; color: var(--te-slate); }
.te-pr-ceo__bio { margin-top: 0.6rem; font-size: 0.95rem; line-height: 1.6; color: var(--te-slate); }
.te-pr-ceo a { margin-top: 0.6rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* Closing band */
.te-pr-story { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.2rem 2.5rem; padding: clamp(1.5rem, 3vw, 2.4rem); border-radius: 18px; background: var(--te-navy); color: #fff; }
.te-pr-story h2 { margin: 0; font-family: var(--pr-serif); font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 600; color: #fff; }
.te-pr-story p:not(.te-pr-story__btns) { margin-top: 0.5rem !important; max-width: 40rem; line-height: 1.6; color: #D3E3EC; }
.te-pr-story__btns { display: flex; flex-wrap: wrap; gap: 0.7rem; }

/* Single release */
.te-pr-single { box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding: clamp(2rem, 4vw, 3.2rem) clamp(1rem, 4vw, 1.5rem) clamp(3rem, 6vw, 5rem); }
.te-pr-single__head { max-width: 50rem; display: grid; gap: 1rem; }
.te-pr-single__title { margin: 0; font-family: var(--pr-serif); font-size: clamp(2.2rem, 4.6vw, 3.5rem); font-weight: 600; line-height: 1.06; letter-spacing: -0.015em; color: var(--te-ink); }
.te-pr-single__dek { font-size: 1.15rem; line-height: 1.6; color: var(--te-slate); }
.te-pr-single__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: clamp(2rem, 5vw, 4rem); margin-top: clamp(1.8rem, 3vw, 2.6rem); padding-top: clamp(1.6rem, 3vw, 2.2rem); border-top: 2px solid var(--te-ink); }
.te-pr-single__fig { margin: 0 0 1.8rem; }
.te-pr-single__fig .te-pr-cover { border-radius: 14px; aspect-ratio: 16 / 8; }
.te-pr-single__body .te-ps-content { max-width: 44rem; font-size: 1.08rem; line-height: 1.75; }
.te-pr-single__end { margin-top: 1.6rem !important; text-align: center; letter-spacing: 0.4em; color: var(--te-slate); }
.te-pr-single__aside { position: sticky; top: 7rem; display: grid; gap: 1.2rem; align-self: start; }
.te-pr-contact, .te-pr-more { display: grid; gap: 0.35rem; padding: 1.2rem 1.3rem; border: 1px solid var(--te-line); border-radius: 14px; background: #fff; }
.te-pr-contact { background: var(--te-navy); border-color: var(--te-navy); color: #fff; }
.te-pr-contact a { font-weight: 700; color: #fff; text-underline-offset: 3px; }
.te-pr-contact__h { font-size: 0.85rem; font-weight: 700; color: #C8551F; }
.te-pr-contact .te-pr-contact__h { color: var(--te-sky); }
.te-pr-contact__more a { font-size: 0.9rem; color: var(--te-sky); }
.te-pr-more ul { display: grid; gap: 0.8rem; margin: 0.3rem 0 0.4rem; padding: 0; list-style: none; }
.te-pr-more li { display: grid; gap: 0.15rem; margin: 0; }
.te-pr-more li a { font-family: var(--pr-serif); font-size: 1.05rem; font-weight: 600; line-height: 1.3; text-decoration: none; color: var(--te-ink); }
.te-pr-more li a:hover { text-decoration: underline; text-underline-offset: 3px; }
.te-pr-more li span { font-size: 0.8rem; color: var(--te-slate); }
.te-pr-more .te-pr-contact__more a { color: var(--te-steel-deep); }

@media (max-width: 960px) {
	.te-pr-hero__grid, .te-pr-lead a, .te-pr-single__grid { grid-template-columns: minmax(0, 1fr); }
	.te-pr-kit { grid-template-columns: minmax(0, 1fr); grid-template-areas: "boiler" "files" "ceo"; }
	.te-pr-single__aside { position: static; }
	.te-pr-lead .te-pr-cover { min-height: 12rem; aspect-ratio: 16 / 8; }
}
@media (max-width: 640px) {
	.te-pr-row a { grid-template-columns: minmax(0, 1fr); gap: 0.6rem; }
	.te-pr-row .te-pr-cover { display: none; }
	.te-pr-record__list div { grid-template-columns: minmax(0, 1fr); gap: 0.1rem; }
	.te-pr-record__head { flex-wrap: wrap; }
	.te-pr-story { grid-template-columns: minmax(0, 1fr); }
}
.te-pr-single__fig .te-pr-cover--badge { aspect-ratio: auto; padding: 1.6rem; }
.te-pr-single__fig .te-pr-cover--badge img { max-width: 15rem; max-height: none; }

/* ==========================================================================
   All resources (/resources/): .te-hub-*
   A card catalog: one drawer per collection, with live counts and the
   newest item. Then latest posts, downloads, client results, and the
   language lookup.
   ========================================================================== */
.te-hub-hero, .te-hub-section { --hub-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-hub-hero p, .te-hub-section p, .te-hub-lang p { margin: 0; }

/* Hero */
.te-hub-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); background: linear-gradient(180deg, #EEF4F7 0%, #fff 100%); border-bottom: 1px solid var(--te-line); }
.te-hub-hero__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2rem clamp(2rem, 5vw, 4rem); align-items: end; }
.te-hub-hero__copy > * { margin-block: 0; }
.te-hub-hero__title { margin: 1rem 0 0 !important; font-family: var(--hub-serif); font-size: clamp(3rem, 6.4vw, 5.4rem); font-weight: 600; line-height: 0.95; letter-spacing: -0.025em; color: var(--te-ink); }
.te-hub-hero__lede { margin-top: 1.2rem !important; max-width: 36rem; font-size: 1.12rem; line-height: 1.6; color: var(--te-slate); }
.te-hub-search label { display: block; margin-bottom: 0.5rem; font-size: 0.9rem; font-weight: 700; color: var(--te-ink); }
.te-hub-search__box { display: flex; border: 1px solid #B9CCD8; border-radius: 12px; background: #fff; box-shadow: 0 14px 30px -24px rgba(15, 42, 61, .6); }
.te-hub-search__box:focus-within { border-color: var(--te-steel-deep); box-shadow: 0 0 0 3px rgba(75, 148, 175, .3); }
.te-hub-search input { flex: 1; min-width: 0; padding: 0.95rem 1rem; border: 0; border-radius: 12px; background: transparent; font: inherit; font-size: 1rem; color: var(--te-ink); }
.te-hub-search input:focus { outline: none; }
.te-hub-search button { margin: 0.3rem; padding: 0 1.2rem; border: 0; border-radius: 9px; background: var(--te-navy); font: inherit; font-weight: 700; color: #fff; cursor: pointer; }
.te-hub-search button:hover { background: var(--te-navy-soft); }
.te-hub-search button:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }

/* The cabinet */
.te-hub-cab { margin-top: clamp(2rem, 4vw, 3rem) !important; padding: clamp(0.6rem, 1.2vw, 0.9rem); border-radius: 20px; background: linear-gradient(180deg, #16384F, #0F2A3D); box-shadow: 0 40px 70px -45px rgba(15, 42, 61, .8), inset 0 1px 0 rgba(255, 255, 255, .08); }
.te-hub-cab__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(0.5rem, 1vw, 0.75rem); margin: 0; padding: 0; list-style: none; }
.te-hub-drawer { --hub-accent: var(--te-steel); margin: 0; }
.te-hub-drawer--navy { --hub-accent: var(--te-navy-soft); }
.te-hub-drawer--orange { --hub-accent: #C8551F; }
.te-hub-drawer--teal { --hub-accent: #1F8A84; }
.te-hub-drawer--violet { --hub-accent: #6A4C9C; }
.te-hub-drawer a { position: relative; display: flex; flex-direction: column; gap: 0.7rem; height: 100%; box-sizing: border-box; padding: 1.1rem 1.1rem 1rem; border-radius: 12px; background: linear-gradient(180deg, #FBFCFD 0%, #EDF2F5 100%); box-shadow: inset 0 0 0 1px rgba(15, 42, 61, .08), inset 0 -3px 0 rgba(15, 42, 61, .06); text-decoration: none; color: var(--te-ink); transition: transform .25s ease, box-shadow .25s ease; }
.te-hub-drawer a:hover, .te-hub-drawer a:focus-visible { transform: translateY(-4px); box-shadow: inset 0 0 0 1px rgba(15, 42, 61, .08), 0 18px 30px -16px rgba(0, 0, 0, .55); }
.te-hub-drawer a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
/* Label plate in a holder, as on a card catalog drawer */
.te-hub-drawer__plate { display: grid; gap: 0.15rem; padding: 0.7rem 0.85rem 0.75rem; border: 1px solid #C9D5DE; border-top: 4px solid var(--hub-accent); border-radius: 6px; background: #fff; box-shadow: 0 1px 0 rgba(15, 42, 61, .06); }
.te-hub-drawer__n { font-family: var(--hub-serif); font-size: clamp(2rem, 3vw, 2.6rem); font-weight: 600; line-height: 1; font-variant-numeric: lining-nums tabular-nums; color: var(--te-ink); }
.te-hub-drawer__t { font-size: 1rem; font-weight: 800; color: var(--te-ink); }
.te-hub-drawer__d { font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-hub-drawer__new { display: grid; gap: 0.1rem; padding-top: 0.6rem; border-top: 1px dashed #C9D5DE; font-family: var(--hub-serif); font-size: 0.98rem; line-height: 1.3; color: var(--te-ink); }
.te-hub-drawer__new span { font-family: Inter, system-ui, sans-serif; font-size: 0.75rem; font-weight: 700; color: var(--hub-accent); }
/* Pull handle */
.te-hub-drawer__pull { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; margin-top: auto; padding-top: 0.5rem; font-size: 0.85rem; font-weight: 700; color: var(--te-steel-deep); }
.te-hub-drawer__pull::before { content: ""; width: 4.5rem; height: 0.5rem; border-radius: 99px; background: linear-gradient(180deg, #9FB5C3, #6F8796); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 2px 3px rgba(15, 42, 61, .25); }
.te-hub-drawer a:hover .te-hub-drawer__pull { color: var(--te-ink); }

/* Latest posts */
.te-hub-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); margin: 0; padding: 0; list-style: none; }
.te-hub-posts li { margin: 0; }
.te-hub-posts a { display: flex; flex-direction: column; gap: 0.55rem; height: 100%; text-decoration: none; color: inherit; }
.te-hub-posts a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 4px; border-radius: 12px; }
.te-hub-posts__img { display: block; overflow: hidden; aspect-ratio: 16 / 9; margin-bottom: 0.4rem; border-radius: 12px; background: var(--te-ice); }
.te-hub-posts__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.te-hub-posts a:hover .te-hub-posts__img img { transform: scale(1.03); }
.te-hub-posts__img.te-bl-art { display: grid; place-items: center; }
.te-hub-posts__meta { display: flex; gap: 0.9rem; font-size: 0.82rem; color: var(--te-slate); }
.te-hub-posts__t { font-family: var(--hub-serif); font-size: 1.35rem; font-weight: 600; line-height: 1.22; color: var(--te-ink); }
.te-hub-posts a:hover .te-hub-posts__t { text-decoration: underline; text-decoration-color: var(--te-steel); text-underline-offset: 4px; }
.te-hub-posts__d { font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }

/* Downloads and client results */
.te-hub-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.te-hub-split__a > *, .te-hub-split__b > * { margin-block: 0; }
.te-hub-h2 { margin: 0 !important; font-family: var(--hub-serif); font-size: clamp(1.8rem, 3vw, 2.3rem); font-weight: 600; color: var(--te-ink); }
.te-hub-sub { margin-top: 0.5rem !important; margin-bottom: 1.3rem !important; color: var(--te-slate); line-height: 1.55; }
.te-hub-sub a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-hub-dl { display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; }
.te-hub-dl li { margin: 0; }
.te-hub-dl a { display: grid; gap: 0.2rem; padding: 1rem 1.15rem 1rem 3.3rem; position: relative; border: 1px solid var(--te-line); border-radius: 12px; background: #fff; text-decoration: none; color: var(--te-ink); transition: border-color .2s ease; }
.te-hub-dl a::before { content: ""; position: absolute; left: 1.1rem; top: 1.1rem; width: 1.4rem; height: 1.4rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-file) center / contain no-repeat; mask: var(--te-i-file) center / contain no-repeat; }
.te-hub-dl a:hover { border-color: var(--te-steel-deep); }
.te-hub-dl a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 2px; }
.te-hub-dl__k { font-size: 0.75rem; font-weight: 700; color: #C8551F; }
.te-hub-dl__t { font-weight: 700; line-height: 1.35; }
.te-hub-dl__f { font-size: 0.85rem; color: var(--te-slate); }
.te-hub-split__b .te-cs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

/* Language lookup band */
.te-hub-lang { padding-block: clamp(2.5rem, 5vw, 4.5rem); background: #fff; }
.te-hub-lang__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.6rem, 4vw, 3rem); border-radius: 20px; background: radial-gradient(50rem 26rem at 95% 0%, #1D4A66 0%, rgba(29, 74, 102, 0) 60%), var(--te-navy); color: #fff; }
.te-hub-lang h2 { margin: 0; font-family: "Newsreader", Georgia, serif; font-size: clamp(1.9rem, 3.2vw, 2.6rem); font-weight: 600; color: #fff; }
.te-hub-lang__copy p { margin-top: 0.7rem !important; max-width: 30rem; line-height: 1.6; color: #D3E3EC; }
.te-hub-lang__copy a { font-weight: 700; color: var(--te-sky); text-underline-offset: 3px; }
.te-hub-lang .te-lx-find { margin-top: 0 !important; max-width: none; }

@media (max-width: 1080px) {
	.te-hub-cab__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-hub-split, .te-hub-lang__grid, .te-hub-hero__top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
	.te-hub-posts, .te-hub-split__b .te-cs-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 520px) {
	.te-hub-cab__grid { grid-template-columns: minmax(0, 1fr); }
	.te-hub-drawer__d { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.te-hub-drawer a, .te-hub-posts__img img { transition: none; }
	.te-hub-drawer a:hover, .te-hub-drawer a:focus-visible { transform: none; }
}

/* ==========================================================================
   About Translation Excellence (/about-us/): .te-ab-*
   The mission set large beside team photos, company facts, a bento of
   links into the About section, the founder's story, values, and badges.
   ========================================================================== */
.te-ab-hero, .te-ab-section { --ab-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-ab-hero p, .te-ab-section p { margin: 0; }

/* Hero */
.te-ab-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(2rem, 4vw, 3rem); background: linear-gradient(180deg, #EEF4F7 0%, #fff 100%); border-bottom: 1px solid var(--te-line); }
.te-ab-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: end; }
.te-ab-hero__copy > * { margin-block: 0; }
.te-ab-hero__title { margin: 1rem 0 0 !important; font-size: 1rem; font-weight: 800; color: var(--te-steel-deep); }
.te-ab-mission { position: relative; margin: 0.9rem 0 0; padding: 0; border: 0; }
.te-ab-mission p { font-family: var(--ab-serif); font-size: clamp(2.1rem, 4.4vw, 3.6rem); font-weight: 600; line-height: 1.06; letter-spacing: -0.02em; color: var(--te-ink); }
.te-ab-mission::before { content: "“"; display: block; height: 0.42em; font-family: var(--ab-serif); font-size: clamp(3rem, 6vw, 5rem); line-height: 1; color: #C8551F; }
.te-ab-hero__lede { margin-top: 1.4rem !important; max-width: 34rem; font-size: 1.1rem; line-height: 1.6; color: var(--te-slate); }
.te-ab-hero__links { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 1.4rem !important; }
.te-ab-hero__links a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* Photo pair */
.te-ab-photos { position: relative; aspect-ratio: 5 / 4.4; }
.te-ab-photos img { position: absolute; display: block; object-fit: cover; border-radius: 18px; box-shadow: 0 30px 50px -30px rgba(15, 42, 61, .55); }
.te-ab-photos__a { right: 0; top: 0; width: 82%; height: 72%; }
.te-ab-photos__b { left: 0; bottom: 0; width: 56%; height: 46%; border: 6px solid #fff; }
.te-ab-photos__tag { position: absolute; right: 4%; bottom: 8%; padding: 0.8rem 1rem; border-radius: 12px; background: var(--te-navy); font-size: 0.9rem; color: #D3E3EC; box-shadow: 0 16px 30px -18px rgba(15, 42, 61, .7); }
.te-ab-photos__tag b { font-family: var(--ab-serif); font-size: 1.5rem; font-weight: 600; color: #fff; }

/* Company facts */
.te-ab-facts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: clamp(2rem, 4vw, 3rem) auto 0 !important; border-top: 2px solid var(--te-ink); }
.te-ab-facts div { display: flex; flex-direction: column; justify-content: flex-start; gap: 0.2rem; padding: 1rem 1rem 0 0; }
.te-ab-facts div + div { padding-left: 1rem; border-left: 1px solid #D5DEE6; }
.te-ab-facts dd { order: -1; margin: 0; font-family: var(--ab-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; line-height: 1; font-variant-numeric: lining-nums; color: var(--te-ink); }
.te-ab-facts dt { font-size: 0.88rem; color: var(--te-slate); }

/* Bento of About pages */
.te-ab-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(14rem, auto); gap: clamp(0.9rem, 1.6vw, 1.3rem); margin: 0; padding: 0; list-style: none; }
.te-ab-card { margin: 0; }
.te-ab-card--overview { grid-column: span 2; grid-row: span 2; }
.te-ab-card--team { grid-column: span 2; }
.te-ab-card--creds { grid-column: span 3; }
.te-ab-card > a, .te-ab-creds { position: relative; display: flex; flex-direction: column; height: 100%; box-sizing: border-box; overflow: hidden; border: 1px solid var(--te-line); border-radius: 18px; background: #fff; text-decoration: none; color: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.te-ab-card > a:hover { border-color: #B9CCD8; box-shadow: 0 24px 44px -30px rgba(15, 42, 61, .5); }
.te-ab-card > a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 3px; }
.te-ab-card__img { display: block; flex: 1; min-height: 9rem; overflow: hidden; background: var(--te-ice); }
.te-ab-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.te-ab-card > a:hover .te-ab-card__img img { transform: scale(1.03); }
.te-ab-card__body { display: grid; gap: 0.4rem; padding: 1.2rem 1.3rem 1.3rem; }
.te-ab-card__t { font-family: var(--ab-serif); font-size: 1.5rem; font-weight: 600; line-height: 1.15; color: var(--te-ink); }
.te-ab-card--overview .te-ab-card__t { font-size: clamp(1.8rem, 2.6vw, 2.3rem); }
.te-ab-card__d { font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }
.te-ab-card__go { margin-top: 0.3rem; font-weight: 700; color: var(--te-steel-deep); }
.te-ab-card > a:hover .te-ab-card__go { text-decoration: underline; text-underline-offset: 3px; }
/* Leaders' faces */
.te-ab-faces { display: flex; align-items: center; flex: 1; padding: 1.4rem 1.3rem 0; }
.te-ab-faces img { width: clamp(3.6rem, 5vw, 4.6rem); height: clamp(3.6rem, 5vw, 4.6rem); margin-right: -0.8rem; border: 3px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 6px 14px -8px rgba(15, 42, 61, .6); }
/* Offices mark */
.te-ab-card__mark { display: flex; flex-direction: column; justify-content: center; gap: 0.35rem; flex: 1; padding: 1.3rem; background: radial-gradient(22rem 14rem at 100% 0%, #1D4A66, transparent 70%), var(--te-navy); }
.te-ab-card__mark span { font-family: var(--ab-serif); font-size: 1.25rem; font-weight: 600; color: #fff; }
.te-ab-card__mark span:last-child { color: var(--te-sky); }
/* Credentials card (three links) */
.te-ab-creds { gap: 0.4rem; padding: 1.3rem; background: var(--te-navy); border-color: var(--te-navy); }
.te-ab-creds .te-ab-card__t { color: #fff; }
.te-ab-creds .te-ab-card__d { color: #B9D3E0; }
.te-ab-creds ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: auto 0 0; padding-top: 0.8rem !important; padding: 0; list-style: none; }
.te-ab-creds li { margin: 0; }
.te-ab-creds a { display: grid; gap: 0.25rem; height: 100%; box-sizing: border-box; padding: 0.85rem 0.9rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 10px; text-decoration: none; color: #fff; }
.te-ab-creds a:hover { background: rgba(255, 255, 255, .07); border-color: var(--te-sky); }
.te-ab-creds a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ab-creds b { font-size: 0.95rem; }
.te-ab-creds a span { font-size: 0.82rem; line-height: 1.45; color: #B9D3E0; }

/* Founder */
.te-ab-founder { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; max-width: 62rem; margin-inline: auto; }
.te-ab-founder img { width: clamp(8rem, 14vw, 12rem); height: clamp(8rem, 14vw, 12rem); border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 6px #fff, 0 20px 40px -24px rgba(15, 42, 61, .7); }
.te-ab-founder h2 { margin: 0; font-family: var(--ab-serif); font-size: clamp(1.9rem, 3.2vw, 2.6rem); font-weight: 600; color: var(--te-ink); }
.te-ab-founder p { margin-top: 0.8rem !important; font-size: 1.08rem; line-height: 1.7; color: var(--te-slate); }
.te-ab-founder__by { font-size: 0.95rem !important; }
.te-ab-founder__by b { color: var(--te-ink); }
.te-ab-founder__by a { margin-left: 0.6rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* Values */
.te-ab-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); margin: 0; padding: 0; list-style: none; }
.te-ab-values li { margin: 0; padding: 1.4rem 1.4rem 1.5rem; border-top: 3px solid var(--te-steel); background: var(--te-cloud); border-radius: 0 0 14px 14px; }
.te-ab-values__k { font-size: 0.82rem; font-weight: 700; color: #C8551F; }
.te-ab-values h3 { margin: 0.4rem 0 0; font-family: var(--ab-serif); font-size: 1.45rem; font-weight: 600; color: var(--te-ink); }
.te-ab-values p { margin-top: 0.6rem !important; line-height: 1.6; color: var(--te-slate); }
.te-ab-badges { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: clamp(1.4rem, 4vw, 3rem); margin: clamp(2rem, 4vw, 3rem) auto 0 !important; padding: 1.6rem 0 0; list-style: none; border-top: 1px solid var(--te-line); }
.te-ab-badges li { margin: 0; }
.te-ab-badges img { display: block; width: auto; height: 3.5rem; }

@media (max-width: 1080px) {
	.te-ab-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-ab-photos { max-width: 36rem; }
	.te-ab-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1rem; }
	.te-ab-facts div:nth-child(4) { padding-left: 0; border-left: 0; }
	.te-ab-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ab-card--overview { grid-row: span 1; }
	.te-ab-card--creds { grid-column: span 2; }
}
@media (max-width: 700px) {
	.te-ab-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ab-facts div:nth-child(n) { padding-left: 0; border-left: 0; }
	.te-ab-bento { grid-template-columns: minmax(0, 1fr); }
	.te-ab-card--overview, .te-ab-card--team, .te-ab-card--creds { grid-column: auto; }
	.te-ab-creds ul, .te-ab-values { grid-template-columns: minmax(0, 1fr); }
	.te-ab-founder { grid-template-columns: minmax(0, 1fr); text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
	.te-ab-card__img img { transition: none; }
}

/* ==========================================================================
   Company overview (/about-us/company-overview/): .te-co-*
   A line-art route as the hero, the founding story as a timeline whose
   milestones link to their sources, and the ten services as an index.
   ========================================================================== */
.te-co-hero, .te-co-section { --co-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-co-hero p, .te-co-section p { margin: 0; }

/* Hero */
.te-co-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(2.5rem, 5vw, 4rem); background: linear-gradient(180deg, #EEF4F7 0%, #fff 100%); border-bottom: 1px solid var(--te-line); }
.te-co-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-co-hero__copy > * { margin-block: 0; }
.te-co-hero__title { margin: 1rem 0 0 !important; font-family: var(--co-serif); font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 600; line-height: 0.98; letter-spacing: -0.025em; color: var(--te-ink); }
.te-co-hero__lede { margin-top: 1.3rem !important; max-width: 34rem; font-size: 1.12rem; line-height: 1.65; color: var(--te-slate); }
.te-co-hero__links { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 1.4rem !important; }
.te-co-hero__links a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* Route */
.te-co-route { margin: 0; padding: clamp(1rem, 2vw, 1.6rem); border-radius: 20px; background: radial-gradient(40rem 24rem at 100% 0%, #1D4A66 0%, rgba(29, 74, 102, 0) 60%), var(--te-navy); box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .8); }
.te-co-route svg { display: block; width: 100%; height: auto; overflow: visible; }
.te-co-route__arc { fill: none; stroke: var(--te-sky); stroke-width: 2.5; stroke-dasharray: 3 9; stroke-linecap: round; }
.te-co-route__pt { fill: var(--te-navy); stroke: var(--te-sky); stroke-width: 3; }
.te-co-route__pt--hq { fill: #C8551F; stroke: #fff; }
.te-co-route__k { font: 700 13px/1 Inter, system-ui, sans-serif; fill: #8FB2C4; }
.te-co-route__n { font: 600 22px/1 "Newsreader", Georgia, serif; fill: #fff; }
.te-co-route figcaption { margin-top: 0.6rem; font-size: 0.85rem; line-height: 1.5; color: #A9C3D1; }
@media (prefers-reduced-motion: no-preference) {
	.te-co-route__arc { animation: te-co-draw 2.4s ease-out both; }
}
@keyframes te-co-draw { from { stroke-dashoffset: 240; opacity: 0; } to { stroke-dashoffset: 0; opacity: 1; } }

/* Timeline */
.te-co-line { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.te-co-line::before { content: ""; position: absolute; left: 10.5rem; top: 0.6rem; bottom: 0.6rem; width: 2px; background: linear-gradient(180deg, #C9D9E3, var(--te-steel) 60%, #C8551F); }
.te-co-line__item { position: relative; display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 3rem; padding: 1.1rem 0 1.4rem; }
.te-co-line__item::before { content: ""; position: absolute; left: calc(10.5rem - 6px); top: 1.55rem; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 3px var(--te-steel); }
.te-co-line__item--link::before { background: var(--te-steel); box-shadow: 0 0 0 4px rgba(75, 148, 175, .2); }
.te-co-line__item:last-child::before { background: #C8551F; box-shadow: 0 0 0 4px rgba(200, 85, 31, .2); }
.te-co-line__when { padding-top: 0.25rem; text-align: right; font-family: var(--co-serif); font-size: 1.2rem; font-weight: 600; color: var(--te-steel-deep); }
.te-co-line__body { max-width: 44rem; }
.te-co-line__body h3 { margin: 0; font-family: var(--co-serif); font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 600; line-height: 1.2; color: var(--te-ink); }
.te-co-line__body p { margin-top: 0.45rem !important; font-size: 1.02rem; line-height: 1.65; color: var(--te-slate); }
.te-co-line__body a { display: inline-block; margin-top: 0.5rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* Services index */
.te-co-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 4vw, 3rem); margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--te-ink); }
.te-co-services li { margin: 0; border-bottom: 1px solid #D5DEE6; }
.te-co-services a { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 0.2rem 1rem; padding: 1.1rem 0; text-decoration: none; color: inherit; }
.te-co-services a::after { content: ""; grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 1.1rem; height: 1.1rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-chevron) center / contain no-repeat; mask: var(--te-i-chevron) center / contain no-repeat; transition: transform .2s ease; }
.te-co-services a:hover::after { transform: translateX(4px); }
.te-co-services b { font-family: var(--co-serif); font-size: 1.3rem; font-weight: 600; color: var(--te-ink); }
.te-co-services span { grid-column: 1; font-size: 0.93rem; line-height: 1.5; color: var(--te-slate); }
.te-co-services a:hover b { text-decoration: underline; text-decoration-color: var(--te-steel); text-underline-offset: 4px; }
.te-co-services a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 2px; }

/* Culture and next pages */
.te-co-culture { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.te-co-culture h2 { margin: 0; font-family: var(--co-serif); font-size: clamp(1.9rem, 3.2vw, 2.6rem); font-weight: 600; line-height: 1.1; color: var(--te-ink); }
.te-co-culture__copy p { margin-top: 0.9rem !important; font-size: 1.05rem; line-height: 1.7; color: var(--te-slate); }
.te-co-next { display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; }
.te-co-next li { margin: 0; }
.te-co-next a { display: grid; gap: 0.15rem; padding: 1rem 1.2rem; border: 1px solid var(--te-line); border-left: 4px solid var(--te-steel); border-radius: 10px; background: #fff; text-decoration: none; color: var(--te-ink); transition: border-color .2s ease; }
.te-co-next a:hover { border-color: var(--te-steel-deep); }
.te-co-next a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 2px; }
.te-co-next b { font-size: 1.02rem; }
.te-co-next span { font-size: 0.88rem; color: var(--te-slate); }

@media (max-width: 1000px) {
	.te-co-hero__grid, .te-co-culture { grid-template-columns: minmax(0, 1fr); }
	.te-co-route { max-width: 36rem; }
}
@media (max-width: 700px) {
	.te-co-line::before { left: 0.45rem; }
	.te-co-line__item { grid-template-columns: minmax(0, 1fr); gap: 0.3rem; padding-left: 2rem; }
	.te-co-line__item::before { left: 0; top: 1.3rem; }
	.te-co-line__when { text-align: left; }
	.te-co-services { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.te-co-services a::after { transition: none; }
}

/* ==========================================================================
   Management team (/about-us/management-team/): .te-mt-*
   A contact sheet of portraits as the hero index, leaders grouped by what
   they are accountable for, every card linking to the full profile.
   ========================================================================== */
.te-mt-hero, .te-mt-section { --mt-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-mt-hero p, .te-mt-section p { margin: 0; }

/* Hero */
.te-mt-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3.25rem, 6vw, 5rem); background: linear-gradient(180deg, #EEF4F7 0%, #fff 100%); border-bottom: 1px solid var(--te-line); }
.te-mt-hero__grid { display: block; }
.te-mt-hero__links { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.6rem !important; }
.te-mt-hero__links a { padding: 0.55rem 1rem; border: 1px solid #B9CCD8; border-radius: 99px; background: #fff; font-size: 0.9rem; font-weight: 700; text-decoration: none; color: var(--te-ink); }
.te-mt-hero__links a:hover { border-color: var(--te-steel-deep); color: var(--te-steel-deep); }
.te-mt-hero__links a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 2px; }
.te-mt-group { scroll-margin-top: 7rem; }
.te-mt-hero__copy > * { margin-block: 0; }
.te-mt-hero__title { margin: 1rem 0 0 !important; font-family: var(--mt-serif); font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 600; line-height: 0.98; letter-spacing: -0.025em; color: var(--te-ink); }
.te-mt-hero__lede { margin-top: 1.3rem !important; max-width: 40rem; font-size: 1.1rem; line-height: 1.65; color: var(--te-slate); }

/* Groups */
.te-mt-group { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.te-mt-group__head { position: sticky; top: 7rem; padding-top: 0.6rem; border-top: 2px solid var(--te-ink); }
.te-mt-group__head h2 { margin: 0; font-family: var(--mt-serif); font-size: clamp(1.6rem, 2.6vw, 2.1rem); font-weight: 600; line-height: 1.12; color: var(--te-ink); }
.te-mt-group__head p { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }
.te-mt-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.4rem); margin: 0; padding: 0; list-style: none; }
.te-mt-card { margin: 0; scroll-margin-top: 7rem; }
.te-mt-card a { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--te-line); border-radius: 16px; background: #fff; text-decoration: none; color: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.te-mt-card a:hover { border-color: #B9CCD8; box-shadow: 0 22px 40px -28px rgba(15, 42, 61, .55); }
.te-mt-card a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 3px; }
.te-mt-card__img { display: block; aspect-ratio: 1; overflow: hidden; background: var(--te-ice); }
.te-mt-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.te-mt-card a:hover .te-mt-card__img img { transform: scale(1.03); }
.te-mt-card__body { display: flex; flex: 1; flex-direction: column; gap: 0.35rem; padding: 1.1rem 1.2rem 1.2rem; }
.te-mt-card__t { font-size: 0.8rem; font-weight: 700; line-height: 1.35; color: #C8551F; }
.te-mt-card__n { font-family: var(--mt-serif); font-size: 1.45rem; font-weight: 600; line-height: 1.15; color: var(--te-ink); }
.te-mt-card__f { font-size: 0.93rem; line-height: 1.55; color: var(--te-slate); }
.te-mt-card__go { margin-top: auto; padding-top: 0.6rem; font-size: 0.9rem; font-weight: 700; color: var(--te-steel-deep); }
.te-mt-card a:hover .te-mt-card__go { text-decoration: underline; text-underline-offset: 3px; }
/* Next */
.te-mt-next { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.te-mt-next a { display: grid; gap: 0.25rem; padding: 1.2rem 1.3rem; border: 1px solid var(--te-line); border-left: 4px solid var(--te-steel); border-radius: 12px; background: #fff; text-decoration: none; color: var(--te-ink); transition: border-color .2s ease; }
.te-mt-next a:hover { border-color: var(--te-steel-deep); }
.te-mt-next a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 2px; }
.te-mt-next b { font-family: var(--mt-serif); font-size: 1.3rem; font-weight: 600; }
.te-mt-next span { font-size: 0.92rem; line-height: 1.5; color: var(--te-slate); }

@media (max-width: 1080px) {
	.te-mt-hero__grid, .te-mt-group { grid-template-columns: minmax(0, 1fr); }
	.te-mt-group__head { position: static; }
}
@media (max-width: 760px) {
	.te-mt-cards, .te-mt-next { grid-template-columns: minmax(0, 1fr); }
	.te-mt-card a { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); }
	.te-mt-card__img { aspect-ratio: auto; height: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.te-mt-card__img img { transition: none; }
}

/* ==========================================================================
   Careers (/about-us/careers/): .te-cr-*
   Two doors (freelance linguists, staff and internships), a live job board
   from Zoho Recruit, why work with us, and the EEO statement.
   ========================================================================== */
.te-cr-hero, .te-cr-section { --cr-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-cr-hero p, .te-cr-section p { margin: 0; }

/* Hero */
.te-cr-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(2.5rem, 5vw, 4rem); background: linear-gradient(180deg, #EEF4F7 0%, #fff 100%); border-bottom: 1px solid var(--te-line); }
.te-cr-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-cr-hero__copy > * { margin-block: 0; }
.te-cr-hero__title { margin: 1rem 0 0 !important; font-size: 1rem; font-weight: 800; color: var(--te-steel-deep); }
.te-cr-hero__big { margin-top: 0.7rem !important; font-family: var(--cr-serif); font-size: clamp(2.6rem, 5.6vw, 4.6rem); font-weight: 600; line-height: 1; letter-spacing: -0.025em; color: var(--te-ink); }
.te-cr-hero__lede { margin-top: 1.2rem !important; max-width: 34rem; font-size: 1.12rem; line-height: 1.65; color: var(--te-slate); }
.te-cr-hero__count { display: inline-flex; align-items: baseline; gap: 0.5rem; margin-top: 1.4rem !important; padding: 0.55rem 1rem; border-radius: 99px; background: var(--te-navy); font-size: 0.95rem; color: #D3E3EC; }
.te-cr-hero__count b { font-family: var(--cr-serif); font-size: 1.35rem; font-weight: 600; color: #fff; }
.te-cr-photo { margin: 0; }
.te-cr-photo img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 20px; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .7); }

/* Two doors */
.te-cr-doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin-top: clamp(2rem, 4vw, 3rem) !important; }
.te-cr-door { display: flex; flex-direction: column; gap: 0.6rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 18px; background: var(--te-navy); color: #fff; }
.te-cr-door--staff { background: #fff; border: 1px solid #C9D9E3; color: var(--te-ink); }
.te-cr-door__k { font-size: 0.82rem; font-weight: 700; color: var(--te-sky); }
.te-cr-door--staff .te-cr-door__k { color: #C8551F; }
.te-cr-door h2 { margin: 0; font-family: var(--cr-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; color: inherit; }
.te-cr-door > p:not(.te-cr-door__k):not(.te-cr-door__btns) { max-width: 32rem; line-height: 1.6; color: #D3E3EC; }
.te-cr-door--staff > p:not(.te-cr-door__k):not(.te-cr-door__btns) { color: var(--te-slate); }
.te-cr-door__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.4rem; margin-top: auto !important; padding-top: 0.6rem; }
.te-cr-door__link { font-weight: 700; color: var(--te-sky); text-underline-offset: 3px; }
.te-cr-door--staff .te-cr-door__link { color: var(--te-steel-deep); }

/* Job board */
.te-cr-tools { display: grid; gap: 0.9rem; margin-bottom: 1.2rem; }
.te-cr-search input { box-sizing: border-box; width: 100%; padding: 0.95rem 1.1rem; border: 1px solid #B9CCD8; border-radius: 12px; background: #fff; font: inherit; font-size: 1rem; color: var(--te-ink); }
.te-cr-search input:focus { outline: 3px solid rgba(75, 148, 175, .35); border-color: var(--te-steel-deep); }
.te-cr-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0; padding: 0; border: 0; }
.te-cr-filter label { position: relative; cursor: pointer; }
.te-cr-filter input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.te-cr-filter span { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.55rem 1rem; border-radius: 99px; background: #fff; box-shadow: inset 0 0 0 1px #C9D5DE; font-size: 0.9rem; font-weight: 700; color: var(--te-ink); }
.te-cr-filter b { display: inline-grid; place-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 0.35rem; border-radius: 99px; background: #E3EAF0; font-size: 0.75rem; }
.te-cr-filter label:hover span { box-shadow: inset 0 0 0 2px var(--te-steel-deep); }
.te-cr-filter input:checked + span { background: var(--te-navy); box-shadow: none; color: #fff; }
.te-cr-filter input:checked + span b { background: rgba(255, 255, 255, .18); }
.te-cr-filter input:focus-visible + span { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-cr-remote { margin-left: auto; }
.te-cr-remote span::before { content: ""; width: 0.9rem; height: 0.9rem; border-radius: 4px; box-shadow: inset 0 0 0 2px #9FB2C0; }
.te-cr-remote input:checked + span::before { background: #fff; box-shadow: inset 0 0 0 4px var(--te-navy); }
.te-cr-status { font-size: 0.9rem; font-weight: 700; color: var(--te-slate); }
.te-cr-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--te-ink); }
.te-cr-job { margin: 0; border-bottom: 1px solid #D5DEE6; }
.te-cr-job[hidden] { display: none; }
.te-cr-job a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.35rem 1.5rem; padding: 1rem 0.4rem; text-decoration: none; color: inherit; }
.te-cr-job a:hover { background: #fff; }
.te-cr-job a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 0; }
.te-cr-job__t { font-family: var(--cr-serif); font-size: 1.2rem; font-weight: 600; line-height: 1.3; color: var(--te-ink); }
.te-cr-job a:hover .te-cr-job__t { text-decoration: underline; text-decoration-color: var(--te-steel); text-underline-offset: 4px; }
.te-cr-job__m { grid-column: 1; display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; font-size: 0.85rem; color: var(--te-slate); }
.te-cr-job__g { font-weight: 700; color: var(--te-steel-deep); }
.te-cr-job__g--staff { color: #C8551F; }
.te-cr-job__g--intern { color: #6A4C9C; }
.te-cr-job__loc.is-remote { color: #2E7D57; font-weight: 600; }
.te-cr-job__go { grid-column: 2; grid-row: 1 / span 2; font-size: 0.9rem; font-weight: 700; color: var(--te-steel-deep); white-space: nowrap; }
.te-cr-none { margin-top: 1rem !important; padding: 1.2rem; border: 1px dashed #B9CCD8; border-radius: 12px; color: var(--te-slate); }
.te-cr-none a, .te-cr-source a { font-weight: 700; color: var(--te-steel-deep); }
.te-cr-source { margin-top: 1rem !important; font-size: 0.85rem; color: var(--te-slate); }
.te-cr-empty { padding: 2rem; border: 1px solid var(--te-line); border-radius: 14px; background: #fff; text-align: center; }
.te-cr-empty p + p { margin-top: 1rem !important; }

/* Why, EEO, about */
.te-cr-why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); margin: 0; padding: 0; list-style: none; }
.te-cr-why li { margin: 0; padding: 1.4rem; border-top: 3px solid var(--te-steel); border-radius: 0 0 14px 14px; background: var(--te-cloud); }
.te-cr-why h3 { margin: 0; font-family: var(--cr-serif); font-size: 1.45rem; font-weight: 600; color: var(--te-ink); }
.te-cr-why p { margin-top: 0.5rem !important; line-height: 1.6; color: var(--te-slate); }
.te-cr-eeo { margin-top: clamp(2rem, 4vw, 3rem) !important; padding: 1.4rem 1.6rem; border-left: 4px solid var(--te-navy); background: #fff; box-shadow: inset 0 0 0 1px var(--te-line); border-radius: 0 12px 12px 0; }
.te-cr-eeo h2 { margin: 0; font-size: 1.05rem; font-weight: 800; color: var(--te-ink); }
.te-cr-eeo p { margin-top: 0.5rem !important; max-width: 70rem; font-size: 0.92rem; line-height: 1.65; color: var(--te-slate); }
.te-cr-about { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
.te-cr-about h2 { margin: 0; font-family: var(--cr-serif); font-size: clamp(1.8rem, 3vw, 2.3rem); font-weight: 600; color: var(--te-ink); }
.te-cr-about p { margin-top: 0.8rem !important; font-size: 1.05rem; line-height: 1.7; color: var(--te-slate); }

@media (max-width: 1000px) {
	.te-cr-hero__grid, .te-cr-about { grid-template-columns: minmax(0, 1fr); }
	.te-cr-photo img { aspect-ratio: 16 / 6; object-position: center 40%; }
}
@media (max-width: 760px) {
	.te-cr-doors, .te-cr-why { grid-template-columns: minmax(0, 1fr); }
	.te-cr-job a { grid-template-columns: minmax(0, 1fr); }
	.te-cr-job__go { grid-column: 1; grid-row: auto; }
	.te-cr-remote { margin-left: 0; }
}

/* ==========================================================================
   Cities we serve (/cities-we-serve/): .te-ct-*
   A state tile map as navigation, featured metros, and a searchable
   A to Z directory of every city page.
   ========================================================================== */
.te-ct-hero, .te-ct-section { --ct-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-ct-hero p, .te-ct-section p { margin: 0; }

/* Hero */
.te-ct-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(2.5rem, 5vw, 4rem); background: linear-gradient(180deg, #EEF4F7 0%, #fff 100%); border-bottom: 1px solid var(--te-line); }
.te-ct-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-ct-hero__copy > * { margin-block: 0; }
.te-ct-hero__title { margin: 1rem 0 0 !important; font-family: var(--ct-serif); font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 600; line-height: 0.98; letter-spacing: -0.025em; color: var(--te-ink); }
.te-ct-hero__lede { margin-top: 1.3rem !important; max-width: 32rem; font-size: 1.1rem; line-height: 1.65; color: var(--te-slate); }
.te-ct-hero__hint { margin-top: 1rem !important; font-size: 0.9rem; font-weight: 700; color: var(--te-steel-deep); }

/* Tile map */
.te-ct-map { margin: 0; padding: clamp(1rem, 2vw, 1.5rem); border-radius: 20px; background: var(--te-navy); box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .8); }
.te-ct-map__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(8, auto); gap: clamp(3px, 0.5vw, 6px); margin: 0; padding: 0; list-style: none; }
.te-ct-tile { aspect-ratio: 1; margin: 0; }
.te-ct-tile a, .te-ct-tile--off { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; box-sizing: border-box; border-radius: 6px; text-decoration: none; }
.te-ct-tile a { background: var(--te-steel); color: #fff; transition: background-color .2s ease, transform .2s ease; }
.te-ct-tile a:hover, .te-ct-tile a:focus-visible { background: #fff; color: var(--te-navy); transform: scale(1.08); }
.te-ct-tile a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-ct-tile b { font-size: clamp(0.62rem, 1.05vw, 0.85rem); font-weight: 800; line-height: 1; }
.te-ct-tile a span { margin-top: 0.15rem; font-size: clamp(0.5rem, 0.8vw, 0.66rem); font-variant-numeric: tabular-nums; opacity: .8; }
.te-ct-tile--off { background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .45); }
.te-ct-tile--hq a, .te-ct-tile--office a { background: #C8551F; }
.te-ct-tile--hq a:hover, .te-ct-tile--office a:hover { background: #fff; color: #C8551F; }
.te-ct-map__cap { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; margin-top: 1rem; font-size: 0.8rem; color: #B9D3E0; }
.te-ct-key { display: inline-flex; align-items: center; gap: 0.45rem; }
.te-ct-key::before { content: ""; width: 0.8rem; height: 0.8rem; border-radius: 3px; background: var(--te-steel); }
.te-ct-key--hq::before { background: #C8551F; }
.te-ct-key--off::before { background: rgba(255, 255, 255, .18); }

/* Metros */
.te-ct-metros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(9rem, 14vw, 12rem); gap: clamp(0.7rem, 1.4vw, 1rem); margin: 0; padding: 0; list-style: none; }
.te-ct-metro { margin: 0; }
.te-ct-metro--office { grid-row: span 2; }
.te-ct-metro a { position: relative; display: block; height: 100%; overflow: hidden; border-radius: 14px; text-decoration: none; }
.te-ct-metro img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.te-ct-metro a:hover img { transform: scale(1.04); }
.te-ct-metro a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 3px; }
.te-ct-metro__body { position: absolute; inset: auto 0 0 0; display: grid; gap: 0.15rem; padding: 2.4rem 1rem 0.9rem; background: linear-gradient(180deg, rgba(15, 42, 61, 0), rgba(15, 42, 61, .88)); color: #fff; }
.te-ct-metro__k { font-size: 0.78rem; font-weight: 700; color: #FFC9A8; }
.te-ct-metro__t { font-family: var(--ct-serif); font-size: clamp(1.15rem, 1.8vw, 1.5rem); font-weight: 600; line-height: 1.1; }
.te-ct-metro--office .te-ct-metro__t { font-size: clamp(1.5rem, 2.6vw, 2.1rem); }

/* Directory */
.te-ct-dir__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.5rem; margin-bottom: 1.4rem; }
.te-ct-search { flex: 1 1 22rem; }
.te-ct-search input { box-sizing: border-box; width: 100%; padding: 0.95rem 1.1rem; border: 1px solid #B9CCD8; border-radius: 12px; background: #fff; font: inherit; font-size: 1rem; color: var(--te-ink); }
.te-ct-search input:focus { outline: 3px solid rgba(75, 148, 175, .35); border-color: var(--te-steel-deep); }
.te-ct-status { font-size: 0.9rem; font-weight: 700; color: var(--te-slate); }
.te-ct-states { columns: 4 15rem; column-gap: 2rem; }
.te-ct-state { break-inside: avoid; margin: 0 0 1.6rem; padding-top: 0.7rem; border-top: 2px solid var(--te-ink); scroll-margin-top: 7rem; }
.te-ct-state[hidden], .te-ct-state li[hidden] { display: none; }
.te-ct-state:target { border-top-color: #C8551F; }
.te-ct-state h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; margin: 0 0 0.4rem; font-family: var(--ct-serif); font-size: 1.3rem; font-weight: 600; color: var(--te-ink); }
.te-ct-state h3 a { text-decoration: none; color: inherit; }
.te-ct-state h3 a:hover { color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }
.te-ct-state h3 span { font-family: Inter, system-ui, sans-serif; font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-ct-state ul { margin: 0; padding: 0; list-style: none; }
.te-ct-state li { margin: 0; }
.te-ct-state li a { display: block; padding: 0.22rem 0; font-size: 0.95rem; text-decoration: none; color: var(--te-slate); }
.te-ct-state li a:hover { color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }
.te-ct-none { padding: 1.2rem; border: 1px dashed #B9CCD8; border-radius: 12px; color: var(--te-slate); }
.te-ct-none a { font-weight: 700; color: var(--te-steel-deep); }

@media (max-width: 1080px) {
	.te-ct-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.te-ct-metros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.te-ct-metro--office { grid-row: span 1; }
}
@media (max-width: 640px) {
	.te-ct-map { padding: 0.7rem; }
	.te-ct-tile a span { display: none; }
	.te-ct-metros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ct-metro--office { grid-column: span 2; }
	.te-ct-states { columns: 2 9rem; column-gap: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
	.te-ct-tile a, .te-ct-metro img { transition: none; }
}

/* ==========================================================================
   Added state and city pages (/{state}/ and /{state}/{city}/): .te-cp-*
   Built by te/state-page and te/city-page (inc/city-pages.php).
   ========================================================================== */
.te-cp { --cp-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-cp p { margin: 0; }
.te-cp-wrap { box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding-inline: clamp(1rem, 4vw, 1.5rem); }
.te-cp-hero { padding-block: clamp(2rem, 4vw, 3.5rem) clamp(2.5rem, 5vw, 4rem); background: linear-gradient(180deg, #EEF4F7 0%, #fff 100%); border-bottom: 1px solid var(--te-line); }
.te-cp-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-cp-crumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.85rem; color: var(--te-slate); }
.te-cp-crumbs a { color: var(--te-steel-deep); text-decoration: none; }
.te-cp-crumbs a:hover { text-decoration: underline; }
.te-cp-k { margin-top: 1.1rem !important; font-size: 0.9rem; font-weight: 800; color: #C8551F; }
.te-cp-title { margin: 0.4rem 0 0; max-width: 18ch; font-family: var(--cp-serif); font-size: clamp(2.3rem, 5vw, 4rem); font-weight: 600; line-height: 1.02; letter-spacing: -0.02em; color: var(--te-ink); }
.te-cp-lede { margin-top: 1.2rem !important; max-width: 38rem; font-size: 1.1rem; line-height: 1.65; color: var(--te-slate); }
.te-cp-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.6rem !important; }
.te-cp-call { color: var(--te-ink) !important; box-shadow: inset 0 0 0 1px #B9CCD8 !important; }
.te-cp-call:hover { background: #fff !important; }
.te-cp-card { padding: clamp(1.3rem, 2.5vw, 1.8rem); border-radius: 18px; background: var(--te-navy); color: #fff; box-shadow: 0 30px 60px -40px rgba(15, 42, 61, .8); }
.te-cp-card__place { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: 0.8rem; border-bottom: 1px solid rgba(255, 255, 255, .16); font-family: var(--cp-serif); font-size: 1.8rem; font-weight: 600; }
.te-cp-card__place span { font-family: Inter, system-ui, sans-serif; font-size: 0.85rem; font-weight: 800; color: var(--te-sky); }
.te-cp-card dl { display: grid; margin: 0; }
.te-cp-card dl div { display: grid; gap: 0.1rem; padding: 0.7rem 0; border-bottom: 1px solid rgba(255, 255, 255, .09); }
.te-cp-card dt { font-size: 0.8rem; color: #9DBDCC; }
.te-cp-card dd { margin: 0; font-weight: 600; }
.te-cp-sec { padding-block: clamp(2.5rem, 5vw, 4rem); }
.te-cp-sec--alt { background: var(--te-cloud); }
.te-cp-h2 { margin: 0 0 1.4rem; font-family: var(--cp-serif); font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 600; line-height: 1.15; color: var(--te-ink); }
.te-cp-h3 { margin: 0 0 0.8rem; font-family: var(--cp-serif); font-size: 1.35rem; font-weight: 600; color: var(--te-ink); }
.te-cp-p { font-size: 1.02rem; line-height: 1.65; color: var(--te-slate); }
.te-cp-p a, .te-cp-more a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-cp-services { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin-top: 0 !important; }
.te-cp-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
.te-cp-split--top { align-items: start; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); }
.te-cp-lookup { padding: clamp(1.2rem, 3vw, 1.8rem); border-radius: 18px; background: var(--te-navy); }
.te-cp-lookup .te-lx-find { margin-top: 0 !important; max-width: none; }
.te-cp-faq details { border-bottom: 1px solid #D5DEE6; }
.te-cp-faq summary { padding: 1rem 0; font-weight: 700; color: var(--te-ink); cursor: pointer; }
.te-cp-faq details p { padding-bottom: 1rem; line-height: 1.65; color: var(--te-slate); }
.te-cp-near { padding: 1.3rem 1.4rem; border: 1px solid var(--te-line); border-radius: 14px; background: #fff; }
.te-cp-near ul { columns: 2; column-gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-cp-near li { margin: 0; }
.te-cp-near li a { display: block; padding: 0.3rem 0; color: var(--te-steel-deep); text-decoration: none; }
.te-cp-near li a:hover { text-decoration: underline; text-underline-offset: 3px; }
.te-cp-near p { display: flex; flex-wrap: wrap; gap: 0.6rem 1.2rem; margin-top: 1rem !important; padding-top: 0.9rem; border-top: 1px solid var(--te-line); }
.te-cp-near p a { font-weight: 700; color: var(--te-ink); text-underline-offset: 3px; }
.te-cp-cities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.9rem; margin: 0; padding: 0; list-style: none; }
.te-cp-cities li { margin: 0; }
.te-cp-cities a { display: grid; gap: 0.3rem; height: 100%; box-sizing: border-box; padding: 1.1rem 1.2rem; border: 1px solid var(--te-line); border-top: 3px solid var(--te-steel); border-radius: 12px; background: #fff; text-decoration: none; color: var(--te-ink); transition: border-color .2s ease, box-shadow .2s ease; }
.te-cp-cities a:hover { box-shadow: 0 18px 30px -24px rgba(15, 42, 61, .55); border-color: #B9CCD8; }
.te-cp-cities a:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 2px; }
.te-cp-cities b { font-family: var(--cp-serif); font-size: 1.35rem; font-weight: 600; }
.te-cp-cities span { font-size: 0.9rem; line-height: 1.5; color: var(--te-slate); }
.te-cp-more { margin-top: 1.4rem !important; }

@media (max-width: 960px) {
	.te-cp-hero__grid, .te-cp-split, .te-cp-split--top { grid-template-columns: minmax(0, 1fr); }
	.te-cp-services { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.te-cp-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.te-cp-services, .te-cp-cities { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Language pages (te/language-page): extends the .te-cp-* state and city page styles. */
.te-lp-name { border-bottom: 0 !important; padding-bottom: 0 !important; }
.te-lp-endo { margin: 0.2rem 0 0.8rem !important; padding-bottom: 0.8rem; border-bottom: 1px solid rgba(255, 255, 255, .16); font-family: "Newsreader", Georgia, "Segoe UI", "Nirmala UI", "Ebrima", "Gadugi", "Leelawadee UI", "Microsoft Himalaya", "Myanmar Text", "Khmer UI", "Yu Gothic", "Malgun Gothic", "Microsoft YaHei", serif; font-size: 1.6rem; color: var(--te-sky); }
.te-lp-links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; margin-top: 1rem !important; }
.te-lp-links a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-lp-docs { padding: 1.3rem 1.4rem; border: 1px solid var(--te-line); border-left: 4px solid var(--te-steel); border-radius: 12px; background: #fff; }
.te-lp-docs ul { margin: 0; padding-left: 1.1rem; line-height: 1.9; color: var(--te-slate); }
.te-lp-interp { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.te-lp-sectors { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.te-lp-sectors li { margin: 0; }
.te-lp-sectors a { display: inline-block; padding: 0.65rem 1.1rem; border: 1px solid #C9D5DE; border-radius: 99px; background: #fff; font-weight: 700; text-decoration: none; color: var(--te-ink); }
.te-lp-sectors a:hover { border-color: var(--te-steel-deep); color: var(--te-steel-deep); }
@media (max-width: 960px) { .te-lp-interp { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .te-lp-interp { grid-template-columns: minmax(0, 1fr) !important; } }

.te-lp-intro { max-width: 52rem; margin: -0.4rem 0 1.4rem !important; }

/* ==========================================================================
   ISO certified quality (/solutions/iso-standards/): .te-is-*
   TE-designed seals (not the ISO logo), certificate cards, the ISO 17100
   workflow, and a procurement checklist.
   ========================================================================== */
.te-is-hero, .te-is-section { --is-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-is-hero p, .te-is-section p { margin: 0; }

/* Hero */
.te-is-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); background: radial-gradient(60rem 36rem at 85% 10%, #1D4A66 0%, rgba(29, 74, 102, 0) 60%), var(--te-navy); color: #fff; }
.te-is-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-is-hero__copy > * { margin-block: 0; }
.te-is-hero .te-breadcrumbs, .te-is-hero .te-breadcrumbs a { color: #B9D3E0; }
.te-is-k { margin-top: 1.1rem !important; font-size: 0.9rem; font-weight: 800; color: #FFB48A; }
.te-is-title { margin: 0.5rem 0 0 !important; font-family: var(--is-serif); font-size: clamp(2.6rem, 5.4vw, 4.4rem); font-weight: 600; line-height: 1.02; letter-spacing: -0.02em; color: #fff; }
.te-is-lede { margin-top: 1.3rem !important; max-width: 34rem; font-size: 1.1rem; line-height: 1.65; color: #D3E3EC; }
.te-is-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.7rem !important; }

/* Seal wall: three over two, like a framed set */
.te-is-wall { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(0.6rem, 1.5vw, 1.2rem); margin: 0; padding: 0; list-style: none; }
.te-is-wall__item { grid-column: span 2; margin: 0; }
.te-is-wall__item--3 { grid-column: 2 / span 2; }
.te-is-wall__item--4 { grid-column: 4 / span 2; }
.te-is-wall a { display: block; border-radius: 50%; transition: transform .25s ease; }
.te-is-wall a:hover, .te-is-wall a:focus-visible { transform: translateY(-4px) rotate(-3deg); }
.te-is-wall a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 4px; }
.te-is-seal { display: block; width: 100%; height: auto; font-family: Inter, system-ui, sans-serif; }
.te-is-seal__ring { fill: none; stroke: var(--te-sky); stroke-width: 2; }
.te-is-seal__dash { fill: none; stroke: rgba(124, 200, 230, .45); stroke-width: 1; stroke-dasharray: 1.5 2.5; }
.te-is-seal__disc { fill: rgba(255, 255, 255, .05); stroke: rgba(255, 255, 255, .22); stroke-width: 1; }
.te-is-seal__arc { font-size: 8px; font-weight: 800; letter-spacing: 2px; fill: #FFB48A; }
.te-is-seal__pre { font-size: 9.5px; font-weight: 700; fill: rgba(255, 255, 255, .78); }
.te-is-seal__num { font-size: 18px; font-weight: 800; letter-spacing: -0.5px; fill: #fff; }
.te-is-seal__area { font-size: 7.5px; font-weight: 600; fill: rgba(255, 255, 255, .72); }
/* Seals on light cards */
.te-is-seal.card .te-is-seal__ring { stroke: var(--te-steel); }
.te-is-seal.card .te-is-seal__dash { stroke: rgba(75, 148, 175, .5); }
.te-is-seal.card .te-is-seal__disc { fill: var(--te-navy); stroke: none; }
.te-is-seal.card .te-is-seal__arc { fill: #C8551F; }

/* Certificate cards */
.te-is-certs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.te-is-cert { position: relative; display: flex; flex-direction: column; gap: 0.6rem; margin: 0; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid #C9D5DE; border-radius: 6px; background: #fff; box-shadow: inset 0 0 0 6px #fff, inset 0 0 0 7px #E1E8EE; scroll-margin-top: 7rem; }
.te-is-cert:last-child:nth-child(odd) { grid-column: 1 / -1; }
.te-is-cert:target { border-color: #C8551F; }
.te-is-cert__head { display: flex; align-items: center; gap: 1rem; padding-bottom: 0.9rem; border-bottom: 1px solid var(--te-line); }
.te-is-cert__head .te-is-seal { flex: none; width: 4.6rem; }
.te-is-cert h3 { margin: 0; font-family: var(--is-serif); font-size: clamp(1.5rem, 2.4vw, 1.85rem); font-weight: 600; color: var(--te-ink); }
.te-is-cert__t { font-size: 0.95rem; font-weight: 700; color: var(--te-steel-deep); }
.te-is-cert__what { font-size: 1rem; line-height: 1.6; color: var(--te-slate); }
.te-is-cert__k { margin-top: 0.4rem !important; font-size: 0.8rem; font-weight: 800; color: #C8551F; }
.te-is-cert__list { margin: 0; padding-left: 1.1rem; line-height: 1.75; color: var(--te-ink); }
.te-is-cert__applies { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; margin-top: auto !important; padding-top: 0.9rem; border-top: 1px dashed #C9D5DE; }
.te-is-cert__applies a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* Workflow */
.te-is-steps { counter-reset: is; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-is-steps li { counter-increment: is; position: relative; display: grid; gap: 0.4rem; align-content: start; margin: 0; padding-top: 3.2rem; }
.te-is-steps li::before { content: counter(is); position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--te-navy); font-weight: 800; color: #fff; }
.te-is-steps li:not(:last-child)::after { content: ""; position: absolute; top: 1.2rem; left: 2.9rem; right: -0.6rem; height: 2px; background: #C9D9E3; }
.te-is-steps b { font-family: var(--is-serif); font-size: 1.3rem; font-weight: 600; color: var(--te-ink); }
.te-is-steps span { font-size: 0.93rem; line-height: 1.55; color: var(--te-slate); }

/* Procurement */
.te-is-audit { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.6rem, 4vw, 2.8rem); border-radius: 20px; background: var(--te-navy); color: #fff; }
.te-is-audit h2 { margin: 0; font-family: var(--is-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; color: #fff; }
.te-is-audit__copy p:not(.te-is-btns) { margin-top: 0.8rem !important; line-height: 1.65; color: #D3E3EC; }
.te-is-check { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.te-is-check li { position: relative; margin: 0; padding: 0.85rem 1rem 0.85rem 3rem; border-radius: 10px; background: rgba(255, 255, 255, .06); line-height: 1.45; }
.te-is-check li::before { content: ""; position: absolute; left: 1rem; top: 50%; width: 1.2rem; height: 1.2rem; margin-top: -0.6rem; background: #7FD3A8; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-is-logos { margin-top: clamp(2rem, 4vw, 3rem) !important; text-align: center; }
.te-is-logos > p { font-size: 0.9rem; font-weight: 700; color: var(--te-slate); }
.te-is-logos ul { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1.5rem 2rem; align-items: center; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.te-is-logos li { display: flex; justify-content: center; margin: 0; }
.te-is-logos img { height: 34px; width: 100%; max-width: 104px; object-fit: contain; filter: grayscale(1) contrast(1.1); opacity: .62; }

@media (max-width: 1000px) {
	.te-is-hero__grid, .te-is-audit { grid-template-columns: minmax(0, 1fr); }
	.te-is-wall { max-width: 30rem; }
	.te-is-steps { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
	.te-is-steps li { padding: 0 0 0 3.4rem; }
	.te-is-steps li::after { display: none; }
	.te-is-logos ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
	.te-is-certs { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.te-is-wall a { transition: none; }
}

/* ==========================================================================
   Federal certification (/federal-certification/): .te-fd-*
   An entity record with a graduation stamp, credential panels, the
   graduation story, procurement data, capabilities, and teaming.
   ========================================================================== */
.te-fd-hero, .te-fd-section, .te-fd-story, .te-fd-team { --fd-serif: "Newsreader", Georgia, "Times New Roman", serif; --fd-stamp: #C8551F; }
.te-fd-hero p, .te-fd-section p, .te-fd-story p, .te-fd-team p { margin: 0; }

/* Hero */
.te-fd-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); background: linear-gradient(180deg, rgba(10, 30, 48, .9), rgba(10, 30, 48, .96)), url("../img/government/capitol.webp") center 30% / cover no-repeat, var(--te-navy); color: #fff; }
.te-fd-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-fd-hero__copy > * { margin-block: 0; }
.te-fd-hero .te-breadcrumbs, .te-fd-hero .te-breadcrumbs a { color: #B9D3E0; }
.te-fd-motto { margin-top: 1.2rem !important; font-family: var(--fd-serif); font-size: clamp(1.15rem, 1.8vw, 1.4rem); font-style: italic; color: #FFB48A; }
.te-fd-title { margin: 0.4rem 0 0 !important; font-family: var(--fd-serif); font-size: clamp(2.5rem, 5vw, 4.1rem); font-weight: 600; line-height: 1.04; letter-spacing: -0.02em; color: #fff; }
.te-fd-lede { margin-top: 1.3rem !important; max-width: 36rem; font-size: 1.1rem; line-height: 1.65; color: #D3E3EC; }
.te-fd-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.7rem !important; }

/* Entity record: a paper record with a rubber-stamp seal */
.te-fd-record { position: relative; padding: clamp(1.5rem, 3vw, 2.1rem); border-radius: 4px; background: #FBFCFD; color: var(--te-ink); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .55), inset 0 0 0 6px #FBFCFD, inset 0 0 0 7px #D6E0E7; }
.te-fd-record__k { font-size: 0.85rem; font-weight: 700; color: var(--te-slate); }
.te-fd-record__name { margin-top: 0.2rem !important; padding-bottom: 0.9rem; border-bottom: 2px solid var(--te-ink); font-family: var(--fd-serif); font-size: 1.45rem; font-weight: 600; padding-right: 5.5rem; }
.te-fd-record__creds { margin: 0; padding: 0; list-style: none; }
.te-fd-record__creds li { margin: 0; border-bottom: 1px solid var(--te-line); }
.te-fd-record__creds a { display: grid; gap: 0.1rem; padding: 0.8rem 0; color: inherit; text-decoration: none; }
.te-fd-record__creds b { font-size: 0.98rem; }
.te-fd-record__creds span { font-size: 0.9rem; color: var(--te-steel-deep); font-weight: 600; }
.te-fd-record__creds a:hover b, .te-fd-record__creds a:focus-visible b { text-decoration: underline; text-underline-offset: 3px; }
.te-fd-record__ids { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; margin: 1rem 0 0; }
.te-fd-record__ids div { margin: 0; }
.te-fd-record__ids dt { font-size: 0.78rem; font-weight: 700; color: var(--te-slate); }
.te-fd-record__ids dd { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem; margin: 0.15rem 0 0; font-variant-numeric: tabular-nums; font-weight: 800; font-size: 0.98rem; letter-spacing: 0.02em; }
.te-fd-record .te-gov-copy { font-size: 0.72rem; }
.te-fd-record__src { margin-top: 1rem !important; font-size: 0.85rem; color: var(--te-slate); }
.te-fd-record__src a { color: var(--te-steel-deep); font-weight: 700; }
.te-fd-stamp { position: absolute; top: -2.2rem; right: -1.6rem; width: 8.4rem; height: auto; transform: rotate(-14deg); font-family: Inter, system-ui, sans-serif; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .18)); }
.te-fd-stamp__o { fill: #FFF6F0; stroke: var(--fd-stamp); stroke-width: 3; }
.te-fd-stamp__i { fill: none; stroke: var(--fd-stamp); stroke-width: 1.5; stroke-dasharray: 2 2.5; }
.te-fd-stamp__arc { font-size: 9px; font-weight: 800; letter-spacing: 1.6px; fill: var(--fd-stamp); }
.te-fd-stamp__big { font-size: 12.5px; font-weight: 900; letter-spacing: 0.5px; fill: var(--fd-stamp); }

/* Credentials */
.te-fd-creds { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.te-fd-cred { display: flex; flex-direction: column; gap: 0.7rem; margin: 0; padding: clamp(1.4rem, 3vw, 1.9rem); border: 1px solid #C9D5DE; border-top: 5px solid var(--te-navy); border-radius: 4px; background: #fff; scroll-margin-top: 7rem; }
.te-fd-cred--8a { border-top-color: var(--fd-stamp); }
.te-fd-cred--hub { border-top-color: var(--te-steel); }
.te-fd-cred:target { box-shadow: 0 0 0 3px rgba(200, 85, 31, .35); }
.te-fd-cred__status { font-size: 0.88rem; font-weight: 800; color: var(--te-steel-deep); }
.te-fd-cred--8a .te-fd-cred__status { color: var(--fd-stamp); }
.te-fd-cred h3 { margin: 0; font-family: var(--fd-serif); font-size: clamp(1.4rem, 2.2vw, 1.7rem); font-weight: 600; line-height: 1.2; color: var(--te-ink); }
.te-fd-cred__text { line-height: 1.62; color: var(--te-slate); }
.te-fd-cred__facts { display: grid; gap: 0; margin: 0.2rem 0 0; border-top: 1px solid var(--te-line); }
.te-fd-cred__facts div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0; border-bottom: 1px solid var(--te-line); }
.te-fd-cred__facts dt { color: var(--te-slate); font-size: 0.92rem; }
.te-fd-cred__facts dd { margin: 0; font-weight: 700; font-size: 0.95rem; text-align: right; color: var(--te-ink); font-variant-numeric: tabular-nums; }
.te-fd-cred__more { margin-top: auto !important; padding-top: 0.4rem; }
.te-fd-cred__more a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-fd-cleared { position: relative; margin-top: clamp(1.25rem, 2.5vw, 1.75rem) !important; padding: 1rem 1.2rem 1rem 3.2rem; border-radius: 6px; background: var(--te-ice); line-height: 1.6; color: var(--te-ink); }
.te-fd-cleared::before { content: ""; position: absolute; left: 1.1rem; top: 1.1rem; width: 1.3rem; height: 1.3rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-shield) center / contain no-repeat; mask: var(--te-i-shield) center / contain no-repeat; }

/* Graduation story */
.te-fd-story { background: #F3F7FA; border-block: 1px solid #DCE6ED; }
.te-fd-story__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.te-fd-story h2 { margin: 0; font-family: var(--fd-serif); font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 600; line-height: 1.1; color: var(--te-ink); }
.te-fd-quote { position: relative; margin: 1.4rem 0 0; padding: 0 0 0 1.6rem; border-left: 4px solid var(--fd-stamp); }
.te-fd-quote p { font-family: var(--fd-serif); font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.45; color: var(--te-ink); }
.te-fd-proof { display: grid; gap: 1.4rem; margin: 0; padding: 0; list-style: none; }
.te-fd-proof li { margin: 0; padding-bottom: 1.4rem; border-bottom: 1px solid #D3DEE6; }
.te-fd-proof li:last-child { border-bottom: 0; padding-bottom: 0; }
.te-fd-proof h3 { margin: 0 0 0.35rem; font-size: 1.1rem; font-weight: 800; color: var(--te-ink); }
.te-fd-proof p { line-height: 1.6; color: var(--te-slate); }
.te-fd-proof a { display: inline-block; margin-top: 0.45rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

/* Procurement sheet */
.te-fd-sheet { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: clamp(1.25rem, 3vw, 2.5rem); align-items: start; }
.te-fd-table { width: 100%; border-collapse: collapse; border: 1px solid #C9D5DE; background: #fff; font-size: 1rem; }
.te-fd-table thead th { padding: 0.8rem 1.1rem; background: var(--te-navy); color: #fff; text-align: left; font-size: 0.9rem; font-weight: 700; }
.te-fd-table tbody th, .te-fd-table td { padding: 0.85rem 1.1rem; border-top: 1px solid var(--te-line); text-align: left; vertical-align: top; }
.te-fd-table tbody th { width: 34%; font-weight: 600; color: var(--te-slate); }
.te-fd-table tbody tr:nth-child(even) { background: #F8FAFC; }
.te-fd-table td { color: var(--te-ink); }
.te-fd-table__v { font-weight: 800; font-variant-numeric: tabular-nums; }
.te-fd-table td .te-gov-copy { margin-left: 0.5rem; vertical-align: 1px; }
.te-fd-table small { display: block; margin-top: 0.2rem; font-size: 0.86rem; color: var(--te-slate); }
.te-fd-sheet__aside { padding: 1.5rem; border-radius: 6px; background: var(--te-navy); color: #D3E3EC; }
.te-fd-sheet__aside h3 { margin: 0 0 0.8rem; font-family: var(--fd-serif); font-size: 1.5rem; font-weight: 600; color: #fff; }
.te-fd-sheet__aside p + p { margin-top: 0.8rem; }
.te-fd-sheet__aside b { color: #fff; }
.te-fd-sheet__aside a { color: #fff; text-underline-offset: 3px; }
.te-fd-sheet__links { display: grid; gap: 0.5rem; margin-top: 1.2rem !important; padding-top: 1.2rem; border-top: 1px solid rgba(255, 255, 255, .18); }
.te-fd-sheet__links a { font-weight: 700; color: #9FD4EA; }

/* Capabilities */
.te-fd-caps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.te-fd-cap { position: relative; display: flex; flex-direction: column; margin: 0; border-radius: 6px; overflow: hidden; background: #fff; border: 1px solid #DCE4EA; }
.te-fd-cap img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.te-fd-cap div { display: grid; gap: 0.45rem; padding: 1.1rem 1.2rem 1.3rem; }
.te-fd-cap h3 { margin: 0; font-size: 1.12rem; font-weight: 800; }
.te-fd-cap h3 a { color: var(--te-ink); text-decoration: none; }
.te-fd-cap h3 a::after { content: ""; position: absolute; inset: 0; }
.te-fd-cap:hover h3 a, .te-fd-cap h3 a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.te-fd-cap:focus-within { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-fd-cap p { font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }

/* Teaming and past performance */
.te-fd-team { background: var(--te-navy); color: #fff; }
.te-fd-team__head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: end; }
.te-fd-team h2 { margin: 0; font-family: var(--fd-serif); font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 600; line-height: 1.1; color: #fff; }
.te-fd-team__head p { font-size: 1.08rem; line-height: 1.65; color: #D3E3EC; }
.te-fd-models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .2); }
.te-fd-models li { margin: 0; padding: 1.5rem 1.5rem 0 0; }
.te-fd-models li + li { padding-left: 1.5rem; border-left: 1px solid rgba(255, 255, 255, .2); }
.te-fd-models h3 { margin: 0 0 0.5rem; font-family: var(--fd-serif); font-size: 1.5rem; font-weight: 600; color: #FFB48A; }
.te-fd-models p { line-height: 1.6; color: #D3E3EC; }
.te-fd-pp { margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; padding: clamp(1.25rem, 3vw, 1.75rem); border-radius: 6px; background: rgba(255, 255, 255, .06); scroll-margin-top: 7rem; }
.te-fd-pp__k { font-weight: 800; color: #fff; }
.te-fd-pp ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.te-fd-pp li { margin: 0; }
.te-fd-pp abbr { display: inline-block; padding: 0.35rem 0.75rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 4px; font-weight: 700; font-size: 0.92rem; text-decoration: none; color: #fff; cursor: help; }
.te-fd-pp__more { margin-top: 1rem !important; }
.te-fd-pp__more a { font-weight: 700; color: #9FD4EA; text-underline-offset: 3px; }

/* Closing panel */
.te-fd-close { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; padding: clamp(1.6rem, 4vw, 2.8rem); border: 1px solid #C9D5DE; border-left: 6px solid var(--fd-stamp); border-radius: 4px; background: #fff; }
.te-fd-close h2 { margin: 0; font-family: var(--fd-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; color: var(--te-ink); }
.te-fd-close p:not(.te-fd-btns) { margin-top: 0.7rem; line-height: 1.65; color: var(--te-slate); }
.te-fd-close .te-fd-btns { margin-top: 0 !important; justify-content: flex-end; }
.te-fd-close .te-lx-btn--ghost { color: var(--te-ink); border: 1px solid #9FB3C1; background: #fff; }

@media (max-width: 1100px) {
	.te-fd-caps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
	.te-fd-hero__grid, .te-fd-story__grid, .te-fd-sheet, .te-fd-team__head, .te-fd-close { grid-template-columns: minmax(0, 1fr); }
	.te-fd-record { max-width: 32rem; margin-top: 1.5rem; }
	.te-fd-creds { grid-template-columns: minmax(0, 1fr); }
	.te-fd-models { grid-template-columns: minmax(0, 1fr); }
	.te-fd-models li, .te-fd-models li + li { padding: 1.3rem 0; border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
	.te-fd-close .te-fd-btns { justify-content: flex-start; }
}
@media (max-width: 600px) {
	.te-fd-caps { grid-template-columns: minmax(0, 1fr); }
	.te-fd-stamp { width: 6.4rem; top: -1.8rem; right: -0.6rem; }
	.te-fd-record__name { padding-right: 4.5rem; }
	.te-fd-record__ids { grid-template-columns: minmax(0, 1fr); }
	.te-fd-table tbody th { width: 40%; }
	.te-fd-table tbody th, .te-fd-table td { padding: 0.75rem 0.8rem; }
}

/* ==========================================================================
   Data security and compliance (/data-compliance/): .te-dc-*
   A chain of custody in the hero, safeguard cards with the live
   illustrations, a compliance matrix, need-to-know access as a redacted
   page, regional hosting, and a vendor review panel.
   ========================================================================== */
.te-dc-hero, .te-dc-section, .te-dc-host { --dc-serif: "Newsreader", Georgia, "Times New Roman", serif; --dc-ok: #2F8A5F; }
.te-dc-hero p, .te-dc-section p, .te-dc-host p { margin: 0; }

/* Hero */
.te-dc-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); background: radial-gradient(52rem 32rem at 88% 20%, #17435E 0%, rgba(23, 67, 94, 0) 62%), var(--te-navy); color: #fff; }
.te-dc-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-dc-hero__copy > * { margin-block: 0; }
.te-dc-hero .te-breadcrumbs, .te-dc-hero .te-breadcrumbs a { color: #B9D3E0; }
.te-dc-motto { margin-top: 1.2rem !important; font-family: var(--dc-serif); font-size: clamp(1.15rem, 1.8vw, 1.4rem); font-style: italic; color: #FFB48A; }
.te-dc-title { margin: 0.4rem 0 0 !important; font-family: var(--dc-serif); font-size: clamp(2.4rem, 4.8vw, 3.9rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; color: #fff; }
.te-dc-lede { margin-top: 1.3rem !important; max-width: 36rem; font-size: 1.1rem; line-height: 1.65; color: #D3E3EC; }
.te-dc-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.7rem !important; }

/* Chain of custody: numbered stations on a track; one dot travels it on load */
.te-dc-chain { margin: 0; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid rgba(255, 255, 255, .16); border-radius: 14px; background: rgba(255, 255, 255, .04); }
.te-dc-chain figcaption { margin-bottom: 1.2rem; font-weight: 800; color: #fff; }
.te-dc-chain ol { position: relative; counter-reset: dc; display: grid; gap: 1.15rem; margin: 0; padding: 0; list-style: none; }
.te-dc-chain ol::before { content: ""; position: absolute; left: 1.05rem; top: 1.1rem; bottom: 1.1rem; width: 2px; background: linear-gradient(#7CC8E6, #7CC8E6) no-repeat top / 100% var(--dc-fill, 100%), rgba(255, 255, 255, .15); }
.te-dc-chain ol::after { content: ""; position: absolute; left: calc(1.05rem - 5px); top: 1.1rem; width: 12px; height: 12px; border-radius: 50%; background: #FFB48A; box-shadow: 0 0 0 5px rgba(255, 180, 138, .25); animation: te-dc-travel 3.6s var(--te-ease) .4s both; }
.te-dc-chain li { counter-increment: dc; position: relative; display: grid; gap: 0.15rem; margin: 0; padding-left: 3.2rem; min-height: 2.2rem; }
.te-dc-chain li::before { content: counter(dc); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 2px solid #7CC8E6; background: var(--te-navy); font-weight: 800; font-size: 0.9rem; color: #fff; }
.te-dc-chain b { font-size: 1.05rem; color: #fff; }
.te-dc-chain span { font-size: 0.93rem; line-height: 1.5; color: #C3D7E2; }
.te-dc-chain li:last-child::before { border-color: #FFB48A; }
@keyframes te-dc-travel { from { top: 1.1rem; opacity: 1; } 92% { opacity: 1; } to { top: calc(100% - 1.6rem); opacity: 0; } }

/* Safeguards */
.te-dc-layers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.te-dc-layer { display: flex; flex-direction: column; margin: 0; border: 1px solid #DCE4EA; border-radius: 10px; overflow: hidden; background: #fff; }
.te-dc-layer img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 55%; background: #F2F7FA; border-bottom: 1px solid #E5ECF1; }
.te-dc-layer div { display: grid; gap: 0.45rem; padding: 1.3rem 1.4rem 1.5rem; }
.te-dc-layer__k { font-size: 0.88rem; font-weight: 800; color: var(--te-steel-deep); }
.te-dc-layer h3 { margin: 0; font-family: var(--dc-serif); font-size: 1.55rem; font-weight: 600; color: var(--te-ink); }
.te-dc-layer p:not(.te-dc-layer__k) { line-height: 1.6; color: var(--te-slate); }

/* Compliance matrix */
.te-dc-matrix { overflow-x: auto; border: 1px solid #C9D5DE; border-radius: 10px; background: #fff; }
.te-dc-matrix table { width: 100%; min-width: 34rem; border-collapse: collapse; }
.te-dc-matrix thead th { padding: 0.85rem 1.2rem; background: var(--te-navy); color: #fff; font-size: 0.9rem; font-weight: 700; text-align: left; }
.te-dc-matrix tbody th, .te-dc-matrix td { padding: 1rem 1.2rem; border-top: 1px solid var(--te-line); text-align: left; vertical-align: middle; }
.te-dc-matrix tbody th { width: 28%; font-family: var(--dc-serif); font-size: 1.2rem; font-weight: 600; color: var(--te-ink); }
.te-dc-matrix tbody th a { color: inherit; text-underline-offset: 3px; text-decoration-color: #9FB3C1; }
.te-dc-matrix td { color: var(--te-slate); }
.te-dc-status { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.3rem 0.75rem 0.3rem 0.6rem; border-radius: 999px; font-size: 0.88rem; font-weight: 800; white-space: nowrap; }
.te-dc-status::before { content: ""; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-dc-status--cert { background: #E3F3EA; color: #216A47; }
.te-dc-status--prog { background: var(--te-ice); color: var(--te-steel-deep); }

/* People and need-to-know access */
.te-dc-people { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-dc-people h2 { margin: 0; font-family: var(--dc-serif); font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 600; line-height: 1.1; color: var(--te-ink); }
.te-dc-people__lede { margin-top: 0.9rem !important; max-width: 38rem; font-size: 1.08rem; line-height: 1.65; color: var(--te-slate); }
.te-dc-people__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 2rem; margin: 1.8rem 0 0; padding: 1.6rem 0 0; border-top: 1px solid var(--te-line); list-style: none; }
.te-dc-people__list li { margin: 0; }
.te-dc-people__list h3 { margin: 0 0 0.3rem; font-size: 1.05rem; font-weight: 800; color: var(--te-ink); }
.te-dc-people__list p { line-height: 1.55; color: var(--te-slate); }
.te-dc-doc { margin: 0; }
.te-dc-doc__page { display: grid; gap: 0.7rem; padding: 2rem 1.8rem 2.2rem; border-radius: 4px; background: #fff; box-shadow: 0 24px 48px -24px rgba(16, 42, 61, .45), 0 0 0 1px #DCE4EA; transform: rotate(1.5deg); }
.te-dc-doc__title { height: 0.9rem; width: 55%; margin-bottom: 0.4rem; border-radius: 2px; background: var(--te-ink); }
.te-dc-doc__bar { height: 0.8rem; border-radius: 2px; background: #1B2A36; }
.te-dc-doc__bar--s { width: 62%; }
.te-dc-doc__bar--m { width: 82%; }
.te-dc-doc__open { position: relative; display: grid; gap: 0.55rem; margin: 0.3rem -0.6rem; padding: 1.7rem 0.6rem 0.8rem; border: 2px dashed #F08A4B; border-radius: 6px; background: #FFF6F0; }
.te-dc-doc__open i { position: absolute; top: 0.35rem; left: 0.6rem; font-style: normal; font-size: 0.78rem; font-weight: 800; color: #B44A16; }
.te-dc-doc__open > span { height: 0.55rem; border-radius: 2px; background: #C9D5DE; }
.te-dc-doc__open > .te-dc-doc__open--s { width: 70%; }
.te-dc-doc figcaption { margin-top: 1.3rem; font-size: 0.93rem; line-height: 1.5; color: var(--te-slate); text-align: center; }

/* Regional hosting */
.te-dc-host { background: linear-gradient(120deg, #0F2B3F, var(--te-navy)); color: #fff; }
.te-dc-host__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-dc-host h2 { margin: 0; font-family: var(--dc-serif); font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 600; color: #fff; }
.te-dc-host p { margin-top: 0.9rem; font-size: 1.05rem; line-height: 1.65; color: #D3E3EC; }
.te-dc-regions { display: grid; gap: 0.8rem; margin: 0; padding: 0; list-style: none; }
.te-dc-regions li { position: relative; display: grid; gap: 0.15rem; margin: 0; padding: 1rem 1.2rem 1rem 3.3rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 10px; }
.te-dc-regions li::before { content: ""; position: absolute; left: 1.1rem; top: 50%; width: 1.4rem; height: 1.4rem; margin-top: -0.7rem; background: #7CC8E6; -webkit-mask: var(--te-i-lock) center / contain no-repeat; mask: var(--te-i-lock) center / contain no-repeat; }
.te-dc-regions b { font-size: 1.08rem; }
.te-dc-regions span { font-size: 0.93rem; color: #C3D7E2; }

/* Vendor review */
.te-dc-test { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.6rem, 4vw, 2.8rem); border: 1px solid #C9D5DE; border-left: 6px solid #C8551F; border-radius: 6px; background: #fff; }
.te-dc-test h2 { margin: 0; font-family: var(--dc-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; color: var(--te-ink); }
.te-dc-test__copy > p:not(.te-dc-btns) { margin-top: 0.7rem; line-height: 1.65; color: var(--te-slate); }
.te-dc-test .te-lx-btn--ghost { color: var(--te-ink); border: 1px solid #9FB3C1; background: #fff; }
.te-dc-test__list { display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; }
.te-dc-test__list li { position: relative; margin: 0; padding: 0.8rem 1rem 0.8rem 2.9rem; border-radius: 8px; background: #F3F7FA; line-height: 1.45; color: var(--te-ink); }
.te-dc-test__list li::before { content: ""; position: absolute; left: 1rem; top: 50%; width: 1.1rem; height: 1.1rem; margin-top: -0.55rem; background: var(--dc-ok); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }

@media (max-width: 1000px) {
	.te-dc-hero__grid, .te-dc-people, .te-dc-host__grid, .te-dc-test { grid-template-columns: minmax(0, 1fr); }
	.te-dc-chain { max-width: 32rem; }
	.te-dc-layers { grid-template-columns: minmax(0, 1fr); max-width: 36rem; }
	.te-dc-doc { max-width: 24rem; }
}
@media (max-width: 600px) {
	.te-dc-people__list { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.te-dc-chain ol::after { animation: none; display: none; }
}

/* ==========================================================================
   Language region pages (/languages/{region}/): .te-rg-*
   Landmark photo in an arched frame, a band of the region's languages in
   their own scripts, key languages, the A to Z directory, services, FAQs,
   and the other regions.
   ========================================================================== */
.te-rg { --rg-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-rg p { margin: 0; }
.te-rg-wrap { box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding-inline: clamp(1rem, 4vw, 1.5rem); }
.te-rg-sec { padding-block: var(--te-section); }
.te-rg-sec--alt { background: #F3F7FA; border-block: 1px solid #DCE6ED; }
.te-rg-head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 1rem 3rem; align-items: end; margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.te-rg-head p { font-size: 1.05rem; line-height: 1.6; color: var(--te-slate); }
.te-rg-h2 { margin: 0; font-family: var(--rg-serif); font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 600; line-height: 1.1; letter-spacing: -0.01em; color: var(--te-ink); }
.te-rg-h3 { margin: 0 0 1rem; font-size: 1.15rem; font-weight: 800; color: var(--te-ink); }

/* Hero */
.te-rg-hero { padding-block: clamp(2rem, 4.5vw, 3.75rem) clamp(2.5rem, 5vw, 4.25rem); background: radial-gradient(48rem 30rem at 90% 0%, #1A4A66 0%, rgba(26, 74, 102, 0) 60%), var(--te-navy); color: #fff; }
.te-rg-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-rg-hero .te-breadcrumbs, .te-rg-hero .te-breadcrumbs a { color: #B9D3E0; }
.te-rg-hero .te-breadcrumbs span[aria-hidden] { margin-inline: 0.45rem; }
.te-rg-k { margin-top: 1.2rem !important; font-family: var(--rg-serif); font-size: clamp(1.1rem, 1.7vw, 1.35rem); font-style: italic; color: #FFB48A; }
.te-rg-title { margin: 0.4rem 0 0; font-family: var(--rg-serif); font-size: clamp(2.4rem, 4.8vw, 3.9rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; color: #fff; }
.te-rg-lede { margin-top: 1.3rem !important; max-width: 38rem; font-size: 1.1rem; line-height: 1.65; color: #D3E3EC; }
.te-rg-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.7rem !important; }
.te-rg-photo { position: relative; margin: 0; isolation: isolate; }
.te-rg-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 10px 10px; box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .6); }
.te-rg--south-america .te-rg-photo img { object-position: 50% 80%; }
.te-rg--europe .te-rg-photo img, .te-rg--north-america .te-rg-photo img { object-position: 50% 30%; }
.te-rg-photo::after { content: ""; position: absolute; inset: -0.75rem -0.75rem auto auto; width: 100%; height: 100%; border: 1px solid rgba(255, 180, 138, .55); border-radius: 999px 999px 10px 10px; pointer-events: none; z-index: -1; }
.te-rg-photo figcaption { position: absolute; left: 1rem; bottom: 1rem; padding: 0.35rem 0.75rem; border-radius: 999px; background: rgba(10, 30, 48, .78); font-size: 0.82rem; font-weight: 600; color: #fff; }

/* Languages in their own scripts */
.te-rg-voices { padding-block: clamp(1.75rem, 3.5vw, 2.5rem); background: #fff; border-bottom: 1px solid var(--te-line); }
.te-rg-voices__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.1rem 2.4rem; margin: 0; padding: 0; list-style: none; }
.te-rg-voices__list li { display: grid; justify-items: center; gap: 0.2rem; margin: 0; }
.te-rg-voices__n { font-family: var(--rg-serif); font-size: clamp(1.45rem, 2.6vw, 2.1rem); font-weight: 500; line-height: 1.25; color: var(--te-ink); }
.te-rg-voices__en { font-size: 0.8rem; font-weight: 700; color: var(--te-slate); }

/* Key languages */
.te-rg-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(0.9rem, 2vw, 1.25rem); margin: 0; padding: 0; list-style: none; }
.te-rg-top li { margin: 0; }
.te-rg-top a { display: grid; gap: 0.3rem; height: 100%; box-sizing: border-box; padding: 1.3rem 1.4rem 1.4rem; border: 1px solid #DCE4EA; border-top: 3px solid var(--te-steel); border-radius: 6px; background: #fff; color: inherit; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.te-rg-top a:hover, .te-rg-top a:focus-visible { border-top-color: #C8551F; transform: translateY(-2px); }
.te-rg-top a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-rg-top__n { font-size: 1.2rem; font-weight: 800; color: var(--te-ink); }
.te-rg-top a:hover .te-rg-top__n { text-decoration: underline; text-underline-offset: 3px; }
.te-rg-top__e { font-family: var(--rg-serif); font-size: 1.3rem; color: #C8551F; }
.te-rg-top__w { margin-top: 0.2rem; font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }

/* A to Z directory */
.te-rg-dir { columns: 4 13rem; column-gap: 2rem; }
.te-rg-dir__g { break-inside: avoid; margin: 0 0 1.4rem; }
.te-rg-dir__ch { margin: 0 0 0.4rem !important; padding-bottom: 0.3rem; border-bottom: 2px solid var(--te-ink); font-family: var(--rg-serif); font-size: 1.5rem; font-weight: 600; line-height: 1; color: var(--te-ink); }
.te-rg-dir ul { margin: 0; padding: 0; list-style: none; }
.te-rg-dir li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; padding: 0.32rem 0; border-bottom: 1px solid #E3EAEF; }
.te-rg-dir a { font-weight: 600; color: var(--te-steel-deep); text-decoration: none; }
.te-rg-dir a:hover, .te-rg-dir a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.te-rg-ind { padding: 0.05rem 0.45rem; border-radius: 999px; background: #FFF1E8; font-size: 0.72rem; font-weight: 700; color: #A84413; }

/* Services and reasons */
.te-rg-svc { margin: 0; }
.te-rg-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: clamp(2rem, 4vw, 2.75rem) 0 0; padding: clamp(1.5rem, 3vw, 2rem) 0 0; border-top: 1px solid var(--te-line); list-style: none; }
.te-rg-why li { margin: 0; }
.te-rg-why h3 { margin: 0 0 0.35rem; font-size: 1.05rem; font-weight: 800; color: var(--te-ink); }
.te-rg-why p { font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }

/* FAQs and other regions */
.te-rg-split { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.te-rg-split .te-rg-h2 { margin-bottom: 1.25rem; }
.te-rg-other ul { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.te-rg-other li { margin: 0; }
.te-rg-other a { display: flex; align-items: center; gap: 0.9rem; padding: 0.5rem; border: 1px solid #DCE4EA; border-radius: 8px; background: #fff; color: var(--te-slate); text-decoration: none; font-size: 0.9rem; }
.te-rg-other a:hover, .te-rg-other a:focus-visible { border-color: var(--te-steel); }
.te-rg-other img { width: 4.5rem; height: 3.4rem; object-fit: cover; border-radius: 5px; }
.te-rg-other span { display: grid; }
.te-rg-other b { font-size: 1rem; color: var(--te-ink); }
.te-rg-other > p { margin-top: 1rem; }
.te-rg-other > p a { display: inline; padding: 0; border: 0; background: none; font-weight: 700; color: var(--te-steel-deep); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1000px) {
	.te-rg-hero__grid, .te-rg-split, .te-rg-head { grid-template-columns: minmax(0, 1fr); }
	.te-rg-photo { max-width: 22rem; margin-top: 1rem; }
	.te-rg-photo img { aspect-ratio: 1 / 1; }
	.te-rg-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-rg-why { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.te-rg-top, .te-rg-why { grid-template-columns: minmax(0, 1fr); }
	.te-rg-voices__list { gap: 0.9rem 1.6rem; }
	.te-rg-photo::after { inset: -0.5rem -0.5rem auto auto; }
}
@media (prefers-reduced-motion: reduce) {
	.te-rg-top a { transition: none; }
	.te-rg-top a:hover { transform: none; }
}
.te-rg .te-rg-svc { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0 !important; }
@media (max-width: 1000px) { .te-rg .te-rg-svc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .te-rg .te-rg-svc { grid-template-columns: minmax(0, 1fr); } }

/* ==========================================================================
   Solutions hub (/solutions/): .te-sh-*
   A "what do you need" finder, the four service groups from the menu data,
   credentials, FAQs.
   ========================================================================== */
.te-sh-hero, .te-sh-section, .te-sh-proof { --sh-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-sh-hero p, .te-sh-section p, .te-sh-proof p { margin: 0; }
.te-sh-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); background: radial-gradient(56rem 34rem at 92% 10%, #1A4A66 0%, rgba(26, 74, 102, 0) 60%), var(--te-navy); color: #fff; }
.te-sh-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-sh-hero__copy > * { margin-block: 0; }
.te-sh-hero .te-breadcrumbs, .te-sh-hero .te-breadcrumbs a { color: #B9D3E0; }
.te-sh-motto { margin-top: 1.2rem !important; font-family: var(--sh-serif); font-size: clamp(1.1rem, 1.7vw, 1.35rem); font-style: italic; color: #FFB48A; }
.te-sh-title { margin: 0.4rem 0 0 !important; font-family: var(--sh-serif); font-size: clamp(2.4rem, 4.8vw, 3.9rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; color: #fff; }
.te-sh-lede { margin-top: 1.3rem !important; max-width: 36rem; font-size: 1.1rem; line-height: 1.65; color: #D3E3EC; }
.te-sh-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.7rem !important; }

/* Finder: needs in the buyer's words */
.te-sh-finder { padding: clamp(1.3rem, 3vw, 1.8rem); border-radius: 14px; background: #fff; color: var(--te-ink); box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .55); }
.te-sh-finder__h { margin-bottom: 0.6rem !important; font-family: var(--sh-serif); font-size: 1.6rem; font-weight: 600; font-style: italic; color: var(--te-ink); }
.te-sh-finder ul { margin: 0; padding: 0; list-style: none; }
.te-sh-finder li { margin: 0; border-top: 1px solid var(--te-line); }
.te-sh-finder a { position: relative; display: block; padding: 0.72rem 2rem 0.72rem 0; font-weight: 600; line-height: 1.35; color: var(--te-ink); text-decoration: none; }
.te-sh-finder a::after { content: ""; position: absolute; right: 0.2rem; top: 50%; width: 0.55rem; height: 0.55rem; margin-top: -0.3rem; border-top: 2px solid #C8551F; border-right: 2px solid #C8551F; transform: rotate(45deg); transition: right .2s ease; }
.te-sh-finder a:hover, .te-sh-finder a:focus-visible { color: var(--te-steel-deep); }
.te-sh-finder a:hover::after { right: 0; }

/* Group jump links */
.te-sh-jump { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.te-sh-jump a { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.95rem; border: 1px solid #C9D5DE; border-radius: 999px; font-weight: 700; font-size: 0.95rem; color: var(--te-ink); text-decoration: none; }
.te-sh-jump a:hover, .te-sh-jump a:focus-visible { border-color: var(--te-steel); background: var(--te-ice); }
.te-sh-jump span { display: grid; place-items: center; min-width: 1.5rem; height: 1.5rem; padding-inline: 0.3rem; border-radius: 999px; background: var(--te-navy); font-size: 0.78rem; color: #fff; }

/* Service groups */
.te-sh-groups { display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
.te-sh-group { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--te-line); scroll-margin-top: 7rem; }
.te-sh-group:first-child { padding-top: 0; border-top: 0; }
.te-sh-group--flip .te-sh-group__intro { order: 2; }
.te-sh-group__intro img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 10px; margin-bottom: 1.2rem; }
.te-sh-group h2 { margin: 0; font-family: var(--sh-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; line-height: 1.1; color: var(--te-ink); }
.te-sh-group__intro p { margin-top: 0.6rem !important; font-size: 1.05rem; line-height: 1.6; color: var(--te-slate); }
.te-sh-group__all { display: inline-block; margin-top: 0.9rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-sh-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.te-sh-list li { margin: 0; }
.te-sh-list a { display: flex; gap: 0.85rem; height: 100%; box-sizing: border-box; padding: 1rem 1.1rem; border: 1px solid #DCE4EA; border-radius: 8px; background: #fff; color: inherit; text-decoration: none; transition: border-color .2s ease; }
.te-sh-list a:hover, .te-sh-list a:focus-visible { border-color: var(--te-steel); }
.te-sh-list a:focus-visible { outline: 3px solid var(--te-sky); outline-offset: 2px; }
.te-sh-list__ico { flex: none; width: 2.4rem; height: 2.4rem; border-radius: 8px; background: var(--te-ice); position: relative; }
.te-sh-list__ico::before { content: ""; position: absolute; inset: 0.55rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-sh-list b { display: block; font-size: 1rem; color: var(--te-ink); }
.te-sh-list a:hover b { text-decoration: underline; text-underline-offset: 3px; }
.te-sh-list b + span { display: block; margin-top: 0.15rem; font-size: 0.9rem; line-height: 1.45; color: var(--te-slate); }

/* Credentials band */
.te-sh-proof { background: var(--te-navy); color: #fff; }
.te-sh-proof__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.te-sh-proof h2 { margin: 0; font-family: var(--sh-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 600; line-height: 1.15; color: #fff; }
.te-sh-proof ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin: 0; padding: 0; list-style: none; }
.te-sh-proof li { margin: 0; }
.te-sh-proof a { display: block; height: 100%; box-sizing: border-box; padding: 0.9rem 1rem; border: 1px solid rgba(255, 255, 255, .2); border-radius: 8px; font-weight: 700; color: #fff; text-decoration: none; }
.te-sh-proof a:hover, .te-sh-proof a:focus-visible { border-color: #FFB48A; }

@media (max-width: 1000px) {
	.te-sh-hero__grid, .te-sh-group, .te-sh-proof__grid { grid-template-columns: minmax(0, 1fr); }
	.te-sh-group--flip .te-sh-group__intro { order: 0; }
	.te-sh-group__intro img { max-width: 34rem; }
}
@media (max-width: 640px) {
	.te-sh-list, .te-sh-proof ul { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.te-sh-finder a::after, .te-sh-list a { transition: none; }
}

/* ==========================================================================
   CART captioning (/solutions/cart-services/): .te-ct-*
   A captioner photo with a live caption line typed once, CART compared with
   automatic captions, deployment models, the session workflow.
   ========================================================================== */
.te-ct-hero, .te-ct-section { --ct-serif: "Newsreader", Georgia, "Times New Roman", serif; }
.te-ct-hero p, .te-ct-section p { margin: 0; }
.te-ct-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); background: var(--te-navy); color: #fff; }
.te-ct-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ct-hero__copy > * { margin-block: 0; }
.te-ct-hero .te-breadcrumbs, .te-ct-hero .te-breadcrumbs a { color: #B9D3E0; }
.te-ct-motto { margin-top: 1.2rem !important; font-family: var(--ct-serif); font-size: clamp(1.1rem, 1.7vw, 1.35rem); font-style: italic; color: #FFB48A; }
.te-ct-title { margin: 0.4rem 0 0 !important; font-family: var(--ct-serif); font-size: clamp(2.4rem, 4.6vw, 3.7rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; color: #fff; }
.te-ct-lede { margin-top: 1.3rem !important; max-width: 36rem; font-size: 1.1rem; line-height: 1.65; color: #D3E3EC; }
.te-ct-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.7rem !important; }

/* Captioner photo with a caption bar typed once */
.te-ct-screen { position: relative; margin: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .6); }
.te-ct-screen img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.te-ct-bar { position: absolute; left: 0; right: 0; bottom: 0; padding: 0.9rem 1.1rem 1rem; background: rgba(8, 20, 32, .88); }
.te-ct-bar__k { display: flex; align-items: center; gap: 0.45rem; font-size: 0.78rem; font-weight: 800; color: #7FD3A8; }
.te-ct-bar__k i { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #7FD3A8; }
.te-ct-bar__line { margin-top: 0.35rem !important; font-size: clamp(1rem, 1.6vw, 1.2rem); font-weight: 600; line-height: 1.4; color: #fff; }
.te-ct-type { display: inline; background: linear-gradient(90deg, #fff, #fff) no-repeat; -webkit-background-clip: text; background-clip: text; color: transparent; background-size: 0 100%; animation: te-ct-type 4.5s steps(var(--n, 80)) .6s forwards; }
@keyframes te-ct-type { to { background-size: 100% 100%; } }

/* Compare */
.te-ct-compare { overflow-x: auto; border: 1px solid #C9D5DE; border-radius: 10px; background: #fff; }
.te-ct-compare table { width: 100%; min-width: 36rem; border-collapse: collapse; }
.te-ct-compare th, .te-ct-compare td { padding: 1rem 1.2rem; border-top: 1px solid var(--te-line); text-align: left; vertical-align: top; line-height: 1.5; }
.te-ct-compare thead th { border-top: 0; font-size: 0.95rem; font-weight: 800; color: var(--te-slate); }
.te-ct-compare thead .te-ct-compare__us { color: #fff; background: var(--te-navy); }
.te-ct-compare tbody th { width: 18%; font-weight: 800; color: var(--te-ink); }
.te-ct-compare td { color: var(--te-slate); }
.te-ct-compare td.te-ct-compare__us { background: #F2F8FB; font-weight: 600; color: var(--te-ink); }

/* Models */
.te-ct-models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.te-ct-model { display: flex; flex-direction: column; margin: 0; border: 1px solid #DCE4EA; border-radius: 10px; overflow: hidden; background: #fff; }
.te-ct-model > img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.te-ct-model > div { display: grid; gap: 0.5rem; padding: 1.3rem 1.4rem 1.5rem; }
.te-ct-model__k { font-size: 0.88rem; font-weight: 800; color: #C8551F; }
.te-ct-model h3 { margin: 0; font-family: var(--ct-serif); font-size: 1.55rem; font-weight: 600; color: var(--te-ink); }
.te-ct-model p:not(.te-ct-model__k) { line-height: 1.6; color: var(--te-slate); }
.te-ct-model ul { margin: 0.2rem 0 0; padding-left: 1.1rem; line-height: 1.6; color: var(--te-ink); }

/* Flow */
.te-ct-flow { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.te-ct-flow h2 { margin: 0; font-family: var(--ct-serif); font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 600; line-height: 1.1; color: var(--te-ink); }
.te-ct-flow__head p { margin-top: 0.7rem; font-size: 1.05rem; line-height: 1.6; color: var(--te-slate); }
.te-ct-steps { counter-reset: ct; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 2rem; margin: 0; padding: 0; list-style: none; }
.te-ct-steps li { counter-increment: ct; position: relative; margin: 0; padding-left: 3.2rem; }
.te-ct-steps li::before { content: counter(ct); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: var(--te-navy); font-weight: 800; color: #fff; }
.te-ct-steps h3 { margin: 0.3rem 0 0.3rem; font-size: 1.1rem; font-weight: 800; color: var(--te-ink); }
.te-ct-steps p { line-height: 1.6; color: var(--te-slate); }
.te-ct-where { margin-top: clamp(2rem, 4vw, 3rem) !important; padding-top: clamp(1.5rem, 3vw, 2rem); border-top: 1px solid var(--te-line); }
.te-ct-where h3 { margin: 0 0 0.9rem; font-size: 1.1rem; font-weight: 800; color: var(--te-ink); }
.te-ct-where ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.te-ct-where li { margin: 0; padding: 0.4rem 0.85rem; border-radius: 999px; background: var(--te-ice); font-weight: 600; font-size: 0.93rem; color: var(--te-steel-deep); }
.te-ct-asl { margin-top: 1.6rem !important; padding: 1rem 1.2rem; border-left: 4px solid #C8551F; background: #FFF8F3; line-height: 1.6; color: var(--te-ink); }
.te-ct-asl a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

@media (max-width: 1000px) {
	.te-ct-hero__grid, .te-ct-flow { grid-template-columns: minmax(0, 1fr); }
	.te-ct-screen { max-width: 36rem; }
	.te-ct-models { grid-template-columns: minmax(0, 1fr); max-width: 36rem; }
}
@media (max-width: 640px) {
	.te-ct-steps { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.te-ct-type { animation: none; background-size: 100% 100%; }
}
.te-ct-quote { margin-top: 0.9rem !important; }
.te-ct-quote a { font-weight: 700; color: #FFB48A; text-underline-offset: 3px; }

/* ==========================================================================
   Bilingual analysis (/solutions/bilingual-analysis/): .te-ba-*
   A triage panel (noise dimmed, signals flagged), the framework, use cases,
   the intelligence shield, deliverables.
   ========================================================================== */
.te-ba-hero, .te-ba-section, .te-ba-shield { --ba-serif: "Newsreader", Georgia, "Times New Roman", serif; --ba-flag: #C8551F; }
.te-ba-hero p, .te-ba-section p, .te-ba-shield p { margin: 0; }
.te-ba-hero { padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); background: radial-gradient(50rem 30rem at 90% 15%, #183F57 0%, rgba(24, 63, 87, 0) 60%), var(--te-navy); color: #fff; }
.te-ba-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.te-ba-hero__copy > * { margin-block: 0; }
.te-ba-hero .te-breadcrumbs, .te-ba-hero .te-breadcrumbs a { color: #B9D3E0; }
.te-ba-motto { margin-top: 1.2rem !important; font-family: var(--ba-serif); font-size: clamp(1.1rem, 1.7vw, 1.35rem); font-style: italic; color: #FFB48A; }
.te-ba-title { margin: 0.4rem 0 0 !important; font-family: var(--ba-serif); font-size: clamp(2.4rem, 4.6vw, 3.7rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; color: #fff; }
.te-ba-lede { margin-top: 1.3rem !important; max-width: 37rem; font-size: 1.1rem; line-height: 1.65; color: #D3E3EC; }
.te-ba-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.7rem !important; }

/* Triage panel */
.te-ba-triage { margin: 0; padding: 1.1rem 1.2rem 1.2rem; border-radius: 12px; background: #fff; color: var(--te-ink); box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .6); }
.te-ba-triage__top { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 0.7rem; border-bottom: 2px solid var(--te-ink); font-size: 0.85rem; color: var(--te-slate); }
.te-ba-triage__top b { color: var(--te-ink); }
.te-ba-triage ul { margin: 0; padding: 0; list-style: none; }
.te-ba-triage li { display: grid; grid-template-columns: 5.6rem minmax(0, 1fr); gap: 0.15rem 0.8rem; margin: 0; padding: 0.6rem 0; border-bottom: 1px solid var(--te-line); }
.te-ba-triage__lang { grid-row: span 3; padding-top: 0.15rem; font-size: 0.75rem; font-weight: 700; color: var(--te-slate); }
.te-ba-triage__src { font-size: 1rem; line-height: 1.45; }
.te-ba-triage__src[dir="rtl"] { text-align: right; }
.te-ba-triage li.is-noise { opacity: .42; }
.te-ba-triage li.is-noise .te-ba-triage__src { text-decoration: line-through; text-decoration-color: rgba(16, 42, 61, .35); }
.te-ba-triage li.is-signal { position: relative; margin-inline: -0.6rem; padding-inline: 0.6rem; background: #FFF6F0; box-shadow: inset 3px 0 0 var(--ba-flag); }
.te-ba-triage li.is-signal .te-ba-triage__src { font-weight: 600; }
.te-ba-triage__en { font-size: 0.88rem; font-style: italic; color: var(--te-slate); }
.te-ba-triage__flag { justify-self: start; margin-top: 0.15rem; padding: 0.12rem 0.55rem; border-radius: 999px; background: var(--ba-flag); font-size: 0.74rem; font-weight: 800; color: #fff; }
.te-ba-triage figcaption { margin-top: 0.8rem; font-size: 0.8rem; line-height: 1.45; color: var(--te-slate); }

/* Framework */
.te-ba-steps { counter-reset: ba; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.te-ba-steps li { counter-increment: ba; position: relative; margin: 0; padding-top: 3.2rem; }
.te-ba-steps li::before { content: counter(ba); position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--te-navy); font-weight: 800; color: #fff; }
.te-ba-steps li:not(:last-child)::after { content: ""; position: absolute; top: 1.2rem; left: 2.9rem; right: -0.7rem; height: 2px; background: #C9D9E3; }
.te-ba-steps h3 { margin: 0 0 0.35rem; font-family: var(--ba-serif); font-size: 1.35rem; font-weight: 600; color: var(--te-ink); }
.te-ba-steps p { font-size: 0.95rem; line-height: 1.55; color: var(--te-slate); }

/* Use cases */
.te-ba-uses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.te-ba-use { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); margin: 0; border: 1px solid #DCE4EA; border-radius: 10px; overflow: hidden; background: #fff; }
.te-ba-use img { width: 100%; height: 100%; min-height: 12rem; object-fit: cover; }
.te-ba-use div { display: grid; gap: 0.4rem; align-content: start; padding: 1.3rem 1.4rem; }
.te-ba-use__k { font-size: 0.8rem; font-weight: 800; color: var(--ba-flag); }
.te-ba-use h3 { margin: 0; font-family: var(--ba-serif); font-size: 1.45rem; font-weight: 600; line-height: 1.2; color: var(--te-ink); }
.te-ba-use p:not(.te-ba-use__k) { font-size: 0.97rem; line-height: 1.6; color: var(--te-slate); }

/* Intelligence shield */
.te-ba-shield { background: var(--te-navy); color: #fff; }
.te-ba-shield__head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 1rem 3rem; align-items: end; margin-bottom: clamp(1.5rem, 3vw, 2.25rem); }
.te-ba-shield h2 { margin: 0; font-family: var(--ba-serif); font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 600; color: #fff; }
.te-ba-shield__head p { font-size: 1.05rem; line-height: 1.6; color: #D3E3EC; }
.te-ba-shield__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .2); }
.te-ba-shield__list li { margin: 0; padding: 1.5rem 1.5rem 0 0; }
.te-ba-shield__list li + li { padding-left: 1.5rem; border-left: 1px solid rgba(255, 255, 255, .2); }
.te-ba-shield__list h3 { margin: 0 0 0.5rem; font-size: 1.1rem; font-weight: 800; color: #FFB48A; }
.te-ba-shield__list p { line-height: 1.6; color: #D3E3EC; }

/* Deliverables */
.te-ba-out { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.te-ba-out h2 { margin: 0; font-family: var(--ba-serif); font-size: clamp(1.9rem, 3.2vw, 2.6rem); font-weight: 600; line-height: 1.12; color: var(--te-ink); }
.te-ba-out__copy > p { margin-top: 0.8rem; font-size: 1.05rem; line-height: 1.65; color: var(--te-slate); }
.te-ba-out__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; }
.te-ba-out__links a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-ba-out__list { display: grid; gap: 0.8rem; margin: 0; padding: 0; list-style: none; }
.te-ba-out__list li { margin: 0; padding: 1.1rem 1.25rem; border: 1px solid #DCE4EA; border-left: 4px solid var(--te-steel); border-radius: 6px; background: #fff; }
.te-ba-out__list h3 { margin: 0 0 0.3rem; font-size: 1.05rem; font-weight: 800; color: var(--te-ink); }
.te-ba-out__list p { line-height: 1.55; color: var(--te-slate); }

@media (max-width: 1100px) {
	.te-ba-uses { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1000px) {
	.te-ba-hero__grid, .te-ba-shield__head, .te-ba-out { grid-template-columns: minmax(0, 1fr); }
	.te-ba-triage { max-width: 34rem; }
	.te-ba-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-ba-steps li::after { display: none; }
	.te-ba-shield__list { grid-template-columns: minmax(0, 1fr); }
	.te-ba-shield__list li, .te-ba-shield__list li + li { padding: 1.3rem 0; border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
}
@media (max-width: 640px) {
	.te-ba-steps { grid-template-columns: minmax(0, 1fr); }
	.te-ba-use { grid-template-columns: minmax(0, 1fr); }
	.te-ba-use img { min-height: 0; aspect-ratio: 16 / 9; height: auto; }
	.te-ba-triage li { grid-template-columns: minmax(0, 1fr); }
	.te-ba-triage__lang { grid-row: auto; }
}

/* ==========================================================================
   Simultaneous interpretation equipment (/interpretation-equipment/): .te-eq-*
   A light product-catalog hero with spec callouts, the kit builder, the
   Bosch Integrus chain, the catalog, rent or buy, and the fleet.
   ========================================================================== */
.te-eq-hero, .te-eq-section, .te-eq-integrus { --eq-serif: "Newsreader", Georgia, "Times New Roman", serif; --eq-accent: #C8551F; }
.te-eq-hero p, .te-eq-section p, .te-eq-integrus p { margin: 0; }

/* Hero: light, like a product sheet */
.te-eq-hero { padding-block: clamp(2rem, 4.5vw, 3.5rem) clamp(2.5rem, 5vw, 4rem); background: linear-gradient(180deg, #F2F6F9 0%, #FFFFFF 100%); border-bottom: 1px solid var(--te-line); }
.te-eq-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-eq-hero__copy > * { margin-block: 0; }
.te-eq-motto { margin-top: 1.1rem !important; font-family: var(--eq-serif); font-size: clamp(1.1rem, 1.7vw, 1.35rem); font-style: italic; color: var(--eq-accent); }
.te-eq-title { margin: 0.4rem 0 0 !important; font-family: var(--eq-serif); font-size: clamp(2.4rem, 4.6vw, 3.7rem); font-weight: 600; line-height: 1.05; letter-spacing: -0.02em; color: var(--te-ink); }
.te-eq-lede { margin-top: 1.2rem !important; max-width: 34rem; font-size: 1.1rem; line-height: 1.65; color: var(--te-slate); }
.te-eq-btns { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.6rem !important; }
.te-eq-btn--line { background: #fff !important; color: var(--te-ink) !important; border: 1px solid #9FB3C1 !important; }
.te-eq-shot { position: relative; margin: 0; padding: clamp(1rem, 2.5vw, 1.75rem); border: 1px solid #DCE4EA; border-radius: 16px; background: #fff; box-shadow: 0 24px 48px -28px rgba(16, 42, 61, .35); }
.te-eq-shot > img { display: block; width: 100%; height: auto; }
.te-eq-callouts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin: 0.8rem 0 0; padding: 0.9rem 0 0; border-top: 1px dashed #C9D5DE; list-style: none; }
.te-eq-callouts li { display: grid; gap: 0.15rem; margin: 0; }
.te-eq-callouts b { font-family: var(--eq-serif); font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 600; line-height: 1; color: var(--te-ink); }
.te-eq-callouts span { font-size: 0.82rem; line-height: 1.35; color: var(--te-slate); }
.te-eq-shot__brands { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1.4rem; margin-top: 1rem; padding-top: 0.9rem; border-top: 1px solid var(--te-line); }
.te-eq-shot__brands span { flex-basis: 100%; font-size: 0.78rem; font-weight: 700; color: var(--te-slate); }
.te-eq-shot__brands img { height: 22px; width: auto; filter: grayscale(1); opacity: .75; }

/* Bosch Integrus chain */
.te-eq-integrus { background: linear-gradient(135deg, #0F2B3F, var(--te-navy)); color: #fff; }
.te-eq-integrus__head { max-width: 46rem; }
.te-eq-integrus__k { font-weight: 800; color: #FFB48A; }
.te-eq-integrus h2 { margin: 0.3rem 0 0; font-family: var(--eq-serif); font-size: clamp(2rem, 3.6vw, 2.9rem); font-weight: 600; color: #fff; }
.te-eq-integrus__head p:last-child { margin-top: 0.8rem; font-size: 1.05rem; line-height: 1.65; color: #D3E3EC; }
.te-eq-chain { counter-reset: eq; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: clamp(2rem, 4vw, 2.75rem) 0 0; padding: 0; list-style: none; }
.te-eq-chain li { counter-increment: eq; position: relative; margin: 0; padding: 3.4rem 1.2rem 1.3rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 12px; background: rgba(255, 255, 255, .04); }
.te-eq-chain li::before { content: counter(eq); position: absolute; top: 1rem; left: 1.2rem; display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #FFB48A; font-weight: 800; font-size: 0.9rem; color: var(--te-navy); }
.te-eq-chain li:not(:last-child)::after { content: ""; position: absolute; top: 1.85rem; right: -1.15rem; width: 1rem; height: 2px; background: repeating-linear-gradient(90deg, #7CC8E6 0 4px, transparent 4px 7px); }
.te-eq-chain__model { display: block; font-size: 0.78rem; font-weight: 700; color: #7CC8E6; }
.te-eq-chain h3 { margin: 0.25rem 0 0.4rem; font-family: var(--eq-serif); font-size: 1.4rem; font-weight: 600; color: #fff; }
.te-eq-chain p { font-size: 0.94rem; line-height: 1.55; color: #C3D7E2; }
.te-eq-why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: clamp(2rem, 4vw, 2.75rem) 0 0; padding: 1.6rem 0 0; border-top: 1px solid rgba(255, 255, 255, .2); list-style: none; }
.te-eq-why li { margin: 0; }
.te-eq-why h3 { margin: 0 0 0.35rem; font-size: 1.05rem; font-weight: 800; color: #fff; }
.te-eq-why p { line-height: 1.55; color: #C3D7E2; }

/* Catalog */
.te-eq-cat { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.te-eq-cat > li { display: flex; flex-direction: column; gap: 0.5rem; margin: 0; padding: 1.3rem 1.3rem 1.2rem; border: 1px solid #DCE4EA; border-radius: 10px; background: #fff; }
.te-eq-cat__ico { position: relative; width: 2.4rem; height: 2.4rem; border-radius: 8px; background: var(--te-ice); }
.te-eq-cat__ico::before { content: ""; position: absolute; inset: 0.55rem; background: var(--te-steel-deep); -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; }
.te-eq-cat h3 { margin: 0.2rem 0 0; font-size: 1.1rem; font-weight: 800; color: var(--te-ink); }
.te-eq-cat ul { margin: 0; padding-left: 1.05rem; font-size: 0.93rem; line-height: 1.55; color: var(--te-slate); }
.te-eq-cat ul li { margin: 0; }
.te-eq-cat__note { margin-top: auto !important; padding-top: 0.6rem; border-top: 1px dashed #C9D5DE; font-size: 0.84rem; font-weight: 700; color: var(--te-steel-deep); }

/* Rent or buy */
.te-eq-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.te-eq-paths > li { display: grid; gap: 0.6rem; align-content: start; margin: 0; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid #C9D5DE; border-top: 5px solid var(--te-steel); border-radius: 6px; background: #fff; }
.te-eq-paths > li + li { border-top-color: var(--eq-accent); }
.te-eq-paths__k { font-size: 0.88rem; font-weight: 800; color: var(--te-steel-deep); }
.te-eq-paths h3 { margin: 0; font-family: var(--eq-serif); font-size: 2rem; font-weight: 600; color: var(--te-ink); }
.te-eq-paths p:not(.te-eq-paths__k) { line-height: 1.6; color: var(--te-slate); }
.te-eq-paths .te-lx-btn { justify-self: start; margin-top: 0.4rem; }

/* Fleet */
.te-eq-fleet { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.te-eq-fleet h2 { margin: 0; font-family: var(--eq-serif); font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 600; line-height: 1.1; color: var(--te-ink); }
.te-eq-fleet__copy > p { margin-top: 0.8rem; font-size: 1.05rem; line-height: 1.65; color: var(--te-slate); }
.te-eq-pillars { display: grid; gap: 1rem; margin: 1.4rem 0 0; padding: 0; list-style: none; }
.te-eq-pillars li { margin: 0; padding-left: 1rem; border-left: 3px solid var(--te-steel); }
.te-eq-pillars h3 { margin: 0 0 0.2rem; font-size: 1.05rem; font-weight: 800; color: var(--te-ink); }
.te-eq-pillars p { line-height: 1.55; color: var(--te-slate); }
.te-eq-fleet__photo { margin: 0; }
.te-eq-fleet__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; }
.te-eq-fleet__photo figcaption { margin-top: 0.6rem; font-size: 0.86rem; color: var(--te-slate); }
.te-eq-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: clamp(2rem, 4vw, 2.75rem) 0 0; padding: 0; list-style: none; }
.te-eq-stats li { display: grid; gap: 0.2rem; margin: 0; padding: 1.2rem 1.3rem; border-radius: 10px; background: #F3F7FA; }
.te-eq-stats b { font-family: var(--eq-serif); font-size: 2rem; font-weight: 600; line-height: 1.1; color: var(--te-ink); }
.te-eq-stats__l { font-weight: 800; color: var(--te-ink); }
.te-eq-stats span:last-child { font-size: 0.93rem; line-height: 1.5; color: var(--te-slate); }
.te-eq-cross { margin-top: clamp(1.75rem, 3vw, 2.25rem) !important; padding: 1rem 1.2rem; border-left: 4px solid var(--eq-accent); background: #FFF8F3; line-height: 1.6; color: var(--te-ink); }
.te-eq-cross a { font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }

@media (max-width: 1100px) {
	.te-eq-cat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-eq-chain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-eq-chain li::after { display: none; }
}
@media (max-width: 1000px) {
	.te-eq-hero__grid, .te-eq-fleet { grid-template-columns: minmax(0, 1fr); }
	.te-eq-why, .te-eq-stats { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
	.te-eq-paths, .te-eq-cat, .te-eq-chain { grid-template-columns: minmax(0, 1fr); }
	.te-eq-callouts { grid-template-columns: minmax(0, 1fr); }
}

/* Equipment page, round 2: the road case, its shipping label, the signal-flow
   schematic, and asset tags. */
.te-eq-pack { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding-bottom: 0.5rem; scroll-margin-top: 7rem; }

/* The case: black shell, aluminum corners and edging, foam interior */
.te-eq-case { position: relative; margin: 0; padding: 1rem 1rem 1.15rem; border-radius: 16px; background: linear-gradient(160deg, #2B3138 0%, #1A1E23 55%, #14171B 100%); box-shadow: 0 30px 50px -24px rgba(10, 20, 30, .7), inset 0 0 0 3px #3A424B, inset 0 0 0 5px #15181C; }
.te-eq-case::before, .te-eq-case::after { content: ""; position: absolute; width: 26px; height: 26px; border-radius: 6px; background: linear-gradient(135deg, #E8ECEF, #9AA3AB); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25); }
.te-eq-case::before { left: -5px; bottom: -5px; }
.te-eq-case::after { right: -5px; bottom: -5px; }
.te-eq-case__lid { display: flex; align-items: center; justify-content: space-between; margin: -0.2rem 0.4rem 0.8rem; padding: 0.55rem 0.8rem; border-radius: 8px; background: linear-gradient(180deg, #353C44, #262B31); }
.te-eq-case__latch { width: 40px; height: 14px; border-radius: 3px; background: linear-gradient(180deg, #DDE2E6, #8C959D); box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .25); }
.te-eq-case__stencil { font-weight: 900; font-size: 0.85rem; letter-spacing: 0.08em; color: #F4C76B; }
.te-eq-case__foam { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; margin: 0; padding: 0.6rem; border-radius: 10px; list-style: none; background: radial-gradient(circle at 25% 25%, rgba(255, 255, 255, .05) 1.5px, transparent 2px) 0 0 / 9px 9px, #23272C; box-shadow: inset 0 2px 8px rgba(0, 0, 0, .6); }
.te-eq-slot { position: relative; display: grid; gap: 0.2rem; align-content: end; min-height: 7.5rem; margin: 0; padding: 0.8rem 0.85rem 0.85rem; border-radius: 9px; background: radial-gradient(circle at 25% 25%, rgba(255, 255, 255, .04) 1.5px, transparent 2px) 0 0 / 7px 7px, #121417; box-shadow: inset 0 3px 10px rgba(0, 0, 0, .85), inset 0 0 0 1px rgba(255, 255, 255, .05); color: #fff; }
.te-eq-slot--tx { grid-column: span 2; }
.te-eq-slot__ico { position: absolute; top: 0.75rem; right: 0.75rem; width: 1.6rem; height: 1.6rem; background: #7CC8E6; -webkit-mask: var(--te-ico) center / contain no-repeat; mask: var(--te-ico) center / contain no-repeat; opacity: .9; }
.te-eq-slot b { font-family: var(--eq-serif); font-size: clamp(1.35rem, 2.3vw, 1.85rem); font-weight: 600; line-height: 1.05; font-variant-numeric: tabular-nums; color: #fff; }
.te-eq-slot > span:last-child { font-size: 0.8rem; line-height: 1.3; color: #AEBBC6; }
.te-eq-slot.is-new, .te-eq-crate.is-new { animation: te-eq-ping .7s ease-out; }
@keyframes te-eq-ping { 0% { box-shadow: inset 0 3px 10px rgba(0, 0, 0, .85), 0 0 0 0 rgba(244, 199, 107, .7); } 100% { box-shadow: inset 0 3px 10px rgba(0, 0, 0, .85), 0 0 0 10px rgba(244, 199, 107, 0); } }

/* Crate tag for the booths */
.te-eq-crate { justify-self: start; margin: -0.3rem 0 0 1.4rem !important; padding: 0.5rem 0.9rem; border-radius: 0 0 8px 8px; background: #E9D9B8; box-shadow: 0 6px 12px -8px rgba(0, 0, 0, .5); font-size: 0.86rem; color: #4A3A1E; }
.te-eq-crate b { font-family: var(--eq-serif); font-size: 1.15rem; }

/* Shipping label: the kit builder */
.te-eq-label { position: relative; justify-self: end; width: min(100%, 25rem); margin-top: -1.6rem; padding: 1rem 1.1rem 1.1rem; border-radius: 6px; background: #FFFDF8; box-shadow: 0 18px 30px -16px rgba(16, 42, 61, .45), 0 0 0 1px #E6DFCF; transform: rotate(-1.2deg); }
.te-eq-label::before { content: ""; position: absolute; top: -9px; left: 50%; width: 70px; height: 18px; margin-left: -35px; background: rgba(244, 199, 107, .55); transform: rotate(2deg); }
.te-eq-label__h { padding-bottom: 0.5rem; margin-bottom: 0.7rem !important; border-bottom: 2px solid var(--te-ink); font-family: var(--eq-serif); font-size: 1.35rem; font-weight: 600; color: var(--te-ink); }
.te-eq-label__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; }
.te-eq-label label { display: grid; gap: 0.25rem; font-size: 0.8rem; font-weight: 700; color: var(--te-slate); }
.te-eq-label input { box-sizing: border-box; width: 100%; padding: 0.5rem 0.55rem; border: 0; border-bottom: 2px solid #9FB3C1; border-radius: 0; background: transparent; font: inherit; font-family: var(--eq-serif); font-size: 1.5rem; font-weight: 600; color: var(--te-ink); }
.te-eq-label input:focus { outline: none; border-bottom-color: var(--eq-accent); background: #FFF4EA; }
.te-eq-label__note { margin-top: 0.7rem !important; font-size: 0.82rem; line-height: 1.45; color: var(--te-slate); }
.te-eq-label__go { margin-top: 0.8rem !important; }
.te-eq-label__go .te-lx-btn { width: 100%; justify-content: center; box-sizing: border-box; }

/* Integrus head: copy beside the product card */
.te-eq-integrus__head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; max-width: none; }
.te-eq-integrus .te-eq-shot { color: var(--te-ink); }
.te-eq-flow__k { margin-top: clamp(2.25rem, 4vw, 3rem) !important; font-weight: 800; color: #FFB48A; }
.te-eq-integrus .te-eq-chain { margin-top: 1rem; }
.te-eq-chain li { display: flex; flex-direction: column; gap: 0.35rem; }
.te-eq-chain li::after { top: auto; bottom: 1.6rem; right: -1.25rem; width: 1.2rem; height: 3px; border-radius: 2px; background: #7CC8E6; box-shadow: 0 0 0 2px rgba(124, 200, 230, .15); }
.te-eq-chain__ports { display: grid; gap: 0.35rem; margin-top: auto; padding-top: 0.8rem; }
.te-eq-port { display: block; padding: 0.3rem 0.55rem; border-radius: 4px; font-size: 0.76rem; font-weight: 700; line-height: 1.3; }
.te-eq-port--in { background: rgba(255, 255, 255, .08); color: #C3D7E2; }
.te-eq-port--out { background: rgba(124, 200, 230, .16); color: #BFE6F5; }

/* Catalog as rental asset tags */
.te-eq-tag { position: relative; padding-top: 1.1rem !important; border-radius: 10px 10px 10px 10px; }
.te-eq-tag::before { content: ""; position: absolute; top: 0.75rem; right: 0.9rem; width: 12px; height: 12px; border-radius: 50%; background: #F3F7FA; box-shadow: inset 0 0 0 2px #C9D5DE; }
.te-eq-tag__top { display: flex; align-items: center; gap: 0.7rem; padding-right: 1.5rem; }
.te-eq-tag__id { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.04em; color: var(--te-slate); }
.te-eq-tag__code { display: block; height: 22px; margin-top: 0.4rem; background: repeating-linear-gradient(90deg, var(--te-ink) 0 2px, transparent 2px 4px, var(--te-ink) 4px 5px, transparent 5px 8px, var(--te-ink) 8px 11px, transparent 11px 12px); opacity: .75; }

@media (max-width: 1000px) {
	.te-eq-integrus__head { grid-template-columns: minmax(0, 1fr); }
	.te-eq-pack { max-width: 36rem; }
}
@media (max-width: 600px) {
	.te-eq-case__foam { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.te-eq-slot { min-height: 6.2rem; }
	.te-eq-label { justify-self: stretch; width: auto; margin-top: 0.8rem; transform: none; }
	.te-eq-crate { margin-left: 0.8rem !important; }
}
@media (prefers-reduced-motion: reduce) {
	.te-eq-slot.is-new, .te-eq-crate.is-new { animation: none; }
}
.te-eq-case__foam > .te-eq-slot:last-child { grid-column: 1 / -1; min-height: 4.2rem; grid-template-columns: auto 1fr; align-items: end; gap: 0 0.8rem; }
.te-eq-chain__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; margin: -0.4rem 0 0.5rem; border-radius: 8px; background: #fff; }
.te-eq-chain li { padding-top: 1rem; }
.te-eq-chain li::before { top: 1.6rem; left: 1.6rem; z-index: 1; }
.te-eq-crate { max-width: 11.5rem; line-height: 1.35; }
.te-eq-label { width: min(100%, 22rem); }
@media (max-width: 600px) { .te-eq-crate { max-width: none; } .te-eq-label { width: auto; } }
.te-eq-tag--ask { background: var(--te-navy) !important; border-color: var(--te-navy) !important; color: #D3E3EC; }
.te-eq-tag--ask::before { background: var(--te-navy); box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .3); }
.te-eq-tag--ask h3 { color: #fff !important; }
.te-eq-tag--ask .te-eq-tag__id { color: #FFB48A; }
.te-eq-tag--ask p { font-size: 0.93rem; line-height: 1.55; }
.te-eq-tag__ask { margin-top: auto; font-weight: 700; color: #fff; text-underline-offset: 3px; }

/* Equipment page: field reports (case studies) */
.te-eq-reports { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(1rem, 2vw, 1.5rem); align-items: stretch; }
.te-eq-report { display: flex; flex-direction: column; margin: 0; border-radius: 12px; overflow: hidden; background: var(--te-navy); color: #D3E3EC; }
.te-eq-report--lead { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); background: #fff; border: 1px solid #DCE4EA; color: var(--te-slate); }
.te-eq-report__photo { position: relative; margin: 0; }
.te-eq-report__photo img { display: block; width: 100%; height: 100%; min-height: 18rem; object-fit: cover; }
.te-eq-report__photo figcaption { position: absolute; left: 0.8rem; bottom: 0.8rem; padding: 0.3rem 0.7rem; border-radius: 999px; background: rgba(10, 30, 48, .8); font-size: 0.78rem; font-weight: 600; color: #fff; }
.te-eq-report__body { display: flex; flex-direction: column; gap: 0.6rem; padding: clamp(1.3rem, 3vw, 1.9rem); }
.te-eq-report__k { font-size: 0.85rem; font-weight: 800; color: var(--eq-accent); }
.te-eq-report:not(.te-eq-report--lead) .te-eq-report__k { color: #FFB48A; }
.te-eq-report h3 { margin: 0; font-family: var(--eq-serif); font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 600; line-height: 1.15; color: var(--te-ink); }
.te-eq-report:not(.te-eq-report--lead) h3 { color: #fff; }
.te-eq-report__body > p:not(.te-eq-report__k) { line-height: 1.6; }
.te-eq-report__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; margin: 0.4rem 0 0; padding: 0; list-style: none; }
.te-eq-report__stats li { display: grid; gap: 0.1rem; margin: 0; padding: 0.7rem 0.8rem; border-radius: 8px; background: #F3F7FA; }
.te-eq-report:not(.te-eq-report--lead) .te-eq-report__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.te-eq-report:not(.te-eq-report--lead) .te-eq-report__stats li { background: rgba(255, 255, 255, .07); }
.te-eq-report__stats b { font-family: var(--eq-serif); font-size: 1.7rem; font-weight: 600; line-height: 1.05; color: var(--te-ink); }
.te-eq-report:not(.te-eq-report--lead) .te-eq-report__stats b { color: #fff; }
.te-eq-report__stats span { font-size: 0.8rem; line-height: 1.3; }
.te-eq-report__more { margin-top: auto; padding-top: 0.4rem; font-weight: 700; color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-eq-report:not(.te-eq-report--lead) .te-eq-report__more { color: #9FD4EA; }
@media (max-width: 1100px) { .te-eq-reports { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) { .te-eq-report--lead { grid-template-columns: minmax(0, 1fr); } .te-eq-report__photo img { min-height: 0; aspect-ratio: 16 / 10; } }
.te-eq-reports__side { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.te-eq-reports__side .te-eq-report__body { padding: clamp(1.1rem, 2.4vw, 1.5rem); gap: 0.5rem; }
.te-eq-reports__side .te-eq-report h3 { font-size: clamp(1.3rem, 2vw, 1.55rem); }

/* Legal pages (privacy, terms, security statement, HIPAA policy): plain, readable text. */
.te-legal { box-sizing: border-box; padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 4vw, 1.5rem) clamp(2.5rem, 6vw, 4.5rem); color: var(--te-ink); }
.te-legal h1 { margin: 0 0 1.2rem; font-family: "Newsreader", Georgia, serif; font-size: clamp(2.2rem, 4.5vw, 3.2rem); font-weight: 600; line-height: 1.1; }
.te-legal h2 { margin: 2.2rem 0 0.7rem; padding-top: 1.4rem; border-top: 1px solid var(--te-line); font-size: 1.45rem; font-weight: 800; }
.te-legal .te-legal-note { margin: 0 0 1.75rem; padding: 0.85rem 1rem; border-left: 3px solid var(--te-steel); border-radius: 0 8px 8px 0; background: var(--te-ice); font-size: 0.95rem; line-height: 1.55; color: var(--te-ink); }
.te-legal h3, .te-legal h4, .te-legal h5, .te-legal h6 { margin: 1.5rem 0 0.5rem; font-size: 1.1rem; font-weight: 800; }
.te-legal p, .te-legal li { font-size: 1.02rem; line-height: 1.75; color: #2D3B47; }
.te-legal p { margin: 0 0 0.9rem; }
.te-legal ul, .te-legal ol { margin: 0 0 1rem; padding-left: 1.3rem; }
.te-legal a { color: var(--te-steel-deep); text-underline-offset: 3px; }
.te-legal .wp-block-table { margin: 1rem 0 1.5rem; overflow-x: auto; }
.te-legal table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.te-legal th, .te-legal td { padding: 0.7rem 0.8rem; border: 1px solid #D5DEE6; text-align: left; vertical-align: top; line-height: 1.5; }
.te-legal th { background: #F3F7FA; font-weight: 800; }

/* ==========================================================================
   Client portal gateway (/te-portal-landing/): navy heading band, two portal cards, access strip
   ========================================================================== */
.te-pt { position: relative; isolation: isolate; overflow-x: clip; padding-block: 0 clamp(3.5rem, 7vw, 5.5rem); background: var(--te-cloud); }
/* The navy band runs full width behind the heading and ends partway down the cards. */
.te-pt__head { position: relative; padding-block: clamp(2rem, 4.5vw, 3.25rem) 8rem; }
.te-pt__head::before { content: ""; position: absolute; inset: 0 -100vmax; z-index: -1; background: radial-gradient(42rem 22rem at 85% 0%, #1D4E66 0%, rgba(29, 78, 102, 0) 70%), var(--te-navy); }
.te-pt__head > * { margin-block: 0; }
.te-pt .te-breadcrumbs, .te-pt .te-breadcrumbs a { color: #B9D3E0; }
.te-pt__title { margin-top: 0.75rem !important; font-size: clamp(2.2rem, 4vw, 3.1rem); font-weight: 800; line-height: 1.08; letter-spacing: -0.025em; color: #fff; }
.te-pt__lede { margin-top: 0.8rem !important; max-width: 38rem; font-size: 1.125rem; line-height: 1.6; color: #D3E3EC; }

/* Portal cards */
.te-pt__doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.5rem); margin-top: -5.5rem; }
.te-pt-door { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.25rem); border-top: 4px solid var(--te-steel); border-radius: 14px; background: #fff; box-shadow: 0 24px 48px -28px rgba(15, 27, 38, .45), 0 0 0 1px rgba(15, 27, 38, .05); }
.te-pt-door--translation { border-top-color: var(--te-signal); }
.te-pt-door > * { margin: 0; }
.te-pt-door__top { display: flex; align-items: center; gap: 0.85rem; }
.te-pt-door__icon { position: relative; flex-shrink: 0; width: 3rem; height: 3rem; border-radius: 12px; background: var(--te-ice); }
.te-pt-door__icon::after { content: ""; position: absolute; inset: 0.75rem; background: var(--te-steel-deep); -webkit-mask: var(--te-i-hand) center / contain no-repeat; mask: var(--te-i-hand) center / contain no-repeat; }
.te-pt-door--translation .te-pt-door__icon { background: #FDEBDD; }
.te-pt-door--translation .te-pt-door__icon::after { background: #B8410D; -webkit-mask-image: var(--te-i-file); mask-image: var(--te-i-file); }
.te-pt-door__host { margin: 0; font-size: 0.875rem; color: var(--te-slate); }
.te-pt-door__name { margin-top: 1.25rem; font-size: clamp(1.45rem, 2.4vw, 1.75rem); font-weight: 800; letter-spacing: -0.015em; color: var(--te-ink); }
.te-pt-door__who { min-height: 3.2em; margin-top: 0.35rem; line-height: 1.6; color: var(--te-slate); }
.te-pt-door__list { margin: 1.25rem 0 1.75rem !important; padding: 1.1rem 0 0; border-top: 1px solid var(--te-line); list-style: none; }
.te-pt-door__list li { position: relative; padding: 0.3rem 0 0.3rem 1.75rem; color: var(--te-ink); }
.te-pt-door__list li::before { content: ""; position: absolute; left: 0; top: 0.55rem; width: 1.05rem; height: 1.05rem; background: var(--te-steel); -webkit-mask: var(--te-i-check) center / contain no-repeat; mask: var(--te-i-check) center / contain no-repeat; }
.te-pt-door__go { display: flex; align-items: center; justify-content: center; gap: 0.55rem; min-height: 3.1rem; margin-top: auto !important; border-radius: 10px; background: var(--te-navy); font-weight: 700; text-decoration: none; color: #fff; transition: background .2s var(--te-ease); }
.te-pt-door__go::before { content: ""; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: var(--te-i-lock) center / contain no-repeat; mask: var(--te-i-lock) center / contain no-repeat; }
.te-pt-door__go:hover { background: var(--te-steel-deep); }
.te-pt-door__go:focus-visible { outline: 3px solid var(--te-steel); outline-offset: 3px; }

/* Access strip */
.te-pt-access { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2.5rem; margin-top: clamp(1.5rem, 3vw, 2rem); padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--te-line); border-radius: 14px; background: #fff; }
.te-pt-access__copy { flex: 1 1 26rem; }
.te-pt-access__copy > * { margin: 0; }
.te-pt-access__copy h2 { font-size: 1.3rem; font-weight: 800; color: var(--te-ink); }
.te-pt-access__copy p { margin-top: 0.4rem; max-width: 40rem; line-height: 1.6; color: var(--te-slate); }
.te-pt-access__btns { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0; }
.te-pt-access .te-lx-btn--ghost { color: var(--te-ink); box-shadow: inset 0 0 0 1px #9FB3C1; }
.te-pt-access .te-lx-btn--ghost:hover { background: var(--te-cloud); }

@media (max-width: 760px) {
	.te-pt__doors { grid-template-columns: 1fr; }
	.te-pt-door__who { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.te-pt-door__go { transition: none; }
}
