/*
Theme Name: Insequa
Theme URI: https://insequa.co.uk/
Author: Insequa Ltd
Description: A lean, native WordPress block theme for Insequa Ltd.
Version: 0.1.1
Requires at least: 6.7
Requires PHP: 8.0
Text Domain: insequa
*/

/* Montserrat is licensed under the SIL Open Font License 1.1. */
@font-face {
	font-display: swap;
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 100 900;
	src: url("assets/fonts/montserrat-latin-variable.woff2") format("woff2");
}

/* Instrument Serif is licensed under the SIL Open Font License 1.1 and is
   scoped to the reusable AI product component subsystem. */
@font-face {
	font-display: swap;
	font-family: "Instrument Serif";
	font-style: normal;
	font-weight: 400;
	src: url("assets/fonts/instrument-serif-latin-regular.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Instrument Serif";
	font-style: italic;
	font-weight: 400;
	src: url("assets/fonts/instrument-serif-latin-italic.woff2") format("woff2");
}

:root {
	--isq-colour-purple: #7A2A90;
	--isq-colour-purple-gradient: #9943DB;
	--isq-colour-purple-hover: #611F75;
	--isq-colour-yellow: #F5CA41;
	--isq-colour-purple-pale: #BA9CCB;
	--isq-colour-grey-light: #F2F2F2;
	--isq-colour-white: #FFFFFF;
	--isq-colour-ink: #3D3D46;
	--isq-colour-ink-strong: #121212;
	--isq-colour-border: #EBEBF0;
	--isq-colour-danger: #B42318;
	--isq-colour-warning: #B54708;
	--isq-colour-success: #237A3A;

	--isq-font-family: "Montserrat", Arial, sans-serif;
	--isq-font-weight-regular: 400;
	--isq-font-weight-medium: 500;
	--isq-font-weight-bold: 700;
	--isq-font-weight-extra-bold: 800;

	--isq-font-size-small: 0.875rem;
	--isq-font-size-body: clamp(1rem, 0.98rem + 0.12vw, 1.0625rem);
	--isq-font-size-h3: clamp(1.25rem, 1.15rem + 0.4vw, 1.5rem);
	--isq-font-size-h2: clamp(1.75rem, 1.5rem + 0.8vw, 2.25rem);
	--isq-font-size-h1: clamp(2.125rem, 1.7rem + 1.25vw, 2.875rem);

	--isq-line-height-tight: 1.15;
	--isq-line-height-heading: 1.25;
	--isq-line-height-body: 1.6;

	--isq-space-1: 0.25rem;
	--isq-space-2: 0.5rem;
	--isq-space-3: 0.75rem;
	--isq-space-4: 1rem;
	--isq-space-5: 1.5rem;
	--isq-space-6: 2rem;
	--isq-space-7: 3rem;
	--isq-space-8: 3.75rem;

	--isq-layout-max: 1320px;
	--isq-layout-gutter: clamp(1rem, 4vw, 2rem);
	--isq-widget-gap: 20px;
	--isq-radius-button: 8px;
	--isq-radius-card: 14px;
	--isq-shadow-card: 0 2px 10px rgb(38 17 46 / 5%);
	--isq-shadow-card-hover: 0 14px 30px rgb(38 17 46 / 12%);
}

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

html {
	scroll-behavior: smooth;
}

body {
	background: var(--isq-colour-white);
	color: var(--isq-colour-ink);
	font-family: var(--isq-font-family);
	font-size: var(--isq-font-size-body);
	font-weight: var(--isq-font-weight-regular);
	line-height: var(--isq-line-height-body);
	margin: 0;
}

body.admin-bar {
	min-height: calc(100vh - 32px);
}

button,
input,
select,
textarea {
	font: inherit;
}

img,
picture,
svg,
video {
	display: block;
	height: auto;
	max-width: 100%;
}

iframe {
	border: 0;
	max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--isq-colour-ink-strong);
	font-weight: var(--isq-font-weight-bold);
	line-height: var(--isq-line-height-heading);
	margin-block: 0 0.6em;
}

h1 {
	font-size: var(--isq-font-size-h1);
	line-height: var(--isq-line-height-tight);
}

h2 {
	font-size: var(--isq-font-size-h2);
}

h3 {
	font-size: var(--isq-font-size-h3);
}

p,
ul,
ol,
blockquote,
figure {
	margin-block: 0 1.25em;
}

a {
	color: var(--isq-colour-purple);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

a:hover {
	color: var(--isq-colour-purple-hover);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--isq-colour-yellow);
	outline-offset: 3px;
}

::selection {
	background: var(--isq-colour-yellow);
	color: var(--isq-colour-ink-strong);
}

.isq-site,
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.isq-container {
	margin-inline: auto;
	max-width: calc(var(--isq-layout-max) + (2 * var(--isq-layout-gutter)));
	padding-inline: var(--isq-layout-gutter);
	width: 100%;
}

.isq-main {
	flex: 1;
	padding-block: var(--isq-space-8);
}

.isq-stack {
	display: flex;
	flex-direction: column;
	gap: var(--isq-space-5);
}

.isq-stack--large {
	gap: var(--isq-space-6);
}

/* Inside a stack, the gap is the single source of rhythm. */
:root .isq-stack > * {
	margin-block: 0;
}

/*
 * Gutenberg's Flow layout deliberately gives adjacent blocks a default gap.
 * Insequa components own their rhythm with grid/flex gaps and section
 * padding, so neutralise that default only at those component boundaries.
 * Ordinary editor prose keeps WordPress's normal block spacing.
 */
:root .wp-site-blocks > :is(.wp-block-template-part, .isq-main),
:root .isq-main--flush > .wp-block-post-content > :is(
	.isq-hero,
	.isq-trust-bar,
	.isq-section,
	.isq-product-hero,
	.isq-product-proof,
	.isq-product-section,
	.isq-product-trust,
	.isq-product-cta
),
:root :is(
	.isq-grid,
	.isq-split,
	.isq-hero__inner--media,
	.isq-trust-bar__grid,
	.isq-cta-band,
	.isq-contact-layout,
	.isq-form-layout,
	.isq-footer-grid,
	.isq-cluster,
	.isq-product-hero__inner,
	.isq-product-actions,
	.isq-product-proof__grid,
	.isq-product-proof__item,
	.isq-product-editorial,
	.isq-product-output,
	.isq-product-value,
	.isq-product-benefits,
	.isq-product-trust__grid,
	.isq-product-cta__inner
) > * {
	margin-block: 0;
}

.isq-cluster {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--isq-widget-gap);
}

.isq-grid {
	display: grid;
	gap: var(--isq-widget-gap);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
}

/*
 * WordPress's flow-layout support adds a top margin to every sibling after
 * the first. Grid gaps own that spacing here, so reset the injected margin to
 * keep comparison rows aligned in both the editor and the front end.
 */
.isq-grid > *,
.isq-team-grid > * {
	margin-block-start: 0;
}

.isq-prose {
	max-width: 48rem;
}

.isq-prose > *:last-child,
.isq-card > *:last-child {
	margin-bottom: 0;
}

:is(
	a.isq-button,
	button.isq-button,
	.wp-block-button.isq-button > .wp-block-button__link
),
button,
input[type="button"],
input[type="submit"] {
	align-items: center;
	background: var(--isq-colour-purple);
	border: 0;
	border-radius: var(--isq-radius-button);
	color: var(--isq-colour-white);
	cursor: pointer;
	display: inline-flex;
	font-size: 0.8125rem;
	font-weight: var(--isq-font-weight-bold);
	justify-content: center;
	letter-spacing: 0.06em;
	min-height: 3.125rem;
	padding: 0.75rem 1.125rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 180ms ease, transform 180ms ease;
}

:is(
	a.isq-button,
	button.isq-button,
	.wp-block-button.isq-button > .wp-block-button__link
):hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
	background: var(--isq-colour-purple-hover);
	color: var(--isq-colour-white);
	transform: translateY(-1px);
}

.isq-card {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	display: flex;
	flex-direction: column;
	padding: clamp(1.375rem, 2vw, 1.875rem);
	transition: box-shadow 250ms ease, transform 250ms ease;
}

.isq-card:hover {
	box-shadow: var(--isq-shadow-card-hover);
	transform: translateY(-4px);
}

.isq-card--iconic {
	border-top: 4px solid var(--isq-colour-purple);
}

.isq-card--yellow {
	border-top-color: var(--isq-colour-yellow);
}

.isq-card--pale {
	border-top-color: var(--isq-colour-purple-pale);
}

.isq-card__icon {
	align-items: center;
	background: var(--isq-colour-purple-pale);
	border-radius: 50%;
	color: var(--isq-colour-purple);
	display: flex;
	height: 3.25rem;
	justify-content: center;
	margin-bottom: var(--isq-space-5);
	width: 3.25rem;
}

.isq-card--yellow .isq-card__icon {
	background: var(--isq-colour-yellow);
}

.isq-card--pale .isq-card__icon {
	background: var(--isq-colour-grey-light);
}

.isq-card__icon svg {
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 1.75rem;
}

.isq-eyebrow {
	color: var(--isq-colour-purple);
	font-size: 0.75rem;
	font-weight: var(--isq-font-weight-bold);
	letter-spacing: 0.1em;
	margin-bottom: var(--isq-space-2);
	text-transform: uppercase;
}

.isq-site-header,
.isq-site-footer {
	background: var(--isq-colour-white);
	padding-block: var(--isq-space-5);
}

.isq-site-header {
	border-bottom: 1px solid var(--isq-colour-border);
}

.isq-site-header__inner {
	align-items: center;
	display: flex;
	min-height: 4.5rem;
}

.isq-site-title {
	font-size: 1.25rem;
	font-weight: var(--isq-font-weight-bold);
	text-decoration: none;
}

.custom-logo {
	width: min(11.25rem, 45vw);
}

.isq-site-footer {
	background: var(--isq-colour-grey-light);
	margin-top: auto;
}

.isq-not-found {
	align-items: flex-start;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	left: var(--isq-space-4);
	padding: var(--isq-space-4);
	top: var(--isq-space-4);
	width: auto;
	z-index: 100000;
}

@media (max-width: 43.6875rem) {
	:root {
		--isq-layout-gutter: 1rem;
		--isq-space-8: 2.75rem;
	}

	body.admin-bar {
		min-height: calc(100vh - 46px);
	}

	.custom-logo {
		width: min(8.75rem, 50vw);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0ms !important;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.isq-split--feature .isq-split__mark,
	.isq-cta-band__illustration {
		animation: isq-gentle-float 5s ease-in-out infinite;
	}

	.isq-split--audience .isq-split__mark {
		animation-delay: -1.5s;
	}
}

@keyframes isq-gentle-float {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-0.35rem);
	}
}

/* Phase 3 shared composition and components. */
.isq-main--flush {
	padding-block: 0;
}

.isq-section {
	padding-block: var(--isq-space-8);
}

.isq-section--compact {
	padding-block: var(--isq-space-6);
}

.isq-section--grey {
	background: var(--isq-colour-grey-light);
}

.isq-section--purple {
	background: linear-gradient(135deg, var(--isq-colour-purple), var(--isq-colour-purple-gradient));
	color: var(--isq-colour-white);
}

.isq-section--purple :where(h2, h3, p, li, blockquote),
.isq-site-footer :where(h2, h3, p, li, small) {
	color: var(--isq-colour-white);
}

.isq-section--purple :where(.isq-card, .isq-live-reviews, .isq-review-fallback) {
	color: var(--isq-colour-ink);
}

.isq-section--purple :where(.isq-card, .isq-live-reviews, .isq-review-fallback) :where(h2, h3, p, li, blockquote) {
	color: var(--isq-colour-ink);
}

.isq-section--purple :where(.isq-card, .isq-live-reviews, .isq-review-fallback) :where(h2, h3) {
	color: var(--isq-colour-ink-strong);
}

.isq-section--yellow {
	background: var(--isq-colour-yellow);
}

.isq-section-heading {
	max-width: 56rem;
}

.isq-section-heading > *:last-child {
	margin-bottom: 0;
}

.isq-eyebrow--light {
	color: var(--isq-colour-yellow) !important;
}

.isq-split,
.isq-contact-layout {
	align-items: start;
	display: grid;
	gap: var(--isq-space-6);
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.isq-split--feature {
	align-items: center;
}

.isq-split__intro {
	max-width: 31rem;
}

.isq-split__mark {
	align-items: center;
	background: rgb(122 42 144 / 10%);
	border-radius: 50%;
	color: var(--isq-colour-purple);
	display: inline-flex;
	height: 5rem;
	justify-content: center;
	margin-bottom: var(--isq-space-5);
	width: 5rem;
}

.isq-split__mark svg {
	fill: none;
	height: 3rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.5;
	width: 3rem;
}

.isq-split--audience .isq-split__mark {
	background: rgb(245 202 65 / 36%);
}

.isq-split--feature .isq-prose {
	border: 1px solid var(--isq-colour-border);
	border-left: 4px solid var(--isq-colour-purple);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	padding: var(--isq-space-6);
}

.isq-split--strategy .isq-prose {
	background: var(--isq-colour-white);
}

.isq-split--audience .isq-prose {
	background: var(--isq-colour-grey-light);
	border-left-color: var(--isq-colour-yellow);
}

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

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

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

.isq-align-start {
	align-self: flex-start;
}

.isq-text-link {
	font-size: var(--isq-font-size-small);
	font-weight: var(--isq-font-weight-bold);
	margin-top: auto;
	text-transform: uppercase;
}

:is(
	a.isq-button--secondary,
	button.isq-button--secondary,
	.wp-block-button.isq-button--secondary > .wp-block-button__link
) {
	background: transparent;
	border: 2px solid var(--isq-colour-purple);
	color: var(--isq-colour-purple);
}

:is(
	a.isq-button--secondary,
	button.isq-button--secondary,
	.wp-block-button.isq-button--secondary > .wp-block-button__link
):hover {
	background: var(--isq-colour-purple);
}

:is(
	a.isq-button--yellow,
	button.isq-button--yellow,
	.wp-block-button.isq-button--yellow > .wp-block-button__link
) {
	background: var(--isq-colour-yellow);
	color: var(--isq-colour-ink-strong);
}

:is(
	a.isq-button--yellow,
	button.isq-button--yellow,
	.wp-block-button.isq-button--yellow > .wp-block-button__link
):hover {
	background: var(--isq-colour-white);
	color: var(--isq-colour-purple);
}

.isq-card ul {
	padding-left: var(--isq-space-5);
}

.isq-card li + li {
	margin-top: var(--isq-space-3);
}

.isq-card__number {
	color: var(--isq-colour-purple);
	font-size: var(--isq-font-size-h2);
	font-weight: var(--isq-font-weight-extra-bold);
	line-height: 1;
}

.isq-card--capability {
	border-left: 4px solid var(--isq-colour-purple);
}

.isq-card--capability:nth-child(even) {
	border-left-color: var(--isq-colour-yellow);
}

.isq-card--capability .isq-card__number {
	color: var(--isq-colour-purple-pale);
	font-size: var(--isq-font-size-h1);
	margin-bottom: var(--isq-space-3);
}

.isq-pillar__icon {
	align-items: center;
	background: var(--isq-colour-grey-light);
	border-radius: 50%;
	color: var(--isq-colour-purple);
	display: flex;
	height: 4rem;
	justify-content: center;
	margin-bottom: var(--isq-space-5);
	transition: background-color 250ms ease;
	width: 4rem;
}

.isq-pillar__icon svg {
	height: 2rem;
	width: 2rem;
}

.isq-pillar:hover .isq-pillar__icon {
	background: var(--isq-colour-yellow);
}

.isq-pillar__eyebrow {
	color: var(--isq-colour-ink);
	font-size: 0.75rem;
	font-weight: var(--isq-font-weight-bold);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.isq-pillar h3 {
	color: var(--isq-colour-purple);
	font-size: clamp(1.25rem, 1.1rem + 0.35vw, 1.375rem);
}

.isq-section--pillars {
	background: var(--isq-colour-grey-light);
	padding-block: var(--isq-space-5);
}

.isq-pillar {
	background: linear-gradient(145deg, var(--isq-colour-white), var(--isq-colour-grey-light));
	border: 0;
	border-top: 4px solid var(--isq-colour-purple);
	box-shadow: var(--isq-shadow-card);
}

.isq-pillar--ai {
	border-top-color: var(--isq-colour-yellow);
}

.isq-pillar--bid {
	border-top-color: var(--isq-colour-purple-pale);
}

.isq-pillar--growth .isq-pillar__icon {
	background: var(--isq-colour-purple);
	color: var(--isq-colour-white);
}

.isq-pillar--ai .isq-pillar__icon {
	background: var(--isq-colour-yellow);
	color: var(--isq-colour-purple);
}

.isq-pillar--bid .isq-pillar__icon {
	background: var(--isq-colour-purple-pale);
	color: var(--isq-colour-purple);
}

.isq-pillar > .wp-block-buttons {
	margin-top: auto;
	width: 100%;
}

.isq-pillar > p:last-of-type {
	margin-bottom: var(--isq-space-5);
}

.isq-pillar > .wp-block-buttons :is(.wp-block-button, .wp-block-button__link),
.isq-pillar > :is(a.isq-button, button.isq-button) {
	width: 100%;
}

/* Header and navigation. */
.isq-site-header {
	padding-block: 0;
	position: relative;
	z-index: 20;
}

.isq-site-header__inner {
	gap: var(--isq-space-5);
	justify-content: space-between;
	min-height: 4.5rem;
}

.isq-site-header__brand {
	flex: 0 0 auto;
}

.isq-site-header__brand .custom-logo-link {
	display: block;
}

.isq-primary-nav {
	align-self: stretch;
	display: flex;
	margin-left: auto;
}

.isq-primary-nav ul {
	align-items: center;
	display: flex;
	gap: var(--isq-space-3);
	height: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

.isq-primary-nav > ul > li {
	align-items: center;
	display: flex;
	height: 100%;
}

.isq-primary-nav a {
	color: var(--isq-colour-ink-strong);
	font-size: 0.9375rem;
	font-weight: var(--isq-font-weight-bold);
	text-decoration: none;
}

.isq-primary-nav > ul > li > a,
.isq-nav-item__link-group > a {
	align-items: center;
	display: flex;
	min-height: 2.75rem;
}

.isq-primary-nav a:hover {
	color: var(--isq-colour-purple);
}

.isq-primary-nav a[aria-current="page"] {
	color: var(--isq-colour-purple);
	text-decoration: underline;
	text-decoration-color: var(--isq-colour-yellow);
	text-decoration-thickness: 0.2em;
	text-underline-offset: 0.35em;
}

.isq-nav-item--mega {
	align-items: center;
	display: flex;
	position: static;
}

.isq-nav-item__link-group {
	align-items: center;
	display: flex;
	height: 100%;
}

.isq-nav-mega-toggle {
	background: transparent;
	border: 0;
	block-size: 2.75rem;
	box-sizing: border-box;
	color: var(--isq-colour-ink-strong);
	display: inline-flex;
	flex: 0 0 2.75rem;
	font-size: 1rem;
	font-weight: var(--isq-font-weight-regular);
	inline-size: 2.75rem;
	justify-content: center;
	letter-spacing: 0;
	line-height: 1;
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding: 0;
	text-transform: none;
	transition: color 180ms ease, transform 180ms ease;
}

.isq-nav-mega-toggle:hover,
.isq-nav-item--mega:focus-within .isq-nav-mega-toggle {
	background: transparent;
	color: var(--isq-colour-purple);
	transform: none;
}

.isq-nav-item--mega.is-open .isq-nav-mega-toggle span[aria-hidden="true"] {
	display: inline-block;
	transform: rotate(180deg);
}

.isq-mega-menu {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	box-shadow: var(--isq-shadow-card-hover);
	left: 50%;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 100%;
	transform: translate(-50%, -0.5rem);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
	visibility: hidden;
	width: min(calc(100vw - 2rem), 74rem);
	z-index: 30;
}

html:not(.has-js) .isq-nav-item--mega:hover .isq-mega-menu,
.isq-nav-item--mega.is-open .isq-mega-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
	visibility: visible;
}

.isq-mega-menu__inner {
	display: grid;
	gap: var(--isq-space-4);
	grid-template-columns: minmax(0, 1.7fr) minmax(17rem, 0.8fr);
	padding: var(--isq-space-4);
}

.isq-mega-menu__links {
	display: grid;
	gap: var(--isq-space-1) var(--isq-space-3);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.isq-mega-menu__links a {
	align-items: center;
	border-radius: var(--isq-radius-button);
	display: flex;
	font-size: 1.0625rem;
	gap: var(--isq-space-3);
	line-height: 1.3;
	min-height: 4.25rem;
	padding: var(--isq-space-2) var(--isq-space-3);
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.isq-mega-menu__links a:hover,
.isq-mega-menu__links a:focus-visible {
	background: var(--isq-colour-grey-light);
	color: var(--isq-colour-purple);
}

.isq-mega-menu__links a > span:last-child {
	font-weight: var(--isq-font-weight-bold);
}

.isq-mega-menu__icon {
	align-items: center;
	background: rgb(122 42 144 / 9%);
	border-radius: 50%;
	color: var(--isq-colour-purple);
	display: inline-flex;
	flex: 0 0 3rem;
	height: 3rem;
	justify-content: center;
	width: 3rem;
}

.isq-mega-menu__icon svg {
	fill: none;
	height: 1.75rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
	width: 1.75rem;
}

.isq-mega-menu__feature {
	background: linear-gradient(135deg, var(--isq-colour-purple), var(--isq-colour-purple-gradient));
	border-radius: var(--isq-radius-card);
	color: var(--isq-colour-white);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--isq-space-4);
}

.isq-mega-menu__feature :where(h2, p) {
	color: inherit;
}

.isq-mega-menu__feature h2 {
	font-size: var(--isq-font-size-h3);
}

.isq-mega-menu__feature .isq-eyebrow {
	color: var(--isq-colour-yellow);
}

.isq-mega-menu__feature :is(a.isq-button, button.isq-button, .wp-block-button.isq-button > .wp-block-button__link) {
	align-self: flex-start;
	background: var(--isq-colour-yellow);
	color: var(--isq-colour-ink-strong);
	margin-top: auto;
}

.isq-mega-menu__feature :is(a.isq-button, button.isq-button, .wp-block-button.isq-button > .wp-block-button__link):hover {
	background: var(--isq-colour-white);
	color: var(--isq-colour-purple);
}

.isq-mega-menu__footer {
	border-top: 1px solid var(--isq-colour-border);
	display: flex;
	justify-content: flex-start;
	padding: var(--isq-space-3) var(--isq-space-5);
}

.isq-header-actions {
	align-items: center;
	display: flex;
	gap: var(--isq-space-2);
}

.isq-icon-button,
.isq-icon-link,
.isq-nav-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: var(--isq-radius-button);
	color: var(--isq-colour-purple);
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	min-height: 0;
	padding: var(--isq-space-2);
	width: 2.75rem;
}

.isq-icon-button:hover,
.isq-icon-link:hover,
.isq-nav-toggle:hover {
	background: var(--isq-colour-grey-light);
	color: var(--isq-colour-purple-hover);
	transform: none;
}

.isq-icon-button svg,
.isq-icon-link svg {
	fill: none;
	height: 1.5rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 1.5rem;
}

.isq-icon-link svg path {
	fill: currentColor;
	stroke: none;
}

.isq-nav-toggle {
	display: none;
	flex-direction: column;
	gap: var(--isq-space-1);
}

.isq-nav-toggle > span:not(.screen-reader-text) {
	background: currentColor;
	display: block;
	height: 2px;
	width: 1.5rem;
}

/* Dialogs and forms. */
.isq-dialog {
	background: transparent;
	border: 0;
	max-height: calc(100vh - (2 * var(--isq-space-5)));
	max-width: min(42rem, calc(100vw - (2 * var(--isq-space-5))));
	padding: 0;
	width: 100%;
}

.isq-dialog::backdrop {
	background: rgb(18 18 18 / 70%);
}

.isq-dialog__panel {
	background: var(--isq-colour-white);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card-hover);
	padding: var(--isq-space-7);
	position: relative;
}

.isq-dialog__panel--form {
	overflow-y: auto;
}

.isq-dialog__close {
	background: transparent;
	color: var(--isq-colour-ink-strong);
	font-size: 2rem;
	height: 2.75rem;
	line-height: 1;
	min-height: 0;
	padding: 0;
	position: absolute;
	right: var(--isq-space-4);
	top: var(--isq-space-4);
	width: 2.75rem;
}

.isq-dialog__close:hover {
	background: var(--isq-colour-grey-light);
	color: var(--isq-colour-purple);
	transform: none;
}

.isq-search-form {
	display: flex;
	gap: var(--isq-space-3);
	width: 100%;
}

.isq-search-form label {
	flex: 1;
}

.isq-search-form input,
.isq-form-card :where(input:not([type="submit"]), select, textarea) {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-button);
	color: var(--isq-colour-ink-strong);
	min-height: 3.125rem;
	padding: var(--isq-space-3) var(--isq-space-4);
	width: 100%;
}

.isq-text-button {
	background: transparent;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: 0;
	min-height: 0;
	padding: 0;
	text-decoration: underline;
	text-transform: none;
}

.isq-text-button:hover {
	background: transparent;
	color: var(--isq-colour-yellow);
	transform: none;
}

/* Hero and high-level sections. */
.isq-hero {
	background: var(--isq-colour-white);
	border-bottom: 1px solid var(--isq-colour-border);
	padding-block: var(--isq-space-7) var(--isq-space-6);
}

.isq-hero--anchored {
	border-bottom: 0;
	padding-bottom: 0;
}

.isq-hero--anchored .isq-hero__inner--media {
	align-items: end;
}

.isq-hero--anchored .isq-hero__content {
	gap: var(--isq-space-5);
	padding-bottom: var(--isq-space-5);
}

.isq-hero--brand h1 {
	color: var(--isq-colour-purple);
}

.isq-hero--brand.isq-hero--anchored h1 {
	padding-bottom: var(--isq-space-3);
	position: relative;
}

.isq-hero--brand.isq-hero--anchored h1::after {
	background: var(--isq-colour-yellow);
	border-radius: 999px;
	bottom: 0;
	content: "";
	height: 0.1875rem;
	left: 0;
	position: absolute;
	transform-origin: left center;
	width: 100%;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.isq-hero--brand.isq-hero--anchored h1 {
		background: linear-gradient(105deg, var(--isq-colour-purple-hover), var(--isq-colour-purple));
		background-clip: text;
		color: transparent;
		-webkit-background-clip: text;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.isq-hero--brand.isq-hero--anchored h1::after {
		animation: isq-home-title-rule 2200ms 200ms cubic-bezier(0.65, 0, 0.35, 1) both;
	}
}

@keyframes isq-home-title-rule {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

.isq-hero--brand {
	background: var(--isq-colour-white);
}

.isq-hero__inner--media {
	align-items: center;
	display: grid;
	gap: var(--isq-space-5);
	grid-template-columns: minmax(0, 1.12fr) minmax(18rem, 0.88fr);
}

.isq-hero__content {
	max-width: 62rem;
}

.isq-hero--brand.isq-hero--anchored .isq-hero__content {
	max-width: none;
}

.isq-hero__lead {
	font-size: clamp(1rem, 0.98rem + 0.16vw, 1.125rem);
	max-width: 52rem;
}

.isq-hero h1 {
	max-width: 22ch;
}

.isq-media {
	display: grid;
	margin: 0;
	min-width: 0;
	place-items: center;
}

.isq-media img {
	display: block;
	height: auto;
	max-height: 30rem;
	object-fit: contain;
	width: 100%;
}

.isq-media--hero {
	justify-self: end;
	width: min(100%, 27rem);
}

.isq-media--photo img {
	aspect-ratio: 4 / 3;
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card-hover);
	object-fit: cover;
}

.isq-media--surface {
	border-radius: var(--isq-radius-card);
	min-height: 20rem;
	padding: var(--isq-space-6);
}

.isq-media--purple {
	background: linear-gradient(135deg, var(--isq-colour-purple), var(--isq-colour-purple-gradient));
}

.isq-media--icon {
	background: var(--isq-colour-grey-light);
	border-radius: 50%;
	height: 4.5rem;
	padding: var(--isq-space-4);
	width: 4.5rem;
}

.isq-media--icon img {
	height: 100%;
	width: 100%;
}

.isq-media--badge {
	align-items: center;
	display: flex;
	margin: 0;
	max-width: 10rem;
}

.isq-media--badge img {
	max-height: 8rem;
	object-fit: contain;
}

.isq-award-card {
	align-items: center;
	gap: var(--isq-space-6);
	justify-content: center;
}

.isq-award-card :is(a.isq-button, button.isq-button, .wp-block-button.isq-button > .wp-block-button__link) {
	gap: var(--isq-space-2);
	width: 100%;
}

.isq-thank-you-grid {
	align-items: start;
}

.isq-button__detail {
	white-space: nowrap;
}

.isq-trust-bar {
	background: var(--isq-colour-yellow);
	color: var(--isq-colour-ink-strong);
	padding-block: var(--isq-space-3);
}

/*
 * Native page bodies seeded before D17 still carry the former reveal
 * classes. Keep the proof-point band stable without requiring a database
 * rewrite during the post-launch polish window.
 */
html.has-js .isq-trust-bar.isq-reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

.isq-trust-bar__grid {
	display: grid;
	gap: var(--isq-space-4);
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.isq-trust-bar p {
	margin: 0;
	text-align: center;
}

.isq-trust-bar strong,
.isq-trust-bar p > span {
	display: block;
}

.isq-trust-bar strong {
	color: var(--isq-colour-purple);
	font-size: var(--isq-font-size-h3);
}

.isq-trust-bar p > span {
	font-size: 0.75rem;
	line-height: 1.3;
}

.isq-cta-band {
	align-items: center;
	display: flex;
	gap: var(--isq-space-7);
	justify-content: space-between;
	overflow: hidden;
	position: relative;
}

.isq-cta-band__content {
	max-width: 48rem;
}

.isq-cta-band__illustration {
	align-items: center;
	background: rgb(255 255 255 / 12%);
	border: 1px solid rgb(255 255 255 / 24%);
	border-radius: 50%;
	color: var(--isq-colour-yellow);
	display: flex;
	flex: 0 0 6.5rem;
	height: 6.5rem;
	justify-content: center;
	width: 6.5rem;
}

.isq-cta-band__illustration svg {
	fill: none;
	height: 4rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.5;
	width: 4rem;
}

.isq-feature-panel {
	background: var(--isq-colour-yellow);
	border-radius: var(--isq-radius-card);
	padding: var(--isq-space-7);
}

.isq-video-frame {
	background: var(--isq-colour-purple-pale);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card-hover);
	overflow: hidden;
}

.isq-video-frame img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.isq-video-frame .hs-video-widget {
	aspect-ratio: 16 / 9;
}

.isq-video-frame iframe {
	aspect-ratio: 16 / 9;
	border: 0;
	display: block;
	width: 100%;
}

.isq-service-case {
	border-left: 4px solid var(--isq-colour-purple);
}

.isq-notice {
	border-left: 4px solid var(--isq-colour-yellow);
}

.isq-quote {
	align-self: center;
	border-top: 4px solid var(--isq-colour-purple);
	font-size: 1.125rem;
}

.isq-quote cite {
	color: var(--isq-colour-purple);
	font-size: var(--isq-font-size-small);
	font-style: normal;
	font-weight: var(--isq-font-weight-bold);
}

.isq-numbered-cards {
	counter-reset: isq-card-number;
	list-style: none;
	margin: 0;
	padding: 0;
}

.isq-numbered-cards > li {
	counter-increment: isq-card-number;
}

.isq-numbered-cards > li::before {
	color: var(--isq-colour-purple-pale);
	content: counter(isq-card-number, decimal-leading-zero);
	font-family: var(--isq-font-family);
	font-size: var(--isq-font-size-h1);
	font-weight: var(--isq-font-weight-extra-bold);
	line-height: 1;
	margin-bottom: var(--isq-space-3);
}

.isq-disclosure-grid {
	display: grid;
	gap: var(--isq-widget-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.isq-check-list {
	display: grid;
	gap: var(--isq-space-4);
	list-style: none;
	margin: 0;
	padding: 0;
}

.isq-check-list li {
	padding-left: var(--isq-space-6);
	position: relative;
}

.isq-check-list li::before {
	color: var(--isq-colour-yellow);
	content: "✓";
	font-weight: var(--isq-font-weight-bold);
	left: 0;
	position: absolute;
}

.isq-check-list--surface {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-left: 4px solid var(--isq-colour-purple);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	padding: var(--isq-space-6);
}

.isq-check-list--columns {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.isq-disclosures {
	display: grid;
	gap: var(--isq-space-4);
}

.isq-disclosures details,
.isq-disclosure {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	overflow: clip;
}

.isq-disclosures summary,
.isq-disclosure > summary {
	color: var(--isq-colour-ink-strong);
	cursor: pointer;
	font-family: var(--isq-font-family);
	font-size: var(--isq-font-size-h3);
	font-weight: var(--isq-font-weight-bold);
	list-style: none;
	padding: var(--isq-space-5) var(--isq-space-7) var(--isq-space-5) var(--isq-space-5);
	position: relative;
}

.isq-disclosures summary::-webkit-details-marker,
.isq-disclosure > summary::-webkit-details-marker {
	display: none;
}

.isq-disclosures summary::after,
.isq-disclosure > summary::after {
	color: var(--isq-colour-purple);
	content: "+";
	font-size: 1.5rem;
	position: absolute;
	right: var(--isq-space-5);
	top: 50%;
	transform: translateY(-50%);
}

.isq-disclosures details[open] summary::after,
.isq-disclosure[open] > summary::after {
	content: "−";
}

.isq-disclosures details > :not(summary),
.isq-disclosure > :not(summary) {
	margin-inline: var(--isq-space-5);
}

.isq-disclosures details > :last-child,
.isq-disclosure > :last-child {
	margin-bottom: var(--isq-space-5);
}

.isq-timeline {
	counter-reset: isq-process;
	display: grid;
	gap: var(--isq-widget-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.isq-timeline li {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	counter-increment: isq-process;
	padding: var(--isq-space-6);
}

.isq-timeline li::before {
	align-items: center;
	background: var(--isq-colour-purple);
	border-radius: 50%;
	color: var(--isq-colour-white);
	content: counter(isq-process, decimal-leading-zero);
	display: flex;
	font-family: var(--isq-font-family);
	font-weight: var(--isq-font-weight-bold);
	height: 2.75rem;
	justify-content: center;
	margin-bottom: var(--isq-space-4);
	width: 2.75rem;
}

.isq-timeline li:nth-child(even)::before {
	background: var(--isq-colour-yellow);
	color: var(--isq-colour-ink-strong);
}

.isq-form-layout {
	align-items: start;
	display: grid;
	gap: var(--isq-space-7);
	grid-template-columns: minmax(0, 0.8fr) minmax(20rem, 1.2fr);
}

.isq-section--purple .isq-form-layout__intro a {
	color: var(--isq-colour-white);
}

.isq-section--purple .isq-form-layout__intro a:hover {
	color: var(--isq-colour-yellow);
}

.isq-legal {
	margin-inline: auto;
	max-width: 72rem;
}

.isq-legal__document {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	padding: clamp(var(--isq-space-5), 4vw, var(--isq-space-8));
}

.isq-legal__header {
	border-bottom: 1px solid var(--isq-colour-border);
	margin-bottom: var(--isq-space-7);
	padding-bottom: var(--isq-space-6);
}

.isq-legal__body > h2:not(:first-child) {
	border-top: 1px solid var(--isq-colour-border);
	margin-top: var(--isq-space-8);
	padding-top: var(--isq-space-7);
}

.isq-legal__meta {
	margin-bottom: var(--isq-space-7);
}

.isq-section--grey .isq-check-list li::before {
	color: var(--isq-colour-purple);
}

.isq-live-reviews {
	background: var(--isq-colour-white);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	min-height: 15rem;
	padding: var(--isq-space-5);
}

.isq-live-reviews > div {
	min-width: 0;
}

.isq-review-controls {
	justify-content: center;
}

.isq-review-fallback {
	display: grid;
	gap: var(--isq-widget-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.isq-review-fallback blockquote {
	background: var(--isq-colour-white);
	border-radius: var(--isq-radius-card);
	color: var(--isq-colour-ink);
	font-size: 1rem;
	margin: 0;
	padding: var(--isq-space-5);
}

.isq-table-wrap {
	overflow-x: auto;
}

.isq-journey {
	border: 1px solid rgb(255 255 255 / 30%);
	border-radius: var(--isq-radius-card);
	box-shadow: 0 1rem 2.5rem rgb(0 0 0 / 12%);
}

.isq-journey table {
	margin: 0;
}

.isq-journey th {
	background: rgb(255 255 255 / 12%);
}

.isq-journey td:first-child {
	color: var(--isq-colour-yellow);
	font-size: 1.25rem;
	font-weight: var(--isq-font-weight-extra-bold);
}

table {
	border-collapse: collapse;
	min-width: 42rem;
	width: 100%;
}

th,
td {
	border-bottom: 1px solid var(--isq-colour-border);
	padding: var(--isq-space-4);
	text-align: left;
	vertical-align: top;
}

.isq-section--purple th,
.isq-section--purple td {
	border-color: rgb(255 255 255 / 30%);
}

.isq-service-groups,
.isq-service-group {
	display: flex;
	flex-direction: column;
	gap: var(--isq-space-7);
}

.isq-service-group + .isq-service-group {
	border-top: 1px solid var(--isq-colour-border);
	padding-top: var(--isq-space-8);
}

.isq-service-group__header {
	align-items: center;
	border-left: 4px solid var(--isq-colour-purple);
	display: flex;
	gap: var(--isq-space-5);
	padding-left: var(--isq-space-4);
}

.isq-service-group__header :where(h2, p) {
	margin-bottom: 0;
}

.isq-service-group__header .isq-media--icon {
	background: var(--isq-colour-white);
	box-shadow: var(--isq-shadow-card);
}

.isq-service-card {
	border-top: 4px solid var(--isq-colour-purple);
}

.isq-service-card--purple {
	background: linear-gradient(180deg, rgb(122 42 144 / 8%), var(--isq-colour-white) 9rem);
}

.isq-service-card--yellow {
	background: linear-gradient(180deg, rgb(245 202 65 / 14%), var(--isq-colour-white) 9rem);
	border-top-color: var(--isq-colour-yellow);
}

.isq-service-card--pale {
	background: linear-gradient(180deg, rgb(186 156 203 / 16%), var(--isq-colour-white) 9rem);
	border-top-color: var(--isq-colour-purple-pale);
}

.isq-service-card .isq-text-link {
	margin-top: auto;
}

.isq-team-grid {
	display: grid;
	gap: var(--isq-widget-gap);
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.isq-team-card {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.isq-team-card img {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	margin: var(--isq-space-5) auto 0;
	object-fit: cover;
	object-position: center;
	width: min(10rem, 68%);
}

.isq-team-card div {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--isq-space-5);
}

.isq-team-card h3,
.isq-team-card p {
	margin-bottom: var(--isq-space-2);
}

.isq-team-card details {
	border-top: 1px solid var(--isq-colour-border);
	margin-top: auto;
	padding-top: var(--isq-space-4);
}

.isq-team-card summary {
	color: var(--isq-colour-purple);
	cursor: pointer;
	font-size: var(--isq-font-size-small);
	font-weight: var(--isq-font-weight-bold);
}

.isq-team-card details p {
	font-size: var(--isq-font-size-small);
	margin-top: var(--isq-space-4);
}

.isq-team-card__profile-button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	border-top: 1px solid var(--isq-colour-border);
	color: var(--isq-colour-purple);
	display: flex;
	font-size: var(--isq-font-size-small);
	font-weight: var(--isq-font-weight-bold);
	gap: var(--isq-space-2);
	justify-content: flex-start;
	margin-top: auto;
	min-height: 0;
	padding: var(--isq-space-4) 0 0;
	text-align: left;
	width: 100%;
}

.isq-team-card__profile-button::before {
	content: "▸";
}

.isq-team-card__profile-button:hover {
	background: transparent;
	color: var(--isq-colour-purple-dark);
	transform: none;
}

.isq-dialog__panel--profile {
	max-height: calc(100vh - (2 * var(--isq-space-5)));
	overflow-y: auto;
}

.isq-team-dialog--long {
	max-width: min(58rem, calc(100vw - (2 * var(--isq-space-5))));
}

.isq-team-dialog__layout {
	align-items: start;
	display: grid;
	gap: var(--isq-space-5);
	grid-template-columns: 9rem minmax(0, 1fr);
}

.isq-team-dialog__image {
	aspect-ratio: 1 / 1;
	background: var(--isq-colour-grey-light);
	border: 1px solid var(--isq-colour-border);
	border-radius: 50%;
	grid-row: 1 / span 2;
	object-fit: cover;
	width: 100%;
}

.isq-team-dialog__heading {
	padding-right: var(--isq-space-7);
}

.isq-team-dialog__heading h2,
.isq-team-dialog__role {
	margin-bottom: var(--isq-space-2);
}

.isq-team-dialog__biography {
	line-height: var(--isq-line-height-body);
	margin: 0;
	max-width: 65ch;
}

.isq-form-card {
	transform: none;
}

.isq-form-card:hover {
	transform: none;
}

.isq-form-fallback {
	border-top: 1px solid var(--isq-colour-border);
	font-size: var(--isq-font-size-small);
	margin-top: var(--isq-space-5);
	padding-top: var(--isq-space-4);
}

/* Native Contracts Finder. */
.isq-tenders {
	display: flex;
	flex-direction: column;
	gap: var(--isq-space-7);
}

.isq-tenders__layout {
	align-items: start;
	display: grid;
	gap: var(--isq-space-6);
	grid-template-columns: minmax(16rem, 0.65fr) minmax(0, 1.35fr);
}

.isq-tender-filters {
	background: var(--isq-colour-grey-light);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-card);
	display: flex;
	flex-direction: column;
	gap: var(--isq-space-5);
	padding: var(--isq-space-5);
}

.isq-field {
	border: 0;
	display: grid;
	gap: var(--isq-space-3);
	margin: 0;
	padding: 0;
}

.isq-field > label,
.isq-field > legend,
.isq-filter-disclosure summary {
	color: var(--isq-colour-ink-strong);
	font-size: var(--isq-font-size-small);
	font-weight: var(--isq-font-weight-bold);
}

.isq-field > label:has(input[type="checkbox"], input[type="radio"]) {
	align-items: start;
	display: flex;
	font-weight: var(--isq-font-weight-regular);
	gap: var(--isq-space-2);
}

.isq-field input[type="checkbox"],
.isq-field input[type="radio"] {
	accent-color: var(--isq-colour-purple);
	flex: 0 0 auto;
	margin-top: var(--isq-space-1);
}

.isq-field :where(input[type="search"], select) {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-button);
	color: var(--isq-colour-ink-strong);
	min-height: 3.125rem;
	padding: var(--isq-space-3) var(--isq-space-4);
	width: 100%;
}

.isq-filter-disclosure {
	border-block: 1px solid var(--isq-colour-border);
	padding-block: var(--isq-space-4);
}

.isq-filter-disclosure summary {
	cursor: pointer;
}

.isq-filter-disclosure[open] summary {
	margin-bottom: var(--isq-space-4);
}

.isq-tender-results {
	min-width: 0;
}

.isq-tender-status {
	background: rgb(245 202 65 / 24%);
	border-left: 4px solid var(--isq-colour-yellow);
	font-weight: var(--isq-font-weight-bold);
	margin-bottom: var(--isq-space-5);
	padding: var(--isq-space-4);
}

.isq-tender-status:empty {
	display: none;
}

.isq-tender-loading {
	color: var(--isq-colour-purple);
	font-weight: var(--isq-font-weight-bold);
	margin-bottom: var(--isq-space-5);
}

.isq-tender-list {
	display: grid;
	gap: var(--isq-space-5);
}

.isq-tender-card {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	overflow: hidden;
}

.isq-tender-card__header {
	align-items: flex-start;
	background: var(--isq-colour-purple);
	color: var(--isq-colour-white);
	display: flex;
	gap: var(--isq-space-4);
	justify-content: space-between;
	padding: var(--isq-space-5);
}

.isq-tender-card__header h3 {
	color: var(--isq-colour-white);
	font-size: var(--isq-font-size-h3);
	margin: 0;
}

.isq-tender-urgency {
	background: var(--isq-colour-grey-light);
	border-radius: 999px;
	color: var(--isq-colour-ink-strong);
	flex: 0 0 auto;
	font-size: 0.75rem;
	font-weight: var(--isq-font-weight-bold);
	padding: var(--isq-space-2) var(--isq-space-3);
}

.isq-tender-urgency--red {
	background: var(--isq-colour-danger);
	color: var(--isq-colour-white);
}

.isq-tender-urgency--amber {
	background: var(--isq-colour-yellow);
}

.isq-tender-urgency--green {
	background: var(--isq-colour-success);
	color: var(--isq-colour-white);
}

.isq-tender-card__facts {
	display: grid;
	gap: var(--isq-space-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: var(--isq-space-5);
}

.isq-tender-fact {
	min-width: 0;
}

.isq-tender-fact dt {
	color: var(--isq-colour-purple);
	font-size: 0.75rem;
	font-weight: var(--isq-font-weight-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.isq-tender-fact dd {
	margin: var(--isq-space-1) 0 0;
	overflow-wrap: anywhere;
}

.isq-tender-card__detail-group {
	border-top: 1px solid var(--isq-colour-border);
	padding-inline: var(--isq-space-5);
}

.isq-tender-card__details {
	border-bottom: 1px solid var(--isq-colour-border);
	padding-block: var(--isq-space-4);
}

.isq-tender-card__details summary {
	color: var(--isq-colour-purple);
	cursor: pointer;
	font-weight: var(--isq-font-weight-bold);
}

.isq-tender-card__details p {
	margin-block: var(--isq-space-4) 0;
	white-space: pre-line;
}

.isq-tender-card__footer {
	align-items: center;
	background: var(--isq-colour-grey-light);
	display: flex;
	flex-wrap: wrap;
	gap: var(--isq-space-4);
	justify-content: space-between;
	padding: var(--isq-space-5);
}

.isq-tender-card__footer :is(a.isq-button, button.isq-button, .wp-block-button.isq-button > .wp-block-button__link) {
	font-size: 0.7rem;
}

.isq-tender-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: var(--isq-space-2);
	justify-content: center;
	margin-top: var(--isq-space-6);
}

.isq-pagination-button {
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding: var(--isq-space-2) var(--isq-space-3);
}

.isq-pagination-button[aria-current="page"] {
	background: var(--isq-colour-yellow);
	color: var(--isq-colour-ink-strong);
}

.isq-notice {
	background: var(--isq-colour-grey-light);
	border-left: 4px solid var(--isq-colour-purple);
	padding: var(--isq-space-4);
}

.isq-notice--error {
	border-left-color: var(--isq-colour-danger);
}

.isq-tender-selection {
	background: var(--isq-colour-grey-light);
	border-radius: var(--isq-radius-button);
	display: grid;
	gap: var(--isq-space-3);
	margin-block: 0 var(--isq-space-5);
	padding: var(--isq-space-4);
}

.isq-tender-form-fallback {
	margin-top: var(--isq-space-5);
}

/* Resources and retained WordPress content. */
.wp-block-post-template.isq-grid {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wp-block-post-template.isq-grid > li {
	display: flex;
}

.wp-block-post-template.isq-grid > li > .isq-post-card {
	width: 100%;
}

.isq-resource-query .wp-block-post-template > li {
	display: flex;
}

.isq-resource-query .wp-block-post-template > li > .isq-post-card {
	width: 100%;
}

.isq-post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	padding: 0;
}

.isq-post-card__image {
	display: block;
	overflow: hidden;
}

.isq-post-card__image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	transition: transform 250ms ease;
}

.isq-post-card:hover .isq-post-card__image img {
	transform: scale(1.04);
}

.isq-post-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--isq-space-5);
}

.isq-post-card__title {
	font-size: var(--isq-font-size-h3);
}

.isq-post-card__title a {
	color: var(--isq-colour-ink-strong);
	text-decoration: none;
}

.isq-post-card__content .wp-block-post-excerpt {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.isq-post-card__content .wp-block-post-excerpt__excerpt,
.isq-post-card__content > p:not(.isq-eyebrow) {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}

.isq-post-card__content :is(.wp-block-post-excerpt__more-link, .isq-text-link) {
	margin-top: auto;
}

.isq-post-card__content .wp-block-post-excerpt__more-text {
	margin-top: auto;
}

.isq-article-layout {
	max-width: 54rem;
}

.isq-entry__header,
.isq-entry__featured,
.isq-entry__content,
.isq-entry__footer,
.isq-post-navigation {
	margin-bottom: var(--isq-space-7);
}

.isq-entry__standfirst {
	font-size: var(--isq-font-size-h3);
}

.isq-entry__featured img {
	border-radius: var(--isq-radius-card);
}

.isq-entry__content > * + * {
	margin-top: var(--isq-space-5);
}

.isq-entry__content :where(h2, h3, h4) {
	margin-top: var(--isq-space-7);
}

.isq-entry__content :where(img, .wp-block-image img) {
	border-radius: var(--isq-radius-card);
}

.isq-entry__content blockquote {
	border-left: 4px solid var(--isq-colour-yellow);
	font-size: var(--isq-font-size-h3);
	margin-inline: 0;
	padding-left: var(--isq-space-5);
}

.isq-campaign-download {
	background: linear-gradient(120deg, var(--isq-colour-grey-light), var(--isq-colour-white));
	border: 1px solid var(--isq-colour-border);
	border-left: 4px solid var(--isq-colour-yellow);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	margin-block: var(--isq-space-5);
	padding: var(--isq-space-5);
}

.isq-campaign-download__button {
	align-items: center;
	display: inline-flex;
	gap: var(--isq-space-3);
}

.isq-campaign-download__button svg {
	fill: none;
	flex: 0 0 1.35rem;
	height: 1.35rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 1.35rem;
}

.isq-campaign-download noscript p {
	margin-block: var(--isq-space-4) 0;
}

.isq-post-navigation,
.nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--isq-space-5);
	justify-content: space-between;
}

.navigation.pagination {
	margin-top: var(--isq-space-6);
}

.pagination .nav-links {
	align-items: center;
	gap: var(--isq-space-2);
	justify-content: center;
}

.pagination .page-numbers {
	align-items: center;
	border: 1px solid var(--isq-colour-border);
	border-radius: var(--isq-radius-button);
	display: inline-flex;
	font-size: var(--isq-font-size-small);
	font-weight: var(--isq-font-weight-bold);
	justify-content: center;
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding: var(--isq-space-2) var(--isq-space-3);
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.pagination a.page-numbers:hover {
	background: var(--isq-colour-purple);
	border-color: var(--isq-colour-purple);
	color: var(--isq-colour-white);
}

.pagination .page-numbers.current {
	background: var(--isq-colour-yellow);
	border-color: var(--isq-colour-yellow);
	color: var(--isq-colour-ink-strong);
}

.pagination .page-numbers.dots {
	border-color: transparent;
	min-width: auto;
	padding-inline: var(--isq-space-1);
}

/* Footer. */
.isq-site-footer {
	background: var(--isq-colour-purple-hover);
	color: var(--isq-colour-white);
	padding-block: var(--isq-space-8) var(--isq-space-5);
}

.isq-footer-grid {
	display: grid;
	gap: var(--isq-space-7);
	grid-template-columns: 1.3fr 1fr 1fr;
	position: relative;
}

.isq-footer-logo {
	display: block;
	max-width: 11.25rem;
}

.isq-footer-brand {
	align-content: start;
}

.isq-footer-services,
.isq-footer-contact {
	display: flex;
	flex-direction: column;
}

.isq-footer-assurance,
.isq-footer-legal {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
}

.isq-footer-assurance {
	gap: var(--isq-space-2);
}

.isq-footer-brand > .isq-footer-assurance,
.isq-footer-services > .isq-footer-legal,
.isq-footer-contact > .isq-footer-address {
	margin-top: auto;
}

.isq-footer-certification {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	height: 2.75rem;
	justify-content: center;
	line-height: 0;
	width: 2.75rem;
}

.isq-footer-certification img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: auto;
}

.isq-footer-heading {
	font-size: 1rem;
}

.isq-footer-links {
	display: flex;
	flex-direction: column;
	gap: var(--isq-space-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.isq-footer-address {
	display: grid;
	font-size: var(--isq-font-size-small);
	font-style: normal;
	gap: var(--isq-space-1);
	line-height: 1.55;
	margin-top: var(--isq-space-5);
	max-width: 25rem;
}

.isq-footer-address strong {
	font-size: 1rem;
}

.isq-footer-legal {
	gap: var(--isq-space-2);
	justify-content: center;
	margin-inline: auto;
	padding-top: var(--isq-space-4);
	text-align: center;
	width: 100%;
}

.isq-footer-legal small,
.isq-footer-legal a {
	font-size: 0.75rem;
}

.isq-footer-legal a {
	border-left: 1px solid rgb(255 255 255 / 45%);
	padding-left: var(--isq-space-2);
}

@media (min-width: 43.75rem) {
	.isq-footer-legal {
		bottom: 0;
		left: 50%;
		margin-inline: 0;
		position: absolute;
		transform: translateX(-50%);
		width: max-content;
	}
}

.isq-site-footer a {
	color: var(--isq-colour-white);
}

.isq-site-footer a:hover {
	color: var(--isq-colour-yellow);
}

.isq-social-links {
	display: flex;
	gap: var(--isq-space-2);
}

.isq-social-links a {
	align-items: center;
	border-radius: 50%;
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	transition: background-color 180ms ease, color 180ms ease;
	width: 2.75rem;
}

.isq-social-links a:hover {
	background: rgb(255 255 255 / 12%);
	color: var(--isq-colour-white);
}

.isq-social-links img {
	display: block;
	height: auto;
	max-height: 1.25rem;
	max-width: 1.25rem;
	object-fit: contain;
	width: auto;
}

/*
 * The normal desktop navigation begins at 992px. Between 992px and 1199px
 * the compact desktop rules below preserve that layout without forcing an
 * unnecessary drawer state.
 */
@media (max-width: 61.9375rem) {
	.isq-nav-toggle {
		display: flex;
		margin-left: auto;
	}

	.isq-primary-nav {
		align-self: auto;
		background: var(--isq-colour-white);
		border: 1px solid var(--isq-colour-border);
		box-shadow: var(--isq-shadow-card-hover);
		display: none;
		max-width: 21.875rem;
		position: absolute;
		right: var(--isq-layout-gutter);
		top: calc(100% + var(--isq-space-2));
		width: calc(100% - (2 * var(--isq-layout-gutter)));
	}

	.isq-primary-nav.is-open {
		display: block;
	}

	html:not(.has-js) .isq-site-header__inner {
		flex-wrap: wrap;
	}

	html:not(.has-js) .isq-nav-toggle,
	html:not(.has-js) .isq-nav-mega-toggle {
		display: none;
	}

	html:not(.has-js) .isq-primary-nav {
		box-shadow: none;
		display: block;
		max-width: none;
		position: static;
		width: 100%;
	}

	.isq-primary-nav ul {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		height: auto;
	}

	.isq-primary-nav > ul > li {
		display: block;
		height: auto;
	}

	.isq-primary-nav a {
		display: block;
		font-size: var(--isq-font-size-small);
		padding: var(--isq-space-4) var(--isq-space-5);
	}

	.isq-primary-nav li + li {
		border-top: 1px solid var(--isq-colour-border);
	}

	.isq-nav-item--mega {
		align-items: stretch;
		display: block;
	}

	.isq-nav-item__link-group {
		height: auto;
		justify-content: space-between;
	}

	.isq-nav-mega-toggle {
		padding: 0;
	}

	.isq-mega-menu {
		border: 0;
		box-shadow: none;
		display: none;
		left: auto;
		position: static;
		top: auto;
		transform: none;
		transition: none;
		visibility: visible;
		width: auto;
	}

	html:not(.has-js) .isq-nav-item--mega:hover .isq-mega-menu,
	.isq-nav-item--mega.is-open .isq-mega-menu {
		display: block;
		top: auto;
		transform: none;
	}

	.isq-mega-menu__inner {
		gap: var(--isq-space-4);
		grid-template-columns: 1fr;
		padding: var(--isq-space-4);
	}

	.isq-mega-menu__links {
		gap: 0;
		grid-template-columns: 1fr;
	}

	.isq-mega-menu__links a {
		min-height: 3.5rem;
		padding-inline: var(--isq-space-2);
	}

	.isq-mega-menu__feature {
		padding: var(--isq-space-5);
	}

	.isq-mega-menu__footer {
		padding: var(--isq-space-3) var(--isq-space-4) var(--isq-space-4);
	}
}

/* Keep the full navigation usable across the 992px--1199px desktop range. */
@media (min-width: 62rem) and (max-width: 74.9375rem) {
	.isq-site-header__inner {
		flex-wrap: wrap;
		gap: 0;
		padding-block: var(--isq-space-2);
	}

	.isq-primary-nav {
		align-self: auto;
		flex-basis: 100%;
		margin-left: 0;
		order: 3;
		width: 100%;
	}

	.isq-primary-nav ul {
		gap: var(--isq-space-2);
		justify-content: center;
		width: 100%;
	}

	.isq-header-actions {
		margin-left: auto;
	}
}

@media (min-width: 62rem) {
	/*
	 * The homepage proposition spans the container, followed by a compact
	 * copy-and-media row. Other marketing heroes retain the standard split.
	 */
	.isq-hero--brand.isq-hero--anchored .isq-hero__inner--media {
		align-items: start;
		column-gap: var(--isq-space-8);
		grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
		row-gap: var(--isq-space-4);
	}

	.isq-hero--brand.isq-hero--anchored .isq-hero__content {
		display: contents;
	}

	.isq-hero--brand.isq-hero--anchored h1 {
		font-size: clamp(2.35rem, 3.2vw, 3rem);
		grid-column: 1 / -1;
		max-width: none;
	}

	.isq-hero--brand.isq-hero--anchored .isq-hero__lead,
	.isq-hero--brand.isq-hero--anchored .isq-cluster {
		grid-column: 1;
		margin: 0;
	}

	.isq-hero--brand.isq-hero--anchored .isq-cluster {
		padding-bottom: var(--isq-space-4);
	}

	.isq-hero--brand.isq-hero--anchored .isq-media {
		align-self: end;
		grid-column: 2;
		grid-row: 2 / span 4;
	}

	.isq-team-card h3 {
		min-block-size: 2.6em;
	}

	.isq-team-card div > p {
		min-block-size: 3.2em;
	}
}

@media (min-width: 75rem) {
	.isq-hero--brand.isq-hero--anchored h1 {
		white-space: nowrap;
	}
}

@media (max-width: 61.9375rem) {
	/* The filter column and result facts collide before the default stack point. */
	.isq-tenders__layout {
		grid-template-columns: 1fr;
	}

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

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

	.isq-trust-bar__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 43.6875rem) {
	.isq-grid--two,
	.isq-grid--three,
	.isq-grid--four,
	.isq-team-grid,
	.isq-split,
	.isq-hero__inner--media,
	.isq-contact-layout,
	.isq-form-layout,
	.isq-footer-grid {
		grid-template-columns: 1fr;
	}

	.isq-check-list--columns,
	.isq-disclosure-grid,
	.isq-timeline {
		grid-template-columns: 1fr;
	}

	.isq-media--hero {
		justify-self: center;
		width: min(100%, 24rem);
	}

	.isq-media--surface {
		min-height: 16rem;
		padding: var(--isq-space-5);
	}

	.isq-site-header__inner {
		gap: var(--isq-space-2);
	}

	.isq-header-actions {
		gap: 0;
	}

	.isq-icon-link {
		display: none;
	}

	.isq-trust-bar__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.isq-cta-band {
		align-items: flex-start;
		flex-direction: column;
	}

	.isq-dialog {
		max-width: calc(100vw - (2 * var(--isq-space-4)));
	}

	.isq-dialog__panel {
		padding: var(--isq-space-6);
	}

	.isq-team-dialog__layout {
		gap: var(--isq-space-4);
		grid-template-columns: 5rem minmax(0, 1fr);
	}

	.isq-team-dialog__image {
		grid-row: auto;
	}

	.isq-team-dialog__biography {
		grid-column: 1 / -1;
	}

	.isq-search-form {
		align-items: stretch;
		flex-direction: column;
	}

	.isq-feature-panel {
		padding: var(--isq-space-5);
	}

	.isq-live-reviews {
		min-height: 18rem;
		padding: var(--isq-space-4);
	}

	/* Document-control tables read as labelled facts on narrow screens. */
	.isq-legal__meta {
		overflow: visible;
	}

	.isq-legal__meta table {
		min-width: 0;
	}

	.isq-legal__meta tr {
		display: grid;
		gap: var(--isq-space-2);
		padding-block: var(--isq-space-4);
	}

	.isq-legal__meta th,
	.isq-legal__meta td {
		border: 0;
		display: block;
		overflow-wrap: anywhere;
		padding: 0;
		width: 100%;
	}

	.isq-legal__meta th {
		color: var(--isq-colour-purple);
	}

	.isq-review-fallback {
		grid-template-columns: 1fr;
	}

	.isq-tender-card__header,
	.isq-tender-card__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.isq-tender-card__facts {
		grid-template-columns: 1fr;
	}

	.isq-tender-urgency {
		align-self: flex-start;
	}
}

/* Scroll-reveal motion. Hidden states apply only with JavaScript present so
   content is never invisible to crawlers, no-JS visitors or failed loads. */
html.has-js .isq-reveal,
html.has-js .isq-reveal-group > *,
html.has-js [data-reveal-group] > * {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 400ms ease-out, transform 400ms ease-out;
}

html.has-js .isq-reveal--left {
	opacity: 1;
	transform: translateX(-100%);
	transition: transform 1200ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.has-js .isq-reveal--fade {
	transform: none;
}

html.has-js .isq-reveal.is-revealed,
html.has-js .isq-reveal-group.is-revealed > *,
html.has-js [data-reveal-group].is-revealed > * {
	opacity: 1;
	transform: none;
}

html.has-js .isq-reveal-group.is-revealed > :nth-child(2),
html.has-js [data-reveal-group].is-revealed > :nth-child(2) {
	transition-delay: 80ms;
}

html.has-js .isq-reveal-group.is-revealed > :nth-child(3),
html.has-js [data-reveal-group].is-revealed > :nth-child(3) {
	transition-delay: 160ms;
}

html.has-js .isq-reveal-group.is-revealed > :nth-child(4),
html.has-js [data-reveal-group].is-revealed > :nth-child(4) {
	transition-delay: 240ms;
}

html.has-js .isq-reveal-group.is-revealed > :nth-child(5),
html.has-js [data-reveal-group].is-revealed > :nth-child(5) {
	transition-delay: 320ms;
}

/*
 * Leadership cards form a comparison row, so staggered vertical motion makes
 * an otherwise aligned team look uneven. Keep this particular grid static.
 */
html.has-js .isq-team-grid.isq-reveal-group > *,
html.has-js .isq-team-grid[data-reveal-group] > * {
	opacity: 1;
	transform: none;
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	html.has-js .isq-reveal,
	html.has-js .isq-reveal--left,
	html.has-js .isq-reveal-group > *,
	html.has-js [data-reveal-group] > * {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
/* Reusable AI product subsystem. Its product-context typography, surfaces,
   previews and motion are shared vocabulary for Pip and future products. */
:root {
	--isq-product-cream: #FDFBF7;
	--isq-product-warm: #FAF6F0;
	--isq-product-ink: #1B1020;
	--isq-product-ink-soft: #4A3D52;
	--isq-product-muted: #8D7F96;
	--isq-product-line: #EDE7E2;
	--isq-product-gold: #D4A930;
	--isq-product-good: #5E8A6F;
	--isq-product-good-soft: #EEF3EF;
	--isq-product-serif: "Instrument Serif", Georgia, serif;
}

.isq-product {
	background: var(--isq-product-cream);
	color: var(--isq-product-ink-soft);
}

.isq-product :is(h1, h2, h3, p) {
	margin-top: 0;
}

.isq-product-display {
	color: var(--isq-product-ink);
	font-family: var(--isq-product-serif);
	font-size: clamp(2.75rem, 4vw, 4.25rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.02;
	margin-bottom: var(--isq-space-5);
}

.isq-product-display span {
	color: var(--isq-product-muted);
}

.isq-product-eyebrow {
	align-items: center;
	color: var(--isq-colour-purple);
	display: flex;
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.6875rem;
	font-weight: var(--isq-font-weight-medium);
	gap: var(--isq-space-3);
	letter-spacing: 0.13em;
	margin-bottom: var(--isq-space-4);
	text-transform: uppercase;
}

.isq-product-eyebrow > span {
	background: currentcolor;
	border-radius: 1px;
	height: 2px;
	width: 0.875rem;
}

.isq-product-button {
	align-items: center;
	background: var(--isq-colour-purple);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 5px 20px rgb(122 42 144 / 22%);
	color: var(--isq-colour-white);
	display: inline-flex;
	font-size: var(--isq-font-size-small);
	font-weight: var(--isq-font-weight-bold);
	gap: var(--isq-space-3);
	justify-content: center;
	letter-spacing: 0;
	min-height: 3.25rem;
	padding: var(--isq-space-3) var(--isq-space-5);
	text-decoration: none;
	text-transform: none;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.isq-product-button:hover {
	background: var(--isq-colour-purple-hover);
	box-shadow: 0 8px 26px rgb(122 42 144 / 32%);
	color: var(--isq-colour-white);
	transform: translateY(-2px);
}

.isq-product-button:hover span {
	transform: translateX(2px);
}

.isq-product-button span {
	transition: transform 160ms ease;
}

.isq-product-text-link {
	color: var(--isq-colour-purple);
	font-size: var(--isq-font-size-small);
	font-weight: var(--isq-font-weight-bold);
}

.isq-product-hero {
	background: linear-gradient(180deg, var(--isq-product-warm), var(--isq-product-cream));
	border-bottom: 1px solid var(--isq-product-line);
	overflow: hidden;
	position: relative;
}

.isq-product-hero::before {
	background: radial-gradient(ellipse at 35% 50%, rgb(122 42 144 / 9%), transparent 66%);
	content: "";
	inset: 0 38% 0 0;
	pointer-events: none;
	position: absolute;
}

.isq-product-hero__watermark {
	bottom: -7rem;
	color: var(--isq-colour-purple);
	font-family: var(--isq-product-serif);
	font-size: 24rem;
	font-style: italic;
	left: -3rem;
	line-height: 1;
	opacity: 0.035;
	pointer-events: none;
	position: absolute;
}

.isq-product-hero__inner {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 0.9fr) minmax(32rem, 1.1fr);
	min-height: min(50rem, calc(100vh - 7rem));
	padding-block: clamp(2.5rem, 5vw, 5rem);
	position: relative;
}

.isq-product-hero__content {
	position: relative;
	z-index: 2;
}

.isq-product-hero__title {
	font-size: clamp(4rem, 5.15vw, 5.6rem);
	margin-bottom: var(--isq-space-5);
}

.isq-product-hero__title > span {
	color: var(--isq-product-ink);
	display: block;
	white-space: nowrap;
}

.isq-product-hero__title em {
	color: var(--isq-colour-purple);
	font-weight: 400;
}

.isq-product-hero__title small {
	color: var(--isq-product-gold);
	display: block;
	font-family: var(--isq-product-serif);
	font-size: 0.53em;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.1;
	margin-top: var(--isq-space-3);
}

.isq-product-clarifier {
	align-items: center;
	background: var(--isq-colour-white);
	border: 1px solid rgb(122 42 144 / 15%);
	border-radius: 999px;
	box-shadow: var(--isq-shadow-card);
	display: inline-flex;
	font-size: 0.75rem;
	gap: var(--isq-space-2);
	margin-bottom: var(--isq-space-4);
	padding: 0.45rem 0.75rem 0.45rem 0.45rem;
}

.isq-product-clarifier strong {
	background: var(--isq-colour-purple);
	border-radius: 999px;
	color: var(--isq-colour-white);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	letter-spacing: 0.08em;
	padding: 0.2rem 0.45rem;
}

.isq-product-hero__lead {
	color: var(--isq-product-muted);
	font-size: 1rem;
	line-height: 1.65;
	margin-bottom: var(--isq-space-6);
	max-width: 34rem;
}

.isq-product-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--isq-space-5);
}

.isq-product-hero__showcase {
	padding-top: var(--isq-space-5);
	position: relative;
}

.isq-product-login {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-product-line);
	border-radius: 999px;
	box-shadow: var(--isq-shadow-card);
	color: var(--isq-product-muted);
	font-size: 0.75rem;
	position: absolute;
	right: 0;
	top: -1.25rem;
	z-index: 3;
}

.isq-product-login,
.isq-product-login:hover {
	padding: var(--isq-space-2) var(--isq-space-4);
	text-decoration: none;
}

.isq-product-login strong {
	color: var(--isq-colour-purple);
}

.isq-product-chat {
	display: flex;
	flex-direction: column;
	gap: var(--isq-space-3);
	position: relative;
}

.isq-product-chat__card,
.isq-product-chat__draft {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-product-line);
	box-shadow: 0 22px 60px rgb(122 42 144 / 14%), 0 6px 18px rgb(27 16 32 / 5%);
	position: relative;
	z-index: 1;
}

.isq-product-chat__card {
	border-radius: 1.5rem;
	overflow: hidden;
	padding: var(--isq-space-4);
}

.isq-product-chat__message {
	display: flex;
	gap: var(--isq-space-3);
	margin-bottom: var(--isq-space-3);
}

.isq-product-chat__message > div {
	flex: 1;
	min-width: 0;
}

.isq-product-chat__avatar {
	align-items: center;
	background: linear-gradient(135deg, var(--isq-colour-purple), var(--isq-colour-purple-hover));
	border-radius: 0.7rem;
	color: var(--isq-colour-white);
	display: inline-flex;
	flex: 0 0 auto;
	font-family: var(--isq-product-serif);
	font-size: 1.25rem;
	font-style: italic;
	height: 2.4rem;
	justify-content: center;
	width: 2.4rem;
}

.isq-product-chat__meta {
	color: var(--isq-product-muted);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.6875rem;
	margin-bottom: var(--isq-space-1);
}

.isq-product-chat__meta em {
	color: var(--isq-colour-purple);
	font-family: var(--isq-product-serif);
	font-size: 0.95rem;
}

.isq-product-chat__bubble {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-product-line);
	border-radius: 0.25rem 1.1rem 1.1rem;
	box-shadow: 0 4px 14px rgb(27 16 32 / 5%);
	font-size: 0.8125rem;
	line-height: 1.55;
	margin: 0;
	padding: var(--isq-space-3) var(--isq-space-4);
}

.isq-product-chat__message--user {
	justify-content: flex-end;
}

.isq-product-chat__bubble--user {
	background: linear-gradient(135deg, var(--isq-colour-purple), var(--isq-colour-purple-hover));
	border: 0;
	border-radius: 1.1rem 1.1rem 0.25rem 1.1rem;
	color: var(--isq-colour-white);
	max-width: 86%;
}

.isq-product-chat__chip,
.isq-product-document mark {
	background: rgb(122 42 144 / 8%);
	border-radius: 4px;
	color: var(--isq-colour-purple);
	font-weight: var(--isq-font-weight-medium);
	padding: 0 var(--isq-space-1);
}

.isq-product-chat__listening {
	align-items: center;
	border-top: 1px solid var(--isq-product-line);
	display: flex;
	gap: var(--isq-space-3);
	justify-content: space-between;
	margin: var(--isq-space-4) calc(var(--isq-space-4) * -1) calc(var(--isq-space-4) * -1);
	padding: var(--isq-space-3) var(--isq-space-4);
	position: relative;
}

.isq-product-chat__listening::before {
	background: linear-gradient(90deg, rgb(122 42 144 / 5%), rgb(122 42 144 / 10%));
	border: 1px solid rgb(122 42 144 / 8%);
	border-radius: 999px;
	content: "";
	inset: var(--isq-space-2) 4.8rem var(--isq-space-2) var(--isq-space-3);
	position: absolute;
}

.isq-product-chat__listening-label {
	color: var(--isq-colour-purple);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	letter-spacing: 0.13em;
	position: relative;
	text-transform: uppercase;
	z-index: 1;
}

.isq-product-chat__wave {
	align-items: center;
	display: inline-flex;
	gap: 3px;
	height: 1.25rem;
	margin-left: var(--isq-space-3);
	position: relative;
	z-index: 1;
}

.isq-product-chat__wave i {
	animation: isq-product-wave 1.1s ease-in-out infinite;
	background: var(--isq-colour-purple);
	border-radius: 2px;
	display: block;
	height: 40%;
	width: 3px;
}

.isq-product-chat__wave i:nth-child(2n) {
	animation-delay: 0.15s;
}

.isq-product-chat__wave i:nth-child(3n) {
	animation-delay: 0.3s;
}

.isq-product-chat__wave i:nth-child(5n) {
	animation-delay: 0.45s;
}

@keyframes isq-product-wave {
	50% { transform: scaleY(2.2); }
}

.isq-product-chat__connector {
	color: var(--isq-colour-purple);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	letter-spacing: 0.13em;
	margin: 0;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	z-index: 1;
}

.isq-product-chat__draft {
	border-radius: 1.25rem;
	overflow: hidden;
}

.isq-product-chat__draft-head {
	background: linear-gradient(135deg, var(--isq-colour-purple), var(--isq-colour-purple-hover));
	color: var(--isq-colour-white);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	letter-spacing: 0.13em;
	margin: 0;
	padding: var(--isq-space-3) var(--isq-space-4);
	text-transform: uppercase;
}

.isq-product-chat__draft-body {
	font-size: 0.75rem;
	line-height: 1.6;
	margin: 0;
	padding: var(--isq-space-3) var(--isq-space-4);
}

html.has-js .isq-product-chat .isq-product-chat__item {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 380ms ease-out, transform 380ms ease-out;
}

html.has-js .isq-product-chat.is-revealed .isq-product-chat__item {
	opacity: 1;
	transform: none;
}

html.has-js .isq-product-chat.is-revealed [data-step="2"] { transition-delay: 450ms; }
html.has-js .isq-product-chat.is-revealed [data-step="3"] { transition-delay: 900ms; }
html.has-js .isq-product-chat.is-revealed [data-step="4"] { transition-delay: 1350ms; }
html.has-js .isq-product-chat.is-revealed [data-step="5"] { transition-delay: 1700ms; }
html.has-js .isq-product-chat.is-revealed [data-step="6"] { transition-delay: 2000ms; }

.isq-product-ticker {
	align-items: stretch;
	background: var(--isq-colour-purple-hover);
	color: var(--isq-colour-white);
	display: flex;
	min-height: 3rem;
	position: relative;
}

.isq-product-ticker__lead {
	align-items: center;
	background: var(--isq-colour-purple);
	display: flex;
	flex: 0 0 auto;
	gap: var(--isq-space-2);
	padding: var(--isq-space-2) var(--isq-space-5);
	position: relative;
	z-index: 2;
}

.isq-product-ticker__lead strong {
	background: var(--isq-colour-yellow);
	border-radius: 999px;
	color: var(--isq-product-ink);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	letter-spacing: 0.11em;
	padding: 0.3rem 0.65rem;
	text-transform: uppercase;
}

.isq-product-ticker__viewport {
	display: flex;
	flex: 1;
	overflow: hidden;
}

.isq-product-ticker__track {
	display: flex;
	flex-wrap: wrap;
	gap: var(--isq-space-4) var(--isq-space-7);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: var(--isq-space-3) var(--isq-space-5);
	width: 100%;
}

.isq-product-ticker__track[aria-hidden="true"] {
	display: none;
}

.isq-product-ticker__track li {
	font-size: 0.75rem;
}

.isq-product-ticker__track li::after {
	color: var(--isq-colour-yellow);
	content: "·";
	margin-left: var(--isq-space-7);
}

html.has-js .isq-product-ticker__track {
	animation: isq-product-ticker-scroll 52s linear infinite;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	justify-content: flex-start;
	min-width: max-content;
	width: auto;
}

html.has-js .isq-product-ticker__track[aria-hidden="true"] {
	display: flex;
}

.isq-product-ticker:hover .isq-product-ticker__track,
.isq-product-ticker:focus-within .isq-product-ticker__track,
.isq-product-ticker__viewport.is-paused .isq-product-ticker__track,
.isq-product-ticker__viewport.is-offscreen .isq-product-ticker__track {
	animation-play-state: paused;
}

@keyframes isq-product-ticker-scroll {
	to { transform: translateX(-100%); }
}

.isq-product-ticker__toggle {
	background: transparent;
	border: 1px solid rgb(255 255 255 / 45%);
	border-radius: 999px;
	color: var(--isq-colour-white);
	font-size: 0.625rem;
	letter-spacing: 0.06em;
	min-height: 1.75rem;
	padding: 0.2rem 0.55rem;
}

.isq-product-proof {
	background: var(--isq-colour-white);
	border-bottom: 1px solid var(--isq-product-line);
	padding-block: var(--isq-space-6);
}

.isq-product-proof__grid {
	display: grid;
	gap: var(--isq-space-6);
	grid-template-columns: repeat(4, 1fr);
}

.isq-product-proof__item {
	align-items: flex-start;
	display: flex;
	gap: var(--isq-space-3);
}

.isq-product-proof__item h2 {
	color: var(--isq-product-ink);
	font-size: 0.8125rem;
	line-height: 1.35;
	margin-bottom: var(--isq-space-1);
}

.isq-product-proof__item p {
	color: var(--isq-product-muted);
	font-size: 0.75rem;
	line-height: 1.55;
	margin-bottom: 0;
}

.isq-product-icon {
	align-items: center;
	background: rgb(245 202 65 / 18%);
	border-radius: 0.65rem;
	color: var(--isq-product-gold);
	display: inline-flex;
	flex: 0 0 auto;
	height: 2.65rem;
	justify-content: center;
	width: 2.65rem;
}

.isq-product-icon svg {
	fill: none;
	height: 1.35rem;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
	width: 1.35rem;
}

.isq-product-section {
	background: var(--isq-product-cream);
	border-bottom: 1px solid var(--isq-product-line);
	padding-block: clamp(4rem, 7vw, 7rem);
}

.isq-product-section--warm {
	background: var(--isq-product-warm);
}

.isq-product-section--surface {
	background: var(--isq-colour-white);
}

.isq-product-heading {
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
	max-width: 48rem;
}

.isq-product-heading .isq-product-display {
	margin-bottom: 0;
}

.isq-product-editorial,
.isq-product-output,
.isq-product-value {
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.isq-product-editorial {
	align-items: center;
}

.isq-product-editorial__body,
.isq-product-value > p {
	color: var(--isq-product-muted);
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.75;
}

.isq-product-flow {
	align-items: stretch;
	display: grid;
	gap: var(--isq-space-3);
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
	list-style: none;
	margin: var(--isq-space-6) 0 0;
	padding: 0;
}

.isq-product-flow__stage {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-product-line);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	display: flex;
	flex-direction: column;
	gap: var(--isq-space-2);
	min-width: 0;
	padding: var(--isq-space-4);
}

.isq-product-flow__index {
	color: var(--isq-colour-purple);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	letter-spacing: 0.1em;
}

.isq-product-flow__icon,
.isq-product-flow__avatar {
	align-items: center;
	background: rgb(122 42 144 / 8%);
	border-radius: 50%;
	color: var(--isq-colour-purple);
	display: inline-flex;
	height: 2.5rem;
	justify-content: center;
	width: 2.5rem;
}

.isq-product-flow__icon svg {
	fill: none;
	height: 1.25rem;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
	width: 1.25rem;
}

.isq-product-flow__avatar {
	background: var(--isq-colour-white);
	font-family: var(--isq-product-serif);
	font-size: 1.25rem;
	font-style: italic;
}

.isq-product-flow__stage strong {
	color: var(--isq-product-ink);
	font-size: var(--isq-font-size-small);
}

.isq-product-flow__lines,
.isq-product-flow__document {
	display: grid;
	gap: var(--isq-space-1);
	margin-top: auto;
}

.isq-product-flow__lines i,
.isq-product-flow__document i {
	background: var(--isq-product-line);
	border-radius: 999px;
	display: block;
	height: var(--isq-space-1);
	width: 100%;
}

.isq-product-flow__lines i:nth-child(2),
.isq-product-flow__document i:nth-child(2) {
	width: 74%;
}

.isq-product-flow__lines i:nth-child(3),
.isq-product-flow__document i:nth-child(3) {
	width: 52%;
}

.isq-product-flow__connector {
	align-items: center;
	color: var(--isq-colour-purple);
	display: flex;
	justify-content: center;
}

.isq-product-flow__connector svg {
	fill: none;
	height: 1.25rem;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
	width: 1.25rem;
}

.isq-product-flow__stage--track {
	background: linear-gradient(135deg, var(--isq-colour-purple), var(--isq-colour-purple-hover));
	border-color: transparent;
	box-shadow: 0 12px 28px rgb(122 42 144 / 18%);
}

.isq-product-flow__stage--track .isq-product-flow__index {
	color: var(--isq-colour-yellow);
}

.isq-product-flow__stage--track strong {
	color: var(--isq-colour-white);
}

.isq-product-flow__wave {
	align-items: center;
	display: flex;
	gap: 3px;
	height: 1.25rem;
	margin-top: auto;
}

.isq-product-flow__wave i {
	background: var(--isq-colour-yellow);
	border-radius: 999px;
	display: block;
	height: 45%;
	width: var(--isq-space-1);
}

.isq-product-flow__wave i:nth-child(2n) {
	height: 80%;
}

.isq-product-flow__wave i:nth-child(3n) {
	height: 100%;
}

.isq-product-steps {
	counter-reset: product-step;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
}

.isq-product-steps li {
	border-left: 1px solid var(--isq-product-line);
	display: grid;
	gap: var(--isq-space-5);
	grid-template-columns: auto 1fr;
	padding: var(--isq-space-5);
}

.isq-product-steps li:last-child {
	border-right: 1px solid var(--isq-product-line);
}

.isq-product-steps__number,
.isq-product-benefits article > span {
	color: var(--isq-colour-purple);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.6875rem;
	letter-spacing: 0.1em;
}

.isq-product-steps h3,
.isq-product-benefits h3 {
	color: var(--isq-product-ink);
	font-size: 1rem;
	margin-bottom: var(--isq-space-3);
}

.isq-product-steps p,
.isq-product-benefits p {
	color: var(--isq-product-muted);
	font-size: var(--isq-font-size-small);
	line-height: 1.65;
	margin-bottom: 0;
}

.isq-product-output {
	align-items: center;
}

.isq-product-output > div > p {
	color: var(--isq-product-muted);
	line-height: 1.7;
}

.isq-product-checks {
	list-style: none;
	margin: var(--isq-space-6) 0 0;
	padding: 0;
}

.isq-product-checks li {
	align-items: center;
	border-bottom: 1px solid var(--isq-product-line);
	display: flex;
	font-size: var(--isq-font-size-small);
	gap: var(--isq-space-3);
	padding-block: var(--isq-space-3);
}

.isq-product-checks li::before {
	align-items: center;
	background: var(--isq-product-good-soft);
	border-radius: 0.4rem;
	color: var(--isq-product-good);
	content: "✓";
	display: inline-flex;
	font-size: 0.75rem;
	height: 1.35rem;
	justify-content: center;
	width: 1.35rem;
}

.isq-product-document {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-product-line);
	border-radius: 1.25rem;
	box-shadow: 0 15px 44px rgb(122 42 144 / 10%);
	overflow: hidden;
}

.isq-product-document header {
	background: linear-gradient(135deg, var(--isq-colour-purple), var(--isq-colour-purple-hover));
	color: var(--isq-colour-white);
	padding: var(--isq-space-4) var(--isq-space-5);
}

.isq-product-document header p {
	color: var(--isq-colour-yellow);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	letter-spacing: 0.11em;
	margin-bottom: var(--isq-space-1);
	text-transform: uppercase;
}

.isq-product-document header span {
	font-size: 0.8125rem;
}

.isq-product-document > div {
	padding: var(--isq-space-5);
}

.isq-product-document > div > p {
	font-size: 0.8125rem;
	line-height: 1.75;
}

.isq-product-document ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--isq-space-2);
	list-style: none;
	margin: var(--isq-space-4) 0;
	padding: 0;
}

.isq-product-document li {
	background: rgb(122 42 144 / 8%);
	border-radius: 0.35rem;
	color: var(--isq-colour-purple);
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	letter-spacing: 0.06em;
	padding: 0.3rem 0.55rem;
	text-transform: uppercase;
}

.isq-product-document li:first-child {
	background: var(--isq-product-good-soft);
	color: var(--isq-product-good);
}

.isq-product-document small {
	color: var(--isq-product-muted);
	display: block;
	font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
	font-size: 0.625rem;
	text-align: right;
}

.isq-product-benefits {
	display: grid;
	gap: var(--isq-space-4);
	grid-template-columns: repeat(6, 1fr);
}

.isq-product-benefits article {
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-product-line);
	border-radius: var(--isq-radius-card);
	box-shadow: var(--isq-shadow-card);
	grid-column: span 2;
	min-height: 17rem;
	padding: var(--isq-space-5);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.isq-product-benefits article:nth-child(n+4) {
	grid-column: span 3;
	min-height: 14rem;
}

.isq-product-benefits article:hover {
	border-color: rgb(122 42 144 / 35%);
	box-shadow: var(--isq-shadow-card-hover);
	transform: translateY(-3px);
}

.isq-product-benefits article > span {
	display: block;
	margin-bottom: var(--isq-space-7);
}

.isq-product-video {
	background: var(--isq-product-warm);
	border: 1px solid var(--isq-product-line);
	border-radius: 1.25rem;
	box-shadow: 0 16px 50px rgb(27 16 32 / 8%);
	overflow: hidden;
	padding: var(--isq-space-3);
}

.isq-product-video .hs-video-widget {
	border-radius: 0.8rem;
	overflow: hidden;
}

.isq-product-value {
	align-items: end;
}

.isq-product-value .isq-product-display {
	margin-bottom: 0;
}

.isq-product-pricing {
	align-items: end;
	background: var(--isq-colour-white);
	border: 1px solid var(--isq-product-line);
	border-radius: 1.25rem;
	box-shadow: var(--isq-shadow-card);
	display: grid;
	gap: var(--isq-space-6);
	grid-template-columns: 1fr auto;
	overflow: hidden;
	padding: var(--isq-space-5);
}

.isq-product-pricing table {
	border: 0;
	margin: 0;
}

.isq-product-pricing th,
.isq-product-pricing td {
	border-color: var(--isq-product-line);
	font-size: var(--isq-font-size-small);
	padding: var(--isq-space-3) var(--isq-space-4);
}

.isq-product-pricing th {
	color: var(--isq-product-ink);
}

.isq-product-trust {
	background: linear-gradient(135deg, var(--isq-colour-purple-hover), var(--isq-colour-purple));
	color: var(--isq-colour-white);
	padding-block: clamp(4rem, 7vw, 7rem);
}

.isq-product-trust .isq-product-eyebrow,
.isq-product-trust .isq-product-display,
.isq-product-trust .isq-product-display span {
	color: var(--isq-colour-white);
}

.isq-product-trust .isq-product-eyebrow {
	opacity: 0.72;
}

.isq-product-trust .isq-product-display span {
	opacity: 0.65;
}

.isq-product-trust__grid {
	display: grid;
	gap: var(--isq-space-4);
	grid-template-columns: repeat(4, 1fr);
}

.isq-product-trust__grid article {
	background: rgb(255 255 255 / 8%);
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: var(--isq-radius-card);
	padding: var(--isq-space-5);
}

.isq-product-trust__grid .isq-product-icon {
	margin-bottom: var(--isq-space-6);
}

.isq-product-trust__grid h3 {
	color: var(--isq-colour-white);
	font-size: 1rem;
	margin-bottom: var(--isq-space-3);
}

.isq-product-trust__grid p {
	color: rgb(255 255 255 / 72%);
	font-size: var(--isq-font-size-small);
	line-height: 1.65;
	margin-bottom: 0;
}

.isq-product-cta {
	background: var(--isq-product-cream);
	padding-block: clamp(3.5rem, 6vw, 6rem);
}

.isq-product-cta__inner {
	align-items: center;
	display: flex;
	gap: var(--isq-space-7);
	justify-content: space-between;
}

.isq-product-cta .isq-product-display {
	margin-bottom: 0;
}

@media (max-width: 1099px) {
	.isq-product-hero__inner {
		grid-template-columns: 1fr;
	}

	.isq-product-hero__content {
		max-width: 43rem;
	}

	.isq-product-hero__showcase {
		margin-inline: auto;
		max-width: 42rem;
		width: 100%;
	}

	.isq-product-proof__grid,
	.isq-product-trust__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 991px) {
	.isq-product-steps {
		grid-template-columns: 1fr;
	}

	.isq-product-steps li,
	.isq-product-steps li:last-child {
		border: 0;
		border-top: 1px solid var(--isq-product-line);
	}

	.isq-product-steps li:last-child {
		border-bottom: 1px solid var(--isq-product-line);
	}

	.isq-product-editorial,
	.isq-product-output,
	.isq-product-value {
		grid-template-columns: 1fr;
	}

	.isq-product-benefits {
		grid-template-columns: repeat(2, 1fr);
	}

	.isq-product-benefits article,
	.isq-product-benefits article:nth-child(n+4) {
		grid-column: span 1;
		min-height: 0;
	}

	.isq-product-benefits article:last-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 699px) {
	.isq-product-display {
		font-size: clamp(2.5rem, 12vw, 3.5rem);
	}

	.isq-product-hero__inner {
		min-height: 0;
		padding-block: var(--isq-space-7);
	}

	.isq-product-hero__title {
		font-size: clamp(3.25rem, 15vw, 4.5rem);
	}

	.isq-product-hero__title > span {
		white-space: normal;
	}

	.isq-product-hero__title small {
		font-size: 0.48em;
	}

	.isq-product-clarifier {
		align-items: flex-start;
		border-radius: var(--isq-radius-card);
	}

	.isq-product-login {
		position: static;
	}

	.isq-product-hero__showcase {
		display: flex;
		flex-direction: column;
		gap: var(--isq-space-4);
		padding-top: 0;
	}

	.isq-product-chat__card {
		padding: var(--isq-space-3);
	}

	.isq-product-chat__bubble {
		font-size: 0.75rem;
	}

	.isq-product-chat__draft-body {
		font-size: 0.6875rem;
	}

	.isq-product-ticker {
		flex-direction: column;
	}

	.isq-product-ticker__lead {
		justify-content: space-between;
	}

	.isq-product-proof__grid,
	.isq-product-trust__grid,
	.isq-product-benefits {
		grid-template-columns: 1fr;
	}

	.isq-product-benefits article:last-child {
		grid-column: auto;
	}

	.isq-product-flow {
		grid-template-columns: 1fr;
	}

	.isq-product-flow__connector {
		min-height: var(--isq-space-6);
	}

	.isq-product-flow__connector svg {
		transform: rotate(90deg);
	}

	.isq-product-pricing {
		align-items: stretch;
		grid-template-columns: 1fr;
		padding: var(--isq-space-3);
	}

	.isq-product-pricing th,
	.isq-product-pricing td {
		font-size: 0.75rem;
		padding-inline: var(--isq-space-2);
	}

	.isq-product-cta__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.isq-product-button,
	.isq-product-benefits article {
		transition: none;
	}

	.isq-product-button:hover,
	.isq-product-button:hover span,
	.isq-product-benefits article:hover {
		transform: none;
	}

	.isq-product-chat__wave i {
		animation: none;
		transform: scaleY(1.5);
	}

	html.has-js .isq-product-chat .isq-product-chat__item {
		opacity: 1;
		transform: none;
		transition: none;
	}

	html.has-js .isq-product-ticker__track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		min-width: 0;
		width: 100%;
	}

	html.has-js .isq-product-ticker__track[aria-hidden="true"],
	.isq-product-ticker__toggle {
		display: none;
	}
}
