/*
 * InstallBox Homepage visual system
 *
 * Art direction is intentionally constrained to the approved references:
 * Custo supplies the gunmetal gallery, paper-white content bands and
 * hairline structure. ORYZO is limited to the existing Homepage Hero
 * product-stage presentation. InstallBox blue remains in the approved
 * product artwork and brand mark, not as a generic UI accent.
 *
 * Design dials: variance 2-3, motion 3-4, density 3.
 * This file is Homepage-scoped and does not alter secondary routes.
 */

:root {
	--ib-custo-gunmetal: #9ea29f;
	--ib-custo-obsidian: #000000;
	--ib-custo-paper: #ffffff;
	--ib-custo-graphite: #4b514d;
	--ib-custo-steel: #8e9194;
	--ib-custo-mist: #a7aaad;
	--ib-custo-hairline: #d8d8d8;
	--ib-installbox-blue: #013544;
	--ib-installbox-cyan: #00bac2;
	--ib-hero-ink: #171917;
	--ib-hero-void: #121411;
	--ib-home-max: 1280px;
	--ib-home-copy: Inter, Manrope, "Helvetica Neue", Arial, sans-serif;
}

body.home {
	background: var(--ib-custo-paper);
	color: var(--ib-custo-obsidian);
	font-family: var(--ib-home-copy);
	font-feature-settings: "kern", "liga";
}

body.home .installbox-theme-header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 10030;
	width: 100%;
	background: transparent;
}

body.home .installbox-mega-menu-global {
	position: relative;
	top: auto;
	width: 100%;
	border-bottom: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.home .installbox-mega-menu-global .nav-immersive-bg {
	display: none !important;
}

body.home .installbox-mega-menu-app {
	padding: 12px max(24px, calc((100vw - var(--ib-home-max)) / 2));
}

body.home .installbox-glass-nav {
	width: min(100%, var(--ib-home-max)) !important;
	max-width: none !important;
	height: 72px !important;
	padding: 0 24px !important;
	border: 1px solid transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	color: var(--ib-custo-obsidian);
}

body.home .installbox-glass-nav::before {
	display: none !important;
}

body.home .installbox-mega-menu-global .installbox-brand-logo__image--dark {
	opacity: 1 !important;
	filter: none !important;
}

body.home .installbox-mega-menu-global .installbox-brand-logo__image--light {
	display: none !important;
}

body.home .installbox-mega-menu-global .installbox-mega-menu-app [data-slot="navigation-menu-trigger"],
body.home .installbox-mega-menu-global .installbox-mega-menu-app > nav > div:last-child button[aria-label="Open menu"] {
	color: var(--ib-custo-obsidian) !important;
	font-size: 14px;
	font-weight: 500;
	transition: color .18s ease, background-color .18s ease;
}

body.home .installbox-mega-menu-global .installbox-mega-menu-app [data-slot="navigation-menu-trigger"]:hover,
body.home .installbox-mega-menu-global .installbox-mega-menu-app [data-slot="navigation-menu-trigger"]:focus-visible,
body.home .installbox-mega-menu-global .installbox-mega-menu-app > nav > div:last-child button[aria-label="Open menu"]:hover,
body.home .installbox-mega-menu-global .installbox-mega-menu-app > nav > div:last-child button[aria-label="Open menu"]:focus-visible {
	background: transparent !important;
	color: var(--ib-installbox-blue) !important;
}

body.home .installbox-mega-menu-global .installbox-mega-menu-app > nav > div:last-child a {
	min-height: 44px;
	border: 1px solid var(--ib-custo-obsidian) !important;
	border-radius: 31px !important;
	background: transparent !important;
	padding: 12px 20px !important;
	color: var(--ib-custo-obsidian) !important;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	transition: background-color .18s ease, color .18s ease;
}

body.home .installbox-mega-menu-global .installbox-mega-menu-app > nav > div:last-child a:hover,
body.home .installbox-mega-menu-global .installbox-mega-menu-app > nav > div:last-child a:focus-visible {
	background: var(--ib-custo-obsidian) !important;
	color: var(--ib-custo-paper) !important;
}

body.home .installbox-theme-header,
body.home .installbox-theme-header .installbox-glass-nav {
	transition: background-color .3s cubic-bezier(.16,1,.3,1), border-color .3s cubic-bezier(.16,1,.3,1), color .3s cubic-bezier(.16,1,.3,1);
}

body.home .installbox-theme-header.is-content-nav {
	border-bottom: 1px solid var(--ib-custo-hairline);
	background: var(--ib-custo-paper);
}

body.home .installbox-theme-header.is-content-nav .installbox-glass-nav {
	background: var(--ib-custo-paper) !important;
	color: var(--ib-custo-obsidian);
}

body.home .installbox-mega-menu-app [data-slot="navigation-menu-viewport"],
body.home .installbox-mega-menu-app [data-slot="navigation-menu-content"],
body.home .installbox-mega-menu-app [data-slot="navigation-menu-content"] > div {
	border-color: var(--ib-custo-hairline) !important;
	border-radius: 0 !important;
	background: var(--ib-custo-paper) !important;
	box-shadow: none !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.home .installbox-mega-menu-app [data-slot="navigation-menu-viewport"] a,
body.home .installbox-mega-menu-app [data-slot="navigation-menu-content"] a {
	color: var(--ib-custo-obsidian);
}

/* Hero stage. Existing frame sequence, poses, scroll direction and reverse
 * behavior are untouched. These rules only change the copy composition and
 * the Custo-to-neutral-void presentation layer. */
body.home .ib-home-hero--legacy {
	display: none !important;
}

body.home .hero-sequence-track {
	margin-left: 0;
	background: var(--ib-custo-gunmetal);
}

body.home .hero-sequence-sticky {
	background: var(--ib-custo-gunmetal);
}

body.home .hero-contrast {
	background: radial-gradient(ellipse 38% 52% at 53% 50%, rgba(18, 20, 17, 0.12) 0%, rgba(18, 20, 17, 0.045) 44%, rgba(18, 20, 17, 0) 78%);
	mix-blend-mode: normal;
	opacity: 0;
	transition: opacity 100ms linear;
}

body.home .hero-copy {
	top: 50%;
	/* Keep the editorial copy in the clear right rail. The product's
	 * approved transforms stay untouched; only this overlay rail moves. */
	right: clamp(32px, 4vw, 72px);
	left: auto;
	width: min(720px, calc(50vw - 48px));
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ib-hero-ink);
	transform: translateY(-50%);
	transform-origin: right center;
}

body.home .hero-copy::before,
body.home .hero-copy::after {
	display: none !important;
	content: none !important;
	background: none !important;
}

body.home .hero-copy-line {
	display: block;
	overflow: visible;
	margin: 0;
	clip-path: none;
	mask: none;
	-webkit-mask: none;
	transform: none;
	filter: none;
}

body.home .hero-copy-line__inner {
	display: block;
	overflow: visible;
	transform: none;
	filter: none;
}

body.home .hero-eyebrow {
	margin-bottom: 22px;
	color: var(--ib-hero-ink);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.home .hero-copy-title {
	max-width: 620px;
	margin: 0 0 30px;
	font-family: var(--ib-home-copy);
	color: var(--ib-hero-ink);
	font-size: clamp(72px, 6.3vw, 108px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.9;
	overflow: visible;
	word-break: normal;
}

body.home .hero-title-line {
	width: max-content;
	max-width: 620px;
	white-space: nowrap;
}

body.home .hero-primary-line {
	white-space: nowrap;
}

body.home .hero-secondary {
	max-width: 380px;
	margin: 0 0 30px;
	font-family: var(--ib-home-copy);
	color: var(--ib-hero-ink);
	font-size: clamp(25px, 2.1vw, 36px);
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.12;
}

body.home .hero-actions {
	display: block;
	margin: 0;
}

body.home .hero-sequence-track .button,
body.home .hero-sequence-track .button-primary {
	min-height: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	padding: 0 0 5px;
	color: var(--ib-hero-ink);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: border-color .2s ease, color .2s ease;
}

body.home .hero-sequence-track .button:hover,
body.home .hero-sequence-track .button:focus-visible,
body.home .hero-sequence-track .button-primary:hover,
body.home .hero-sequence-track .button-primary:focus-visible {
	border-color: var(--ib-hero-ink);
	background: transparent;
	color: var(--ib-installbox-blue);
}

body.home .hero-progress {
	right: max(32px, calc((100vw - var(--ib-home-max)) / 2));
	left: max(32px, calc((100vw - var(--ib-home-max)) / 2));
	background: rgba(255, 255, 255, 0.42);
}

body.home .hero-progress span {
	background: var(--ib-custo-paper);
}

/* Mobile and tablet use the approved fallback markup supplied by the
 * existing Hero component. It keeps the same editorial copy hierarchy while
 * the product remains isolated in the existing fallback stage. */
body.home .ib-cinematic-hero {
	min-height: clamp(620px, 82vw, 760px);
	padding: 0 max(28px, calc((100vw - var(--ib-home-max)) / 2));
	background: var(--ib-custo-gunmetal);
}

body.home .ib-cinematic-hero::before,
body.home .ib-cinematic-hero::after {
	background: none;
}

body.home .ib-cinematic-hero-copy {
	position: absolute;
	top: 50%;
	right: max(28px, calc((100vw - var(--ib-home-max)) / 2 + 24px));
	left: auto;
	width: min(720px, calc(50vw - 48px));
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ib-hero-ink);
	transform: translateY(-50%);
	animation: ib-home-hero-copy-in .9s cubic-bezier(.16,1,.3,1) .12s both;
}

@keyframes ib-home-hero-copy-in {
	0% { opacity: 0; transform: translateY(calc(-50% + 24px)); }
	100% { opacity: 1; transform: translateY(-50%); }
}

body.home .ib-cinematic-kicker {
	margin: 0 0 22px;
	color: var(--ib-hero-ink);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.home .ib-cinematic-hero h1 {
	margin: 0 0 38px;
	color: var(--ib-hero-ink);
	font-family: var(--ib-home-copy);
	font-size: clamp(72px, 6.3vw, 108px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.9;
	overflow: visible;
}

body.home .ib-hero-copy-line {
	display: block;
	overflow: visible;
	margin: 0;
	clip-path: none;
	mask: none;
	-webkit-mask: none;
}

body.home .ib-hero-copy-line__inner {
	display: block;
	overflow: visible;
	transform: none;
	filter: none;
}

body.home .ib-cinematic-hero-fallback .ib-cinematic-primary {
	min-height: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 0 0 5px;
	color: var(--ib-hero-ink) !important;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}


body.home .ib-cinematic-hero-fallback .ib-cinematic-primary:hover,
body.home .ib-cinematic-hero-fallback .ib-cinematic-primary:focus-visible {
	border-color: var(--ib-hero-ink);
	background: transparent;
	color: var(--ib-installbox-blue) !important;
}

body.home .ib-cinematic-product {
	filter: none;
}

/* Homepage content bands. */
body.home .ib-home-v2 {
	color: var(--ib-custo-obsidian);
	background: var(--ib-custo-paper);
	font-family: var(--ib-home-copy);
}

body.home .ib-home-v2-wrap {
	width: min(var(--ib-home-max), calc(100% - 64px));
}

body.home .ib-home-v2 h2,
body.home .ib-home-v2 h3,
body.home .ib-home-v2 p {
	text-wrap: pretty;
}

body.home .ib-home-v2 h2 {
	color: var(--ib-custo-obsidian);
	font-size: clamp(34px, 4vw, 57px);
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.08;
}

body.home .ib-home-v2 h3 {
	color: var(--ib-custo-obsidian);
	font-size: 20px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.2;
}

body.home .ib-home-v2 p {
	color: var(--ib-custo-obsidian);
	font-size: 16px;
	line-height: 1.55;
}

body.home .ib-home-v2-eyebrow {
	margin-bottom: 20px;
	color: var(--ib-custo-obsidian);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.43;
	text-transform: none;
}

body.home .ib-home-v2-verify .ib-home-v2-eyebrow,
body.home .ib-home-v2-oem .ib-home-v2-eyebrow {
	display: none;
}

body.home .ib-home-v2-reveal:not(.is-visible),
body.home .ib-home-v2-reveal.is-visible {
	filter: none;
}

body.home .ib-home-v2-applications {
	padding: clamp(112px, 12vw, 168px) 0 clamp(128px, 13vw, 184px);
	background: var(--ib-custo-paper);
}

body.home .ib-home-v2-section-head {
	max-width: 760px;
	margin-bottom: clamp(72px, 9vw, 124px);
}

body.home .ib-home-v2-applications .ib-home-v2-section-head h2 {
	max-width: 660px;
	font-size: clamp(42px, 4.8vw, 68px);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.98;
}

body.home .ib-home-v2-section-head > p:last-child {
	max-width: 540px;
	margin-top: 28px;
	font-size: 18px;
	line-height: 1.5;
}

body.home .ib-home-v2-scene-rail {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(18px, 2.4vw, 36px);
	row-gap: clamp(96px, 10vw, 156px);
	border-top: 0;
}

body.home .ib-home-v2-scene-entry {
	display: block;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-decoration: none;
	transition: none;
}

body.home .ib-home-v2-scene-entry::before {
	display: block;
	margin-bottom: 15px;
	color: var(--ib-custo-steel);
	content: "Application";
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.home .ib-home-v2-scene-entry:hover,
body.home .ib-home-v2-scene-entry:focus-visible {
	background: transparent;
	padding: 0;
}

body.home .ib-home-v2-scene-media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	border: 0;
	border-radius: 0;
	background: var(--ib-custo-graphite);
}

body.home .ib-home-v2-scene-entry:nth-child(1) {
	grid-column: 1 / span 7;
}

body.home .ib-home-v2-scene-entry:nth-child(2) {
	grid-column: 8 / span 5;
	margin-top: clamp(100px, 8vw, 140px);
}

body.home .ib-home-v2-scene-entry:nth-child(3) {
	grid-column: 2 / span 5;
}

body.home .ib-home-v2-scene-entry:nth-child(4) {
	grid-column: 7 / span 6;
	margin-top: clamp(100px, 8vw, 140px);
}

body.home .ib-home-v2-scene-entry:nth-child(2) .ib-home-v2-scene-media,
body.home .ib-home-v2-scene-entry:nth-child(3) .ib-home-v2-scene-media {
	aspect-ratio: 4 / 3;
}

body.home .ib-home-v2-scene-entry:nth-child(4) .ib-home-v2-scene-media {
	aspect-ratio: 3 / 2;
}

body.home .ib-home-v2-scene-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 700ms cubic-bezier(.22, 1, .36, 1);
}

body.home .ib-home-v2-scene-entry:hover .ib-home-v2-scene-media img,
body.home .ib-home-v2-scene-entry:focus-visible .ib-home-v2-scene-media img {
	transform: scale(1.018);
}

body.home .ib-home-v2-scene-copy {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px 24px;
	padding-top: 20px;
}

body.home .ib-home-v2-scene-copy > strong {
	grid-column: 1 / -1;
	color: var(--ib-custo-obsidian);
	font-size: clamp(25px, 2.15vw, 34px);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.08;
}

body.home .ib-home-v2-scene-copy > span {
	grid-column: 1 / -1;
	max-width: 48ch;
	color: var(--ib-custo-obsidian);
	font-size: 15px;
	line-height: 1.55;
}

body.home .ib-home-v2-scene-copy em {
	display: flex;
	grid-column: 1 / -1;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	margin-top: 2px;
	padding-top: 14px;
	border-top: 1px solid var(--ib-custo-hairline);
	color: var(--ib-custo-obsidian);
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.43;
}

body.home .ib-home-v2-scene-copy em span {
	display: inline-block;
	margin-left: 7px;
	transition: transform 250ms cubic-bezier(.22, 1, .36, 1);
}

body.home .ib-home-v2-scene-entry:hover .ib-home-v2-scene-copy em span,
body.home .ib-home-v2-scene-entry:focus-visible .ib-home-v2-scene-copy em span {
	transform: translateX(4px);
}

body.home .ib-home-v2-inline-cta {
	align-items: baseline;
	padding-top: 32px;
	border-bottom: 0;
}

body.home .ib-home-v2-inline-cta p {
	color: var(--ib-custo-steel);
	font-size: 15px;
}

body.home .ib-home-v2-inline-cta a,
body.home .ib-home-v2-text-link,
body.home .ib-home-v2-rfq-contact {
	border-bottom: 1px solid currentColor;
	padding-bottom: 4px;
	color: var(--ib-custo-obsidian);
	font-size: 15px;
	font-weight: 400;
	text-decoration: none;
}

body.home .ib-home-v2-verify {
	padding: 120px 0 128px;
	border-top: 1px solid var(--ib-custo-obsidian);
	background: var(--ib-custo-gunmetal);
}

body.home .ib-home-v2-verify-thesis h2 {
	max-width: 600px;
	font-size: clamp(38px, 4vw, 57px);
}

body.home .ib-home-v2-verify-thesis > p:not(.ib-home-v2-eyebrow) {
	max-width: 54ch;
	margin-top: 28px;
}

body.home .ib-home-v2-verify-rows,
body.home .ib-home-v2-capability-list,
body.home .ib-home-v2-delivery-list {
	border-top: 1px solid var(--ib-custo-obsidian);
}

body.home .ib-home-v2-verify-row,
body.home .ib-home-v2-capability {
	border-bottom: 1px solid var(--ib-custo-obsidian);
}

body.home .ib-home-v2-verify-row {
	grid-template-columns: 42px minmax(0, 1fr);
	padding: 28px 0 30px;
}

body.home .ib-home-v2-row-index,
body.home .ib-home-v2-capability-number {
	color: var(--ib-custo-graphite);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: normal;
}

body.home .ib-home-v2-verify-row p,
body.home .ib-home-v2-capability p {
	max-width: 56ch;
	margin-top: 14px;
	font-size: 15px;
	line-height: 1.5;
}

body.home .ib-home-v2-verify-row .ib-home-v2-text-link {
	margin-top: 16px;
}

body.home .ib-home-v2-oem {
	padding: 120px 0 128px;
	border-top: 1px solid var(--ib-custo-hairline);
	background: var(--ib-custo-paper);
}

body.home .ib-home-v2-oem-intro h2 {
	max-width: 620px;
}

body.home .ib-home-v2-oem-intro > p:not(.ib-home-v2-eyebrow) {
	max-width: 54ch;
	margin-top: 28px;
}

body.home .ib-home-v2-capability {
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 18px;
	padding: 28px 0 32px;
}

body.home .ib-home-v2-capability-number {
	padding-top: 2px;
}

body.home .ib-home-v2-oem-actions {
	gap: 12px;
	padding-top: 28px;
}

body.home .ib-home-v2-button {
	min-height: 48px;
	border: 1px solid var(--ib-custo-obsidian);
	border-radius: 8px;
	background: transparent;
	padding: 13px 20px;
	color: var(--ib-custo-obsidian);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
}

body.home .ib-home-v2-button-primary {
	border-radius: 31px;
	background: transparent;
	color: var(--ib-custo-obsidian);
}

body.home .ib-home-v2-button:hover,
body.home .ib-home-v2-button:focus-visible,
body.home .ib-home-v2-button-primary:hover,
body.home .ib-home-v2-button-primary:focus-visible,
body.home .ib-home-v2-button-secondary:hover,
body.home .ib-home-v2-button-secondary:focus-visible {
	border-color: var(--ib-custo-obsidian);
	background: var(--ib-custo-obsidian);
	color: var(--ib-custo-paper);
}

/* The lower manufacturing/product story stays InstallBox's existing story.
 * It is brought into the Custo system, not ORYZO's warm-dark art direction. */
body.home .installbox-scroll-story {
	--story-deep: var(--ib-custo-graphite);
	--story-stage-gray: var(--ib-custo-graphite);
	--story-teal: var(--ib-custo-paper);
	--story-brand-yellow: var(--ib-custo-paper);
	background: var(--ib-custo-graphite);
}

body.home .installbox-scroll-story__chapters button,
body.home .installbox-scroll-story__chapters button.is-active,
body.home .installbox-scroll-story__chapters button:hover {
	color: var(--ib-custo-paper);
}

body.home .installbox-scroll-story__chapters button::after,
body.home .installbox-scroll-story__progress span {
	background: var(--ib-custo-paper);
}

body.home .installbox-scroll-story__stage--system .installbox-scroll-story__stage2-copy h2,
body.home .installbox-scroll-story h2 {
	color: var(--ib-custo-paper) !important;
	text-shadow: none;
	font-weight: 400;
}

body.home .installbox-scroll-story__stage--system .installbox-scroll-story__stage2-copy .installbox-scroll-story__eyebrow,
body.home .installbox-scroll-story__eyebrow {
	color: var(--ib-custo-paper);
	text-shadow: none;
}

body.home .installbox-scroll-story__stage--system .installbox-scroll-story__stage2-copy .installbox-scroll-story__body,
body.home .installbox-scroll-story__body {
	color: rgba(255, 255, 255, 0.86);
	text-shadow: none;
}

body.home .installbox-scroll-story__button {
	border-color: var(--ib-custo-paper);
	border-radius: 31px;
	background: transparent;
	color: var(--ib-custo-paper);
}

body.home .installbox-scroll-story__button:hover,
body.home .installbox-scroll-story__button:focus-visible {
	border-color: var(--ib-custo-paper);
	background: var(--ib-custo-paper);
	color: var(--ib-custo-obsidian);
}

body.home .ib-home-v2-rfq {
	padding: 112px 0 120px;
	background: var(--ib-custo-graphite);
}

body.home .ib-home-v2-rfq h2,
body.home .ib-home-v2-rfq .ib-home-v2-eyebrow,
body.home .ib-home-v2-rfq p,
body.home .ib-home-v2-rfq-contact {
	color: var(--ib-custo-paper);
}

body.home .ib-home-v2-rfq .ib-home-v2-eyebrow {
	display: block;
}

body.home .ib-home-v2-rfq .ib-home-v2-button-light {
	border-color: var(--ib-custo-paper);
	border-radius: 31px;
	background: transparent;
	color: var(--ib-custo-paper);
}

body.home .ib-home-v2-rfq .ib-home-v2-button-light:hover,
body.home .ib-home-v2-rfq .ib-home-v2-button-light:focus-visible {
	border-color: var(--ib-custo-paper);
	background: var(--ib-custo-paper);
	color: var(--ib-custo-obsidian);
}

body.home .ib-home-v2-delivery-list {
	border-top-color: rgba(255, 255, 255, 0.68);
}

body.home .ib-home-v2-delivery-list li {
	border-bottom-color: rgba(255, 255, 255, 0.68);
	color: var(--ib-custo-paper);
}

body.home .ib-home-v2-delivery-list li > span {
	color: var(--ib-custo-paper);
}

/* Footer is a quiet paper-white catalogue index, not another dark CTA band. */
body.home .installbox-minimal-footer-root {
	--color-bg: var(--ib-custo-paper);
	--color-bg-soft: var(--ib-custo-paper);
	--color-surface: var(--ib-custo-paper);
	--color-text: var(--ib-custo-obsidian);
	--color-text-muted: var(--ib-custo-steel);
	--color-primary: var(--ib-custo-obsidian);
	--color-primary-hover: var(--ib-custo-graphite);
	--color-border: var(--ib-custo-hairline);
	background: var(--ib-custo-paper);
	color: var(--ib-custo-obsidian);
}

body.home .installbox-footer {
	border-top: 1px solid var(--ib-custo-hairline);
	background: var(--ib-custo-paper);
}

body.home .installbox-footer-inner {
	width: min(var(--ib-home-max), calc(100% - 64px));
}

body.home .installbox-footer-brand h2,
body.home .installbox-footer-column h3 {
	color: var(--ib-custo-obsidian);
	font-weight: 400;
}

body.home .installbox-footer-brand-kicker,
body.home .installbox-footer-kicker,
body.home .installbox-footer-brand p:not(.installbox-footer-kicker),
body.home .installbox-footer-bottom p,
body.home .installbox-footer a {
	color: var(--ib-custo-steel);
}

body.home .installbox-footer-cta {
	border-color: var(--ib-custo-obsidian);
	border-radius: 31px;
	background: transparent;
	color: var(--ib-custo-obsidian);
}

body.home .installbox-footer-cta:hover,
body.home .installbox-footer-cta:focus-visible {
	border-color: var(--ib-custo-obsidian);
	background: var(--ib-custo-obsidian);
	color: var(--ib-custo-paper);
	box-shadow: none;
}

body.home .installbox-footer-column a:hover,
body.home .installbox-footer-column a:focus-visible,
body.home .installbox-footer-bottom a:hover,
body.home .installbox-footer-bottom a:focus-visible {
	color: var(--ib-custo-obsidian);
}

@media (max-width: 1099px) {
	body.home .installbox-mega-menu-app {
		padding: 8px 16px;
	}

	body.home .installbox-glass-nav {
		height: 64px !important;
		padding: 0 16px !important;
	}

	body.home .ib-cinematic-hero-copy {
		width: min(560px, calc(50vw - 48px));
	}
}

@media (max-width: 767px) {
	body.home .installbox-theme-header.is-content-nav {
		background: var(--ib-custo-paper);
	}

	body.home .hero-copy {
		right: 20px;
		left: 20px;
		width: auto;
		padding: 0;
	}

	body.home .ib-cinematic-hero h1 {
		font-size: clamp(52px, 14vw, 72px);
		line-height: 0.92;
	}

	body.home .hero-copy-title {
		max-width: 100%;
		margin-bottom: 28px;
		font-size: clamp(52px, 14vw, 72px);
		letter-spacing: -0.035em;
		line-height: 0.92;
	}

	body.home .hero-title-line {
		max-width: 100%;
		width: auto;
		white-space: nowrap;
	}

	body.home .hero-secondary {
		max-width: 320px;
		margin-bottom: 28px;
		font-size: clamp(25px, 7vw, 30px);
		line-height: 1.12;
	}

	body.home .ib-cinematic-hero-copy {
		top: 106px;
		right: 20px;
		left: 20px;
		width: auto;
		transform: none;
	}

	body.home .ib-cinematic-hero h1 {
		margin-bottom: 32px;
	}

	body.home .hero-progress {
		right: 20px;
		left: 20px;
	}

	body.home .ib-cinematic-hero {
		min-height: 760px;
		padding: 0 20px 240px;
	}

	body.home .ib-home-v2-wrap,
	body.home .installbox-footer-inner {
		width: min(calc(100% - 40px), 620px);
	}

	body.home .ib-home-v2-applications,
	body.home .ib-home-v2-verify,
	body.home .ib-home-v2-oem,
	body.home .ib-home-v2-rfq {
		padding-top: 80px;
		padding-bottom: 88px;
	}

	body.home .ib-home-v2-section-head {
		margin-bottom: 64px;
	}

	body.home .ib-home-v2-applications .ib-home-v2-section-head h2 {
		font-size: clamp(42px, 11vw, 56px);
		line-height: 0.98;
	}

	body.home .ib-home-v2-section-head > p:last-child {
		max-width: 540px;
		font-size: 17px;
		line-height: 1.55;
	}

	body.home .ib-home-v2-scene-rail {
		grid-template-columns: 1fr;
		row-gap: clamp(72px, 18vw, 96px);
		border-top: 0;
	}

	body.home .ib-home-v2-scene-entry {
		grid-column: 1 / -1 !important;
		margin-top: 0 !important;
		padding: 0;
		border: 0;
	}

	body.home .ib-home-v2-scene-entry::before {
		margin-bottom: 12px;
		font-size: 11px;
	}

	body.home .ib-home-v2-scene-entry:hover,
	body.home .ib-home-v2-scene-entry:focus-visible {
		padding: 0;
		background: transparent;
	}

	body.home .ib-home-v2-scene-entry .ib-home-v2-scene-media,
	body.home .ib-home-v2-scene-entry:nth-child(2) .ib-home-v2-scene-media,
	body.home .ib-home-v2-scene-entry:nth-child(3) .ib-home-v2-scene-media,
	body.home .ib-home-v2-scene-entry:nth-child(4) .ib-home-v2-scene-media {
		width: 100%;
	}

	body.home .ib-home-v2-scene-copy {
		grid-template-columns: 1fr;
		gap: 12px;
		padding-top: 18px;
	}

	body.home .ib-home-v2-scene-copy > strong,
	body.home .ib-home-v2-scene-copy > span,
	body.home .ib-home-v2-scene-copy em {
		grid-column: auto;
	}

	body.home .ib-home-v2-scene-copy > strong {
		font-size: 28px;
		line-height: 1.08;
	}

	body.home .ib-home-v2-scene-copy > span {
		max-width: 48ch;
	}

	body.home .ib-home-v2-scene-copy em {
		width: 100%;
		margin-top: 2px;
	}

	body.home .ib-home-v2-inline-cta {
		display: grid;
		gap: 16px;
	}

	body.home .ib-home-v2-verify-grid,
	body.home .ib-home-v2-oem-grid,
	body.home .ib-home-v2-rfq-grid {
		grid-template-columns: 1fr;
	}

	body.home .ib-home-v2-verify-thesis,
	body.home .ib-home-v2-oem-intro {
		position: static;
	}

	body.home .ib-home-v2-verify-thesis h2,
	body.home .ib-home-v2-rfq h2 {
		font-size: clamp(38px, 10.2vw, 50px);
	}

	body.home .ib-home-v2-capability {
		grid-template-columns: 36px minmax(0, 1fr);
		gap: 12px;
	}

	body.home .ib-home-v2-oem-actions,
	body.home .ib-home-v2-rfq-actions {
		align-items: stretch;
		flex-direction: column;
	}

	body.home .ib-home-v2-button,
	body.home .ib-home-v2-rfq-contact {
		width: 100%;
	}

	body.home .ib-home-v2-rfq-contact {
		justify-content: center;
	}

	body.home .installbox-scroll-story__stage1-content {
		background: var(--ib-custo-graphite);
	}

	body.home .installbox-scroll-story__stage--system {
		background: var(--ib-custo-graphite);
	}
}

/* Keep the approved mobile fallback product stage present in the first
 * viewport. The source asset is intentionally wide, so crop only the
 * presentation layer to keep the product legible without changing its pose. */
@media (max-width: 640px) {
	body.home .ib-cinematic-hero {
		padding-bottom: 240px;
	}

	body.home .ib-cinematic-product {
		object-fit: cover;
		object-position: 74% 54%;
	}
}

@media (prefers-reduced-transparency: reduce) {
	body.home .installbox-theme-header,
	body.home .installbox-theme-header.is-content-nav,
	body.home .installbox-glass-nav {
		background: var(--ib-custo-paper) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.home .ib-home-v2-scene-entry,
	body.home .ib-home-v2-button,
	body.home .ib-home-v2-text-link,
	body.home .ib-home-v2-rfq-contact,
	body.home .hero-sequence-track .button,
	body.home .ib-cinematic-primary,
	body.home .ib-cinematic-secondary,
	body.home .installbox-footer-cta {
		transition: none !important;
	}
}
