/**
 * Homepage sections.
 *
 * Scoped to the .onc-home-* elements this plugin renders, so nothing here can
 * reach the Clients or Pricing pages. The logo strip, the Trustpilot strip and
 * the client spotlight are the Clients-page components and keep their own
 * styles in onc-clients.css; only the homepage-specific sections live here.
 *
 * Background images are passed in from WordPress as custom properties on the
 * element, so no media URL is ever hardcoded in this file.
 */

.onc-home-sec {
	--onc-h-pink: #F21967;
	--onc-h-pink-dark: #cd0b50;
	--onc-h-navy: #141841;
	--onc-h-heading: #363335;
	--onc-h-body: #61676D;
	--onc-h-line: #E8E8E8;
	--onc-h-wash: #F3F5F7;
	--onc-h-width: 1200px;

	box-sizing: border-box;
	color: var(--onc-h-body);
	font-size: 16px;
	line-height: 1.65;
}

.onc-home-sec *,
.onc-home-sec *::before,
.onc-home-sec *::after { box-sizing: border-box; }

.onc-home-sec :where(h1, h2, h3) { margin: 0; color: var(--onc-h-heading); line-height: 1.15; letter-spacing: 0; }
.onc-home-sec :where(p, figure, blockquote) { margin: 0; }
.onc-home-sec :where(img) { display: block; max-width: 100%; height: auto; }
.onc-home-sec :where(a) { color: inherit; text-decoration: none; }
.onc-home-sec a:focus-visible,
.onc-home-sec button:focus-visible,
.onc-home-sec summary:focus-visible { outline: 3px solid var(--onc-h-navy); outline-offset: 5px; }

.onc-home-wrap { width: min(var(--onc-h-width), calc(100% - 64px)); margin-inline: auto; }
.onc-home-pad { padding-block: 88px; }

.onc-home-eyebrow { font-size: 13px; font-weight: 700; color: var(--onc-h-pink); text-transform: uppercase; line-height: 1.5; }
.onc-home-sec h2 { font-size: 38px; font-weight: 700; }
.onc-home-sub { font-size: 18px; line-height: 1.7; }
.onc-home-fine { font-size: 13px; line-height: 1.6; }

.onc-home-sec .onc-home-link { display: inline-flex; align-items: center; gap: 9px; color: var(--onc-h-pink-dark); font-weight: 650; }
.onc-home-sec .onc-home-link:hover { color: var(--onc-h-pink-dark); text-decoration: underline; text-underline-offset: 5px; }

.onc-home-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	min-height: 50px; padding: 12px 23px;
	border: 1px solid transparent; border-radius: 5px;
	font-size: 15px; font-weight: 700; line-height: 1.4;
	transition: background .15s, border-color .15s;
}
.onc-home-sec .onc-home-btn--primary { background: var(--onc-h-pink); color: #fff; }
.onc-home-sec .onc-home-btn--primary:hover { background: var(--onc-h-pink-dark); color: #fff; }
.onc-home-sec .onc-home-btn--outline { border-color: #d8d8df; background: #fff; color: var(--onc-h-navy); }
.onc-home-sec .onc-home-btn--outline:hover { border-color: var(--onc-h-navy); background: var(--onc-h-wash); }
.onc-home-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

.onc-home-icon { width: 20px; height: 20px; flex-shrink: 0; stroke-width: 1.7; }

.onc-home-head { display: flex; justify-content: space-between; align-items: end; gap: 48px; margin-bottom: 42px; }
.onc-home-head > div { max-width: 660px; }
.onc-home-head h2 { margin-top: 12px; }
.onc-home-head > p { max-width: 345px; }

/* ---------------------------------------------------------------- Hero -- */

.onc-home-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 624px;
	background:
		var(--onc-home-hero-bg-a, none) no-repeat top -10px right -45px / 1320px 1120px,
		var(--onc-home-hero-bg-b, none) no-repeat left 150px bottom -50px,
		#fff;
}
.onc-home-hero__inner { padding-block: 63px 44px; }
.onc-home-hero__copy { max-width: 565px; }
.onc-home-hero__title { margin-top: 18px; max-width: 560px; font-size: 54px; font-weight: 750; }
.onc-home-hero__title .onc-home-hero__mark { display: inline; color: var(--onc-h-pink); background: none; }
.onc-home-hero__lead { margin-top: 24px; font-size: 22px; font-weight: 500; color: var(--onc-h-navy); line-height: 1.45; }
.onc-home-hero__desc { margin-top: 14px; max-width: 500px; font-size: 17px; }
.onc-home-hero__actions { margin-top: 27px; }
.onc-home-hero__note { margin-top: 14px; max-width: 485px; font-size: 13px; }
.onc-home-hero__note strong { color: var(--onc-h-heading); font-weight: 600; }
.onc-home-hero__stats { display: flex; align-items: center; gap: 30px; margin-top: 33px; font-size: 13px; }
.onc-home-hero__stat { padding-right: 30px; border-right: 1px solid var(--onc-h-line); }
.onc-home-hero__stat:last-child { border: 0; padding: 0; }
.onc-home-hero__stat strong { display: block; color: var(--onc-h-navy); font-size: 24px; line-height: 1.4; }
.onc-home-hero__art {
	position: absolute; inset: 0; z-index: -1;
	background-image: var(--onc-home-hero-art, none);
	background-repeat: no-repeat;
	background-position: calc(50% + 325px) 45%;
	background-size: 590px auto;
}
.onc-home-hero__caption { position: absolute; bottom: 26px; left: calc(50% + 122px); font-size: 12px; color: #737780; }

/* -------------------------------------------------------- Walkthrough -- */

/* The band colour, background image and min-height come from the row's own
   WPBakery design options, so an editor can change them without code. */
.onc-home-journey__layout {
	display: grid;
	grid-template-columns: 355px minmax(0, 1fr);
	column-gap: 48px;
	row-gap: 0;
	align-items: stretch;
}
.onc-home-journey__tabs { grid-column: 1; grid-row: 1; }
.onc-home-journey__visual { grid-column: 2; grid-row: 1; }
.onc-home-journey__caption { grid-column: 2; grid-row: 2; }
.onc-home-journey__tabs { display: flex; flex-direction: column; border-top: 1px solid #d9dce2; }
.onc-home-journey__step {
	padding: 24px 0 24px 17px;
	display: grid; grid-template-columns: 34px 1fr; gap: 10px;
	text-align: left; background: none; color: var(--onc-h-body);
	border: 0; border-bottom: 1px solid #d9dce2; border-left: 3px solid transparent;
	font: inherit; cursor: pointer;
}
.onc-home-journey__num { font-size: 13px; font-weight: 700; padding-top: 4px; color: #777b84; }
.onc-home-journey__step-title { display: block; font-size: 18px; line-height: 1.4; color: var(--onc-h-heading); font-weight: 650; }
.onc-home-journey__step-desc { display: block; font-size: 14px; line-height: 1.7; margin-top: 8px; max-width: 280px; }
.onc-home-journey__step[aria-selected="true"] { border-left-color: var(--onc-h-pink); }
.onc-home-journey__step[aria-selected="true"] .onc-home-journey__num,
.onc-home-journey__step[aria-selected="true"] .onc-home-journey__step-title,
.onc-home-journey__step:hover .onc-home-journey__step-title { color: var(--onc-h-pink-dark); }
.onc-home-journey__visual { min-width: 0; }
.onc-home-journey__panel { height: 450px; display: flex; align-items: center; justify-content: center; padding: 12px 0; }
.onc-home-journey__panel img { max-height: 420px; width: 100%; object-fit: contain; }
.onc-home-journey__panel--profile img { max-height: 440px; }
.onc-home-journey__caption {
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	border-top: 1px solid #d9dce2; padding-top: 16px; font-size: 12px;
}
.onc-home-journey__caption .onc-home-link { font-size: 14px; white-space: nowrap; }
.onc-home-journey__caption .onc-home-icon { width: 16px; height: 16px; }

/* Illustrative record card, clearly labelled as an example. */
.onc-home-fit {
	position: relative;
	width: 100%; max-width: 600px; overflow: hidden;
	background: #fff; border: 1px solid #e0e2e8; border-radius: 6px;
	box-shadow: 0 10px 24px #1418410b; color: var(--onc-h-navy);
}
.onc-home-fit__bar {
	min-height: 34px; padding: 8px 16px;
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	background: var(--onc-h-navy); color: #fff; font-size: 10px; line-height: 1.4;
}
.onc-home-fit__bar span:first-child { font-weight: 650; }
.onc-home-fit__bar span:last-child { color: #e5d5ff; font-weight: 500; }

/* Decorative rail that suggests the app chrome; hidden from screen readers. */
.onc-home-fit__rail {
	position: absolute; top: 34px; bottom: 0; left: 0; width: 36px;
	display: flex; flex-direction: column; align-items: center; gap: 22px; padding-top: 24px;
	background: #f8f9fc; border-right: 1px solid #eef0f5; color: #707895;
}
.onc-home-fit__rail .onc-home-icon { width: 15px; height: 15px; }
.onc-home-fit__rail .onc-home-icon:nth-child(2) { color: var(--onc-h-pink); }

.onc-home-fit__body { padding: 22px; margin-left: 36px; }
.onc-home-fit__label { font-size: 12px; font-weight: 600; color: var(--onc-h-navy); margin-bottom: 20px; }
.onc-home-fit__company { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.onc-home-fit__company > .onc-home-icon { width: 32px; height: 32px; color: #8b6abb; stroke-width: 1.4; }
.onc-home-fit__company h3 { font-size: 17px; line-height: 1.3; color: var(--onc-h-navy); font-weight: 600; }
.onc-home-fit__company p { font-size: 11px; margin-top: 5px; color: #737e96; }
.onc-home-fit__facts { margin: 0; }
.onc-home-fit__fact {
	display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px;
	padding: 12px 0; border-top: 1px solid #eef0f5; font-size: 12px;
}
.onc-home-fit__fact dt { color: #737e96; }
.onc-home-fit__fact dd { margin: 0; font-weight: 500; }
.onc-home-fit__fact dd.is-category { color: var(--onc-h-navy); }
.onc-home-fit__contact {
	display: flex; align-items: center; justify-content: space-between; gap: 18px;
	border-top: 1px solid #eef0f5; padding-top: 16px; margin-top: 5px;
}
.onc-home-fit__contact strong { display: block; font-size: 12px; font-weight: 600; }
.onc-home-fit__contact p { color: #737e96; font-size: 11px; margin-top: 3px; }
.onc-home-fit__channels { display: flex; gap: 12px; color: #737e96; }
.onc-home-fit__channels .onc-home-icon { width: 16px; height: 16px; }

/* ----------------------------------------------------------- Use cases -- */

.onc-home-usecases__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start; margin-bottom: 50px; }
.onc-home-usecases__intro h2 { margin-top: 12px; }
.onc-home-usecases__intro p { padding-top: 30px; }
.onc-home-usecases__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
.onc-home-usecase { border-top: 2px solid var(--onc-h-line); padding-top: 25px; }
.onc-home-usecase h3 { margin-bottom: 12px; font-size: 21px; font-weight: 650; }
.onc-home-usecase p:not([class]) { font-size: 15px; }
.onc-home-usecase__context { margin-top: 23px; color: var(--onc-h-navy); font-size: 13px; font-weight: 600; }

/* Brand icons keep their 44x44 proportions whatever the editor selects. */
.onc-home-usecase__icon { width: 32px; height: 32px; object-fit: contain; margin-bottom: 19px; }

/* ---------------------------------------------------------- Data fields -- */

.onc-home-data__layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; }
.onc-home-data__intro h2 { margin-top: 12px; }
.onc-home-data__intro > p { margin-top: 22px; }
.onc-home-data__intro .onc-home-link { margin-top: 25px; font-size: 14px; }
.onc-home-data__fields { border-top: 1px solid var(--onc-h-line); }
.onc-home-data__field {
	display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px;
	padding: 23px 0; border-bottom: 1px solid var(--onc-h-line);
}
.onc-home-data__icon { width: 44px; height: 44px; object-fit: contain; margin-top: 2px; }
.onc-home-data__field h3 { font-size: 18px; font-weight: 650; }
.onc-home-data__field p { margin-top: 8px; font-size: 15px; }
.onc-home-data__fields > .onc-home-fine { margin-top: 17px; }

/* ------------------------------------------------------------- Options -- */

.onc-home-options .onc-home-head { align-items: center; }
.onc-home-options__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.onc-home-option { border-top: 2px solid var(--onc-h-navy); padding-top: 27px; }
.onc-home-option--service { border-top-color: var(--onc-h-pink); }
.onc-home-option__top { font-size: 12px; font-weight: 700; color: var(--onc-h-navy); text-transform: uppercase; margin-bottom: 13px; }
.onc-home-option--service .onc-home-option__top { color: var(--onc-h-pink-dark); }
.onc-home-option h3 { font-size: 25px; margin-bottom: 13px; }
.onc-home-option > p:not([class]) { max-width: 460px; font-size: 16px; }
.onc-home-option__list { list-style: none; padding: 0; margin: 23px 0 28px; }
.onc-home-option__list li { display: flex; gap: 12px; margin-top: 12px; font-size: 14px; align-items: start; }
.onc-home-option__list .onc-home-icon { width: 17px; height: 17px; margin-top: 3px; color: var(--onc-h-pink); }
.onc-home-option__note { font-size: 12px; margin-top: 13px; }
.onc-home-option .onc-home-btn { min-width: 178px; }

/* ----------------------------------------------------------------- FAQ -- */

.onc-home-faq__layout { display: grid; grid-template-columns: 340px 1fr; gap: 80px; }
.onc-home-faq__intro h2 { margin-top: 12px; }
.onc-home-faq__intro p { margin-top: 22px; font-size: 15px; }
.onc-home-faq__intro .onc-home-link { margin-top: 20px; font-size: 14px; }
.onc-home-faq__list { border-top: 1px solid var(--onc-h-line); }
.onc-home-faq__item { border-bottom: 1px solid var(--onc-h-line); }
.onc-home-faq__item > summary {
	padding: 23px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px;
	list-style: none; cursor: pointer; color: var(--onc-h-navy); font-size: 16px; font-weight: 600;
}
.onc-home-faq__item > summary::-webkit-details-marker { display: none; }
.onc-home-faq__item summary .onc-home-icon { width: 18px; height: 18px; transition: transform .2s; }
.onc-home-faq__item[open] summary .onc-home-icon { transform: rotate(45deg); }
.onc-home-faq__answer { padding: 0 34px 24px 0; margin: 0; font-size: 15px; max-width: 690px; }
.onc-home-faq__answer a { text-decoration: underline; color: var(--onc-h-pink-dark); }

/* --------------------------------------------------------- Responsive -- */

@media (min-width: 1600px) {
	.onc-home-hero { min-height: 650px; }
	.onc-home-hero__art { background-position: calc(50% + 325px) 42%; background-size: 620px auto; }
}

@media (max-width: 1150px) {
	.onc-home-hero__copy { max-width: 510px; }
	.onc-home-hero__title { font-size: 48px; }
	.onc-home-hero__art { background-position: calc(50% + 285px) 45%; background-size: 520px auto; }
	.onc-home-hero__desc { max-width: 465px; }
	.onc-home-hero__caption { left: calc(50% + 105px); }
	.onc-home-journey__layout { grid-template-columns: 310px minmax(0, 1fr); column-gap: 35px; }
	.onc-home-data__layout { gap: 55px; }
	.onc-home-faq__layout { gap: 45px; grid-template-columns: 300px 1fr; }
}

@media (max-width: 960px) {
	.onc-home-sec h2 { font-size: 32px; }
	.onc-home-pad { padding-block: 64px; }
	.onc-home-hero { min-height: 580px; }
	.onc-home-hero__copy { max-width: 460px; }
	.onc-home-hero__title { font-size: 43px; }
	.onc-home-hero__lead { font-size: 20px; }
	.onc-home-hero__desc { max-width: 420px; }
	.onc-home-hero__art { background-size: 430px auto; background-position: calc(50% + 260px) 45%; opacity: .88; }
	.onc-home-hero__caption { left: auto; right: 32px; }
	.onc-home-head { display: block; }
	.onc-home-head > p { margin-top: 20px; max-width: 650px; }
	.onc-home-journey__layout { grid-template-columns: 280px minmax(0, 1fr); column-gap: 30px; }
	.onc-home-journey__panel { height: 350px; }
	.onc-home-journey__caption { flex-wrap: wrap; }
	.onc-home-usecases__intro { gap: 40px; }
	.onc-home-data__layout { gap: 40px; }
}

@media (max-width: 960px) {
	/* The head stacks here, so the link needs its own breathing room. */
	.onc-home-head > .onc-home-link { margin-top: 16px; }
}

@media (min-width: 761px) and (max-width: 960px) {
	.onc-home-hero__copy { max-width: 400px; }
	.onc-home-hero__title { font-size: 40px; }
	/* The prototype keeps the desktop offset here, which pushes a 400px image
	   to about 844px on a 768px screen and crops it against the right edge.
	   Pulled in so the artwork sits whole between 761px and 960px. */
	.onc-home-hero__art { background-size: 360px auto; background-position: calc(50% + 195px) 45%; }
	.onc-home-hero__desc { max-width: 400px; }
	.onc-home-journey__panel { height: 410px; }
	.onc-home-fit__body { padding: 18px; }
	.onc-home-fit__bar { padding-inline: 18px; }
	.onc-home-fit__fact { grid-template-columns: 100px minmax(0, 1fr); gap: 10px; }
	.onc-home-fit__company h3 { font-size: 18px; }
}

@media (max-width: 760px) {
	.onc-home-wrap { width: calc(100% - 40px); }
	.onc-home-pad { padding-block: 54px; }
	.onc-home-sec h2 { font-size: 30px; }
	.onc-home-sub { font-size: 16px; }
	.onc-home-head { margin-bottom: 28px; }

	/* The prototype repositions the hero artwork rather than keeping the
	   desktop placement, and drops the fixed height. */
	.onc-home-hero {
		min-height: 0;
		background-position: right -260px top 0, left -80px bottom -50px, 0 0;
		background-size: 900px auto, auto, auto;
	}
	.onc-home-hero__inner { padding-block: 35px 0; }
	.onc-home-hero__copy { max-width: 100%; }
	.onc-home-hero__title { font-size: 40px; max-width: 550px; margin-top: 14px; }
	.onc-home-hero__lead { font-size: 20px; max-width: 480px; margin-top: 18px; }
	.onc-home-hero__desc { max-width: 550px; font-size: 16px; margin-top: 12px; }
	.onc-home-hero__actions { margin-top: 23px; }
	.onc-home-hero .onc-home-btn { min-height: 48px; font-size: 14px; padding: 12px 19px; }
	.onc-home-hero__note { max-width: 520px; }
	.onc-home-hero__stats { margin-top: 25px; gap: 24px; }
	.onc-home-hero__stat { padding-right: 24px; }
	.onc-home-hero__stat strong { font-size: 23px; }
	.onc-home-hero__art {
		position: relative; inset: auto; z-index: auto;
		height: 360px; margin-top: 4px;
		background-size: 370px auto; background-position: center; opacity: 1;
	}
	.onc-home-hero__caption { position: static; text-align: center; padding-bottom: 20px; font-size: 11px; }

	.l-section:has(.onc-home-journey) {
		min-height: 0 !important;
		background-position: calc(50% + 180px) bottom !important;
		background-size: 900px auto !important;
	}
	.l-section:has(.onc-home-options) {
		background-position: calc(50% + 180px) -270px !important;
		background-size: 900px auto !important;
	}
	.onc-home-journey__layout { display: flex; flex-direction: column; gap: 24px; }
	.onc-home-journey__tabs { width: 100%; }
	.onc-home-journey__step { padding: 19px 0 19px 12px; }
	.onc-home-journey__step-title { font-size: 17px; }
	.onc-home-journey__step-desc { max-width: 100%; }
	.onc-home-journey__visual { width: 100%; }
	.onc-home-journey__panel { height: 390px; }
	.onc-home-journey__panel img { max-height: 300px; }
	.onc-home-journey__panel--profile img { max-height: 310px; }
	.onc-home-journey__caption { font-size: 11px; }
	.onc-home-fit__body { padding: 18px; }
	.onc-home-fit__bar { padding: 10px 18px; }
	.onc-home-fit__company { gap: 10px; margin-bottom: 18px; }
	.onc-home-fit__company h3 { font-size: 18px; }
	.onc-home-fit__company > .onc-home-icon { width: 28px; height: 28px; }
	.onc-home-fit__fact { grid-template-columns: 99px minmax(0, 1fr); gap: 12px; font-size: 13px; }
	.onc-home-fit__contact { gap: 10px; }
	.onc-home-fit__channels { gap: 10px; }

	.onc-home-usecases__intro { display: block; margin-bottom: 28px; }
	.onc-home-usecases__intro p { padding-top: 20px; }
	.onc-home-usecases__grid { grid-template-columns: 1fr; gap: 30px; }
	.onc-home-usecase { padding-top: 22px; }
	.onc-home-usecase__icon { margin-bottom: 13px; }
	.onc-home-usecase__context { margin-top: 15px; }

	.onc-home-data__layout { grid-template-columns: 1fr; gap: 32px; }
	.onc-home-data__intro > p { font-size: 16px; margin-top: 19px; }
	.onc-home-data__intro .onc-home-link { margin-top: 18px; }

	.onc-home-options__grid { grid-template-columns: 1fr; gap: 37px; }
	.onc-home-option { padding-top: 23px; }
	.onc-home-option h3 { font-size: 24px; }
	.onc-home-option__list { margin-block: 20px; }

	.onc-home-options { padding-bottom: 34px; }
	.onc-home-faq { padding-top: 34px; }
	.onc-home-faq__layout { grid-template-columns: 1fr; gap: 30px; }
	.onc-home-faq__intro p { margin-top: 15px; }
	.onc-home-faq__intro .onc-home-link { margin-top: 13px; }
	.onc-home-faq__item > summary { font-size: 15px; padding-block: 20px; }
}

@media (max-width: 380px) {
	.onc-home-wrap { width: calc(100% - 32px); }
	.onc-home-hero__title { font-size: 35px; }
	.onc-home-hero__art { height: 325px; background-size: 330px auto; }
	.onc-home-hero__actions { gap: 10px; }
	.onc-home-hero .onc-home-btn { padding: 12px 15px; }
	.onc-home-journey__panel { height: 265px; }
}

@media (prefers-reduced-motion: reduce) {
	.onc-home-sec *,
	.onc-home-sec *::before,
	.onc-home-sec *::after { transition: none !important; animation: none !important; }
}

/* Example card at narrower widths, matching the prototype's cascade order. */
@media (max-width: 960px) {
	.onc-home-fit__body { padding: 16px; }
	.onc-home-fit__company h3 { font-size: 16px; }
	.onc-home-fit__bar { padding: 8px 12px; }
	.onc-home-fit__fact { grid-template-columns: 90px minmax(0, 1fr); gap: 10px; font-size: 12px; }
	.onc-home-fit__contact { flex-wrap: wrap; gap: 10px; }
}

@media (max-width: 380px) {
	.onc-home-fit__body { padding: 14px; margin-left: 28px; }
	.onc-home-fit__rail { width: 28px; }
	.onc-home-fit__fact { grid-template-columns: 78px minmax(0, 1fr); gap: 8px; }
	.onc-home-fit__company h3 { font-size: 15px; }
	.onc-home-fit__company > .onc-home-icon { width: 24px; height: 24px; }
}

/* The logo strip is a Clients-page component and carries that page's narrower
   content wrap: a 1160px cap with 48px gutters, against the hero's 1200px cap
   with 64px gutters. That left its label 20px right of the hero copy on wide
   screens and 8px left of it below 1150px. Matched here so both columns start
   on the same line. Desktop only: on phones the label is centred, and the
   Clients page is untouched because this stylesheet never loads there. */
@media (min-width: 761px) {
	.onc-logos .onc-wrap { width: min(1200px, calc(100% - 64px)); }
}

/* Impreza flex rows add a 24px gutter on each side, which would make the page
   scroll sideways. Scoped to rows that contain one of our sections. */
.l-section:has(.onc-home-sec) > .l-section-h > .g-cols.via_flex,
.l-section.onc-home-directory > .l-section-h > .g-cols.via_flex,
.l-section.onc-home-band > .l-section-h > .g-cols.via_flex {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Between 700px and 1090px the theme sets this padding with !important, which
   would leave every band inset from the window edge. Matched here so the
   backgrounds run edge to edge at every width. */
.l-section:has(.onc-home-sec) > .l-section-h > .g-cols.via_flex > div > .vc_column-inner,
.l-section.onc-home-directory > .l-section-h > .g-cols.via_flex > div > .vc_column-inner,
.l-section.onc-home-band > .l-section-h > .g-cols.via_flex > div > .vc_column-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Touch screens have no hover to pause the logo strip, and the control costs a
   whole row of vertical space. Hidden up to the tablet breakpoint. This
   stylesheet loads only on pages using the homepage elements, so the Clients
   page keeps its button. */
@media (max-width: 960px) {
	.onc-logos__motion { display: none !important; }
}
