/* ==========================================================================
   Quotient Therapeutics — theme styles
   Tokens and components rebuilt from quotient-tx.com.
   Layout sections are Elementor containers carrying the q-* classes below.
   ========================================================================== */

/* ---------- Brand font (licensed: drop the client's woff2 files in assets/fonts) ---------- */
@font-face { font-family: "FFF Acid Grotesk"; src: url("../fonts/FFF-AcidGrotesk-Book.woff2") format("woff2"); font-weight: 350; font-style: normal; font-display: swap; }
@font-face { font-family: "FFF Acid Grotesk"; src: url("../fonts/FFF-AcidGrotesk-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "FFF Acid Grotesk"; src: url("../fonts/FFF-AcidGrotesk-Bold.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }

/* ---------- Tokens ---------- */
:root {
	--q-dark: #0c2b1a;
	--q-mid: #015a44;
	--q-green: #007862;          /* links, labels */
	--q-accent: #33c592;         /* bright green */
	--q-accent-light: #85dcbe;
	--q-light: #f0f9f0;          /* card background */
	--q-light-2: #f2fff2;
	--q-gray: #666666;
	--q-gray-light: #bbbbbb;
	--q-inactive: #ababab;
	--q-border: #c9c9c9;
	--q-red: #d15550;

	--q-font: "FFF Acid Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--q-radius: 8px;
	--q-grout: 8px;
	--q-max: 1920px;
	--q-ease: cubic-bezier(0.4, 0, 0.2, 1);

	--step--1: clamp(0.8331rem, 0.8197rem + 0.0669vw, 0.9000rem);
	--step-0: clamp(1.0000rem, 0.9750rem + 0.1250vw, 1.1250rem);
	--step-1: clamp(1.2000rem, 1.1587rem + 0.2063vw, 1.4062rem);
	--step-2: clamp(1.4400rem, 1.3764rem + 0.3178vw, 1.7578rem);
	--step-4: clamp(1.8750rem, 1.7006rem + 0.8719vw, 2.7469rem);
	--step-5: clamp(2.1250rem, 1.8634rem + 1.3081vw, 3.4331rem);
	--step-6: clamp(2.3750rem, 1.9918rem + 1.9162vw, 4.2912rem);
	--step-7: clamp(2.7500rem, 2.2271rem + 2.6144vw, 5.3644rem);

	--space-3xs: clamp(0.2500rem, 0.2381rem + 0.0595vw, 0.3125rem);
	--space-2xs: clamp(0.5000rem, 0.4881rem + 0.0595vw, 0.5625rem);
	--space-xs: clamp(0.7500rem, 0.7262rem + 0.1190vw, 0.8750rem);
	--space-s: clamp(1.0000rem, 0.9762rem + 0.1190vw, 1.1250rem);
	--space-m: clamp(1.5000rem, 1.4643rem + 0.1786vw, 1.6875rem);
	--space-l: clamp(2.0000rem, 1.9524rem + 0.2381vw, 2.2500rem);
	--space-xl: clamp(3.0000rem, 2.9286rem + 0.3571vw, 3.3750rem);
	--space-2xl: clamp(4.0000rem, 3.9048rem + 0.4762vw, 4.5000rem);
	--space-3xs-2xs: clamp(0.2500rem, 0.1905rem + 0.2976vw, 0.5625rem);
	--space-2xs-xs: clamp(0.5000rem, 0.4286rem + 0.3571vw, 0.8750rem);
	--space-xs-s: clamp(0.7500rem, 0.6786rem + 0.3571vw, 1.1250rem);
	--space-s-m: clamp(1.0000rem, 0.8690rem + 0.6548vw, 1.6875rem);
	--space-s-l: clamp(1.0000rem, 0.7619rem + 1.1905vw, 2.2500rem);
	--space-m-l: clamp(1.5000rem, 1.3571rem + 0.7143vw, 2.2500rem);
	--space-m-xl: clamp(1.5000rem, 1.1429rem + 1.7857vw, 3.3750rem);
	--space-l-xl: clamp(2.0000rem, 1.7381rem + 1.3095vw, 3.3750rem);
	--space-2xl-3xl: clamp(4.0000rem, 3.4762rem + 2.6190vw, 6.7500rem);
	--space-min-m: 1.5rem;

	--q-pad: var(--space-m-xl);    /* standard side gutter */
	--q-pad-wide: var(--space-s);  /* gutter for full-bleed card rows */
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body.quotient {
	margin: 0;
	background: #fff;
	color: var(--q-gray);
	font-family: var(--q-font);
	font-size: var(--step-0);
	font-weight: 350;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body.quotient.q-dark { background: var(--q-dark); }
body.quotient :is(h1, h2, h3, h4, h5, h6) { font-family: var(--q-font); font-weight: 350; margin: 0; color: inherit; }
body.quotient :is(p, ul, ol, figure, blockquote) { margin: 0; }
body.quotient img { max-width: 100%; height: auto; display: block; }
body.quotient a { color: inherit; text-decoration: none; transition: color .3s var(--q-ease), background-color .3s var(--q-ease), border-color .3s var(--q-ease); }
body.quotient strong, body.quotient b { font-weight: 400; color: var(--q-dark); }
body.quotient :focus-visible { outline: 2px solid var(--q-accent); outline-offset: 4px; }
body.quotient ::selection { background: var(--q-accent-light); color: var(--q-dark); }
.screen-reader-text, .q-sr, .q-sr .elementor-heading-title {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link.screen-reader-text:focus { clip: auto; width: auto; height: auto; z-index: 100000; padding: 1rem; background: #fff; color: var(--q-dark); left: 1rem; top: 1rem; }
body.quotient .site-main, body.quotient .page-content { margin: 0; max-width: none; padding: 0; }

/* ---------- Elementor neutralising (our classes own spacing & layout) ---------- */
body.quotient { --container-default-padding-top: 0px; --container-default-padding-right: 0px; --container-default-padding-bottom: 0px; --container-default-padding-left: 0px; }
body.quotient .elementor .e-con[class*="q-"],
body.quotient .elementor-location-header .e-con[class*="q-"],
body.quotient .elementor-location-footer .e-con[class*="q-"] {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px; --widgets-spacing: 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
	--margin-top: 0px; --margin-bottom: 0px; --border-radius: 0;
	max-width: none;
}
body.quotient .elementor-widget { --kit-widget-spacing: 0px; margin-block-end: 0; }
body.quotient .elementor-widget:not(:last-child) { margin-block-end: 0; }
body.quotient .elementor-widget-heading .elementor-heading-title,
body.quotient .elementor-widget-text-editor { font-family: var(--q-font); font-weight: 350; color: inherit; }
body.quotient .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.quotient .elementor-widget-image img { border-radius: 0; }
body.quotient .elementor-widget-shortcode .elementor-shortcode { display: contents; }

/* ---------- Typography utilities (put on Elementor widgets) ---------- */
body.quotient :is(.q-t-7, .q-t-7 :is(.elementor-heading-title, p, a)) { font-size: var(--step-7); line-height: 1.05; letter-spacing: -0.0125em; }
body.quotient :is(.q-t-6, .q-t-6 :is(.elementor-heading-title, p, a)) { font-size: var(--step-6); line-height: 1.05; letter-spacing: -0.02025em; }
body.quotient :is(.q-t-5, .q-t-5 :is(.elementor-heading-title, p, a)) { font-size: var(--step-5); line-height: 1.05; letter-spacing: -0.01763em; }
body.quotient :is(.q-t-4, .q-t-4 :is(.elementor-heading-title, p, a)) { font-size: var(--step-4); line-height: 1.15; letter-spacing: 0; }
body.quotient :is(.q-t-2, .q-t-2 :is(.elementor-heading-title, p, a)) { font-size: var(--step-2); line-height: 1.25; }
body.quotient :is(.q-t-1, .q-t-1 :is(.elementor-heading-title, p, a)) { font-size: var(--step-1); line-height: 1.25; }
body.quotient :is(.q-t-0, .q-t-0 :is(.elementor-heading-title, p, a)) { font-size: var(--step-0); line-height: 1.5; }
body.quotient :is(.q-t--1, .q-t--1 :is(.elementor-heading-title, p, a)) { font-size: var(--step--1); line-height: 1.5; }

body.quotient :is(.q-c-dark, .q-c-dark :is(.elementor-heading-title, p, h1, h2, h3, h4)) { color: var(--q-dark); }
body.quotient :is(.q-c-green, .q-c-green :is(.elementor-heading-title, p, h1, h2, h3, h4)) { color: var(--q-green); }
body.quotient :is(.q-c-accent, .q-c-accent :is(.elementor-heading-title, p, h1, h2, h3, h4)) { color: var(--q-accent); }
body.quotient :is(.q-c-white, .q-c-white :is(.elementor-heading-title, p, h1, h2, h3, h4)) { color: #fff; }
body.quotient :is(.q-c-gray, .q-c-gray :is(.elementor-heading-title, p, h1, h2, h3, h4)) { color: var(--q-gray); }
body.quotient :is(.q-c-muted, .q-c-muted p) { color: var(--q-gray-light); }
body.quotient .q-body p + p, body.quotient .q-body p + .q-link, body.quotient .q-body p + p > .q-link { margin-top: var(--space-xs-s); }

/* ---------- Links with arrow / mail icon ---------- */
body.quotient .q-link,
body.quotient .q-body a.q-link {
	display: inline-flex; align-items: center; gap: 8px; color: var(--q-green);
	font-size: var(--step-0); line-height: 1.5; padding-bottom: 0.1em; text-decoration: none;
}
body.quotient .q-link::after {
	content: ""; flex: 0 0 auto; width: 20px; height: 20px; background: currentColor;
	-webkit-mask: url("../svg/arrow.svg") center / contain no-repeat; mask: url("../svg/arrow.svg") center / contain no-repeat;
	transition: transform .3s var(--q-ease);
}
body.quotient .q-link:hover { color: var(--q-dark); }
body.quotient .q-link:hover::after { transform: translateX(3px); }
body.quotient .q-link--mail::after { display: none; }
body.quotient .q-link--mail { gap: 7px; }
body.quotient .q-link--mail::before {
	content: ""; flex: 0 0 auto; width: 17px; height: 17px; background: currentColor;
	-webkit-mask: url("../svg/mail.svg") center / contain no-repeat; mask: url("../svg/mail.svg") center / contain no-repeat;
}
body.quotient .q-link .q-link__icon { display: none; } /* helper markup: icons come from CSS */
body.quotient :is(.q-on-dark, .q-dark-section) .q-link { color: var(--q-accent); }
body.quotient :is(.q-on-dark, .q-dark-section) .q-link:hover { color: #fff; }

/* ---------- Header ---------- */
body.quotient .q-header {
	position: relative; z-index: 40;
	--display: flex; --flex-direction: row; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: var(--space-s);
	padding: var(--space-m-xl); max-width: var(--q-max); margin: 0 auto; box-sizing: border-box; width: 100%;
	color: var(--q-dark);
}
body.quotient .q-header__inner { display: contents; }
body.quotient .elementor-location-header { position: relative; z-index: 40; }
body.quotient.q-header-light .q-header,
body.quotient.q-header-light .elementor-location-header { position: absolute; top: 0; left: 0; right: 0; }
body.quotient.q-header-light .elementor-location-header .q-header { position: relative; }
body.quotient.q-header-light .q-header { color: #fff; }
body.quotient .q-logo { display: inline-flex; color: inherit; line-height: 0; position: relative; z-index: 41; }
body.quotient .q-logo:hover { color: inherit; opacity: .85; }
body.quotient .q-logo__svg { width: 181px; height: 26px; fill: currentColor; }

body.quotient .q-nav { display: flex; align-items: center; }
body.quotient .q-nav__pill {
	display: flex; gap: var(--space-3xs); list-style: none; margin: 0; padding: 0;
	border-radius: 9999px; background: var(--q-light); color: var(--q-green);
}
body.quotient.q-header-light .q-nav__pill { background: rgba(255, 255, 255, .15); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); color: #fff; }
body.quotient .q-nav__pill a {
	display: flex; padding: .4375rem 1.5rem; border-radius: 9999px;
	font-size: var(--step--1); line-height: 1.5; color: inherit; white-space: nowrap;
}
body.quotient .q-nav__pill a:hover,
body.quotient .q-nav__pill a:focus-visible,
body.quotient .q-nav__pill a[aria-current="page"] { background: var(--q-accent); color: var(--q-dark); }

body.quotient .q-menu-toggle {
	display: none; position: relative; z-index: 41; cursor: pointer;
	border: 0; border-radius: 9999px; padding: .34375rem 1rem; font: inherit; font-size: var(--step--1); line-height: 1.5;
	background: var(--q-light); color: var(--q-green);
}
body.quotient.q-header-light .q-menu-toggle { background: rgba(255, 255, 255, .15); color: #fff; }
body.quotient .q-menu-toggle__close { display: none; }
body.quotient .q-mobile-menu[hidden] { display: none; }
body.quotient .q-mobile-menu {
	position: fixed; inset: 0 0 auto 0; height: 100svh; z-index: 30;
	display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-s-m);
	padding: var(--space-m-xl); box-sizing: border-box; overflow-y: auto;
	background: var(--q-accent); color: var(--q-dark);
}
body.quotient .q-mobile-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-xs-s); }
body.quotient .q-mobile-menu__primary a { font-size: var(--step-6); line-height: 1.05; letter-spacing: -0.02em; color: var(--q-dark); }
body.quotient .q-mobile-menu__secondary a { font-size: var(--step-1); line-height: 1.25; color: var(--q-dark); }
body.quotient .q-mobile-menu a:hover, body.quotient .q-mobile-menu a[aria-current="page"] { color: #fff; }
body.quotient.q-nav-open { overflow: hidden; }
body.quotient.q-nav-open .q-header { color: var(--q-dark); }
body.quotient.q-nav-open .q-menu-toggle { background: var(--q-light); color: var(--q-green); }
body.quotient.q-nav-open .q-menu-toggle__open { display: none; }
body.quotient.q-nav-open .q-menu-toggle__close { display: inline; }

@media (max-width: 1023px) {
	body.quotient .q-nav__pill { display: none; }
	body.quotient .q-menu-toggle { display: block; }
}
@media (min-width: 1024px) {
	body.quotient .q-mobile-menu { display: none !important; }
}

/* ---------- Footer ---------- */
body.quotient .q-footer { background: var(--q-dark); color: #fff; padding-top: var(--q-grout); }
body.quotient.q-dark .q-footer { position: relative; }
body.quotient.q-dark .q-footer::before { content: ""; position: absolute; top: 0; left: var(--q-pad-wide); right: var(--q-pad-wide); height: 1px; background: rgba(51, 197, 146, .55); }
body.quotient .q-footer__top,
body.quotient .q-footer__bottom {
	display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--q-grout);
	max-width: var(--q-max); margin: 0 auto; padding-inline: var(--q-pad); box-sizing: border-box; width: 100%;
}
body.quotient .q-footer__top { padding-block: var(--space-xl) var(--space-2xl-3xl); align-items: start; }
body.quotient .q-footer__mark { grid-column: 1 / span 6; width: 100%; max-width: 10rem; }
body.quotient .q-footer__cols { grid-column: 7 / span 6; --display: grid; display: grid; align-items: start; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--q-grout); }
body.quotient .q-footer__cols > .elementor-element { width: auto; }
body.quotient .q-footer-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; align-content: start; }
body.quotient .q-footer-menu a { display: inline-flex; align-items: center; gap: 8px; color: var(--q-accent); font-size: var(--step-0); line-height: 1.5; }
body.quotient .q-footer-menu a:hover { color: #fff; }
body.quotient .q-footer-menu__icon { width: 17px; height: 17px; }
body.quotient .q-footer__bottom { padding-block: var(--space-xl) var(--space-m-xl); align-items: end; row-gap: var(--space-s); }
body.quotient .q-footer__brand { grid-column: 1 / span 6; }
body.quotient .q-footer__brand .q-logo { color: #fff; }
body.quotient .q-footer__brand p, body.quotient .q-footer__brand .elementor-widget-text-editor { color: #fff; font-size: var(--step--1); line-height: 1.5; margin-top: var(--q-grout); }
body.quotient .q-footer__legal { grid-column: 7 / span 4; --display: flex; --flex-direction: row; display: flex; flex-direction: row; flex-wrap: wrap; gap: 0 var(--space-s); align-items: baseline; color: #fff; font-size: var(--step--1); line-height: 1.5; }
body.quotient .q-footer__legal p { display: inline; }
body.quotient .q-footer__legal p + p { margin: 0; }
body.quotient .q-footer__legal a { color: var(--q-accent); }
body.quotient .q-footer__legal a:hover { color: #fff; }
body.quotient .q-social { grid-column: 11 / span 2; justify-self: end; display: flex; gap: var(--space-xs); list-style: none; margin: 0; padding: 0; }
body.quotient .q-social a { display: flex; color: var(--q-accent); }
body.quotient .q-social a:hover { color: #fff; }
body.quotient .q-social svg { width: 20px; height: 20px; }
body.quotient .q-footer .elementor-widget-shortcode.q-social-wrap { grid-column: 11 / span 2; justify-self: end; }

@media (max-width: 1023px) {
	body.quotient .q-footer__mark { grid-column: 1 / -1; max-width: 6rem; margin-bottom: var(--space-l); }
	body.quotient .q-footer__cols { grid-column: 1 / -1; }
	body.quotient .q-footer__brand, body.quotient .q-footer__legal { grid-column: 1 / -1; }
	body.quotient .q-social, body.quotient .q-footer .elementor-widget-shortcode.q-social-wrap { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 599px) {
	body.quotient .q-footer__cols { grid-template-columns: 1fr 1fr; row-gap: var(--space-m); }
}

/* ---------- Lottie & play buttons ---------- */
body.quotient .q-lottie { line-height: 0; }
body.quotient .q-lottie svg { display: block; }
body.quotient .q-lottie--footer { width: 100%; aspect-ratio: 1; }
body.quotient .q-play {
	position: absolute; z-index: 10; right: var(--space-m-xl); bottom: var(--space-m-xl);
	width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: 9999px; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .15); color: #fff; transition: background-color .3s var(--q-ease);
}
body.quotient .q-play:hover { background: rgba(255, 255, 255, .3); }
body.quotient .q-play__play { display: none; }
body.quotient .q-play[aria-pressed="true"] .q-play__pause { display: none; }
body.quotient .q-play[aria-pressed="true"] .q-play__play { display: inline-flex; }
body.quotient .q-play__pause { display: inline-flex; }

/* ---------- Home hero ---------- */
body.quotient .e-con.q-home-hero,
body.quotient .q-home-hero {
	--display: flex; --flex-direction: column; --justify-content: flex-end;
	display: flex; flex-direction: column; justify-content: flex-end;
	position: relative; overflow: hidden; min-height: 100svh; box-sizing: border-box;
	padding: calc(var(--space-m-xl) * 2 + 26px) var(--q-pad) var(--space-m-xl);
	background: var(--q-dark); color: #fff;
}
body.quotient .q-home-hero > .q-hero-anim { position: absolute; inset: 0; z-index: 0; width: auto; max-width: none; }
body.quotient .q-lottie--hero {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	width: max(100%, 160svh); aspect-ratio: 1440 / 900; pointer-events: none;
}
@media (orientation: portrait) {
	body.quotient .q-lottie--hero { top: auto; bottom: 0; transform: translateX(-50%); width: 160vh; height: 100svh; aspect-ratio: auto; }
}
body.quotient .q-home-hero > .elementor-widget-heading { position: relative; z-index: 1; max-width: 1630px; padding-right: 4rem; }
body.quotient .q-hero-l1 .elementor-heading-title { color: #fff; font-size: var(--step-7); line-height: 1.05; letter-spacing: -0.0125em; }
body.quotient .q-hero-l2 .elementor-heading-title { color: #fff; font-size: var(--step-6); line-height: 1.05; letter-spacing: -0.02025em; }

/* ---------- Feature cards (home) ---------- */
body.quotient .e-con.q-features {
	--display: grid; display: grid; gap: var(--q-grout);
	max-width: var(--q-max); margin: 0 auto; padding: 0 var(--q-pad-wide); box-sizing: border-box; background: var(--q-dark);
}
body.quotient .e-con.q-feature { --display: grid; display: grid; grid-template-columns: 1fr; gap: var(--q-grout); }
body.quotient .e-con.q-feature__text {
	--display: flex; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-3xs-2xs);
	background: var(--q-light); border-radius: var(--q-radius); padding: var(--space-s-l); padding-bottom: var(--space-2xl-3xl); box-sizing: border-box;
}
body.quotient .q-feature__text > .elementor-element { max-width: 100%; }
body.quotient .q-feature__media, body.quotient .q-feature__media .elementor-widget-container { height: 100%; }
body.quotient .q-feature__media img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--q-radius); }
@media (min-width: 1024px) {
	body.quotient .e-con.q-feature { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.quotient .e-con.q-feature__text { aspect-ratio: 1; padding-bottom: var(--space-s-l); }
	body.quotient .q-feature__text > .elementor-element { max-width: 66.666%; }
	body.quotient .q-feature--text-right .q-feature__text > .elementor-element { margin-left: 33.333%; }
}

/* ---------- Split CTA on dark ("Forging a new status Quo") ---------- */
body.quotient .e-con.q-split-cta {
	--display: grid; display: grid; grid-template-columns: 1fr; gap: var(--space-m-l) var(--q-grout);
	max-width: var(--q-max); margin: 0 auto; box-sizing: border-box;
	padding: var(--space-2xl-3xl) var(--q-pad);
	background: var(--q-dark); color: #fff;
}
body.quotient .e-con.q-split-cta__body { --display: flex; display: flex; flex-direction: column; gap: var(--space-xs-s); }
@media (min-width: 1024px) { body.quotient .e-con.q-split-cta { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Motion (video) hero ---------- */
body.quotient .e-con.q-motion-hero {
	--display: flex; display: flex; flex-direction: column; justify-content: flex-end;
	position: relative; overflow: hidden; min-height: 100svh; background: var(--q-dark);
}
body.quotient .q-motion-hero > .q-motion-hero__media { position: absolute; inset: 0; z-index: 0; max-width: none; width: auto; }
body.quotient .e-con.q-motion-hero__text {
	--display: block; display: block; position: relative; z-index: 1;
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box;
	padding: var(--space-2xl-3xl) calc(var(--q-pad) + var(--space-2xl-3xl) + 4rem) var(--space-m-xl) var(--q-pad);
}
body.quotient .q-video { position: absolute; inset: 0; margin: 0; overflow: hidden; }
body.quotient .q-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.quotient .q-video__frame { position: absolute; inset: 0; opacity: 0; transition: opacity .6s var(--q-ease); }
body.quotient .q-video__frame.is-playing { opacity: 1; }
body.quotient .q-video__frame iframe { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); border: 0; width: max(100%, 177.78vh); height: max(100%, 56.25vw); pointer-events: none; }
body.quotient .q-video--inline .q-video__frame iframe { width: 100%; height: 100%; }
body.quotient .q-video__gradient { position: absolute; inset: 0; background: linear-gradient(to top, rgba(12, 43, 26, .85) 0%, rgba(12, 43, 26, .35) 40%, rgba(12, 43, 26, 0) 70%); }

/* ---------- Page intro & statement (12-col halves) ---------- */
body.quotient .e-con.q-intro,
body.quotient .e-con.q-statement,
body.quotient .q-intro {
	--display: grid; display: grid; grid-template-columns: 1fr; gap: var(--space-m-l) var(--q-grout);
	max-width: var(--q-max); margin: 0 auto; box-sizing: border-box; width: 100%;
	padding: var(--space-2xl-3xl) var(--q-pad);
}
body.quotient .e-con.q-intro__body { --display: flex; display: flex; flex-direction: column; gap: var(--space-xs-s); }
body.quotient .q-intro__body p, body.quotient .q-statement__body p { color: var(--q-gray); }
body.quotient .q-intro__body strong { color: var(--q-dark); }
body.quotient .q-intro .q-kicker, body.quotient .q-intro .q-kicker .elementor-heading-title { color: var(--q-green); font-size: var(--step-5); line-height: 1.05; letter-spacing: -0.01763em; }
body.quotient :is(.q-intro__title, .q-intro__title .elementor-heading-title) { color: var(--q-dark); font-size: var(--step-5); line-height: 1.05; letter-spacing: -0.01763em; }
@media (min-width: 1024px) {
	body.quotient .e-con.q-intro, body.quotient .e-con.q-statement, body.quotient .q-intro { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.quotient .q-intro__head, body.quotient .q-statement__lead { padding-right: var(--space-xl); }
	body.quotient .q-intro--404 .q-intro__body { padding-left: 33.333%; }
}

/* ---------- Page title (Publications, Privacy) ---------- */
body.quotient .e-con.q-page-title {
	--display: block; display: block; max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box;
	padding: var(--space-2xl-3xl) var(--q-pad);
}

/* ---------- Full-width media ---------- */
body.quotient .e-con.q-media { --display: block; display: block; max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 var(--q-pad-wide); }
body.quotient .q-media .q-video, body.quotient .q-media__img img {
	position: relative; inset: auto; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; border-radius: var(--q-radius); background: var(--q-light);
}
body.quotient .q-media .elementor-shortcode { display: block; position: relative; }
body.quotient .q-media .q-play { right: var(--space-s-l); bottom: var(--space-s-l); }

/* ---------- Publications ---------- */
body.quotient .e-con.q-pubs-section {
	--display: block; display: block; max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box;
	padding: var(--space-2xl-3xl) var(--q-pad);
}
body.quotient .e-con.q-pubs-section__head { --display: block; display: block; padding-bottom: var(--space-l-xl); }
@media (min-width: 1024px) { body.quotient .e-con.q-pubs-section__head { width: 50%; } }
body.quotient .q-pubs-section .q-pubs-more { margin-top: var(--space-xs-s); }
body.quotient .q-pubs { list-style: none; margin: 0; padding: 0; }
body.quotient .q-pub {
	position: relative; display: grid; grid-template-columns: 1fr; gap: 0 var(--q-grout);
	padding: var(--space-2xs-xs) var(--space-s-m) var(--space-2xs-xs) 0; border-top: 1px solid var(--q-border); cursor: pointer;
}
body.quotient .q-pub__meta { color: var(--q-gray); margin-bottom: var(--space-3xs); }
body.quotient .q-pub__title { color: var(--q-green); font-weight: 400; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; }
body.quotient .q-pub__title::after { content: ""; position: absolute; inset: 0; }
body.quotient .q-pub:hover .q-pub__title { color: var(--q-dark); text-decoration-color: currentColor; }
body.quotient .q-pub__authors { color: var(--q-gray); }
body.quotient .q-pub__icon, body.quotient .q-news-item__ext, body.quotient .q-logo-row__icon {
	display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
	width: 1rem; height: 1rem; border-radius: 9999px; background: var(--q-green); color: #fff;
}
body.quotient .q-pub__icon svg, body.quotient .q-news-item__ext svg, body.quotient .q-logo-row__icon svg { width: .75rem; height: .75rem; transform: rotate(-45deg); }
body.quotient .q-pub__icon { position: absolute; right: 0; top: calc(var(--space-2xs-xs) + .3em); transition: background-color .3s var(--q-ease); }
body.quotient .q-pub:hover .q-pub__icon { background: var(--q-dark); }
@media (min-width: 768px) {
	body.quotient .q-pub { grid-template-columns: repeat(12, minmax(0, 1fr)); padding-right: 0; }
	body.quotient .q-pub__meta { grid-column: 1 / span 4; margin: 0; }
	body.quotient .q-pub__main { grid-column: 5 / span 6; }
	body.quotient .q-pub__icon { position: static; grid-column: 12; justify-self: end; margin-top: .3em; }
}

/* ---------- Recirculation cards ---------- */
body.quotient .e-con.q-recirc {
	--display: grid; display: grid; grid-template-columns: 1fr; gap: var(--q-grout);
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 var(--q-pad-wide);
}
body.quotient .e-con.q-recirc-card {
	--display: flex; display: flex; flex-direction: column; position: relative; min-height: 13.125rem; box-sizing: border-box;
	padding: var(--space-s-l); border-radius: var(--q-radius); background: var(--q-light); cursor: pointer;
	transition: background-color .3s var(--q-ease);
}
body.quotient .e-con.q-recirc-card:hover, body.quotient .e-con.q-recirc-card:focus-within { background: var(--q-accent); }
body.quotient .q-recirc-card:hover :is(.elementor-heading-title, p, a), body.quotient .q-recirc-card:focus-within :is(.elementor-heading-title, p, a) { color: var(--q-dark); }
body.quotient .q-recirc-card .q-recirc-card__text, body.quotient .q-recirc-card .q-recirc-card__text p { max-width: 464px; }
body.quotient .q-recirc-card > .q-recirc-card__link { margin-top: auto; padding-top: var(--space-min-m); }
body.quotient .q-recirc-card .q-link { display: flex; width: 100%; justify-content: space-between; }
body.quotient .q-recirc-card .q-link::before { content: ""; position: absolute; inset: 0; }
body.quotient .q-recirc-card:hover .q-link { color: var(--q-dark); }
@media (min-width: 1024px) {
	body.quotient .e-con.q-recirc { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); grid-template-columns: none; }
	body.quotient .e-con.q-recirc-card { min-height: 24.5rem; }
}

/* ---------- Split rows (Technology, Pipeline) ---------- */
body.quotient .e-con.q-splits {
	--display: grid; display: grid; gap: var(--q-grout);
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 var(--q-pad);
}
body.quotient .e-con.q-split { --display: grid; display: grid; grid-template-columns: 1fr; gap: var(--q-grout); }
body.quotient .e-con.q-split__text {
	--display: flex; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-3xs-2xs);
	background: var(--q-light); border-radius: var(--q-radius); box-sizing: border-box;
	padding: var(--space-s-l); padding-bottom: var(--space-2xl-3xl);
}
body.quotient .q-split__text .q-body p { color: var(--q-gray); }
body.quotient .q-split__media img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--q-radius); background: var(--q-light); aspect-ratio: 4 / 3; }
body.quotient .q-split--square .q-split__media img { aspect-ratio: 1; }
body.quotient .q-split__media, body.quotient .q-split__media .elementor-widget-container { height: 100%; }
@media (min-width: 1024px) {
	body.quotient .e-con.q-split { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	body.quotient .q-split > .q-split__text { grid-column: 1 / span 4; order: 1; padding-bottom: var(--space-s-l); }
	body.quotient .q-split > .q-split__media { grid-column: 5 / span 8; order: 2; }
	body.quotient .q-split--square > .q-split__media { grid-column: 1 / span 6; order: 1; }
	body.quotient .q-split--square > .q-split__text { grid-column: 7 / span 6; order: 2; aspect-ratio: 1; }
	body.quotient .q-split--square > .q-split__text > .elementor-element { max-width: 66.666%; }
}

/* ---------- Partner logo list ---------- */
body.quotient .e-con.q-logos {
	--display: block; display: block; max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box;
	padding: var(--space-2xl-3xl) var(--q-pad);
}
body.quotient .q-logos > .q-logos__heading { padding-bottom: var(--space-l-xl); }
@media (min-width: 1024px) { body.quotient .q-logos > .q-logos__heading { width: 50%; } }
body.quotient .e-con.q-logo-row {
	--display: grid; display: grid; grid-template-columns: 1fr auto; gap: 0 var(--q-grout); position: relative;
	padding: var(--space-2xs-xs) 0; border-top: 1px solid var(--q-border);
}
body.quotient .q-logo-row__logo { grid-column: 1 / -1; max-width: 220px; margin-bottom: var(--space-s-m); }
body.quotient .q-logo-row__logo img { width: 100%; aspect-ratio: 5 / 3; object-fit: contain; box-sizing: border-box; padding: var(--space-s-l); background: var(--q-light); border-radius: var(--q-radius); }
body.quotient .e-con.q-logo-row__text { --display: block; display: block; }
body.quotient .q-logo-row__name .elementor-heading-title a { color: var(--q-green); }
body.quotient .q-logo-row__name .elementor-heading-title a::after { content: ""; position: absolute; inset: 0; }
body.quotient .q-logo-row::after {
	content: ""; position: absolute; right: 0; top: calc(var(--space-2xs-xs) + .4em); width: 1rem; height: 1rem; border-radius: 9999px;
	background: var(--q-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath transform='rotate(-45 10 10)' d='M14.0833 10.7708H3V9.25H14.0833L8.91667 4.08333L10 3L17 10L10.0208 17L8.9375 15.9167L14.0833 10.7708Z'/%3E%3C/svg%3E") center / .75rem no-repeat;
	transition: background-color .3s var(--q-ease);
}
body.quotient .q-logo-row:hover::after { background-color: var(--q-dark); }
@media (min-width: 768px) {
	body.quotient .e-con.q-logo-row { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	body.quotient .q-logo-row__logo { grid-column: 1 / span 4; margin-bottom: var(--space-s-m); }
	body.quotient .q-logo-row__text { grid-column: 5 / span 5; }
}

/* ---------- Careers: testimonials ---------- */
body.quotient .e-con.q-testimonials {
	--display: grid; display: grid; grid-template-columns: 1fr; gap: var(--q-grout);
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 var(--q-pad);
}
body.quotient .e-con.q-quote {
	--display: flex; display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-l-xl);
	background: var(--q-dark); color: #fff; border-radius: var(--q-radius); padding: var(--space-s-l); box-sizing: border-box;
}
body.quotient .q-quote__text p { color: #fff; }
body.quotient .q-quote__text em { font-style: normal; color: var(--q-accent); }
body.quotient .e-con.q-quote__cite { --display: flex; display: flex; flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 1.5rem; }
body.quotient .q-quote__who p { color: #fff; margin: 0; }
body.quotient .q-quote__photo img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--q-radius); background: var(--q-light); }
body.quotient .q-testimonials__img img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--q-radius); aspect-ratio: 4 / 3; }
body.quotient .q-testimonials__img, body.quotient .q-testimonials__img .elementor-widget-container { height: 100%; }
@media (min-width: 1024px) {
	body.quotient .e-con.q-testimonials { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); }
	body.quotient .q-testimonials > .q-quote--big { grid-column: 1 / span 8; grid-row: 1 / span 2; aspect-ratio: 1232 / 1188; }
	body.quotient .q-testimonials > .q-quote--small { grid-column: 9 / span 4; grid-row: 1; }
	body.quotient .q-testimonials > .q-testimonials__img { grid-column: 9 / span 4; grid-row: 2; }
	body.quotient .q-testimonials__img img { aspect-ratio: auto; }
}

/* ---------- Careers: jobs ---------- */
body.quotient .e-con.q-jobs-section {
	--display: block; display: block; max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box;
	padding: var(--space-2xl-3xl) var(--q-pad); scroll-margin-top: 2rem;
}
body.quotient .q-jobs-section .q-jobs { margin-top: var(--space-l-xl); }
body.quotient .q-jobs__list { list-style: none; margin: var(--space-xs) 0 0; padding: 0; display: flex; flex-direction: column; }
body.quotient .q-jobs__list li[hidden] { display: none; }
body.quotient .q-jobs__list a {
	position: relative; display: grid; grid-template-columns: 1fr; gap: 0 var(--q-grout);
	padding: var(--space-2xs-xs) var(--space-l) var(--space-2xs-xs) 0; border-top: 1px solid var(--q-border);
}
body.quotient .q-jobs__loc { color: var(--q-gray); }
body.quotient .q-jobs__title { color: var(--q-green); font-weight: 400; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(0, 120, 98, .35); }
body.quotient .q-jobs__list a:hover .q-jobs__title { color: var(--q-dark); text-decoration-color: currentColor; }
body.quotient .q-jobs__icon { position: absolute; right: 0; top: var(--space-2xs-xs); color: var(--q-green); }
body.quotient .q-jobs__icon svg { width: 20px; height: 20px; transform: rotate(-45deg); }
body.quotient .q-jobs__empty { padding: var(--space-2xs-xs) 0; border-top: 1px solid var(--q-border); }
@media (min-width: 768px) {
	body.quotient .q-jobs__list a { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	body.quotient .q-jobs__loc { grid-column: 1 / span 4; }
	body.quotient .q-jobs__title { grid-column: 5 / span 7; }
}

/* ---------- Careers: locations ---------- */
body.quotient .e-con.q-locations {
	--display: grid; display: grid; gap: var(--q-grout);
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 var(--q-pad-wide);
}
body.quotient .e-con.q-location { --display: grid; display: grid; grid-template-columns: 1fr; gap: var(--q-grout); }
body.quotient .e-con.q-location__text {
	--display: flex; display: flex; flex-direction: column; gap: var(--space-min-m);
	background: var(--q-light); border-radius: var(--q-radius); padding: var(--space-s-l); box-sizing: border-box;
}
body.quotient .q-location__text > .elementor-element { max-width: 66.666%; }
body.quotient .q-location__text > .q-location__link { margin-top: auto; }
body.quotient .q-location__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--q-radius); }
@media (min-width: 1024px) {
	body.quotient .e-con.q-location { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.quotient .q-location > .q-location__media { order: 2; }
}
@media (max-width: 1023px) { body.quotient .q-location__text > .elementor-element { max-width: 100%; } }

/* ---------- Tabs (team filter, news filter, job locations) ---------- */
body.quotient .q-tabs { display: flex; flex-wrap: nowrap; gap: var(--q-grout); list-style: none; margin: 0; padding: var(--q-grout) 0; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
body.quotient .q-tabs::-webkit-scrollbar { display: none; }
body.quotient .q-tabs > li { flex: 0 0 auto; }
body.quotient .q-tabs :is(a, button) {
	display: inline-flex; border: 0; cursor: pointer; font: inherit; font-size: var(--step--1); line-height: 1.5;
	padding: .34375rem 1rem; border-radius: 9999px; background: transparent; color: var(--q-green);
	transition: background-color .3s var(--q-ease), color .3s var(--q-ease);
}
body.quotient .q-tabs :is(a, button):hover { background: var(--q-light); }
body.quotient .q-tabs :is(a[aria-current="page"], button[aria-pressed="true"]) { background: var(--q-green); color: #fff; }

/* ---------- Team ---------- */
body.quotient .e-con.q-team-section {
	--display: flex; display: flex; flex-direction: column; gap: var(--space-2xl);
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box;
	padding: 0 var(--q-pad) var(--space-2xl-3xl);
}
body.quotient .q-team__heading { color: var(--q-dark); font-size: var(--step-2); line-height: 1.25; margin-bottom: var(--space-xs); }
body.quotient .q-team .q-tabs { margin-bottom: var(--space-3xs); }
body.quotient .q-team__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-xs-s) var(--q-grout); list-style: none; margin: 0; padding: 0; }
body.quotient .q-team-card[hidden] { display: none; }
body.quotient .q-team-card a { position: relative; display: block; padding: var(--q-grout) 0 var(--space-xs-s); color: inherit; }
body.quotient .q-team-card a::before { content: ""; position: absolute; top: 0; left: calc(var(--q-grout) * -1); right: 0; height: 1px; background: var(--q-border); }
body.quotient .q-team-card a::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--q-dark); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--q-ease); }
body.quotient .q-team-card a:hover::after { transform: scaleX(1); }
body.quotient .q-team-card__media { aspect-ratio: 3 / 4; border-radius: var(--q-radius); overflow: hidden; background: var(--q-light); margin: 0; }
body.quotient .q-team-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--q-ease); }
body.quotient .q-team-card a:hover .q-team-card__img { transform: scale(1.03); }
body.quotient .q-team-card a:hover .q-team-card__name { color: var(--q-dark); }
body.quotient .q-team-card__name { margin-top: var(--space-2xs); color: var(--q-green); font-size: var(--step-0); line-height: 1.5; font-weight: 400; }
body.quotient .q-team-card__role { color: var(--q-gray); }
@media (min-width: 600px) { body.quotient .q-team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { body.quotient .q-team__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.quotient .q-team__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Team profile ---------- */
body.quotient .q-profile, body.quotient .e-con.q-profile {
	--display: grid; display: grid; grid-template-columns: 1fr; gap: var(--space-s-m) var(--q-grout);
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: var(--space-2xl-3xl) var(--q-pad);
}
body.quotient .q-profile__media img, body.quotient .q-profile__media.elementor-widget img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--q-radius); background: var(--q-light); }
body.quotient .q-profile__media { margin: 0; }
body.quotient .q-profile__text, body.quotient .e-con.q-profile__text { --display: flex; display: flex; flex-direction: column; gap: var(--space-3xs-2xs); }
body.quotient :is(.q-profile__name, .q-profile__name .elementor-heading-title) { color: var(--q-dark); font-size: var(--step-6); line-height: 1.05; letter-spacing: -0.02025em; }
body.quotient :is(.q-profile__role, .q-profile__role p, .q-profile__role .elementor-heading-title) { color: var(--q-gray); font-size: var(--step-6); line-height: 1.05; letter-spacing: -0.02025em; }
body.quotient .q-profile__bio { max-width: 65ch; margin-top: var(--space-l-xl); }
@media (min-width: 768px) {
	body.quotient .q-profile, body.quotient .e-con.q-profile { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	body.quotient .q-profile > .q-profile__media { grid-column: 9 / span 4; order: 2; }
	body.quotient .q-profile > .q-profile__text { grid-column: 1 / span 7; order: 1; }
}

/* ---------- Breadcrumb ---------- */
body.quotient .q-breadcrumb a { display: inline-flex; color: var(--q-green); font-size: var(--step--1); line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
body.quotient .q-breadcrumb a:hover { color: var(--q-dark); }

/* ---------- Articles (press releases, privacy) ---------- */
body.quotient .q-article__header, body.quotient .e-con.q-article__header {
	--display: grid; display: grid; gap: var(--space-3xs-2xs);
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: var(--space-2xl-3xl) var(--q-pad);
}
body.quotient :is(.q-article__title, .q-article__title .elementor-heading-title) { color: var(--q-dark); font-size: var(--step-6); line-height: 1.05; letter-spacing: -0.02025em; }
body.quotient .q-article__body, body.quotient .e-con.q-article__body {
	--display: grid; display: grid; grid-template-columns: 1fr; gap: var(--space-s) var(--q-grout);
	max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 var(--q-pad) var(--space-2xl-3xl);
}
body.quotient .q-post-meta { color: var(--q-gray); }
@media (min-width: 1024px) {
	body.quotient .q-article__body, body.quotient .e-con.q-article__body { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	body.quotient .q-article__body > .q-article__aside { grid-column: 1 / span 4; }
	body.quotient .q-article__body > .q-article__content { grid-column: 5 / span 6; }
	body.quotient .q-article__body > .q-article__content:only-child { grid-column: 5 / span 6; }
}

/* Long-form text */
body.quotient .q-prose { color: var(--q-gray); }
body.quotient .q-prose > * + *, body.quotient .q-prose .elementor-widget-container > * + * { margin-top: var(--space-xs-s); }
body.quotient .q-prose :is(h2, h3, h4) { color: var(--q-dark); font-size: var(--step-1); line-height: 1.25; margin-top: var(--space-m); }
body.quotient .q-prose :is(ul, ol) { padding-left: 1.25em; }
body.quotient .q-prose li + li { margin-top: .35em; }
body.quotient .q-prose li p { margin: 0; }
body.quotient .q-prose a { color: var(--q-green); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(0, 120, 98, .4); word-break: break-word; }
body.quotient .q-prose a:hover { color: var(--q-dark); text-decoration-color: currentColor; }
body.quotient .q-prose em, body.quotient .q-prose i { font-style: italic; }
body.quotient .q-prose blockquote.q-pullquote {
	margin: var(--space-xs-s) 0 0; padding: var(--space-s-m) var(--space-m-l) var(--space-m-l);
	background: var(--q-light); border-radius: var(--q-radius); color: var(--q-mid);
}
body.quotient .q-prose blockquote.q-pullquote p { color: var(--q-mid); font-size: var(--step-2); line-height: 1.25; }
body.quotient .q-prose p:empty { display: none; }

/* ---------- News index ---------- */
body.quotient .e-con.q-news-section {
	--display: block; display: block; max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box;
	padding: 0 var(--q-pad) var(--space-2xl-3xl);
}
body.quotient .q-news .q-tabs { margin-bottom: var(--space-m); }
body.quotient .q-news__grid { display: grid; grid-template-columns: 1fr; gap: 0 var(--q-grout); list-style: none; margin: 0; padding: 0; }
body.quotient .q-news__grid > li { border-top: 1px solid var(--q-border); transition: border-color .3s var(--q-ease); }
body.quotient .q-news__grid > li:hover { border-top-color: var(--q-dark); }
body.quotient .q-news-item { padding: var(--space-2xs-xs) var(--space-xs-s) var(--space-xs-s) 0; }
body.quotient .q-news-item__type { display: flex; align-items: center; gap: var(--space-3xs-2xs); color: var(--q-gray); }
body.quotient .q-news-item__ext { width: 1.1rem; height: 1.1rem; }
body.quotient .q-news-item__title { color: var(--q-green); font-weight: 400; }
body.quotient .q-news-item__title:hover { color: var(--q-dark); }
body.quotient .q-news-item__meta { margin-top: var(--space-3xs-2xs); color: var(--q-gray); font-size: var(--step--1); line-height: 1.5; }
@media (min-width: 768px) { body.quotient .q-news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { body.quotient .q-news__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Subscribe box ---------- */
body.quotient .e-con.q-subscribe-section {
	--display: block; display: block; max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 var(--q-pad-wide);
}
body.quotient .q-subscribe {
	display: grid; grid-template-columns: 1fr; gap: var(--space-s-m) var(--q-grout);
	background: var(--q-light); border-radius: var(--q-radius); padding: var(--space-s-l);
}
body.quotient .q-subscribe__label { color: var(--q-green); font-size: var(--step-4); line-height: 1.15; }
body.quotient .q-subscribe__title { color: var(--q-dark); font-size: var(--step-4); line-height: 1.15; }
body.quotient .q-subscribe__form { position: relative; display: grid; grid-template-columns: 1fr auto; gap: var(--q-grout); align-items: end; align-self: end; }
body.quotient .q-subscribe__form label { grid-column: 1 / -1; color: var(--q-gray); font-size: var(--step--1); line-height: 1.5; }
body.quotient .q-subscribe__form input[type="email"] {
	width: 100%; box-sizing: border-box; height: 3rem; padding: .62rem; border: 1px solid transparent; border-radius: var(--q-radius);
	background: #fff; color: var(--q-dark); font: inherit; font-size: var(--step-0);
}
body.quotient .q-subscribe__form input[type="email"]:focus { outline: none; border-color: var(--q-green); }
body.quotient .q-subscribe__form button {
	height: 3rem; display: inline-flex; align-items: center; border: 0; cursor: pointer; border-radius: var(--q-radius);
	padding: .63rem var(--space-s); background: var(--q-green); color: #fff; font: inherit; font-size: var(--step-0);
	transition: background-color .3s var(--q-ease);
}
body.quotient .q-subscribe__form button:hover { background: var(--q-dark); }
@media (min-width: 1024px) {
	body.quotient .q-subscribe { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.quotient .q-subscribe__form { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-items: start; }
}

/* ---------- Generic section spacing helpers ---------- */
body.quotient .e-con.q-section,
body.quotient .q-section { max-width: var(--q-max); width: 100%; margin: 0 auto; box-sizing: border-box; padding: 0 var(--q-pad); }
body.quotient .q-section--wide { padding: 0 var(--q-pad-wide); }
body.quotient .q-gap-top { margin-top: var(--q-grout) !important; }

/* Page sections sit 8px apart like the original's "grout". */
body.quotient .elementor > .e-con + .e-con.q-media,
body.quotient .elementor > .e-con + .e-con.q-splits,
body.quotient .elementor > .e-con.q-splits + .e-con.q-splits,
body.quotient .elementor > .e-con + .e-con.q-recirc,
body.quotient .elementor > .e-con.q-recirc,
body.quotient .elementor > .e-con + .e-con.q-locations,
body.quotient .elementor > .e-con + .e-con.q-testimonials,
body.quotient .elementor > .e-con.q-media + .e-con.q-testimonials { margin-top: var(--q-grout); }
body.quotient .elementor > .e-con.q-recirc:last-child,
body.quotient .elementor > .e-con.q-subscribe-section:last-child,
body.quotient .elementor > .e-con.q-locations:last-child { margin-bottom: var(--q-grout); }
body.quotient.q-dark .elementor > .e-con.q-features { margin-top: var(--q-grout); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	body.quotient *, body.quotient *::before, body.quotient *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
