/*
Theme Name: TFIQ
Theme URI: https://tfiq.co
Author: Transform LogiQ
Description: The Transform LogiQ website design on standard WordPress blocks, with no page builder. Works with the Signal iQ Bridge plugin (enquiry form, SEO, redirects).
Version: 1.2.6
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: tfiq
*/

/* ---------------------------------------------------------------- tokens */
:root {
	--tfiq-ink: #202020;
	--tfiq-black: #131313;
	--tfiq-dark: #232323;
	--tfiq-body: #484f56;
	--tfiq-muted: #6b7178;
	--tfiq-magenta: #f01068;
	--tfiq-blue: #088ac0;
	--tfiq-blue-dark: #005f87;
	--tfiq-cyan: #e5f9fa;
	--tfiq-grey: #eeeeee;
	--tfiq-grey-2: #e9e9e9;
	--tfiq-grey-3: #f8f8f8;
	--tfiq-line: #cccccc;
	--tfiq-line-soft: #e4e4e4;
	--tfiq-max: 1140px;
	--tfiq-gutter: 20px;
	--tfiq-head-h: 87px;
	--tfiq-font: Barlow, "Helvetica Neue", Arial, sans-serif;
	--tfiq-font-semi: "Barlow Semi Condensed", Barlow, "Helvetica Neue", Arial, sans-serif;
	--tfiq-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M1.5 1l5 5-5 5M8.5 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E");
	--tfiq-angles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M470.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L402.7 256 265.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160zm-352 160l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L210.7 256 73.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z'/%3E%3C/svg%3E");
	--tfiq-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath d='M1 1.5l5 5 5-5M1 8.5l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------------- base */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--tfiq-head-h) + 16px); -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--tfiq-font); font-size: 18px; font-weight: 300; line-height: 1.5; color: var(--tfiq-ink); background: #fff; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, video, iframe { max-width: 100%; height: auto; }
a { color: var(--tfiq-blue); text-underline-offset: 3px; }
a:hover { color: var(--tfiq-blue-dark); }
strong, b { font-weight: 600; }
:focus-visible { outline: 2px solid var(--tfiq-blue); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--tfiq-font); font-weight: 500; line-height: 1.2; color: var(--tfiq-ink); margin: 0 0 .6em; letter-spacing: -.005em; }
h1 { font-size: clamp(30px, 3.4vw, 44px); }
h2 { font-size: clamp(24px, 2.3vw, 28px); }
h3 { font-size: 20px; font-weight: 600; }
h4 { font-size: 18px; font-weight: 600; }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.2em; }
li { margin: 0 0 .45em; }
hr { border: 0; border-top: 1px solid var(--tfiq-line); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.tfiq-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--tfiq-ink); color: #fff; padding: 10px 14px; }
.tfiq-skip:focus { top: 12px; color: #fff; }
.tfiq-wrap { width: 100%; max-width: calc(var(--tfiq-max) + 2 * var(--tfiq-gutter)); margin: 0 auto; padding: 0 var(--tfiq-gutter); }
.tfiq-wrap--narrow { max-width: calc(800px + 2 * var(--tfiq-gutter)); }

/* ---------------------------------------------------------------- layout fallback */
/* The real rules come from theme.json (printed by functions.php); these only apply if they are missing. */
:where(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--wp--style--global--content-size, var(--tfiq-max)); margin-left: auto; margin-right: auto; }
:where(.is-layout-constrained) > :where(.alignwide) { max-width: var(--wp--style--global--wide-size, 1280px); }
:where(.has-global-padding) { padding-left: var(--wp--style--root--padding-left, var(--tfiq-gutter)); padding-right: var(--wp--style--root--padding-right, var(--tfiq-gutter)); }

/* ---------------------------------------------------------------- header */
.tfiq-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid #eee; transition: box-shadow .2s; }
.admin-bar .tfiq-header { top: 32px; }
.tfiq-header.is-scrolled { box-shadow: 0 2px 14px rgba(0, 0, 0, .06); }
.tfiq-header__inner { max-width: calc(var(--tfiq-max) + 2 * var(--tfiq-gutter)); margin: 0 auto; padding: 0 var(--tfiq-gutter); height: var(--tfiq-head-h); display: flex; align-items: center; gap: 24px; }
.tfiq-header__brand { flex: 0 0 auto; }
.tfiq-logo, .custom-logo-link { display: block; line-height: 0; }
.tfiq-logo img, .custom-logo { width: auto; height: 47px; }
.tfiq-nav { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.tfiq-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.tfiq-nav__item--d0 { position: static; margin: 0; display: flex; align-items: center; }
.tfiq-nav__link { display: block; padding: 6px 15px; font-size: 16px; font-weight: 400; color: var(--tfiq-black); text-decoration: none; }
.tfiq-nav__link:hover, .tfiq-nav__item.is-open > .tfiq-nav__link, .tfiq-nav__item.is-current > .tfiq-nav__link { color: var(--tfiq-black); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.tfiq-nav__toggle { display: none; background: none; border: 0; padding: 8px; cursor: pointer; color: #000; }
.tfiq-nav__extra { display: flex; align-items: center; gap: 22px; padding-left: 22px; border-left: 1px solid #e5e5e5; height: 44px; }
.tfiq-search-btn { background: none; border: 0; padding: 6px; cursor: pointer; color: #9a9a9a; line-height: 0; }
.tfiq-search-btn:hover { color: #000; }

/* mega menu: rail | columns | picture, on a light grey panel */
.tfiq-mega { position: absolute; left: 0; right: 0; top: 100%; background: #f9f9f9; border-top: 1px solid #eee; box-shadow: 0 24px 40px rgba(0, 0, 0, .08); }
.tfiq-mega[hidden] { display: none; }
.tfiq-mega__inner { max-width: calc(var(--tfiq-max) + 2 * var(--tfiq-gutter)); margin: 0 auto; padding: 60px var(--tfiq-gutter) 64px; display: grid; grid-template-columns: 190px minmax(0, 1fr) 250px; gap: 40px; align-items: start; }
.tfiq-mega--grid3 .tfiq-mega__inner { grid-template-columns: 190px minmax(0, 1fr) 200px; gap: 36px; }
.tfiq-mega--grid3 .tfiq-mega__link { font-size: 16px; }
.tfiq-mega__rail { list-style: none; margin: 0; padding: 0; }
.tfiq-mega__rail li { margin: 0; }
.tfiq-mega__rail a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 55px; padding: 0 16px; font-size: 16px; font-weight: 500; color: #000; text-decoration: none; transition: background .15s; }
.tfiq-mega__rail svg { flex: 0 0 auto; color: #bdbdbd; opacity: 0; transition: opacity .15s; }
.tfiq-mega__rail a:hover, .tfiq-mega__rail .is-active a { background: #fff; color: #000; }
.tfiq-mega__rail .is-active svg, .tfiq-mega__rail a:hover svg { opacity: 1; }
.tfiq-mega__cols { list-style: none; margin: 0; padding: 0; }
.tfiq-mega--grid3 .tfiq-mega__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 36px; }
.tfiq-mega--flow2 .tfiq-mega__cols { columns: 2; column-gap: 40px; }
.tfiq-nav__item--d1 { margin: 0 0 24px; break-inside: avoid; }
.tfiq-mega__head { display: block; font-family: var(--tfiq-font-semi); font-weight: 600; font-size: 18px; line-height: 1.2; color: var(--tfiq-magenta); text-decoration: none; margin: 0 0 14px; }
a.tfiq-mega__head:hover { color: var(--tfiq-magenta); text-decoration: underline; }
.tfiq-mega__list { list-style: none; margin: 0; padding: 0; }
.tfiq-mega__list li { margin: 0; }
.tfiq-mega__link { display: block; padding: 0; font-size: 17px; line-height: 1.7; font-weight: 300; color: #000; text-decoration: none; }
.tfiq-mega__link:hover { color: var(--tfiq-magenta); }
.tfiq-mega__img { margin: 0; }
.tfiq-mega__img img { display: block; width: 100%; height: 265px; object-fit: cover; }
@media (max-width: 1220px) and (min-width: 1081px) {
	.tfiq-mega__inner, .tfiq-mega--grid3 .tfiq-mega__inner { grid-template-columns: 190px minmax(0, 1fr); }
	.tfiq-mega__img { display: none; }
}

/* search overlay */
.tfiq-search { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid #eee; box-shadow: 0 18px 30px rgba(0, 0, 0, .08); }
.tfiq-search[hidden] { display: none; }
.tfiq-search__inner { max-width: 960px; margin: 0 auto; padding: 28px var(--tfiq-gutter); display: flex; gap: 12px; align-items: center; }
.tfiq-search__form, .tfiq-searchform { flex: 1; display: flex; gap: 12px; flex-wrap: wrap; }
.tfiq-search__form input, .tfiq-searchform input { flex: 1 1 280px; min-width: 0; font: 300 17px var(--tfiq-font); padding: 11px 14px; border: 1px solid var(--tfiq-line); border-radius: 0; color: var(--tfiq-ink); }
.tfiq-search__form select { font: 500 16px var(--tfiq-font); padding: 11px 12px; border: 1px solid var(--tfiq-line); border-radius: 0; background: #fff; color: var(--tfiq-ink); }
.tfiq-search__form button, .tfiq-searchform button { font: 500 16px var(--tfiq-font); padding: 11px 26px; background: var(--tfiq-blue); color: #fff; border: 0; cursor: pointer; }
.tfiq-search__close { background: none; border: 0; font-size: 30px; line-height: 1; cursor: pointer; color: #777; }
.tfiq-searchform { max-width: 640px; margin-top: 16px; }

/* burger */
.tfiq-burger { display: none; margin-left: auto; background: none; border: 0; width: 44px; height: 44px; padding: 10px; cursor: pointer; }
.tfiq-burger span:not(.screen-reader-text) { display: block; height: 2px; background: var(--tfiq-ink); margin: 5px 0; transition: transform .2s, opacity .2s; }
.tfiq-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.tfiq-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.tfiq-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1080px) {
	.tfiq-burger { display: block; }
	.tfiq-nav { position: fixed; inset: var(--tfiq-head-h) 0 0 0; background: #fff; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 8px var(--tfiq-gutter) 40px; overflow-y: auto; transform: translateX(100%); transition: transform .25s; visibility: hidden; }
	.admin-bar .tfiq-nav { top: calc(var(--tfiq-head-h) + 46px); }
	.tfiq-nav.is-open { transform: none; visibility: visible; }
	.tfiq-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.tfiq-nav__item--d0 { flex-wrap: wrap; border-bottom: 1px solid #eee; }
	.tfiq-nav__link { flex: 1; padding: 16px 0; font-size: 19px; border: 0; }
	.tfiq-nav__toggle { display: block; padding: 16px 8px; }
	.tfiq-nav__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
	.tfiq-mega { position: static; flex: 0 0 100%; box-shadow: none; border: 0; }
	.tfiq-mega__inner, .tfiq-mega--grid3 .tfiq-mega__inner { display: block; padding: 0 0 18px; }
	.tfiq-mega { background: #fff; }
	.tfiq-mega__rail, .tfiq-mega__img { display: none; }
	.tfiq-mega--grid3 .tfiq-mega__cols { display: block; }
	.tfiq-mega--flow2 .tfiq-mega__cols { columns: 1; }
	.tfiq-nav__item--d1 { margin: 0 0 16px; }
	.tfiq-nav__link:hover, .tfiq-nav__item.is-open > .tfiq-nav__link, .tfiq-nav__item.is-current > .tfiq-nav__link { text-decoration: none; }
	.tfiq-nav__extra { border: 0; padding: 20px 0 0; height: auto; justify-content: space-between; }
}
@media (max-width: 782px) { .admin-bar .tfiq-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .tfiq-header { top: 0; } :root { --tfiq-head-h: 70px; } .tfiq-logo img, .custom-logo { height: 38px; } }

/* ---------------------------------------------------------------- buttons */
.tfiq-btn, .wp-block-button__link, .wp-element-button {
	display: inline-flex; align-items: stretch; gap: 0; padding: 0; background: #fff; color: var(--tfiq-ink); border: 1px solid var(--tfiq-ink); border-radius: 0;
	font-family: var(--tfiq-font-semi); font-size: 20px; font-weight: 300; line-height: 1; text-decoration: none; cursor: pointer; transition: background .15s, color .15s;
}
.tfiq-btn > span, .wp-block-button__link { padding: 9px 14px; }
.wp-block-button__link { padding-right: 0; }
.tfiq-btn::after, .wp-block-button__link::after { content: ""; width: 34px; flex: 0 0 34px; border-left: 1px solid currentColor; background: currentColor; -webkit-mask: var(--tfiq-chev) center / 14px 11px no-repeat, linear-gradient(#000 0 0) left / 1px 100% no-repeat; mask: var(--tfiq-chev) center / 14px 11px no-repeat, linear-gradient(#000 0 0) left / 1px 100% no-repeat; }
.wp-block-button__link { padding-top: 0; padding-bottom: 0; }
.wp-block-button__link::before { content: ""; }
.wp-block-button__link { align-items: center; min-height: 40px; padding-left: 14px; }
.wp-block-button__link::after { align-self: stretch; margin-left: 14px; }
.tfiq-btn:hover, .wp-block-button__link:hover { background: var(--tfiq-ink); color: #fff; }
.tfiq-btn--header { font-size: 18px; }
.tfiq-btn--header > span { padding: 8px 14px; }
.is-style-tfiq-solid .wp-block-button__link, .tfiq-btn--solid { background: var(--tfiq-black); color: #fff; border-color: var(--tfiq-black); }
.is-style-tfiq-solid .wp-block-button__link:hover { background: var(--tfiq-blue); border-color: var(--tfiq-blue); }
.is-style-tfiq-plain .wp-block-button__link { border: 0; background: none; padding-left: 0; }
.is-style-tfiq-plain .wp-block-button__link::after { border: 0; -webkit-mask: var(--tfiq-chev) center / 14px 11px no-repeat; mask: var(--tfiq-chev) center / 14px 11px no-repeat; order: -1; margin: 0 10px 0 0; flex-basis: 16px; width: 16px; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
.has-dark-background-color .wp-block-button__link, .tfiq-cta .wp-block-button__link { background: transparent; color: #fff; border-color: #fff; }
.has-dark-background-color .wp-block-button__link:hover, .tfiq-cta .wp-block-button__link:hover { background: #fff; color: var(--tfiq-ink); }

/* "Learn more" style links */
.tfiq-more { margin: 14px 0 0; font-family: var(--tfiq-font-semi); font-size: 20px; line-height: 1.2; font-weight: 300; }
.tfiq-more a { display: inline-flex; align-items: center; gap: 9px; color: var(--tfiq-ink); text-decoration: none; }
.tfiq-more a::before { content: ""; flex: 0 0 auto; width: 15px; height: 15px; background: var(--tfiq-magenta); -webkit-mask: var(--tfiq-angles) center / contain no-repeat; mask: var(--tfiq-angles) center / contain no-repeat; }
.tfiq-more a:hover { color: var(--tfiq-blue); }

/* ---------------------------------------------------------------- page structure */
.tfiq-main { display: block; min-height: 50vh; }
.tfiq-content > .alignfull { margin-top: 0; margin-bottom: 0; }
.tfiq-content > :first-child { margin-top: 0; }
.tfiq-content { padding-bottom: 10px; }
.tfiq-content:has(> .alignfull:last-child) { padding-bottom: 0; }
.tfiq-entry--own-hero .tfiq-content > :not(.alignfull):first-child { margin-top: 48px; }
.tfiq-content > :not(.alignfull):last-child { margin-bottom: 64px; }
.tfiq-pagehead { background: var(--tfiq-grey); padding: 56px 0 50px; margin-bottom: 48px; }
.tfiq-pagehead__title { margin: 0; font-size: clamp(30px, 3.2vw, 42px); }
.tfiq-pagehead__lead { margin: 16px 0 0; max-width: 760px; font-size: 20px; color: var(--tfiq-body); }
.tfiq-pagehead--article { background: #fff; padding: 40px 0 10px; margin: 0; }
.tfiq-crumbs { font-size: 14px; color: var(--tfiq-muted); margin: 0 0 18px; font-weight: 400; }
.tfiq-crumbs a { color: var(--tfiq-muted); text-decoration: none; }
.tfiq-crumbs a:hover { color: var(--tfiq-blue); text-decoration: underline; }
.tfiq-crumbs__sep { margin: 0 8px; color: #b5b5b5; }
.tfiq-crumbs-bar { position: absolute; z-index: 2; width: 100%; padding-top: 14px; pointer-events: none; }
.tfiq-crumbs-bar .tfiq-crumbs { pointer-events: auto; margin: 0; display: inline-block; }
.home .tfiq-crumbs-bar { display: none; }

/* sections from converted pages */
.tfiq-sec { margin: 0; }
.tfiq-sec + .tfiq-sec { margin-block-start: 0; }
.tfiq-content .wp-block-columns { gap: 40px 48px; margin: 0; }
.tfiq-content .wp-block-column > :first-child { margin-top: 0; }
.tfiq-content * + .wp-block-columns { margin-top: 36px; }
.tfiq-content h3 + :is(ul, ol), .tfiq-content h4 + :is(ul, ol) { margin-top: 14px; }
/* List items start with a capital, whatever the copy says. */
.tfiq-content li::first-letter { text-transform: uppercase; }
.tfiq-content .wp-block-group.has-background:not(.alignfull):not(.tfiq-card):not(.tfiq-callout) { padding: 32px; }
.tfiq-has-bgimage { background-size: cover; background-position: center; }
.has-grey-background-color { background-color: var(--tfiq-grey); }
.has-grey-2-background-color { background-color: var(--tfiq-grey-2); }
.has-grey-3-background-color { background-color: var(--tfiq-grey-3); }
.has-dark-background-color, .has-black-background-color, .has-ink-background-color { color: #fff; }
.has-dark-background-color :is(h1, h2, h3, h4, p, li), .has-black-background-color :is(h1, h2, h3, h4, p, li) { color: #fff; }
.has-dark-background-color a, .has-black-background-color a { color: #fff; }
.wp-block-image { margin: 0 0 20px; }
.wp-block-image img { display: block; height: auto; }
.tfiq-img-gray img { filter: grayscale(1) brightness(1.12); }
.tfiq-img-center img { margin-left: auto; margin-right: auto; }
.tfiq-img-end img { margin-left: auto; }
.tfiq-sec.has-global-padding:has(> .tfiq-video-bg) { padding-left: 0; padding-right: 0; }
.wp-block-column > .wp-block-image:not(.is-resized) img:not([src*="-150x"]):not([src*="-300x"]) { width: 100%; }
.wp-block-separator { margin: 28px 0; }
.wp-block-spacer { margin: 0 !important; }
.wp-block-quote { margin: 28px 0; padding: 6px 0 6px 22px; border-left: 3px solid var(--tfiq-blue); font-size: 21px; }

/* hero: grey band, title left, image right */
.tfiq-hero.has-grey-background-color:has(> .wp-block-columns) { padding: 0 !important; overflow: hidden; }
/* Title-only hero (solution pages): a boxed grey panel, as on the original. */
.tfiq-hero.has-grey-background-color:not(:has(> .wp-block-columns)) { position: relative; isolation: isolate; background: none !important; padding-top: 110px !important; padding-bottom: 110px !important; margin-top: 30px; }
.tfiq-hero.has-grey-background-color:not(:has(> .wp-block-columns))::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: max(var(--tfiq-gutter), calc(50% - 620px)); right: max(var(--tfiq-gutter), calc(50% - 620px)); background: var(--tfiq-grey); }
.tfiq-hero.has-grey-background-color:not(:has(> .wp-block-columns)) h1 { font-size: clamp(24px, 2.5vw, 30px); font-weight: 500; margin: 0 0 10px; }
.tfiq-hero.has-grey-background-color:not(:has(> .wp-block-columns)) h2 { font-size: clamp(19px, 1.8vw, 23px); font-weight: 400; margin: 0; }
.tfiq-hero.has-grey-background-color > .wp-block-columns { gap: 0; align-items: stretch; min-height: 300px; max-width: none !important; margin: 0 !important; }
.tfiq-hero.has-grey-background-color > .wp-block-columns > .wp-block-column { display: flex; flex-direction: column; justify-content: center; }
.tfiq-hero.has-grey-background-color > .wp-block-columns > .wp-block-column:first-child { padding: 48px max(var(--tfiq-gutter), calc((100vw - var(--tfiq-max)) / 2)) 48px max(var(--tfiq-gutter), calc((100vw - var(--tfiq-max)) / 2)); padding-right: 40px; }
.tfiq-hero.has-grey-background-color > .wp-block-columns > .wp-block-column:last-child .wp-block-image { margin: 0; height: 100%; }
.tfiq-hero.has-grey-background-color > .wp-block-columns > .wp-block-column:last-child .wp-block-image img { width: 100%; height: 100%; min-height: 300px; max-height: 420px; object-fit: cover; }
.tfiq-hero.has-grey-background-color h1 { font-size: clamp(30px, 3vw, 40px); margin: 0; }
.tfiq-hero.has-grey-background-color h1 + p { margin-top: 18px; }
.tfiq-hero > .wp-block-columns > .wp-block-column > .wp-block-heading:first-child + .wp-block-heading { font-weight: 400; font-size: 22px; }

/* home: video band */
.tfiq-video-bg { position: relative; width: 100%; aspect-ratio: 16 / 7; max-height: 78vh; overflow: hidden; background: #000; }
.tfiq-video-bg iframe { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; min-width: 177.78vh; min-height: 56.25vw; transform: translate(-50%, -50%); border: 0; pointer-events: none; }
.tfiq-video { position: relative; aspect-ratio: 16 / 9; }
.tfiq-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* type helpers */
.tfiq-lead { font-size: 19px; font-weight: 300; color: #6f6f6f; line-height: 1.55; }
.tfiq-eyebrow { font-family: var(--tfiq-font-semi); font-size: 20px; font-weight: 300; color: var(--tfiq-ink); margin: 0 0 10px; }
.tfiq-eyebrow--magenta { color: var(--tfiq-magenta); font-weight: 600; font-size: 19px; }
.tfiq-eyebrow--blue { color: var(--tfiq-blue); font-weight: 600; font-size: 19px; }
.tfiq-eyebrow--line { display: flex; align-items: center; gap: 18px; font-size: 18px; }
.tfiq-eyebrow--line::after { content: ""; flex: 1; border-top: 1px solid var(--tfiq-line); }
.is-style-tfiq-rule, hr.is-style-tfiq-rule { width: 100%; margin-top: 0 !important; margin-bottom: 22px !important; border: 0 !important; opacity: 1; height: 2px; background: linear-gradient(var(--tfiq-blue), var(--tfiq-blue)) 0 0 / min(380px, 100%) 2px no-repeat; }

/* lists */
.tfiq-iconlist { list-style: none; padding: 0; margin: 0 0 16px; }
.tfiq-iconlist li { position: relative; padding: 0 0 0 26px; margin: 0 0 4px; font-size: 18px; line-height: 1.7; font-weight: 300; }
.tfiq-iconlist li::before { content: ""; position: absolute; left: 0; top: .5em; width: 15px; height: 15px; background: var(--tfiq-magenta); -webkit-mask: var(--tfiq-angles) center / contain no-repeat; mask: var(--tfiq-angles) center / contain no-repeat; opacity: 0; transform: translateY(-9px); transition: opacity .25s ease, transform .25s ease; }
.tfiq-iconlist li:hover::before, .tfiq-iconlist li:focus-within::before { opacity: 1; transform: none; }
.tfiq-iconlist li:not(:has(a)) { padding-left: 22px; margin: 0 0 9px; font-size: 17px; line-height: 1.5; }
.tfiq-iconlist li:not(:has(a))::before { top: .6em; width: 7px; height: 7px; border-radius: 50%; -webkit-mask: none; mask: none; opacity: 1; transform: none; transition: none; }
.tfiq-iconlist a { color: var(--tfiq-ink); text-decoration: none; }
.tfiq-iconlist a:hover { color: var(--tfiq-ink); }
.is-style-tfiq-check { list-style: none; padding: 0; }
.is-style-tfiq-check li { position: relative; padding-left: 30px; }
.is-style-tfiq-check li::before { content: ""; position: absolute; left: 0; top: .2em; width: 18px; height: 18px; border-radius: 50%; background: var(--tfiq-cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='%23088AC0' stroke-width='2'/%3E%3C/svg%3E") center / 18px no-repeat; }

/* accordion (details) */
.tfiq-accordion, .tfiq-faq { border-top: 1px solid var(--tfiq-line); margin: 20px 0 0; }
.tfiq-accordion .wp-block-details, .tfiq-faq .wp-block-details { border-bottom: 1px solid var(--tfiq-line); margin: 0; padding: 0; }
.wp-block-details summary { position: relative; list-style: none; cursor: pointer; padding: 20px 44px 20px 0; font-family: var(--tfiq-font-semi); font-size: 23px; font-weight: 200; color: var(--tfiq-ink); line-height: 1.25; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 12px; height: 16px; margin-top: -8px; background: var(--tfiq-ink); -webkit-mask: var(--tfiq-down) center / contain no-repeat; mask: var(--tfiq-down) center / contain no-repeat; transition: transform .2s; }
.wp-block-details[open] summary::after { transform: rotate(180deg); background: var(--tfiq-blue); }
.wp-block-details summary:hover { color: var(--tfiq-blue); }
.wp-block-details > :not(summary) { margin-top: 0; }
.wp-block-details[open] { padding-bottom: 16px; }
.wp-block-details p, .wp-block-details li { font-size: 17px; }
.tfiq-faq summary { font-family: var(--tfiq-font); font-size: 20px; font-weight: 500; }

/* cards (shared) */
.tfiq-card { position: relative; background: #fff; }
.tfiq-card .wp-block-heading { font-size: 18px; margin: 0 0 10px; }
.tfiq-card p { font-size: 16px; }
.tfiq-card .wp-block-image { margin: 0 0 14px; }
.tfiq-ico::before { content: ""; display: block; width: 68px; height: 68px; margin: 0 0 40px; border-radius: 0; background-color: var(--tfiq-cyan); background-position: center; background-repeat: no-repeat; background-size: 36px 36px; }
/* Icons: Font Awesome Free (CC BY 4.0) and Material Icons (Apache 2.0). */
.tfiq-ico-robot::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23202020' d='M320 0c17.7 0 32 14.3 32 32V96H472c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H168c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72H288V32c0-17.7 14.3-32 32-32zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM264 256a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm152 40a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16z'/%3E%3C/svg%3E"); }
.tfiq-ico-lock::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23202020' d='M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H8.9V6zM18 20H6V10h12v10z'/%3E%3C/svg%3E"); }
.tfiq-ico-database::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23202020' d='M448 80v48c0 44.2-100.3 80-224 80S0 172.2 0 128V80C0 35.8 100.3 0 224 0S448 35.8 448 80zM393.2 214.7c20.8-7.4 39.9-16.9 54.8-28.6V288c0 44.2-100.3 80-224 80S0 332.2 0 288V186.1c14.9 11.8 34 21.2 54.8 28.6C99.7 230.7 159.5 240 224 240s124.3-9.3 169.2-25.3zM0 346.1c14.9 11.8 34 21.2 54.8 28.6C99.7 390.7 159.5 400 224 400s124.3-9.3 169.2-25.3c20.8-7.4 39.9-16.9 54.8-28.6V432c0 44.2-100.3 80-224 80S0 476.2 0 432V346.1z'/%3E%3C/svg%3E"); }
.tfiq-ico-border-style::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23202020' d='M0 448c0 17.7 14.3 32 32 32s32-14.3 32-32l0-336c0-8.8 7.2-16 16-16l336 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L80 32C35.8 32 0 67.8 0 112L0 448zm160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E"); }
.tfiq-ico-message::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23202020' d='M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'/%3E%3C/svg%3E"); }
.tfiq-ico-git::before, .tfiq-ico-account-tree::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23202020' d='M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3v87.8c18.8-10.9 40.7-17.1 64-17.1h96c35.3 0 64-28.7 64-64v-6.7C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V160c0 70.7-57.3 128-128 128H176c-35.3 0-64 28.7-64 64v6.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V352 153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z'/%3E%3C/svg%3E"); }
.tfiq-ico:where(:not(.tfiq-ico-robot, .tfiq-ico-lock, .tfiq-ico-database, .tfiq-ico-border-style, .tfiq-ico-message, .tfiq-ico-git, .tfiq-ico-account-tree, .tfiq-ico-user-check, .tfiq-ico-headset, .tfiq-ico-handshake, .tfiq-ico-rocket))::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23202020' d='M12 2l9 5v10l-9 5-9-5V7l9-5zm0 2.3L5.3 8 12 11.7 18.7 8 12 4.3zM5 9.7v6.1l6 3.4v-6.2L5 9.7zm14 0l-6 3.3v6.2l6-3.4V9.7z'/%3E%3C/svg%3E"); }

/* process steps: a connecting line with pins over each card */
.tfiq-process { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 22px; padding-top: 34px; margin-top: 22px; }
.tfiq-process::before { content: ""; position: absolute; top: 9px; left: 46px; right: calc(-1 * max(var(--tfiq-gutter), (100vw - var(--tfiq-max)) / 2)); height: 2px; background: var(--tfiq-blue); }
.tfiq-process > .tfiq-card { border: 1px solid #dfe4ec; display: flex; flex-direction: column; margin: 0; }
.tfiq-process > .tfiq-card::after { content: ""; position: absolute; top: -32px; left: 44px; width: 12px; height: 22px; background: radial-gradient(circle at 6px 6px, #fff 0 3px, var(--tfiq-blue) 3.2px 6px, transparent 6.2px) top / 12px 12px no-repeat, linear-gradient(var(--tfiq-blue), var(--tfiq-blue)) 5px 10px / 2px 12px no-repeat; }
.tfiq-process > .tfiq-card > .tfiq-card-media { margin: 0; background: var(--tfiq-cyan); padding: 14px 24px; }
.tfiq-process > .tfiq-card > .tfiq-card-media img { height: 64px; width: auto; }
.tfiq-process > .tfiq-card > :not(.tfiq-card-media) { padding: 0 24px; }
.tfiq-process > .tfiq-card > .wp-block-heading { margin: 22px 0 10px; font-family: var(--tfiq-font-semi); font-size: 18px; font-weight: 600; text-transform: uppercase; line-height: 1.25; }
.tfiq-process > .tfiq-card > p { font-size: 16px; font-weight: 300; color: #333; }
.tfiq-process > .tfiq-card > p:last-child { padding-bottom: 22px; }
.tfiq-process .tfiq-more { display: none; }
.tfiq-process > .tfiq-card > p:nth-last-child(2):has(+ .tfiq-more) { padding-bottom: 22px; }

/* carousels */
.tfiq-carousel { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 1fr); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 2px 2px 6px; }
.tfiq-carousel::-webkit-scrollbar { display: none; }
.tfiq-carousel > .tfiq-card { scroll-snap-align: start; margin: 0; }
.tfiq-carousel-wrap { position: relative; }
.tfiq-carousel-nav { display: flex; justify-content: flex-end; gap: 8px; margin: 0 0 14px; }
.tfiq-carousel-nav button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--tfiq-ink); transition: color .15s; }
.tfiq-carousel-nav button:hover { color: var(--tfiq-magenta); }
.tfiq-carousel-nav button svg { width: 10px; height: 23px; }
.tfiq-carousel-wrap--feature > .tfiq-carousel-nav { position: absolute; top: 12px; right: 18px; z-index: 2; margin: 0; }
.tfiq-carousel > .tfiq-card { transition: opacity .2s ease, transform .2s ease; }
.tfiq-carousel.is-turning > .tfiq-card { opacity: 0; transform: translateX(calc(var(--tfiq-turn, 1) * -14px)); }
.tfiq-carousel--feature { grid-auto-columns: calc(50% - 15px); gap: 30px; }
.tfiq-carousel--feature > .tfiq-card { border: 1px solid var(--tfiq-line); padding: 44px 45px; display: flex; flex-direction: column; }
.tfiq-carousel--feature > .tfiq-card .wp-block-heading { font-size: 20px; line-height: 1.2; font-weight: 600; margin: 0 0 28px; }
.tfiq-carousel--feature > .tfiq-card p { font-size: 20px; line-height: 1.2; font-weight: 300; color: var(--tfiq-ink); margin: 0 0 20px; }
.tfiq-carousel--feature .tfiq-more { margin-top: auto; padding-top: 10px; }
.tfiq-carousel--feature .tfiq-more a { background: var(--tfiq-black); color: #fff; padding: 10px 30px; font-family: var(--tfiq-font); font-size: 16px; line-height: 27px; font-weight: 400; }
.tfiq-carousel--feature .tfiq-more a::before { display: none; }
.tfiq-carousel--feature .tfiq-more a:hover { background: var(--tfiq-blue); color: #fff; }
.tfiq-carousel--industry { grid-auto-columns: calc((100% - 30px) / 3); gap: 15px; }
.tfiq-carousel--industry > .tfiq-card .tfiq-card-media { margin: 0 0 14px; position: relative; overflow: hidden; }
.tfiq-carousel--industry > .tfiq-card .tfiq-card-media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--tfiq-magenta); opacity: 0; transition: opacity .2s; }
.tfiq-carousel--industry > .tfiq-card:has(a[href*="not-for-profit"]) .tfiq-card-media::after { background: #c6e71b; }
.tfiq-carousel--industry > .tfiq-card:has(a[href*="financ"]) .tfiq-card-media::after { background: #7820e0; }
.tfiq-carousel--industry > .tfiq-card img { width: 100%; height: 350px; object-fit: cover; filter: grayscale(100%); transition: filter .3s; }
.tfiq-carousel--industry > .tfiq-card:hover img { filter: none; }
.tfiq-carousel--industry > .tfiq-card:hover .tfiq-card-media::after { opacity: 1; }
.tfiq-carousel--industry .wp-block-heading { font-size: 17px; font-weight: 600; }
.tfiq-carousel--industry .wp-block-heading a { color: var(--tfiq-ink); text-decoration: none; }
.tfiq-carousel--industry .wp-block-heading a::after { content: ""; position: absolute; inset: 0; }
.tfiq-carousel--solution { grid-auto-columns: minmax(250px, 1fr); }
.tfiq-carousel--solution > .tfiq-card { border: 1px solid var(--tfiq-line); border-radius: 3px; padding: 24px; display: flex; flex-direction: column; }
.tfiq-carousel--solution > .tfiq-card .tfiq-card-media img { height: 96px; width: auto; object-fit: contain; }
.tfiq-carousel--solution .tfiq-more { margin-top: auto; }

/* services list with a detail panel (Our Services) */
.tfiq-services { display: grid; gap: 0; }
.tfiq-services > .tfiq-card { border-bottom: 1px solid #eee; padding: 10px 0; }
.tfiq-services > .tfiq-card .wp-block-heading { font-size: 17px; font-weight: 400; margin: 0; padding-left: 26px; position: relative; cursor: pointer; }
.tfiq-services > .tfiq-card .wp-block-heading::before { content: ""; position: absolute; left: 0; top: .4em; width: 13px; height: 10px; background: var(--tfiq-magenta); -webkit-mask: var(--tfiq-chev) center / contain no-repeat; mask: var(--tfiq-chev) center / contain no-repeat; }
.tfiq-services.is-enhanced { grid-template-columns: minmax(260px, 38%) 1fr; column-gap: 56px; align-items: start; }
.tfiq-services.is-enhanced > .tfiq-card { grid-column: 1; }
.tfiq-services.is-enhanced > .tfiq-card > :not(.wp-block-heading) { display: none; }
.tfiq-services.is-enhanced > .tfiq-card.is-active .wp-block-heading { color: var(--tfiq-blue); font-weight: 500; }
.tfiq-services__panel { grid-column: 2; grid-row: 1 / span 20; position: sticky; top: calc(var(--tfiq-head-h) + 24px); }
.tfiq-services__panel p:first-child { font-size: 24px; font-weight: 500; line-height: 1.3; }
.tfiq-services__panel img { width: 100%; height: 260px; object-fit: cover; }
.tfiq-services:not(.is-enhanced) > .tfiq-card > :not(.wp-block-heading) { padding-left: 26px; }

/* image and icon boxes */
.tfiq-imagebox, .tfiq-iconbox { margin: 0; }
.tfiq-imagebox .tfiq-box-icon img { width: 50px; height: 50px; object-fit: contain; }
.tfiq-imagebox .wp-block-heading, .tfiq-iconbox .wp-block-heading { font-size: 19px; margin: 6px 0 8px; }
.tfiq-imagebox .wp-block-heading a { color: var(--tfiq-ink); text-decoration: none; }
.tfiq-imagebox p, .tfiq-iconbox p { font-size: 16px; color: #333; }
.tfiq-iconbox .wp-block-heading { font-family: var(--tfiq-font-semi); text-transform: uppercase; letter-spacing: .02em; font-weight: 600; }
.tfiq-iconbox.tfiq-ico::before { border-radius: 50%; }

/* post grids */
.tfiq-posts { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 32px 26px; margin: 24px 0 40px; }
.tfiq-posts--cols-2 { --cols: 2; } .tfiq-posts--cols-3 { --cols: 3; } .tfiq-posts--cols-4 { --cols: 4; } .tfiq-posts--cols-1 { --cols: 1; }
.tfiq-post-card { margin: 0; }
.tfiq-post-card__link { display: flex; flex-direction: column; height: 100%; color: var(--tfiq-ink); text-decoration: none; border: 1px solid #e6e6e6; background: #fff; transition: box-shadow .2s, transform .2s; }
.tfiq-post-card__link:hover { color: var(--tfiq-ink); box-shadow: 0 10px 24px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.tfiq-post-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--tfiq-grey); }
.tfiq-post-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tfiq-post-card__media--empty { background: linear-gradient(135deg, var(--tfiq-cyan), var(--tfiq-grey)); }
.tfiq-post-card__body { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 22px; flex: 1; }
.tfiq-post-card__tag { font-family: var(--tfiq-font-semi); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--tfiq-magenta); }
.tfiq-post-card__title { font-size: 20px; font-weight: 500; line-height: 1.25; }
.tfiq-post-card__excerpt { font-size: 15.5px; color: var(--tfiq-body); }
.tfiq-post-card__more { margin-top: auto; padding-top: 6px; font-family: var(--tfiq-font-semi); font-size: 16px; font-weight: 500; color: var(--tfiq-blue); }
.tfiq-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.tfiq-filter a { padding: 8px 18px; border: 1px solid var(--tfiq-ink); color: var(--tfiq-ink); text-decoration: none; font-family: var(--tfiq-font-semi); font-size: 17px; }
.tfiq-filter a[aria-current] { background: var(--tfiq-ink); color: #fff; }
.tfiq-pager, .nav-links { display: flex; gap: 8px; justify-content: center; margin: 10px 0 60px; }
.tfiq-pager a, .nav-links .page-numbers { min-width: 40px; padding: 8px 12px; text-align: center; border: 1px solid var(--tfiq-line); color: var(--tfiq-ink); text-decoration: none; }
.tfiq-pager a[aria-current], .nav-links .current { background: var(--tfiq-ink); color: #fff; border-color: var(--tfiq-ink); }
.tfiq-listing { padding-bottom: 30px; }
.tfiq-related { background: var(--tfiq-grey-3); padding: 50px 0 20px; }

/* article */
.tfiq-article .tfiq-content--article { --wp--style--global--content-size: 760px; }
.tfiq-content--article p, .tfiq-content--article li { font-size: 19px; line-height: 1.65; color: #2a2a2a; }
.tfiq-content--article h2 { margin-top: 1.6em; }
.tfiq-article__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 18px 0 0; font-size: 15px; color: var(--tfiq-muted); font-weight: 400; }
.tfiq-article__image { margin: 28px auto 36px; }
.tfiq-article__image img { width: 100%; height: auto; display: block; }
.tfiq-article__foot { padding-bottom: 50px; }
.tfiq-share { font-size: 15px; color: var(--tfiq-muted); display: flex; gap: 14px; align-items: center; border-top: 1px solid #eee; padding-top: 18px; }

/* new-page components (used by Signal iQ pages) */
.tfiq-keyfacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 18px; margin: 28px 0; }
.tfiq-keyfacts > .wp-block-group { background: #fff; border: 1px solid #e3e3e3; border-top: 3px solid var(--tfiq-blue); padding: 20px 22px; margin: 0; }
.tfiq-keyfacts .tfiq-keyfacts__big { font-size: 30px; font-weight: 500; line-height: 1.1; margin: 0 0 6px; color: var(--tfiq-ink); }
.tfiq-keyfacts p { font-size: 16px; margin: 0; }
.tfiq-steps { counter-reset: tfiqstep; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px; margin: 28px 0; }
.tfiq-steps > .wp-block-group { counter-increment: tfiqstep; position: relative; background: var(--tfiq-grey-3); padding: 58px 22px 22px; margin: 0; border: 1px solid #d6d6d6; }
.has-grey-3-background-color .tfiq-steps > .wp-block-group { background: #fff; }
.tfiq-steps > .wp-block-group::before { content: counter(tfiqstep, decimal-leading-zero); position: absolute; top: 18px; left: 24px; font-family: var(--tfiq-font-semi); font-weight: 600; font-size: 22px; color: var(--tfiq-blue); }
.tfiq-steps .wp-block-heading { font-size: 19px; }
.tfiq-steps p, .tfiq-steps li { font-size: 16px; }
.tfiq-callout { background: var(--tfiq-grey-3); border-left: 4px solid var(--tfiq-blue); padding: 22px 26px; margin: 28px 0; }
.tfiq-callout > :last-child { margin-bottom: 0; }
.tfiq-callout--magenta { border-left-color: var(--tfiq-magenta); }
.tfiq-cta, .tfiq-cta.has-dark-background-color { background: linear-gradient(100deg, var(--tfiq-blue-dark) 0%, var(--tfiq-blue) 100%) !important; color: #fff; padding: 56px 0; }
.tfiq-cta :is(h2, p) { color: #fff; }
.tfiq-cta h2 { font-weight: 300; font-size: clamp(26px, 2.8vw, 34px); }
.tfiq-split-list { columns: 2 280px; column-gap: 40px; }
.tfiq-split-list li { break-inside: avoid; }
.tfiq-content table, .tfiq-table table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 16px; }
.tfiq-content th, .tfiq-content td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid #e3e3e3; }
.tfiq-content thead th { background: var(--tfiq-grey); font-weight: 600; }
.wp-block-table { margin: 24px 0; overflow-x: auto; }
.tfiq-note { font-size: 15px; color: var(--tfiq-muted); }
.tfiq-sources { font-size: 15px; color: var(--tfiq-muted); }
.tfiq-sources a { color: var(--tfiq-muted); }

/* ---------------------------------------------------------------- forms */
.tfiq-form { margin: 0; }
.tfiq-form__title { font-size: 24px; }
.tfiq-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 22px; }
.tfiq-form__field { margin: 0 0 12px; display: flex; flex-direction: column; gap: 6px; }
.tfiq-form__field--wide { grid-column: 1 / -1; }
.tfiq-form label { font-size: 15px; font-weight: 500; color: var(--tfiq-ink); }
.tfiq-form input, .tfiq-form select, .tfiq-form textarea { width: 100%; font: 300 17px var(--tfiq-font); color: var(--tfiq-ink); background: #fff; border: 1px solid var(--tfiq-line); border-radius: 0; padding: 11px 13px; }
.tfiq-form input:focus, .tfiq-form select:focus, .tfiq-form textarea:focus { outline: 2px solid var(--tfiq-blue); outline-offset: 0; border-color: var(--tfiq-blue); }
.tfiq-form [aria-invalid="true"] { border-color: #c62828; }
.tfiq-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.tfiq-form__notice { font-size: 14px; color: var(--tfiq-muted); margin: 6px 0 14px; }
.tfiq-form__submit { display: inline-flex; align-items: center; gap: 12px; font: 300 20px var(--tfiq-font-semi); padding: 11px 22px; background: var(--tfiq-black); color: #fff; border: 1px solid var(--tfiq-black); cursor: pointer; }
.tfiq-form__submit::before { content: ""; width: 14px; height: 11px; background: currentColor; -webkit-mask: var(--tfiq-chev) center / contain no-repeat; mask: var(--tfiq-chev) center / contain no-repeat; }
.tfiq-form__submit:hover { background: var(--tfiq-blue); border-color: var(--tfiq-blue); }
.tfiq-form__submit[disabled] { opacity: .6; cursor: progress; }
.tfiq-form__status { margin: 12px 0 0; font-size: 16px; min-height: 1.4em; }
.tfiq-form__status.is-ok { color: #1b7f3b; font-weight: 500; }
.tfiq-form__status.is-error { color: #c62828; }
.tfiq-form.is-sent .tfiq-form__grid, .tfiq-form.is-sent .tfiq-form__notice, .tfiq-form.is-sent .tfiq-form__actions { opacity: .5; }

/* footer form: underlined fields on the dark band */
.tfiq-form--footer .tfiq-form__grid { grid-template-columns: 1fr; gap: 0; }
.tfiq-form--footer label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tfiq-form--footer input, .tfiq-form--footer select, .tfiq-form--footer textarea { background: transparent; color: #fff; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .55); padding: 10px 0; font: 200 20px var(--tfiq-font-semi); }
.tfiq-form--footer select { color: rgba(255, 255, 255, .85); }
.tfiq-form--footer select option { color: var(--tfiq-ink); }
.tfiq-form--footer ::placeholder { color: rgba(255, 255, 255, .85); opacity: 1; }
.tfiq-form--footer input:focus, .tfiq-form--footer select:focus, .tfiq-form--footer textarea:focus { outline: 0; border-bottom-color: #fff; }
.tfiq-form--footer .tfiq-form__notice { color: rgba(255, 255, 255, .7); }
.tfiq-form--footer .tfiq-form__notice a { color: #fff; }
.tfiq-form--footer .tfiq-form__submit { background: transparent; border: 0; padding: 10px 0; }
.tfiq-form--footer .tfiq-form__submit:hover { color: var(--tfiq-blue); }
.tfiq-form--footer .tfiq-form__status { color: #fff; }
.tfiq-form--footer .tfiq-form__status.is-error { color: #ffb4b4; }

/* ---------------------------------------------------------------- footer */
.tfiq-footer { background: var(--tfiq-dark); color: #fff; margin-top: 0; }
.tfiq-footer a { color: #fff; }
.tfiq-footer__cta { padding: 90px 0 70px; }
.tfiq-footer__cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.tfiq-footer__cta h2 { color: #fff; font-weight: 300; font-size: clamp(28px, 3vw, 36px); line-height: 1.2; }
.tfiq-footer__cta-copy p { color: #fff; font-weight: 300; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.25; }
.tfiq-footer__cta-copy .tfiq-footer__direct { font-size: 17px; color: rgba(255, 255, 255, .75); margin-top: 32px; }
.tfiq-footer__ack { padding: 10px 0 40px; }
.tfiq-footer__ack h2 { color: #fff; font-size: 22px; font-weight: 400; }
.tfiq-footer__ack p { color: rgba(255, 255, 255, .9); font-size: 18px; font-weight: 200; max-width: 900px; }
.tfiq-footer__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; padding-top: 40px; padding-bottom: 30px; border-top: 1px solid rgba(255, 255, 255, .18); }
.tfiq-footer__h { font-family: var(--tfiq-font-semi); font-size: 16px; font-weight: 600; color: #fff; margin: 0 0 12px; }
.tfiq-footer__links { list-style: none; margin: 0 0 18px; padding: 0; }
.tfiq-footer__links li { margin: 0 0 10px; }
.tfiq-footer__links a, .tfiq-footer__addr, .tfiq-footer__addr a { font-size: 15px; font-weight: 200; color: rgba(255, 255, 255, .85); text-decoration: none; line-height: 1.35; }
.tfiq-footer__links a:hover, .tfiq-footer__addr a:hover { color: #fff; text-decoration: underline; }
.tfiq-footer__addr { margin: 0 0 18px; }
.tfiq-footer__legal { display: flex; justify-content: space-between; gap: 20px; padding-top: 18px; padding-bottom: 26px; border-top: 1px solid rgba(255, 255, 255, .12); }
.tfiq-footer__legal p, .tfiq-footer__legal a { font-size: 13px; color: #b5b5b5; margin: 0; font-weight: 300; }
.tfiq-totop { text-decoration: none; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1000px) {
	.tfiq-carousel--feature { grid-auto-columns: 85%; }
	.tfiq-footer__cols { grid-template-columns: 1fr 1fr; }
	.tfiq-posts--cols-3, .tfiq-posts--cols-4 { --cols: 2; }
}
@media (max-width: 781px) {
	body { font-size: 17px; }
	.tfiq-content .wp-block-columns { gap: 28px; }
	.tfiq-hero.has-grey-background-color > .wp-block-columns > .wp-block-column:first-child { padding: 40px var(--tfiq-gutter); }
	.tfiq-hero.has-grey-background-color > .wp-block-columns > .wp-block-column:last-child .wp-block-image img { max-height: 260px; min-height: 200px; }
	.tfiq-footer__cta-grid { grid-template-columns: 1fr; gap: 24px; }
	.tfiq-footer__cta { padding: 60px 0 40px; }
	.tfiq-form__grid { grid-template-columns: 1fr; }
	.tfiq-services.is-enhanced { grid-template-columns: 1fr; }
	.tfiq-services.is-enhanced > .tfiq-card > :not(.wp-block-heading) { display: block; padding-left: 26px; }
	.tfiq-services__panel { display: none; }
	.tfiq-process { grid-template-columns: 1fr; }
	.tfiq-process::before { display: none; }
	.tfiq-process > .tfiq-card::after { display: none; }
	.tfiq-process { padding-top: 0; }
	.tfiq-video-bg { aspect-ratio: 16 / 10; }
	.tfiq-sec[style*="padding-top"] { padding-top: min(48px, 8vw) !important; }
	.tfiq-sec[style*="padding-bottom"] { padding-bottom: min(48px, 8vw) !important; }
	.tfiq-pagehead { padding: 40px 0 34px; margin-bottom: 32px; }
}
@media (max-width: 600px) {
	.tfiq-posts { --cols: 1 !important; }
	.tfiq-footer__cols { grid-template-columns: 1fr; }
	.tfiq-footer__legal { flex-direction: column; }
	.wp-block-details summary { font-size: 20px; }
	.tfiq-carousel--industry { grid-auto-columns: 62%; }
	.tfiq-carousel--feature > .tfiq-card { padding: 30px 24px; }
	.tfiq-carousel--feature > .tfiq-card p { font-size: 18px; line-height: 1.35; }
	.tfiq-ico::before { width: 56px; height: 56px; margin-bottom: 24px; background-size: 30px 30px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
@media print { .tfiq-header, .tfiq-footer__cta, .tfiq-footer__cols, .tfiq-related { display: none; } }

/* text-only hero (pages written for Signal iQ) */
.tfiq-hero.tfiq-hero--text.has-grey-background-color { padding: 64px var(--tfiq-gutter) !important; }
.tfiq-hero.tfiq-hero--text.has-grey-background-color > .wp-block-columns { gap: 48px; min-height: 0; align-items: center; max-width: var(--tfiq-max) !important; margin: 0 auto !important; }
.tfiq-hero.tfiq-hero--text.has-grey-background-color > .wp-block-columns > .wp-block-column:first-child { padding: 0; }
.tfiq-hero--text h1 { font-size: clamp(30px, 3vw, 42px); }
.tfiq-hero--text .tfiq-lead { color: var(--tfiq-body); font-size: 20px; margin-top: 18px; }
.tfiq-hero--text .tfiq-keyfacts { grid-template-columns: 1fr; gap: 12px; margin: 10px 0 0; }
.tfiq-hero--text .tfiq-keyfacts .tfiq-keyfacts__big { font-size: 26px; }
.wp-block-quote cite { display: block; margin-top: 10px; font-size: 15px; font-style: normal; color: var(--tfiq-muted); }
.wp-block-quote cite::before { content: "– "; }
.tfiq-callout .wp-block-buttons { margin-top: 16px; }
.tfiq-sec .tfiq-iconbox { height: 100%; background: #fff; border: 1px solid #d3d3d3; padding: 24px; }
.has-grey-3-background-color .tfiq-iconbox { border-color: #d0d0d0; }
.tfiq-sec .tfiq-iconbox ul { font-size: 16px; padding-left: 1.1em; }
.tfiq-cta .wp-block-buttons { margin-top: 18px; }

/* Our Services: let the list and its detail panel use the full row */
.wp-block-columns:has(.tfiq-services.is-enhanced) { flex-wrap: wrap !important; }
.wp-block-columns:has(.tfiq-services.is-enhanced) > .wp-block-column:has(.tfiq-services) { flex: 1 1 100% !important; }
.wp-block-columns:has(.tfiq-services.is-enhanced) > .wp-block-column:not(:has(.tfiq-services)):not(:has(img, p, h2, h3)) { display: none; }
.tfiq-services.is-enhanced { grid-template-columns: minmax(260px, 34%) 1fr; }
.tfiq-services__panel { padding: 6px 0 0; }
.tfiq-services__panel > * { max-width: 620px; }
.wp-block-columns:has(.tfiq-posts) { flex-wrap: wrap !important; }
.wp-block-columns:has(.tfiq-posts) > .wp-block-column { flex-basis: 100% !important; }
.tfiq-carousel-wrap { container-type: inline-size; }
@container (min-width: 900px) { .tfiq-carousel--industry { grid-auto-columns: calc((100% - 45px) / 4); } }

/* ================================================================ round 3 */
/* Mega menu: a wrapped item stays tight, items are spaced apart. */
.tfiq-mega__link { line-height: 1.3; padding: 5px 0; }
.tfiq-mega__head { margin-bottom: 10px; }

/* Bullets match the brand (magenta), site-wide. */
.tfiq-content ul.wp-block-list:not(.tfiq-iconlist):not(.is-style-tfiq-check) > li::marker { color: var(--tfiq-magenta); }

/* Space after a hero before the next section. */
.tfiq-hero + .tfiq-sec:not([style*="padding-top"]) { padding-top: 56px; }

/* A tall side image in a two-column row matches the row height instead of stretching the section. */
.tfiq-content .wp-block-columns:has(> .wp-block-column > figure.is-resized:only-child) { align-items: stretch; }
.tfiq-content .wp-block-column:has(> figure.is-resized:only-child) { display: flex; }
.tfiq-content .wp-block-column > figure.is-resized:only-child { flex: 1; margin: 0; display: flex; }
.tfiq-content .wp-block-column > figure.is-resized:only-child img { height: 100% !important; min-height: 300px; max-height: 520px; }
.tfiq-content .wp-block-column > figure.is-resized.tfiq-img-end:only-child { justify-content: flex-end; }

/* A blue rule used as a separator between blocks gets room on both sides. */
.tfiq-sec > * + .is-style-tfiq-rule, .tfiq-sec > * + hr.is-style-tfiq-rule { margin-top: 48px !important; margin-bottom: 52px !important; }

/* Two columns where only one starts with a blue rule: line the headings up. */
.wp-block-columns:has(> .wp-block-column > .is-style-tfiq-rule:first-child) > .wp-block-column > .wp-block-spacer:first-child { height: 24px !important; margin: 0 !important; }
.wp-block-columns:has(> .wp-block-column > .is-style-tfiq-rule:first-child) > .wp-block-column > .wp-block-spacer:first-child + * { margin-top: 0 !important; }

/* Solutions as you need them: section heading, intro and supporting text. */
.wp-block-group[id] > .wp-block-columns > .wp-block-column:first-child > .tfiq-imagebox > .wp-block-heading { font-size: 25px; font-weight: 600; margin: 0 0 12px; }
.wp-block-group[id] > .wp-block-columns > .wp-block-column:first-child > .tfiq-imagebox > p { font-size: 18px; font-weight: 500; line-height: 1.45; color: var(--tfiq-ink); }
.wp-block-group[id] > .wp-block-columns > .wp-block-column:first-child > p { font-size: 17px; line-height: 1.5 !important; color: var(--tfiq-body); }
.wp-block-group[id] > .wp-block-columns > .wp-block-column > .wp-block-spacer + .tfiq-imagebox { margin-top: 0; }
.wp-block-group[id] > .wp-block-columns > .wp-block-column > .tfiq-imagebox:not(:has(.tfiq-box-icon)) .wp-block-heading { font-family: var(--tfiq-font-semi); font-size: 17px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--tfiq-body); margin: 6px 0 12px; }
.wp-block-group[id] > .wp-block-columns > .wp-block-column > :is(p, ul) { font-size: 17px; }
.wp-block-group[id] > .wp-block-columns > .wp-block-column > ul { line-height: 1.45 !important; padding-left: 1.1em; }
.wp-block-group[id] > .wp-block-columns > .wp-block-column > ul li { margin-bottom: 8px; }

/* Solution icons: one per need, the same on every page (Font Awesome Free, CC BY 4.0). */
.tfiq-imagebox > .tfiq-box-icon { margin: 0 0 14px; }
:is(#aiadoption, #awareness, #changemanage, #compliance, #dataliteracy, #datasecurity, #digitaltrans, #informationman, #privacyact, .wp-block-column:has(> .tfiq-more a[href*="solutions-as-you-need/#"])) .tfiq-box-icon { width: 56px; height: 56px; background: var(--tfiq-cyan) var(--tfiq-need) center / 28px 28px no-repeat; }
:is(#aiadoption, #awareness, #changemanage, #compliance, #dataliteracy, #datasecurity, #digitaltrans, #informationman, #privacyact, .wp-block-column:has(> .tfiq-more a[href*="solutions-as-you-need/#"])) .tfiq-box-icon img { display: none; }

:is(#aiadoption, .wp-block-column:has(> .tfiq-more a[href$="#aiadoption"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23202020' d='M184 0c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56c-28.9 0-52.7-21.9-55.7-50.1c-5.2 1.4-10.7 2.1-16.3 2.1c-35.3 0-64-28.7-64-64c0-7.4 1.3-14.6 3.6-21.2C21.4 367.4 0 338.2 0 304c0-31.9 18.7-59.5 45.8-72.3C37.1 220.8 32 207 32 192c0-30.7 21.6-56.3 50.4-62.6C80.8 123.9 80 118 80 112c0-29.9 20.6-55.1 48.3-62.1C131.3 21.9 155.1 0 184 0zM328 0c28.9 0 52.6 21.9 55.7 49.9c27.8 7 48.3 32.1 48.3 62.1c0 6-.8 11.9-2.4 17.4c28.8 6.2 50.4 31.9 50.4 62.6c0 15-5.1 28.8-13.8 39.7C493.3 244.5 512 272.1 512 304c0 34.2-21.4 63.4-51.6 74.8c2.3 6.6 3.6 13.8 3.6 21.2c0 35.3-28.7 64-64 64c-5.6 0-11.1-.7-16.3-2.1c-3 28.2-26.8 50.1-55.7 50.1c-30.9 0-56-25.1-56-56V56c0-30.9 25.1-56 56-56z'/%3E%3C/svg%3E"); }
:is(#awareness, .wp-block-column:has(> .tfiq-more a[href$="#awareness"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23202020' d='M320 32c-8.1 0-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6l57.9 20.9C57.3 229.3 48 259.8 48 291.9v28.1c0 28.4-10.8 57.7-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7C90.3 344.3 86 329.8 80 316.5V291.9c0-30.2 10.2-58.7 27.9-81.5c12.9-15.5 29.6-28 49.2-35.7l157-61.7c8.2-3.2 17.5 .8 20.7 9s-.8 17.5-9 20.7l-157 61.7c-12.4 4.9-23.3 12.4-32.2 21.6l159.6 57.6c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32zM128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6 354.5 314c-11.1 4-22.8 6-34.5 6s-23.5-2-34.5-6L143.3 262.6 128 408z'/%3E%3C/svg%3E"); }
:is(#changemanage, .wp-block-column:has(> .tfiq-more a[href$="#changemanage"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23202020' d='M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H352c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32v35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V432c0 17.7 14.3 32 32 32s32-14.3 32-32V396.9l17.6 17.5 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z'/%3E%3C/svg%3E"); }
:is(#compliance, .wp-block-column:has(> .tfiq-more a[href$="#compliance"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23202020' d='M192 0c-41.8 0-77.4 26.7-90.5 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H282.5C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E"); }
:is(#dataliteracy, .wp-block-column:has(> .tfiq-more a[href$="#dataliteracy"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23202020' d='M160 96a96 96 0 1 1 192 0A96 96 0 1 1 160 96zm80 152V512l-48.4-24.2c-20.9-10.4-43.5-17-66.8-19.3l-96-9.6C12.5 457.2 0 443.5 0 427V224c0-17.7 14.3-32 32-32H62.3c63.6 0 125.6 19.6 177.7 56zm32 264V248c52.1-36.4 114.1-56 177.7-56H480c17.7 0 32 14.3 32 32V427c0 16.4-12.5 30.2-28.8 31.8l-96 9.6c-23.2 2.3-45.9 8.9-66.8 19.3L272 512z'/%3E%3C/svg%3E"); }
:is(#datasecurity, .wp-block-column:has(> .tfiq-more a[href$="#datasecurity"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23202020' d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z'/%3E%3C/svg%3E"); }
:is(#digitaltrans, .wp-block-column:has(> .tfiq-more a[href$="#digitaltrans"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23202020' d='M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z'/%3E%3C/svg%3E"); }
:is(#informationman, .wp-block-column:has(> .tfiq-more a[href$="#informationman"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23202020' d='M64 32C64 14.3 49.7 0 32 0S0 14.3 0 32v96V384c0 35.3 28.7 64 64 64H256V384H64V160H256V96H64V32zM288 192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4L409.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192zm0 288c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H445.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V480z'/%3E%3C/svg%3E"); }
:is(#privacyact, .wp-block-column:has(> .tfiq-more a[href$="#privacyact"])) { --tfiq-need: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23202020' d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c1.8 0 3.5-.2 5.3-.5c-76.3-55.1-99.8-141-103.1-200.2c-16.1-4.8-33.1-7.3-50.7-7.3H178.3zm308.8-78.3l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L591.4 312z'/%3E%3C/svg%3E"); }
.tfiq-ico-user-check::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23202020' d='M96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM625 177L497 305c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L591 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E"); }
.tfiq-ico-headset::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23202020' d='M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z'/%3E%3C/svg%3E"); }
.tfiq-ico-handshake::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='%23202020' d='M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V128H16zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z'/%3E%3C/svg%3E"); }
.tfiq-ico-rocket::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23202020' d='M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z'/%3E%3C/svg%3E"); }

/* Contact page: photo down the left of a grey panel, form on the right. */
.tfiq-contact__panel { gap: 0 !important; background: var(--tfiq-grey); align-items: stretch; }
.tfiq-contact__photo { display: flex; }
.tfiq-contact__photo .wp-block-image { margin: 0; flex: 1; display: flex; }
.tfiq-contact__photo img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; object-position: center 72%; }
.tfiq-contact__body { padding: 52px 56px 48px; }
.tfiq-contact__body h1 { font-size: clamp(28px, 2.6vw, 34px); font-weight: 500; margin: 0 0 12px; }
.tfiq-contact__lead { font-family: var(--tfiq-font-semi); font-size: clamp(19px, 1.9vw, 23px); font-weight: 300; line-height: 1.35; margin: 0 0 10px !important; }
.tfiq-contact__direct { font-size: 16px; color: var(--tfiq-body); margin: 0 0 26px !important; }
.tfiq-contact .tfiq-form input, .tfiq-contact .tfiq-form select, .tfiq-contact .tfiq-form textarea { background: transparent; border: 0; border-bottom: 1px solid #9a9a9a; padding: 10px 0; font: 300 19px var(--tfiq-font-semi); }
.tfiq-contact .tfiq-form input:focus, .tfiq-contact .tfiq-form select:focus, .tfiq-contact .tfiq-form textarea:focus { outline: 0; border-bottom-color: var(--tfiq-ink); }
.tfiq-contact .tfiq-form label { font-size: 14px; color: var(--tfiq-body); }
@media (max-width: 781px) {
	.tfiq-contact__photo img { min-height: 0; max-height: 320px; }
	.tfiq-contact__body { padding: 32px 22px; }
}


/* Insights page */
.tfiq-ins-hero { background: var(--tfiq-grey); padding: 28px 0 64px; }
.tfiq-ins-hero .tfiq-crumbs { margin: 0 0 22px; }
.tfiq-ins-hero__title { font-size: clamp(24px, 2.5vw, 30px); font-weight: 500; margin: 0 0 26px; }
.tfiq-ins-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
.tfiq-ins-hero__copy h2 { font-size: clamp(24px, 2.4vw, 32px); font-weight: 500; line-height: 1.2; margin: 0 0 16px; }
.tfiq-ins-hero__copy h2 a { color: var(--tfiq-ink); text-decoration: none; }
.tfiq-ins-hero__copy h2 a:hover { color: var(--tfiq-blue); }
.tfiq-ins-hero__copy p { color: var(--tfiq-body); font-size: 18px; }
.tfiq-ins-hero__media { display: block; line-height: 0; }
.tfiq-ins-hero__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.tfiq-ins-sec { padding: 64px 0 24px; }
.tfiq-ins-sec--grey { background: var(--tfiq-grey-3); padding-bottom: 40px; }
.tfiq-ins-sec h2 { font-size: clamp(22px, 2.3vw, 28px); font-weight: 500; margin: 0 0 6px; }
.tfiq-ins-block { margin: 26px 0 30px; }
.tfiq-ins-block__intro { color: var(--tfiq-body); margin: 0; }
.tfiq-ins-sec .tfiq-posts { margin-top: 20px; }
.tfiq-ins-sec .tfiq-pager { justify-content: flex-start; margin: 0 0 20px; }
/* Insights: filter pills at the top; case studies first */
.tfiq-ins-top { padding: 36px 0 6px; }
.tfiq-ins-top .tfiq-crumbs { margin: 0 0 20px; }
.tfiq-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.tfiq-pill { display: inline-block; padding: 9px 20px; border: 1px solid var(--tfiq-line); border-radius: 999px; background: #fff; color: var(--tfiq-ink); font-family: var(--tfiq-font-semi); font-size: 17px; line-height: 1.2; text-decoration: none; transition: border-color .15s, color .15s, background-color .15s; }
.tfiq-pill:hover { border-color: var(--tfiq-magenta); color: var(--tfiq-magenta); }
.tfiq-pill[aria-current="true"] { background: var(--tfiq-magenta); border-color: var(--tfiq-magenta); color: #fff; }
.tfiq-pill:focus-visible { outline: 2px solid var(--tfiq-blue); outline-offset: 2px; }
.tfiq-ins-sec--first { padding-top: 34px; }
[data-ins][hidden] { display: none !important; }
@media (max-width: 781px) { .tfiq-ins-hero__grid { grid-template-columns: 1fr; gap: 24px; } .tfiq-ins-hero__media { order: -1; } }

/* Home: the logo on a grey panel, crisp at any size. */
.tfiq-logo-panel { display: flex; align-items: center; justify-content: center; aspect-ratio: 550 / 297; padding: 32px; margin: 0; }
.tfiq-logo-panel .tfiq-logo-panel__logo { margin: 0; width: 100%; display: flex; justify-content: center; }
.tfiq-logo-panel .tfiq-logo-panel__logo img { width: min(300px, 52%); height: auto; }
/* Until the page is refreshed: draw the same panel over the old blurry JPEG. */
.wp-block-image:has(img[src*="/Frame-2"]) { position: relative; background: var(--tfiq-grey) url("/wp-content/uploads/2024/04/transformlogiclogo.svg") center / min(300px, 52%) auto no-repeat; }
.wp-block-image:has(img[src*="/Frame-2"]) img { opacity: 0; }
