/*! QRate landing styles. Generated from src/landing/theme.source.css by
    scripts/build-landing.mjs -- do not edit this file. Comments are stripped
    here; the rationale lives with the source. */


:root {

color-scheme: dark;

--oc-bg: var(--wp--preset--color--bg, #0E0F13);
	--oc-ink: var(--wp--preset--color--ink, #FFFFFF);
	--oc-ink-dim: var(--wp--preset--color--ink-dim, rgba(255, 255, 255, 0.85));
	--oc-ink-muted: var(--wp--preset--color--ink-muted, rgba(255, 255, 255, 0.6));
	--oc-black: var(--wp--preset--color--black, #000000);
	--oc-accent-start: var(--wp--preset--color--accent-start, #B89B83);

--oc-accent-tint: var(--wp--preset--color--accent-tint, #B89B83);
	--oc-accent-end: var(--wp--preset--color--accent-end, #B77B38);

--oc-positive: var(--wp--preset--color--positive, #3A863D);
	--oc-gray-600: var(--wp--preset--color--gray-600, #666666);

--oc-gray-400: var(--wp--preset--color--gray-400, #757575);

--oc-faq-bg: var(--wp--preset--color--faq-bg, #2d1810);

--oc-gradient-angle: 135deg;
	--oc-accent: linear-gradient(var(--oc-gradient-angle), var(--oc-accent-start) 0%, var(--oc-accent-end) 100%);

--oc-accent-aa-start: #8C6B50;
	--oc-accent-aa-end: #9A672F;
	--oc-accent-aa: linear-gradient(var(--oc-gradient-angle), var(--oc-accent-aa-start) 0%, var(--oc-accent-aa-end) 100%);

--oc-grid-max: 1280px;
	--oc-frame: 1.5rem;         
	--oc-frame-mobile: 0.375rem; 

--oc-stats-standoff: 16px;
	--oc-gutter: var(--oc-frame);
	--oc-blur: 24px;

--oc-pill: 999px;
	--oc-card-radius: 0px;      
	--oc-header-h: 136px;
	--oc-header-pad: 48px;
	--oc-hairline: 1px solid rgba(255, 255, 255, 0.14);
	--oc-hairline-dark: 1px solid rgba(0, 0, 0, 0.12);

--oc-font-system: var(--wp--preset--font-family--system, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
	--oc-font-arial: var(--wp--preset--font-family--arial, Arial, Helvetica, sans-serif);
	--oc-fs-button: 14px;
	--oc-fs-link: 16px;
	--oc-fs-card: 18px;
	--oc-fs-body: 22px;

--oc-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--oc-dur: 220ms;
}

@media (max-width: 768px) {
	body {
		--wp--style--root--padding-left: var(--oc-frame-mobile);
		--wp--style--root--padding-right: var(--oc-frame-mobile);
		--oc-gutter: var(--oc-frame-mobile);
		--oc-header-h: 72px;
		--oc-header-pad: 12px;
	}
}

html {
	scroll-behavior: smooth;

scroll-padding-top: var(--oc-header-h);
}

body {
	background-color: var(--oc-bg);
	color: var(--oc-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

.oc-scene {
	position: relative;
	isolation: isolate;
}

:where(.oc-scene) > :where(.wp-block-group__inner-container, .wp-block-cover__inner-container) {
	position: relative;
	z-index: 1;
}

.oc-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.oc-label,
.wp-block-button__link,
.oc-btn,
.oc-nav__link {
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: 0.56px;
	text-transform: uppercase;
}

.wp-block-button__link,
.oc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-block-size: 44px;
	border: 0;
	border-radius: var(--oc-pill);
	padding: 12px 18px;
	color: var(--oc-ink);
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--oc-dur) var(--oc-ease), background-color var(--oc-dur) var(--oc-ease), opacity var(--oc-dur) var(--oc-ease);
}

.oc-btn--primary,
.wp-block-button.oc-btn--primary > .wp-block-button__link {
	background-image: var(--oc-accent-aa);
	background-color: var(--oc-accent-aa-end);
	color: var(--oc-ink);
	padding: 12px 18px;
	border-radius: var(--oc-pill);
}

.oc-btn--primary:hover,
.wp-block-button.oc-btn--primary > .wp-block-button__link:hover {
	transform: translateY(-1px);
	filter: saturate(1.08);
}

.oc-btn--ghost,
.wp-block-button.oc-btn--ghost > .wp-block-button__link {
	background-color: rgba(0, 0, 0, 0.5);
	color: var(--oc-ink);
	border-radius: var(--oc-pill);
	padding: 12px 18px;
	backdrop-filter: blur(8px);
}

.oc-btn--ghost:hover,
.wp-block-button.oc-btn--ghost > .wp-block-button__link:hover {
	background-color: rgba(0, 0, 0, 0.68);
}

.oc-band--light .oc-btn--ghost,
.oc-band--light .wp-block-button.oc-btn--ghost > .wp-block-button__link {
	background-color: rgba(0, 0, 0, 0.82);
	color: var(--oc-ink);
}

.oc-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 44px;
	block-size: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--oc-pill);
	background-color: rgba(0, 0, 0, 0.5);
	color: var(--oc-ink);
	cursor: pointer;
	transition: background-color var(--oc-dur) var(--oc-ease), transform var(--oc-dur) var(--oc-ease);
}

.oc-icon-btn:hover { background-color: rgba(0, 0, 0, 0.72); }
.oc-icon-btn:active { transform: scale(0.96); }
.oc-icon-btn svg { inline-size: 18px; block-size: 18px; fill: currentColor; }

.oc-band--light .oc-icon-btn {
	background-color: rgba(0, 0, 0, 0.82);
}

.oc-textlink {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-block-size: 44px;   
	padding: 0;
	background: none;
	border: 0;
	color: inherit;
	text-decoration: none;
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
}

.oc-textlink::after {
	content: "";
	inline-size: 32px;
	block-size: 32px;
	flex: 0 0 auto;
	border-radius: var(--oc-pill);
	background-color: rgba(0, 0, 0, 0.5);
	background-image: linear-gradient(transparent, transparent);
	transition: transform var(--oc-dur) var(--oc-ease);
}

.oc-band--light .oc-textlink { color: var(--oc-black); }
.oc-band--light .oc-textlink::after { background-color: rgba(0, 0, 0, 0.82); }
.oc-textlink:hover::after { transform: translateX(4px); }

.oc-card {
	border-radius: var(--oc-card-radius);
	box-shadow: none;
	background-color: var(--oc-ink);
	color: var(--oc-black);
	padding: 24px;
}

.oc-card :where(h1, h2, h3, h4) { color: var(--oc-black); }

.oc-header {
	position: fixed;
	inset-block-start: 0;
	inset-inline: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-block-size: var(--oc-header-h);
	padding: 0 var(--oc-header-pad);
	background-color: rgba(0, 0, 0, 0); 
	pointer-events: none;
}

.oc-header > * { pointer-events: auto; }

.oc-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0;
	background-color: rgba(14, 15, 19, 0.88);
	backdrop-filter: blur(var(--oc-blur, 24px));
	-webkit-backdrop-filter: blur(var(--oc-blur, 24px));
	border-block-end: 1px solid rgba(255, 255, 255, 0.08);
	transition: opacity 180ms ease-out;
	pointer-events: none;
}

.oc-header.is-scrolled::before { opacity: 1; }

.oc-wordmark {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;   
	gap: 10px;
	color: var(--oc-ink);
	text-decoration: none;
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-card);
	font-weight: 300;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	white-space: nowrap;
}

.oc-wordmark__glyph {
	inline-size: 26px;
	block-size: 26px;
	flex: 0 0 auto;
}

.oc-wordmark__glyph rect { fill: none; stroke: currentColor; stroke-width: 2; }
.oc-wordmark__glyph circle { fill: url(#oc-wordmark-accent); }
.oc-wordmark b { font-weight: 400; }

.oc-nav {
	display: none; 
}

@media (min-width: 1025px) {
	.oc-nav {
		display: block;
	}
}

.oc-nav__list {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 6px;
	list-style: none;
	border-radius: var(--oc-pill);
	background-color: rgba(14, 15, 19, 0.56);
	backdrop-filter: blur(var(--oc-blur));
	-webkit-backdrop-filter: blur(var(--oc-blur));
}

.oc-nav__link {

display: inline-flex;
	align-items: center;
	min-block-size: 44px;
	padding: 12px 14px;       
	border-radius: var(--oc-pill);
	background-color: transparent;
	color: var(--oc-ink);
	text-decoration: none;
	transition: background-color var(--oc-dur) var(--oc-ease);
}

.oc-nav__link:hover { background-color: rgba(255, 255, 255, 0.1); }

.oc-nav__item.is-active .oc-nav__link,
.oc-nav__link.is-active,
.oc-nav__link[aria-current="true"],
.oc-nav__link[aria-current="page"] {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 6px;
}

.oc-header__cta { display: none; }

@media (min-width: 1025px) {
	.oc-header__cta { display: inline-flex; }
}

.oc-burger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	inline-size: 44px;
	block-size: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--oc-pill);
	background-color: rgba(14, 15, 19, 0.56);
	backdrop-filter: blur(var(--oc-blur));
	-webkit-backdrop-filter: blur(var(--oc-blur));
	color: var(--oc-ink);
	cursor: pointer;
}

.oc-burger__bars {
	position: relative;
	display: block;
	inline-size: 18px;
	block-size: 2px;
	background: currentColor;
}

.oc-burger__bars::before,
.oc-burger__bars::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	block-size: 2px;
	background: currentColor;
}

.oc-burger__bars::before { inset-block-start: -6px; }
.oc-burger__bars::after { inset-block-start: 6px; }

.oc-header__mobile {
	display: flex;
	align-items: center;
	gap: 8px;
}

@media (min-width: 1025px) {
	.oc-header__mobile { display: none; }
}

@media (min-width: 1025px) and (max-width: 1098px) {
	.oc-header {
		gap: 10px;
		padding-inline: 24px;
	}
}

@media (max-width: 768px) {
	.oc-header { gap: 12px; }

.oc-wordmark {
		flex: 0 1 auto;
		min-inline-size: 0;

min-block-size: 44px;
		gap: 8px;
		font-size: var(--oc-fs-button);
		letter-spacing: 0.6px;
	}

.oc-wordmark > span {
		min-inline-size: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

.oc-wordmark__glyph { inline-size: 22px; block-size: 22px; }

.oc-header__mobile { flex: 0 0 auto; }
}

.oc-pill-static {
	display: inline-block;
	padding: 12px 14px;
	border-radius: var(--oc-pill);
	background-color: rgba(14, 15, 19, 0.56);
	backdrop-filter: blur(var(--oc-blur));
	-webkit-backdrop-filter: blur(var(--oc-blur));
	color: var(--oc-ink);
	text-decoration: none;
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
}

.oc-overlay {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 16px var(--oc-frame) 32px;
	background-color: var(--oc-ink);
	color: var(--oc-black);
	overflow-y: auto;
}

.oc-overlay[hidden] { display: none; }

.oc-overlay__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.oc-overlay__top { justify-content: flex-end; }

.oc-overlay__close {
	inline-size: 44px;
	block-size: 44px;
	border: 0;
	border-radius: var(--oc-pill);
	background-color: rgba(0, 0, 0, 0.82);
	color: var(--oc-ink);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.oc-overlay__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oc-overlay__list a {
	display: block;
	padding: 6px 0;
	color: var(--oc-black);
	text-decoration: none;
	font-family: var(--oc-font-system);
	font-size: clamp(30px, 8vw, 40px);
	font-weight: 500;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: -0.5px;
}

.oc-overlay__list .is-active a { font-weight: 700; }

.oc-overlay__rule {
	block-size: 0;
	margin: 8px 0;
	border: 0;
	border-block-start: var(--oc-hairline-dark);
}

.oc-overlay__phone {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;   
	color: var(--oc-black);
	font-size: var(--oc-fs-card);
	text-decoration: none;
}

.oc-overlay__social {
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oc-overlay__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 44px;
	block-size: 44px;
	border-radius: var(--oc-pill);
	background-color: rgba(0, 0, 0, 0.82);
	color: var(--oc-ink);
	text-decoration: none;
	font-family: var(--oc-font-arial);
	font-size: 12px;
	letter-spacing: 0.56px;
}

body.oc-menu-open { overflow: hidden; }

.oc-scene {
	min-block-size: calc( var( --oc-vh, 1vh ) * 100 );
	display: flex;
	align-items: center;
	padding-block: calc(var(--oc-header-h) + 24px) 64px;
	scroll-margin-block-start: 0;
}

@media (max-width: 768px) {
	.oc-scene {

min-block-size: calc( var( --oc-vh, 1vh ) * 100 );
		padding-block: calc(var(--oc-header-h) + 24px) 48px;
	}
}

.oc-scene--dark { background-color: var(--oc-bg); color: var(--oc-ink); }
.oc-scene--faq { background-color: var(--oc-faq-bg); color: var(--oc-ink); }

.oc-eyebrow {
	display: block;
	margin: 0 0 12px;
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
	color: var(--oc-ink-muted);
}

.oc-band--light .oc-eyebrow { color: var(--oc-gray-600); }

.oc-quote {
	font-style: italic;
	color: var(--oc-accent-start);
}

.oc-lead {
	font-size: var(--oc-fs-body);
	line-height: 1.45;
	color: var(--oc-ink-dim);
	max-inline-size: 58ch;
}

@media (max-width: 768px) {

.oc-lead { font-size: 21.1px; line-height: 29.54px; }
}

.oc-media {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--oc-card-radius);
	background-color: #15161c;

background-image:
		linear-gradient(160deg, #23242c 0%, #121319 58%, #0b0c10 100%);
}

.oc-media--3x2 { aspect-ratio: 3 / 2; }
.oc-media--16x9 { aspect-ratio: 16 / 9; }
.oc-media--4x3 { aspect-ratio: 4 / 3; }
.oc-media--1x1 { aspect-ratio: 1 / 1; }
.oc-media--3x4 { aspect-ratio: 3 / 4; }

.oc-media__motif {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	opacity: 0.6;
}

.oc-media--studio {
	background-color: #4a4a50;

background-image:
		radial-gradient(90% 90% at 50% 50%, #6a6a72 0%, #3a3a42 56%, #24242a 100%);
}

.oc-marks {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oc-marks__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	inline-size: 140px;
	block-size: 50px;
	padding: 8px;
	border: var(--oc-hairline);
	border-radius: var(--oc-card-radius);
	color: var(--oc-ink-muted);
	font-family: var(--oc-font-arial);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
}

.oc-marks__item svg { inline-size: 26px; block-size: 26px; flex: 0 0 auto; }

.oc-band--light .oc-marks__item {
	border: var(--oc-hairline-dark);
	color: var(--oc-gray-600);
	filter: grayscale(1);
}

.oc-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border: var(--oc-hairline);
	border-radius: var(--oc-pill);
	font-family: var(--oc-font-arial);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
	color: var(--oc-ink-muted);
}

.oc-badge svg { inline-size: 18px; block-size: 12px; }
.oc-band--light .oc-badge { border: var(--oc-hairline-dark); color: var(--oc-gray-600); }

.oc-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
	inline-size: 100%;
}

@media (min-width: 1024px) {
	.oc-hero__inner {
		grid-template-columns: minmax(0, 1fr) 200px;
		align-items: end;
	}
}

.oc-hero-lockup {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	margin-block: 0 28px;
	font-size: inherit;
	font-weight: inherit;
}

.oc-hero-lockup .oc-hero-line,
.oc-404 .oc-hero-line {
	margin: 0;
	font-family: var(--oc-font-system);
	font-size: clamp(40px, 2rem + 7.2vw, 104px);
	font-weight: 800;
	line-height: 0.96;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	text-wrap: balance;
}

.oc-hero-line--cut {
	display: inline-block;
	padding: 0.06em 0.16em 0.1em;
	border-radius: var(--oc-card-radius);
	background-color: var(--oc-ink);
	color: var(--oc-bg);
}

.oc-hero-line--open { color: var(--oc-ink); padding-inline: 0.02em; }

.oc-hero .oc-hero-lockup {
	--oc-hero-bleed: calc(
		max(0px, (100vw - var(--oc-grid-max)) / 2) + var(--oc-gutter) + 8px
	);
	margin-inline-start: calc(-1 * var(--oc-hero-bleed));
}

.oc-hero .oc-hero-lockup .oc-hero-line--cut {

padding-inline-start: calc(var(--oc-hero-bleed) + 0.16em);
}

html.oc-js [data-oc-reveal] > .oc-hero-lockup,
html.oc-js [data-oc-reveal].is-revealed > .oc-hero-lockup {
	opacity: 1;
	transform: none;
	transition: none;
}

html.oc-js .oc-hero .oc-hero-lockup .oc-hero-line--cut {
	transform: translateX(-110%);          
}

html.oc-js [data-oc-reveal].is-revealed .oc-hero-lockup .oc-hero-line--cut {
	animation: ocHeroSlabIn var(--oc-dur-hero-slab) ease forwards;
}

html.oc-js [data-oc-reveal].is-revealed .oc-hero-lockup .oc-hero-line--cut:nth-child(2) {
	animation-delay: 0.1s;
}

@keyframes ocHeroSlabIn {
	from { transform: translateX(-110%); }
	to   { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
	.oc-scene__media-video {

background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.oc-js .oc-hero .oc-hero-lockup .oc-hero-line--cut,
	html.oc-js [data-oc-reveal].is-revealed .oc-hero-lockup .oc-hero-line--cut {
		transform: none;
		animation: none;
		opacity: 1;
	}
}

.oc-hero__cues {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	margin-block-start: 32px;
}

.oc-hero__scroll-cue {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--oc-ink-muted);
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
	text-decoration: none;
}

.oc-hero__trust {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.oc-hero__trust .oc-marks {
	flex-direction: column;
}

@media (max-width: 1023px) {
	.oc-hero__trust .oc-marks {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		padding-block-end: 8px;
	}
	.oc-hero__trust .oc-marks__item {
		flex: 0 0 auto;
		inline-size: calc((100% - 32px) / 3);
		min-inline-size: 104px;
		scroll-snap-align: start;
	}
}

.oc-scenarios__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	inline-size: 100%;
}

.oc-scenarios__cues {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
}

.oc-scenarios__stage {
	position: relative;
	inline-size: 100%;
	min-block-size: min(72vh, 620px);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: end;
	overflow: hidden;
}

.oc-scenarios__stage::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(to top right, rgba(14, 15, 19, 0.92) 0%, rgba(14, 15, 19, 0.45) 42%, rgba(14, 15, 19, 0) 72%);
	pointer-events: none;
}

.oc-scenarios__stage > .oc-media {
	position: absolute;
	inset: 0;
	aspect-ratio: auto;
	z-index: -1;
}

.oc-scenarios__layer {

box-sizing: border-box;
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	padding: 24px;
	inline-size: 100%;
}

@media (min-width: 1024px) {
	.oc-scenarios__layer {
		grid-template-columns: minmax(0, 420px) minmax(0, 1fr) minmax(0, 260px);
		align-items: end;
	}
	.oc-scenarios__spacer { display: block; }
}

.oc-scenarios__caption {

box-sizing: border-box;
	background-color: var(--oc-ink);
	color: var(--oc-black);
	border-radius: var(--oc-card-radius);
	box-shadow: none;
	padding: 24px;
}

.oc-scenarios__caption p { color: var(--oc-black); max-inline-size: 42ch; }

.oc-chips {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oc-chips a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-block-size: 44px;   
	padding: 12px 14px;
	border-radius: var(--oc-pill);
	background-color: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(8px);
	color: var(--oc-ink);
	text-decoration: none;
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
	white-space: nowrap;
}

.oc-chips .is-active a {
	background-image: var(--oc-accent-aa);

background-color: var(--oc-accent-aa-end);
}

.oc-chips__swatch {
	inline-size: 22px;
	block-size: 22px;
	border-radius: var(--oc-pill);
	background-image: var(--oc-accent);
	flex: 0 0 auto;
}

.oc-scenarios__counter {
	position: absolute;
	inset-block-start: 16px;
	inset-inline-end: 16px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 8px;
}

@media (min-width: 1024px) {
	.oc-scenarios__counter { display: none; }
}

@media (max-width: 1023px) {
	.oc-chips { display: none; }
	.oc-scenarios__caption { inline-size: 100%; }
}

.oc-features {
	background-color: #3c3c42;

}

.oc-features__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	inline-size: 100%;
}

@media (min-width: 1024px) {
	.oc-features__inner {
		grid-template-columns: minmax(0, 240px) minmax(0, 1fr) minmax(0, 424px);
		align-items: center;
		gap: 48px;
	}
}

.oc-features__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oc-features__list a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-block-size: 44px;   
	padding: 12px 14px;
	border-radius: var(--oc-pill);
	color: var(--oc-ink);
	text-decoration: none;
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
}

.oc-features__list .is-active a {
	background-color: rgba(0, 0, 0, 0.5);
}

.oc-features__icon {
	inline-size: 22px;
	block-size: 22px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
}

@media (max-width: 1023px) {
	.oc-features__list {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		padding-block-end: 8px;
	}
	.oc-features__list li { flex: 0 0 auto; }
}

.oc-features__copy p {
	margin: 0;
	color: var(--oc-ink-dim);
	font-size: var(--oc-fs-card);
	line-height: 1.6;
}

.oc-features__copy .oc-quote {
	display: block;
	margin-block-end: 16px;
	font-size: 28px;
	line-height: 1.25;
	font-style: italic;
	color: var(--oc-accent-tint);
}

.oc-references { display: block; padding-block: 0; }

.oc-references__top {
	background-color: var(--oc-bg);
	min-block-size: 45vh;
	display: flex;
	align-items: center;
	padding-block: calc(var(--oc-header-h) + 24px) 32px;
}

.oc-references__top-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	inline-size: 100%;
}

.oc-dots {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oc-dots button {
	inline-size: 24px;
	block-size: 24px;
	padding: 0;
	border: 0;
	border-radius: var(--oc-pill);
	background-color: transparent;
	background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.35) 0 5px, transparent 5px);
	cursor: pointer;
}

.oc-dots .is-active button {
	background-color: transparent;
	background-image: radial-gradient(circle at 50% 50%, var(--oc-ink) 0 5px, transparent 5px);
}

.oc-references__band {
	background-color: var(--oc-ink);
	color: var(--oc-black);
	min-block-size: 55vh;
	display: flex;
	align-items: stretch;
}

.oc-references__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	inline-size: 100%;
	align-items: stretch;
}

@media (min-width: 1024px) {
	.oc-references__grid {
		grid-template-columns: 40% 20% 40%;
	}
}

.oc-references__photo { position: relative; }
.oc-references__photo .oc-media { block-size: 100%; aspect-ratio: 4 / 3; }

.oc-references__photo .oc-icon-btn {
	position: absolute;
	inset-block-end: 12px;
	inset-inline-end: 12px;
}

.oc-references__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background-color: #ece7e1;
}

.oc-references__quote {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 32px 24px;
	margin: 0;
}

.oc-references__quote blockquote {
	margin: 0;
	border: 0;
	padding: 0;
	font-style: italic;
	font-size: var(--oc-fs-body);
	color: var(--oc-black);
}

.oc-references__attrib {
	margin: 0;
	font-size: var(--oc-fs-link);
	line-height: 1.5;
	color: var(--oc-gray-600);
}

.oc-references__arrows { display: flex; gap: 8px; }

.oc-impact {
	background-color: var(--oc-bg);

}

.oc-calc {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
	inline-size: 100%;
}

@media (min-width: 1024px) {
	.oc-calc { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 64px; align-items: start; }
}

.oc-calc__title { margin: 0 0 24px; max-inline-size: 22ch; }

.oc-calc__controls {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
}

.oc-calc__controls legend {
	padding: 0;
	color: var(--oc-black);
	background-color: var(--oc-ink);
}

.oc-stepper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 8px 8px 20px;
	border-radius: var(--oc-pill);
	background-color: rgba(255, 255, 255, 0.07);
}

.oc-stepper__label {
	font-size: var(--oc-fs-link);
	color: var(--oc-ink-dim);
}

.oc-stepper__group {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.oc-stepper__value {
	min-inline-size: 4ch;
	text-align: center;
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-card);
	font-weight: 300;
	letter-spacing: 0.56px;
	color: var(--oc-ink);
	font-variant-numeric: tabular-nums;
}

.oc-calc__optin {
	display: flex;
	align-items: center;
	gap: 12px;
	min-block-size: 44px;
	padding: 14px 20px;
	border-radius: var(--oc-pill);
	background-color: rgba(255, 255, 255, 0.07);
	font-size: var(--oc-fs-link);
	color: var(--oc-ink-dim);
	cursor: pointer;
}

.oc-calc__optin input {
	inline-size: 24px;
	block-size: 24px;
	margin: 0;
	accent-color: var(--oc-accent-end);
	flex: 0 0 auto;
}

@media (max-width: 768px) {
	.oc-calc__optin {
		padding: 0;
		border-radius: 0;
		background-color: transparent;
		align-items: center;
	}
	.oc-stepper { border-radius: var(--oc-pill); padding-inline-start: 16px; }
}

.oc-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

@media (max-width: 1023px) {
	.oc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 599px) {
	.oc-stats { grid-template-columns: minmax(0, 1fr); }
}

.oc-stat {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-block-size: 189px;
	padding: 24px;
	border-radius: 0;        
	box-shadow: none;        
	background-color: var(--oc-ink);
	color: var(--oc-black);
}

.oc-stat__audience {
	font-family: var(--oc-font-arial);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
	color: var(--oc-gray-600);
}

.oc-stat__metric {
	margin: 0;
	font-size: var(--oc-fs-card);
	font-weight: 600;
	color: var(--oc-black);
}

.oc-stat__delta {
	font-size: 36px;
	line-height: 1.1;
	font-weight: 600;
	color: var(--oc-positive);
	font-variant-numeric: tabular-nums;
}

.oc-stat__caveat {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--oc-gray-600);
}

.oc-calc__disclaimer {
	margin: 16px 0 0;
	font-size: 14px;
	color: var(--oc-ink-muted);
}

.oc-faq__inner {
	inline-size: 100%;
	max-inline-size: 1000px;
	margin-inline: auto;
}

.oc-faq__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 24px;
	align-items: end;
	margin-block-end: 32px;
}

.oc-faq__title {
	margin: 0 0 12px;

font-size: clamp(16.8px, 2.4vw, 28.8px);
	font-weight: var(--oc-fw-regular);
	line-height: 1.2;
	letter-spacing: normal;
	text-transform: none;
	color: var(--oc-ink);
}

.oc-faq__subtitle {
	margin: 0;

font-size: clamp(16px, 1.6vw, 20px);
	line-height: 1.5;
	color: var(--oc-ink-dim);
}

.oc-faq__search-container {
	display: flex;
	align-items: center;
	border: var(--oc-hairline);
	border-radius: var(--oc-pill);
	background: rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(var(--oc-blur));
	overflow: hidden;
}

.oc-faq__search {
	flex: 1 1 auto;
	min-inline-size: 0;
	border: none;
	background: transparent;
	padding: 1rem 1.5rem;
	font-family: inherit;
	font-size: 16px;
	color: #fff;
	outline: none;
}

.oc-faq__search::placeholder { color: rgba(255, 255, 255, 0.6); }

.oc-faq__search-btn {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	inline-size: 3rem;
	block-size: 3rem;
	border: none;
	background: transparent;
	color: var(--oc-ink);
	cursor: pointer;
}

.oc-faq-item[hidden] { display: none; }

.oc-faq__pagination {
	display: flex;
	justify-content: center;
	margin-block-start: 24px;
}

.oc-faq__pagination-controls {
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--oc-ink-dim);
}

.oc-faq__nav-btn {
	display: grid;
	place-items: center;
	inline-size: 2.5rem;
	block-size: 2.5rem;
	padding: 0;
	border: var(--oc-hairline);
	border-radius: var(--oc-pill);
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.oc-faq__page-info { font-size: 14px; font-variant-numeric: tabular-nums; }

.oc-faq__list { display: flex; flex-direction: column; }

.oc-contact { display: block; padding-block: 0; }

.oc-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	min-block-size: 100vh;
	align-items: center;
}

@media (min-width: 1024px) {
	.oc-contact__grid { grid-template-columns: 25% 75%; }
	.oc-contact__col {
		position: relative;
		z-index: 2;
	}
}

@media (min-width: 1408px) {
	.oc-contact__col {

margin-inline-end: -64px;
	}
}

@media (max-width: 1023px) {
	.oc-contact__grid { min-block-size: auto; }
}

.oc-contact__col {
	padding: calc(var(--oc-header-h) + 24px) var(--oc-gutter) 48px;
	background-color: var(--oc-bg);
}

.oc-contact__card {
	background-color: var(--oc-ink);
	color: var(--oc-black);
	border-radius: var(--oc-card-radius);
	box-shadow: none;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.oc-contact__card h2,
.oc-contact__card h3 { margin: 0 0 4px; font-size: var(--oc-fs-card); font-weight: 600; }
.oc-contact__card p { margin: 0; font-size: var(--oc-fs-link); line-height: 1.6; color: var(--oc-black); }

.oc-contact__lines {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--oc-fs-link);
}

.oc-contact__lines a {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
	color: var(--oc-black);
}

.oc-contact__photo { position: relative; min-block-size: 56vh; }
.oc-contact__photo .oc-media { position: absolute; inset: 0; aspect-ratio: auto; }

@media (max-width: 1023px) {
	.oc-contact__photo { min-block-size: 46vh; }
}

.wp-block-social-links.oc-social { margin-block-start: 8px; }

.wp-block-social-links.oc-social .wp-social-link {
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: var(--oc-pill);
}

.oc-footer {
	max-width: none;         
	inline-size: 100%;
	padding: 32px 48px;
	background-color: var(--oc-ink);
	color: var(--oc-black);
}

.oc-footer a { color: var(--oc-black); }
.oc-footer h2,
.oc-footer h3 { margin: 0 0 12px; font-size: var(--oc-fs-card); font-weight: 600; }

.oc-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
}

@media (min-width: 769px) {
	.oc-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: clamp(32px, 4vw, 64px);
		row-gap: 32px;
	}
}

@media (min-width: 1024px) {
	.oc-footer__grid {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.93fr);
	}
}

.oc-footer__col p {
	margin: 0 0 12px;
	font-size: var(--oc-fs-link);
	line-height: 1.6;
	color: var(--oc-gray-600);
}

.oc-footer__links {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--oc-fs-link);
}

.oc-footer__links a {
	display: flex;
	align-items: center;
	min-block-size: 44px;
}

.oc-footer__rule {
	block-size: 0;
	margin: 24px 0 16px;
	border: 0;
	border-block-start: var(--oc-hairline-dark);
}

.oc-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-size: 14px;

color: var(--oc-gray-400);
}

.oc-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oc-footer__legal a {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
}

@media (max-width: 768px) {
	.oc-footer { padding: 32px var(--oc-frame); }
	.oc-footer__col--partners { display: none; }
	.oc-footer__bottom { flex-direction: column; align-items: flex-start; }
}

.oc-article {
	padding-block: calc(var(--oc-header-h) + 32px) 64px;
}

.oc-article :where(h1, h2, h3) { text-wrap: balance; }

.oc-prose p { color: var(--oc-ink-dim); max-inline-size: 70ch; }

.oc-404 { text-align: center; }
.oc-404 .oc-hero-line { font-size: clamp(56px, 14vw, 140px); }

.oc-entry {
	border-block-end: var(--oc-hairline);
	padding-block: 24px;
}

.oc-entry:first-child { border-block-start: var(--oc-hairline); }

.oc-scenarios,
.oc-references__top,
.oc-features {
	padding-inline: var(--oc-gutter);
}

.oc-scenarios > *,
.oc-references__top-inner {
	max-inline-size: var(--oc-grid-max);
	margin-inline: auto;
}

.oc-references__band > .wp-block-columns {
	inline-size: 100%;
	margin-block: 0;
	gap: 0;
}

.oc-references__band > .wp-block-columns > .wp-block-column {
	padding: 0;
}

.oc-main > .oc-scene:first-child { margin-block-start: 0; }

.oc-calc__panel { display: block; }

.oc-page {
	padding-block: calc(var(--oc-header-h) + 48px) 72px;
}

.oc-page__inner {
	inline-size: 100%;
	max-inline-size: var(--oc-grid-max);
	margin-inline: auto;
}

.oc-page__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	max-inline-size: 72ch;
}

.oc-page__title {
	margin: 0;
	font-family: var(--oc-font-system);
	font-size: clamp(32px, 1.6rem + 3.4vw, 64px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--oc-ink);
}

.oc-band--light .oc-page__title { color: var(--oc-black); }

.oc-section {
	margin-block-start: 64px;
}

.oc-section__title {
	margin: 0 0 20px;
	font-size: var(--wp--preset--font-size--display-m, clamp(27px, 1.35rem + 1.5vw, 36px));
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.oc-section > p {
	margin: 0 0 16px;
	max-inline-size: 70ch;
	font-size: var(--oc-fs-card);
	line-height: 1.6;
	color: var(--oc-ink-dim);
}

.oc-tiles {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 769px) {
	.oc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.oc-tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.oc-tile {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	border: var(--oc-hairline);
	border-radius: var(--oc-card-radius);
	background-color: rgba(255, 255, 255, 0.04);
}

.oc-tile h3 {
	margin: 0;
	font-size: var(--oc-fs-card);
	font-weight: 600;
	color: var(--oc-ink);
}

.oc-tile p {
	margin: 0;
	font-size: var(--oc-fs-link);
	line-height: 1.6;
	color: var(--oc-ink-dim);
}

.oc-tile__index {
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	letter-spacing: 0.56px;
	text-transform: uppercase;
	color: var(--oc-accent-start);
}

.oc-band--light .oc-tile {
	border: var(--oc-hairline-dark);
	background-color: rgba(0, 0, 0, 0.03);
}

.oc-band--light .oc-tile h3 { color: var(--oc-black); }
.oc-band--light .oc-tile p { color: var(--oc-gray-600); }

.oc-deflist { margin: 0; }
.oc-deflist dt {
	margin-block-start: 24px;
	font-size: var(--oc-fs-card);
	font-weight: 600;
	color: var(--oc-ink);
}
.oc-deflist dd {
	margin: 8px 0 0;
	max-inline-size: 70ch;
	font-size: var(--oc-fs-link);
	line-height: 1.6;
	color: var(--oc-ink-dim);
}

.oc-placeholder-note {
	display: block;
	margin-block: 24px 0;
	padding: 20px 24px;
	border: var(--oc-hairline);

border-radius: var(--oc-card-radius);
	background-color: rgba(255, 255, 255, 0.04);
	font-size: var(--oc-fs-link);
	line-height: 1.6;
	color: var(--oc-ink-dim);
}

.oc-placeholder-note strong { color: var(--oc-ink); }

.oc-page-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
	margin-block-start: 64px;
	padding-block-start: 32px;
	border-block-start: var(--oc-hairline);
}

.oc-page-cta p {
	margin: 0;
	flex: 1 1 320px;
	font-size: var(--oc-fs-body);
	line-height: 1.45;
	color: var(--oc-ink-dim);
}

.oc-jumplist {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.oc-jumplist a {
	display: inline-flex;
	align-items: center;
	min-block-size: 44px;
	padding: 10px 18px;
	border-radius: var(--oc-pill);
	background-color: rgba(255, 255, 255, 0.07);
	color: var(--oc-ink-dim);
	text-decoration: none;
	font-size: var(--oc-fs-link);
}

.oc-jumplist a:hover { background-color: rgba(255, 255, 255, 0.12); color: var(--oc-ink); }

.oc-teasers {
	padding-block: 96px;
}

.oc-teasers__inner {
	inline-size: 100%;
	max-inline-size: var(--oc-grid-max);
	margin-inline: auto;
}

.oc-teaser {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	padding-block: 32px;
	border-block-start: var(--oc-hairline);
}

.oc-teaser:last-of-type { border-block-end: var(--oc-hairline); }

@media (min-width: 769px) {
	.oc-teaser {
		grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 2fr);
		align-items: center;
		gap: 48px;
	}
}

.oc-teaser h2 {
	margin: 0;
	font-size: var(--wp--preset--font-size--display-s, clamp(24px, 1.2rem + 1.1vw, 28.8px));
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.oc-teaser p {
	margin: 0;
	font-size: var(--oc-fs-card);
	line-height: 1.6;
	color: var(--oc-ink-dim);
}

@media (min-width: 769px) {
	.oc-teaser .oc-textlink { justify-self: end; }
}

.oc-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	max-inline-size: 720px;
	margin-block-start: 40px;
}

@media (min-width: 769px) {
	.oc-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.oc-form__field--wide { grid-column: 1 / -1; }
}

.oc-form__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.oc-form__label {
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-button);
	font-weight: 300;
	letter-spacing: 0.56px;

color: var(--oc-ink);
}

.oc-form__req {
	font-size: 12px;
	letter-spacing: 0.4px;
	color: var(--oc-ink-muted);
}

.oc-form__hint {
	font-size: 14px;
	line-height: 1.5;
	color: var(--oc-ink-muted);
}

.oc-form input[type="text"],
.oc-form input[type="email"],
.oc-form input[type="number"],
.oc-form textarea {
	inline-size: 100%;
	box-sizing: border-box;
	min-block-size: 48px;
	padding: 12px 16px;
	border: 0;
	border-radius: var(--oc-card-radius);
	background-color: var(--oc-ink);
	color: var(--oc-black);
	font-family: var(--oc-font-system);
	font-size: var(--oc-fs-link);
	line-height: 1.5;
}

.oc-form textarea { min-block-size: 160px; resize: vertical; }

.oc-form input::placeholder,
.oc-form textarea::placeholder { color: var(--oc-gray-600); }

.oc-form__actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
}

.oc-form__actions button { font-family: var(--oc-font-arial); }

.oc-form__smallprint {
	margin: 0;
	flex: 1 1 280px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--oc-ink-muted);
}

.oc-form__hp {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	padding: 0;
	margin: -1px;
}

.oc-notice {
	display: flex;
	gap: 12px;
	margin-block: 32px 0;
	padding: 20px 24px;
	border: var(--oc-hairline);

border-radius: var(--oc-card-radius);
	background-color: rgba(255, 255, 255, 0.05);
	font-size: var(--oc-fs-link);
	line-height: 1.6;
	color: var(--oc-ink-dim);
}

.oc-notice strong { color: var(--oc-ink); }

.oc-notice__icon {
	flex: 0 0 auto;
	inline-size: 24px;
	block-size: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.oc-notice--ok .oc-notice__icon { color: var(--oc-positive); }
.oc-notice--error .oc-notice__icon { color: var(--oc-accent-start); }

.oc-contact__address {
	margin: 0;
	font-size: var(--oc-fs-link);
	line-height: 1.6;
	font-style: normal;
	color: var(--oc-black);
}

.oc-page ~ .oc-scene {
	min-block-size: auto;
	padding-block: 64px;
}

.oc-page ~ .oc-references,
.oc-page ~ .oc-contact {
	padding-block: 0;   
}

.oc-page + .oc-scene { padding-block-start: 0; }

.oc-page,
.oc-page-body,
.oc-teasers {
	padding-inline: var(--oc-gutter);
}

.oc-form__heading { margin-block-start: 48px; scroll-margin-block-start: var(--oc-header-h); }
#oc-contact-result { scroll-margin-block-start: var(--oc-header-h); }

:root {
	--bg: #0e0f13;
	--ink: #ffffff;
	--ink-dim: rgba(255, 255, 255, .85);
	--gradient-angle: 135deg;
	--pill: linear-gradient(var(--gradient-angle, 135deg), #b89b83 0%, #b77b38 100%);
	--grid-max: 1280px;
	--frame: 1.5rem;
	--frame-mobile: 0.375rem;
	--blur: 24px;
}

@media screen and (max-width: 768px) {
	:root { --frame: var(--frame-mobile); }
}

:root {

--oc-fs-badge: 10px;        
	--oc-fs-caption: 12px;      
	--oc-fs-14: 14px;           
	--oc-fs-16: 16px;           
	--oc-fs-18: 18px;           
	--oc-fs-20: 1.25rem;        
	--oc-fs-22: 22px;           
	--oc-fs-stat: 2.5rem;       
	--oc-fs-sub: clamp(16px, 1.6vw, 22px);        
	--oc-fs-impact: clamp(24px, 3vw, 36px);       
	--oc-fs-faq-title: clamp(16.8px, 2.4vw, 28.8px); 
	--oc-fs-faq-sub: clamp(16px, 1.6vw, 20px);    

--oc-fw-light: 300;         
	--oc-fw-regular: 400;       
	--oc-fw-medium: 500;        
	--oc-fw-semibold: 600;      
	--oc-fw-bold: 700;          
	--oc-fw-heavy: 800;         
	--oc-fw-black: 900;         

--oc-ls-tight: 0.02em;      
	--oc-ls-button: 0.04em;     
	--oc-ls-wide: 0.08em;       
	--oc-ls-caps: 0.1em;        
	--oc-ls-badge: 0.22em;      

--oc-lh-1: 1;               
	--oc-lh-tight: 1.2;         
	--oc-lh-snug: 1.3;          
	--oc-lh-copy: 1.4;          
	--oc-lh-lead: 1.45;         
	--oc-lh-answer: 1.5;        
	--oc-lh-body: 1.6;          

--oc-space-2xs: 4px;
	--oc-space-xs: 8px;
	--oc-space-sm: 12px;
	--oc-space-md: 16px;        
	--oc-space-lg: 24px;        
	--oc-space-xl: 32px;        
	--oc-space-2xl: 48px;       
	--oc-space-3xl: 64px;
	--oc-space-4xl: 96px;

--oc-radius-card: 0;        
	--oc-radius-pill: 999px;    
	--oc-radius-circle: 50%;    

--oc-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);

--oc-bp-mobile-max: 768px;
	--oc-bp-desktop-min: 769px;

--oc-dur-advance: 800ms;    
	--oc-dur-count: 400ms;      
	--oc-dur-reveal: 600ms;     
	--oc-dur-slide: 500ms;      
	--oc-dur-hero-slab: 800ms;  
	--oc-dur-exit: 300ms;       
	--oc-dur-faq: 200ms;        
	--oc-dur-curtain: 800ms;    
	--oc-ease-curtain: cubic-bezier(0.77, 0, 0.175, 1);  
	--oc-ease-inout-quad: cubic-bezier(0.45, 0, 0.55, 1); 
}

html.oc-js body.oc-onepage-shell {
	overflow: hidden;           
	overscroll-behavior: none;
}

html.oc-js .oc-scroll-container {
	position: fixed;
	inset: 0;
	overflow: hidden;
	z-index: 1;

scroll-snap-type: none;
}

html.oc-js .oc-scroll-track {
	will-change: transform;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	scroll-snap-type: none;
}

html.oc-in-motion,
html.oc-in-motion *,
html.oc-in-motion *::before,
html.oc-in-motion *::after {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

html.oc-in-motion .oc-scene__scrim {
	will-change: opacity;
}

.oc-scroll-container,
.oc-scroll-track { position: static; }

.oc-frame,
.oc-scroll-container { margin: 0; }

.oc-frame {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-color: #fff;

border-width: var(--oc-gutter);
	opacity: 0;

box-sizing: border-box;
	pointer-events: none;
	z-index: 5;
	transition: opacity 0.4s ease;   
}

.oc-frame.is-visible { opacity: 1; }

.oc-frame.is-visible.is-menu-open,
.oc-frame.is-hidden { opacity: 0; }

.oc-scene:focus { outline: none; }
.oc-scene:focus-visible { outline: none; }

.oc-scene {
	--oc-scrim: 0.5;
}

.oc-scene__media {
	position: absolute;
	inset-block-start: var(--oc-gutter);
	inset-inline: var(--oc-gutter);
	block-size: calc(100vh - 2 * var(--oc-gutter));
	inset-block-end: auto;
	overflow: hidden;

pointer-events: none;
	background-color: #0e0f13;   
}

.oc-scene__media-video {
	position: absolute;
	top: 0;
	left: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: center;      
	display: block;
	pointer-events: none;
}

.oc-scene__scrim {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;

background: linear-gradient(180deg, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55));
	opacity: calc(1 - var(--oc-scrim));
}

.oc-features .oc-scene__scrim {
	background: radial-gradient(
		circle at center,
		transparent 0%,
		transparent 15%,
		rgba(0, 0, 0, 0.5) 40%,
		rgba(0, 0, 0, 0.8) 70%,
		rgba(0, 0, 0, 0.95) 100%
	);
}

.oc-scene > *:not(.oc-scene__scrim):not(.oc-scene__media):not(.oc-video-toggle):not(.oc-features__hand) {
	position: relative;
	z-index: 1;
}

.oc-section-title {
	margin: 0 0 var(--oc-space-lg);
	max-inline-size: 28ch;
	font-size: clamp(27px, 1.35rem + 1.5vw, 36px);
	font-weight: var(--oc-fw-regular);
	line-height: var(--oc-lh-snug);
	letter-spacing: normal;
	text-transform: none;
	text-wrap: balance;
	color: var(--oc-ink);
}

.oc-band--light .oc-section-title,
.oc-references .oc-section-title { color: var(--oc-ink); }

@media screen and (max-width: 768px) {
	:where(.oc-btn, .oc-nav__link, .oc-chips__btn, .oc-features__btn, .oc-dots__btn, .oc-icon-btn, .oc-textlink):focus {
		outline: none !important;
	}
}

.oc-media__art {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	display: block;
}

.oc-media--studio .oc-media__art,
.oc-features__device .oc-media__art,
.oc-impact__aside .oc-media__art { object-fit: contain; }

.oc-marks--wordmarks { gap: var(--oc-space-lg); }

.oc-marks--wordmarks .oc-marks__item {
	display: inline-flex;
	align-items: center;
	gap: var(--oc-space-xs);
	font-size: var(--oc-fs-14);
	font-weight: var(--oc-fw-semibold);
	letter-spacing: var(--oc-ls-caps);
	text-transform: uppercase;
	color: var(--oc-ink-dim);
}

.oc-band--light .oc-marks--wordmarks .oc-marks__item { color: var(--oc-gray-600); }

.oc-wordmark-plate {
	display: inline-grid;
	place-items: center;
	inline-size: 26px;
	block-size: 26px;
	flex: 0 0 auto;
	border: 1px solid currentColor;
	border-radius: var(--oc-radius-card);
	font-size: var(--oc-fs-14);
	font-weight: var(--oc-fw-bold);
	letter-spacing: 0;
}

.oc-wordmark-plate--lg {
	inline-size: 56px;
	block-size: 56px;
	font-size: 24px;
}

.oc-marks__note {
	margin-block-start: var(--oc-space-sm);
	font-size: var(--oc-fs-caption);
	color: var(--oc-ink-muted);
}

.oc-band--light .oc-marks__note { color: var(--oc-gray-600); }

.oc-u-visually-hidden {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

html.oc-js body.oc-loading { overflow: hidden; }   
.oc-preloader { display: none; }
html.oc-js body.oc-loading .oc-preloader { display: block; }

.oc-preloader {
	position: fixed;
	inset: 0;
	z-index: 999999;                              
	pointer-events: none;
}

.oc-preloader__spinner {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, -50%);
	inline-size: 60px;
	block-size: 60px;
	border: 4px solid rgba(183, 123, 56, 0.2);
	border-top-color: #b77b38;
	border-radius: var(--oc-radius-circle);
	animation: oc-preloader-spin 1s linear infinite;
	z-index: 2;
}

@keyframes oc-preloader-spin {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

.oc-preloader__mark {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, -50%);
	inline-size: 24px;
	block-size: 24px;
	z-index: 3;
}

.oc-preloader__mark svg { inline-size: 100%; block-size: 100%; display: block; }

.oc-preloader__panel {
	position: absolute;
	background: #fff;
	z-index: 1;
	transition: transform var(--oc-dur-curtain) var(--oc-ease-curtain); 
}

.oc-preloader__panel--top    { inset: 0 0 auto 0; block-size: 50%; transform-origin: top; }
.oc-preloader__panel--bottom { inset: auto 0 0 0; block-size: 50%; transform-origin: bottom; }
.oc-preloader__panel--left   { inset: 0 auto 0 0; inline-size: 50%; transform-origin: left; }
.oc-preloader__panel--right  { inset: 0 0 0 auto; inline-size: 50%; transform-origin: right; }

.oc-preloader.is-loaded .oc-preloader__panel--top    { transform: translateY(-100%); }
.oc-preloader.is-loaded .oc-preloader__panel--bottom { transform: translateY(100%); }
.oc-preloader.is-loaded .oc-preloader__panel--left   { transform: translateX(-100%); }
.oc-preloader.is-loaded .oc-preloader__panel--right  { transform: translateX(100%); }

.oc-preloader.is-loaded .oc-preloader__spinner,
.oc-preloader.is-loaded .oc-preloader__mark {
	opacity: 0;
	transition: opacity var(--oc-dur-exit) ease;
}

.oc-progress-ring {
	position: fixed;
	inset-block-start: 0;
	inset-inline-start: 0;
	inline-size: 2rem;
	block-size: 2rem;
	pointer-events: none;
	z-index: 9999;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: opacity 0.2s ease;   
}

.oc-progress-ring.is-visible { opacity: 1; }
.oc-progress-ring svg { inline-size: 100%; block-size: 100%; display: block; }
.oc-progress-ring__arc { transition: stroke-dashoffset 80ms linear; }

@media not all and (hover: hover) and (pointer: fine) {
	.oc-progress-ring { display: none; }
}

.oc-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;                 
	display: none;
	align-items: center;
	justify-content: center;
	padding: var(--oc-space-xl);
	opacity: 0;
	transition: opacity var(--oc-dur-exit) ease;
}

.oc-modal[hidden] { display: none; }

.oc-modal:not(.oc-modal--js):target {
	display: flex;
	opacity: 1;
}

.oc-modal--js.is-open {
	display: flex;
	opacity: 1;
}

.oc-modal__scrim {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.95);  
	backdrop-filter: blur(10px);      
}

.oc-modal__panel {
	position: relative;
	z-index: 1;
	inline-size: min(80vw, 1400px);   
	max-block-size: 90vh;             
	overflow: auto;
	padding: var(--oc-space-xl);
	background: var(--oc-bg);
	border-radius: var(--oc-radius-card);
	transform: scale(0.95);           
	transition: transform var(--oc-dur-exit) ease;
}

.oc-modal:not(.oc-modal--js):target .oc-modal__panel,
.oc-modal--js.is-open .oc-modal__panel { transform: scale(1); }   

.oc-modal__title {
	margin: 0 0 var(--oc-space-md);
	font-size: var(--oc-fs-18);
	font-weight: var(--oc-fw-semibold);
	color: var(--oc-ink);
}

.oc-modal__note {
	margin-block-start: var(--oc-space-md);
	margin-block-end: 0;
	font-size: var(--oc-fs-caption);
	line-height: var(--oc-lh-answer);
	color: var(--oc-ink-muted);
}

.oc-modal__frame {
	inline-size: 100%;

aspect-ratio: 4 / 3;
	background: #fff;
	overflow: hidden;
}

.oc-modal__frame iframe {
	inline-size: 100%;
	block-size: 100%;
	border: 0;
	display: block;
}

.oc-modal__close {
	position: absolute;
	inset-block-start: var(--oc-space-md);
	inset-inline-end: var(--oc-space-md);
	display: grid;
	place-items: center;
	inline-size: 48px;
	block-size: 48px;
	border-radius: var(--oc-radius-circle);
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(10px);
	color: var(--oc-ink);
	z-index: 2;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.oc-modal__close svg { inline-size: 24px; block-size: 24px; fill: currentColor; }
.oc-modal__close:hover { transform: scale(1.1); background: rgba(0, 0, 0, 0.7); }

.oc-modal--image .oc-modal__panel {
	inline-size: auto;
	padding: 0;
	background: transparent;
}

.oc-modal--image img {
	max-inline-size: 90vw;
	max-block-size: 90vh;
	object-fit: contain;
	display: block;
}

body.oc-modal-open { overflow: hidden; }   

@media screen and (max-width: 768px) {
	.oc-modal { padding: var(--oc-space-sm); }
	.oc-modal__panel { inline-size: 100%; padding: var(--oc-space-lg) var(--oc-space-md); }
	.oc-modal__close { inline-size: 44px; block-size: 44px; }
}

html.oc-js [data-oc-reveal] > * {
	opacity: 0;
	transform: translateX(20px);           
	transition:
		opacity var(--oc-dur-reveal) ease var(--oc-stagger, 0s),
		transform var(--oc-dur-slide) ease var(--oc-stagger, 0s);
}

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

[data-oc-slide][hidden] { display: none; }

.oc-chips__btn,
.oc-features__btn {
	display: flex;
	align-items: center;
	gap: var(--oc-space-xs);
	inline-size: 100%;
	min-block-size: 44px;
	padding: var(--oc-space-xs) var(--oc-space-md);
	border: 0;
	border-radius: var(--oc-radius-pill);
	background: transparent;
	color: var(--oc-ink-dim);
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-14);
	font-weight: var(--oc-fw-light);
	letter-spacing: var(--oc-ls-button);
	text-transform: uppercase;
	text-align: start;
	cursor: pointer;
	transition: color var(--oc-dur) var(--oc-ease), background-color var(--oc-dur) var(--oc-ease);
}

.oc-chips__btn:hover,
.oc-features__btn:hover { color: var(--oc-ink); }

.oc-chips__btn.is-active,
.oc-features__btn.is-active {
	color: var(--oc-ink);
	background: rgba(255, 255, 255, 0.1);
}

.oc-features__btn .oc-features__icon {
	inline-size: 20px;
	block-size: 20px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
}

.oc-dots__btn {
	inline-size: 24px;                
	block-size: 24px;
	padding: 0;
	border: 0;
	border-radius: var(--oc-radius-circle);
	cursor: pointer;

background: radial-gradient(circle at center, rgba(255, 255, 255, 0.45) 0 5px, transparent 5px);
}

.oc-dots__btn.is-active {
	background: radial-gradient(circle at center, var(--oc-accent-start) 0 5px, transparent 5px);
}

.oc-band--light .oc-dots__btn {
	background: radial-gradient(circle at center, rgba(0, 0, 0, 0.3) 0 5px, transparent 5px);
}

.oc-icon-btn--ring { position: relative; }

.oc-icon-btn--ring .oc-ring {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	pointer-events: none;
}

.oc-icon-btn--ring .oc-icon-btn__glyph {
	position: relative;
	inline-size: 24px;
	block-size: 24px;
}

.oc-references__disclaimer,
.oc-impact__note {
	margin-block-start: var(--oc-space-md);
	font-size: var(--oc-fs-caption);
	line-height: var(--oc-lh-answer);
	max-inline-size: 60ch;
}

.oc-references__disclaimer { color: var(--oc-gray-600); }
.oc-impact__note { color: var(--oc-ink-muted); }

.oc-references__mark {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--oc-space-sm);
	color: var(--oc-gray-600);
}

.oc-references__mark-name {
	font-size: var(--oc-fs-14);
	font-weight: var(--oc-fw-semibold);
	letter-spacing: var(--oc-ls-tight);
}

.oc-faq-item {
	border-block-end: 1px solid rgba(255, 255, 255, 0.14);
}

.oc-faq-item__question {
	display: flex;
	align-items: flex-start;
	gap: var(--oc-space-md);
	min-block-size: 44px;
	padding: var(--oc-space-md) 0;
	cursor: pointer;
}

.oc-faq-item__q-wrapper,
.oc-faq-item__a-wrapper {
	display: flex;
	align-items: flex-start;
	gap: var(--oc-space-md);
	flex: 1 1 auto;
}

.oc-faq-item__q-label,
.oc-faq-item__a-label {
	flex: 0 0 auto;
	font-weight: var(--oc-fw-semibold);
	color: var(--oc-accent-start);
}

.oc-faq-item__q-label { font-size: var(--oc-fs-18); }   
.oc-faq-item__a-label { font-size: var(--oc-fs-16); }   

.oc-faq-item__q-text {
	flex: 1 1 auto;
	font-size: var(--oc-fs-18);                          
	font-weight: var(--oc-fw-medium);
	line-height: var(--oc-lh-copy);
}

.oc-faq-item__toggle {
	flex: 0 0 auto;
	inline-size: 24px;
	block-size: 24px;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	pointer-events: none;
	transition: transform var(--oc-dur-faq) linear;
}

.oc-faq-item__toggle svg { inline-size: 100%; block-size: 100%; display: block; }
.oc-faq-item.is-active .oc-faq-item__toggle { transform: rotate(180deg); }

.oc-faq-item__answer {
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
	transition: grid-template-rows var(--oc-dur-faq) linear;
}

.oc-faq-item__answer > * { min-block-size: 0; }

.oc-faq-item.is-active .oc-faq-item__answer { grid-template-rows: 1fr; }

.oc-faq-item.is-active .oc-faq-item__a-wrapper { padding-block-end: 32px; }

.oc-faq-item__a-text {
	margin: 0;
	font-size: var(--oc-fs-16);                          
	line-height: var(--oc-lh-answer);
	color: var(--oc-ink-dim);
}

:root {

--oc-negative: var(--wp--preset--color--negative, #B5541F);
}

.oc-stat--negative .oc-stat__delta { color: var(--oc-negative); }

.oc-scene > .oc-hero__inner,
.oc-scene > .oc-scenarios__inner,
.oc-scene > .oc-features__inner,
.oc-scene > .oc-references__inner,
.oc-scene > .oc-impact__inner,
.oc-scene > .oc-faq__inner,
.oc-scene > .oc-contact__grid {
	display: grid;

grid-template-columns: minmax(0, 1fr);
	gap: var(--oc-space-xl);
	inline-size: 100%;
	max-inline-size: var(--oc-grid-max);
	margin-inline: auto;
	padding-inline: var(--oc-gutter);

box-sizing: border-box;
}

@media screen and (min-width: 769px) {

.oc-scene > .oc-features__inner { grid-template-columns: minmax(0, 240px) minmax(0, 1fr) minmax(0, 424px); }
	.oc-scene > .oc-contact__grid   { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
}

@media screen and (min-width: 769px) {

.oc-scene > .oc-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "copy" "trust";
		align-items: center;
	}

.oc-hero__copy  { grid-area: copy; }
	.oc-hero__trust { grid-area: trust; }
}

.oc-hero__cues {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--oc-space-md);
	margin-block-start: var(--oc-space-xl);
}

.oc-scenarios__stage { position: relative; }
.oc-scenarios__slide { position: relative; }

.oc-scenarios__layer {
	box-sizing: border-box;
	inline-size: 100%;
}

@media screen and (min-width: 769px) {
	.oc-scenarios__layer {
		position: absolute;
		inset-block-end: 0;
		inset-inline-start: 0;
		inline-size: min(52%, 560px);
	}
}

.oc-scenarios__caption {
	box-sizing: border-box;
	inline-size: 100%;
	padding: var(--oc-space-lg);
	background: var(--oc-ink);
	color: var(--oc-bg);
	border-radius: var(--oc-radius-card);
}

.oc-scenarios__caption h3 {
	margin: 0 0 var(--oc-space-xs);
	font-size: var(--oc-fs-18);
	font-weight: var(--oc-fw-semibold);
}

.oc-scenarios__caption p {
	margin: 0 0 var(--oc-space-sm);
	font-size: var(--oc-fs-14);
	line-height: var(--oc-lh-copy);
}

.oc-scenarios__counter {
	position: absolute;
	inset-block-start: var(--oc-space-sm);
	inset-inline-end: var(--oc-space-sm);
}

.oc-scenarios__controls {
	display: grid;
	gap: var(--oc-space-md);
}

@media screen and (min-width: 769px) {
	.oc-scenarios__controls { grid-template-columns: minmax(0, 1fr) minmax(0, auto); align-items: start; }
}

.oc-scenarios__cues,
.oc-features__cues,
.oc-impact__cues,
.oc-faq__cues {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--oc-space-md);
}

.oc-features__list { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--oc-space-2xs); }
.oc-features__panel h3 { margin: 0 0 var(--oc-space-xs); font-size: var(--oc-fs-18); font-weight: var(--oc-fw-semibold); }
.oc-features__panel p  { margin: 0 0 var(--oc-space-md); font-size: 18px; line-height: var(--oc-lh-body); }
.oc-features__panel-art { max-inline-size: 420px; }
.oc-features__copy { display: grid; gap: var(--oc-space-md); align-content: start; }

.oc-references__inner { display: grid; gap: 0; }
.oc-references__top-inner { display: grid; gap: var(--oc-space-md); }
.oc-references__actions { display: flex; flex-wrap: wrap; gap: var(--oc-space-md); }
.oc-references__band { padding: var(--oc-space-2xl) var(--oc-gutter); }
.oc-references__grid { display: grid; gap: var(--oc-space-xl); max-inline-size: var(--oc-grid-max); margin-inline: auto; }
.oc-references__slide { display: grid; gap: var(--oc-space-xl); }
.oc-references__photo { position: relative; }

.oc-references__expand {
	position: absolute;
	inset-block-start: var(--oc-space-sm);
	inset-inline-end: var(--oc-space-sm);
}

@media screen and (min-width: 769px) {
	.oc-references__slide { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 2fr); align-items: center; }
}

.oc-references__quote blockquote {
	margin: 0 0 var(--oc-space-md);
	font-style: italic;
	font-size: var(--oc-fs-22);
	line-height: var(--oc-lh-copy);
}

.oc-references__attrib { font-size: var(--oc-fs-14); color: var(--oc-gray-600); font-style: normal; }
.oc-references__arrows { display: flex; gap: var(--oc-space-xs); }
.oc-references__cues { margin-block-start: var(--oc-space-md); }

.oc-impact__inner { display: grid; gap: var(--oc-space-xl); }
.oc-impact__aside { display: grid; gap: var(--oc-space-sm); }

.oc-faq__inner { max-inline-size: 1000px; }
.oc-faq__head { margin-block-end: var(--oc-space-xl); }
.oc-faq__list { display: grid; }
.oc-faq__cues { margin-block-start: var(--oc-space-xl); }

.oc-contact__social {
	display: flex;
	gap: var(--oc-space-xs);
	margin: var(--oc-space-xl) 0 0;
	padding: 0;
	list-style: none;
}

.oc-contact__social a {
	display: grid;
	place-items: center;
	inline-size: 44px;
	block-size: 44px;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: var(--oc-radius-circle);
	font-size: var(--oc-fs-caption);
	font-weight: var(--oc-fw-semibold);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--oc-ink-dim);
}

.oc-contact__social a:hover { color: var(--oc-ink); border-color: var(--oc-accent-start); }
.oc-form__intro { max-inline-size: 60ch; color: var(--oc-ink-dim); }

.oc-btn--chain { display: inline-flex; align-items: center; gap: var(--oc-space-sm); }

.oc-btn__disc {
	display: grid;
	place-items: center;
	inline-size: 32px;
	block-size: 32px;
	flex: 0 0 auto;
	border: 1px solid currentColor;
	border-radius: var(--oc-radius-circle);
}

.oc-btn__disc svg {
	inline-size: 16px;
	block-size: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.4;
}

.oc-map-page {
	display: grid;
	gap: var(--oc-space-xl);
	max-inline-size: var(--oc-grid-max);
	margin-inline: auto;
	padding: calc(var(--oc-header-h) + var(--oc-space-lg)) var(--oc-gutter) var(--oc-space-3xl);
}

.oc-map-page__head h1 { margin: 0 0 var(--oc-space-md); }
.oc-map-page__count { font-size: var(--oc-fs-14); color: var(--oc-ink-muted); }
.oc-map-page__layout { display: grid; gap: var(--oc-space-xl); }

@media screen and (min-width: 769px) {
	.oc-map-page__layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

.oc-map-page__surface { border: 1px solid rgba(255, 255, 255, 0.14); }

.oc-map-page__svg {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 1 / 1;   
}

.oc-map-page__list { display: grid; gap: var(--oc-space-md); align-content: start; }

.oc-map-page__filter {
	display: grid;
	gap: var(--oc-space-xs);
	padding-block-end: var(--oc-space-md);
	border-block-end: 1px solid rgba(255, 255, 255, 0.14);
}

.oc-map-page__filter input {
	min-block-size: 44px;
	padding: var(--oc-space-xs) var(--oc-space-sm);
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: var(--oc-radius-card);   
	background: transparent;
	color: var(--oc-ink);
	font-size: var(--oc-fs-16);
}

.oc-map-page__filter .oc-btn { justify-self: start; }
.oc-map-page__pins { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--oc-space-xs); }

.oc-map-page__pins li {
	display: grid;
	grid-template-columns: 5ch minmax(0, 1fr) auto;
	gap: var(--oc-space-sm);
	align-items: baseline;
	min-block-size: 32px;
	padding-block: var(--oc-space-2xs);
	border-block-end: 1px solid rgba(255, 255, 255, 0.08);
	font-size: var(--oc-fs-14);
}

.oc-map-page__plz { color: var(--oc-accent-start); font-variant-numeric: tabular-nums; }
.oc-map-page__name { color: var(--oc-ink); }
.oc-map-page__city { color: var(--oc-ink-muted); }
.oc-map-page__empty { color: var(--oc-ink-dim); }
.oc-map-page__legend { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: var(--oc-space-md); font-size: var(--oc-fs-caption); color: var(--oc-ink-muted); }
.oc-map-page__legend li { display: inline-flex; align-items: center; gap: var(--oc-space-2xs); }

.oc-map-page__key {
	inline-size: 10px;
	block-size: 10px;
	border-radius: var(--oc-radius-circle);
}

.oc-map-page__key--active { background: #B89B83; }
.oc-map-page__key--hq { background: #B77B38; }
.oc-badge--hq { font-size: var(--oc-fs-caption); }
.oc-map-page__back { font-size: var(--oc-fs-14); }

:root {

--oc-ease-expo: cubic-bezier(0.16, 1, 0.3, 1);

--oc-dur-swap: 420ms;

--oc-dur-blob-a: 48s;
	--oc-dur-blob-b: 60s;
	--oc-dur-blob-c: 42s;
}

.oc-film-stage { background: #0b0c10; background-image: none; }

.oc-film {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	display: block;
}

.oc-film .f-pop { transform-box: fill-box; transform-origin: center; }

:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-tap    { animation: oc-film-tap 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-table  { animation: oc-film-table 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-glow   { animation: oc-film-glow 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-ring   { animation: oc-film-ring 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-ring--2 { animation-delay: 1s; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-ticket { animation: oc-film-ticket 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-timer  { animation: oc-film-timer 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-row--raised { animation: oc-film-row-raised 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-row--ack    { animation: oc-film-row-ack 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-route  { animation: oc-film-route 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-route-pulse { animation: oc-film-crawl 6s linear infinite, oc-film-pulse 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-way    { animation: oc-film-way 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-way--2 { animation-delay: 1.1s; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-staff  { animation: oc-film-staff 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-ack    { animation: oc-film-ack 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-bar    { animation: oc-film-bar 24s linear infinite; }

:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-step { animation: oc-film-step 24s linear infinite; }
:is(.oc-modal:not(.oc-modal--js):target, .oc-modal--js.is-open) .f-pip  { animation: oc-film-pip 24s linear infinite; }
.oc-film .f-step--1, .oc-film .f-pip--1 { animation-delay: 0.5s; }
.oc-film .f-step--2, .oc-film .f-pip--2 { animation-delay: 4s; }
.oc-film .f-step--3, .oc-film .f-pip--3 { animation-delay: 8s; }
.oc-film .f-step--4, .oc-film .f-pip--4 { animation-delay: 13.5s; }
.oc-film .f-step--5, .oc-film .f-pip--5 { animation-delay: 18s; }

@keyframes oc-film-tap {
	0%      { opacity: .18; transform: scale(2.4); animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	6.25%   { opacity: 1;   transform: scale(1); }
	9%      { opacity: .45; transform: scale(1); }
	87.5%   { opacity: .45; transform: scale(1); }
	100%    { opacity: .18; transform: scale(2.4); }
}
@keyframes oc-film-table {
	0%, 4.167% { opacity: .18; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	6.25%      { opacity: 1; }
	75%        { opacity: 1; }
	83.333%    { opacity: .18; }
	100%       { opacity: .18; }
}
@keyframes oc-film-glow {
	0%, 4.167% { opacity: 0; transform: scale(.6); animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	6.25%      { opacity: 1; transform: scale(1.06); }
	12.5%      { opacity: .82; transform: scale(1); }
	75%        { opacity: .82; transform: scale(1); }
	83.333%    { opacity: 0; transform: scale(.6); }
	100%       { opacity: 0; transform: scale(.6); }
}
@keyframes oc-film-ring {
	0%      { transform: scale(.5); opacity: 0; }
	6.25%   { transform: scale(.6); opacity: .9; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	18.75%  { transform: scale(2.6); opacity: 0; }
	100%    { transform: scale(2.6); opacity: 0; }
}
@keyframes oc-film-ticket {
	0%, 16.667% { transform: translateX(70px); opacity: 0; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	20.833%     { transform: translateX(0); opacity: 1; }
	81.25%      { transform: translateX(0); opacity: 1; }
	85.417%     { transform: translateX(44px); opacity: 0; }
	100%        { transform: translateX(70px); opacity: 0; }
}
@keyframes oc-film-timer {
	0%, 20.833% { stroke-dashoffset: 100; }
	58.333%     { stroke-dashoffset: 0; }
	85.417%     { stroke-dashoffset: 0; }
	85.418%     { stroke-dashoffset: 100; }
	100%        { stroke-dashoffset: 100; }
}
@keyframes oc-film-row-raised {
	0%, 18.75% { opacity: 0; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	22.917%    { opacity: 1; }
	58.333%    { opacity: 1; }
	62.5%      { opacity: .4; }
	81.25%     { opacity: .4; }
	85.417%    { opacity: 0; }
	100%       { opacity: 0; }
}
@keyframes oc-film-row-ack {
	0%, 56.25% { opacity: 0; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	60.417%    { opacity: 1; }
	81.25%     { opacity: 1; }
	85.417%    { opacity: 0; }
	100%       { opacity: 0; }
}
@keyframes oc-film-route {
	0%, 33.333% { stroke-dashoffset: 1000; opacity: 1; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	54.167%     { stroke-dashoffset: 0; opacity: 1; }
	81.25%      { stroke-dashoffset: 0; opacity: 1; }
	87.5%       { stroke-dashoffset: 0; opacity: 0; }
	87.501%     { stroke-dashoffset: 1000; opacity: 0; }
	100%        { stroke-dashoffset: 1000; opacity: 0; }
}
@keyframes oc-film-crawl { to { stroke-dashoffset: -96; } }
@keyframes oc-film-pulse {
	0%, 54.167% { opacity: 0; }
	58.333%     { opacity: .8; }
	81.25%      { opacity: .8; }
	85.417%     { opacity: 0; }
	100%        { opacity: 0; }
}
@keyframes oc-film-way {
	0%, 37.5% { transform: scale(.5); opacity: .2; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	41.667%   { transform: scale(2.2); opacity: 1; }
	45.833%   { transform: scale(1); opacity: 1; }
	81.25%    { transform: scale(1); opacity: 1; }
	87.5%     { transform: scale(.5); opacity: .2; }
	100%      { transform: scale(.5); opacity: .2; }
}
@keyframes oc-film-staff {
	0%, 33.333% { opacity: .42; transform: scale(.96); animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	56.25%      { opacity: 1; transform: scale(1.07); }
	58.333%     { opacity: 1; transform: scale(1); }
	81.25%      { opacity: 1; transform: scale(1); }
	87.5%       { opacity: .42; transform: scale(.96); }
	100%        { opacity: .42; transform: scale(.96); }
}
@keyframes oc-film-ack {
	0%, 56.25% { transform: scale(.5); opacity: 0; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	58.333%    { transform: scale(.72); opacity: .95; }
	66.667%    { transform: scale(1.8); opacity: 0; }
	100%       { transform: scale(1.8); opacity: 0; }
}
@keyframes oc-film-bar {
	0%   { stroke-dashoffset: 1000; }
	100% { stroke-dashoffset: 0; }
}
@keyframes oc-film-step {
	0%      { opacity: .55; }
	1%      { opacity: 1; }
	16.667% { opacity: 1; }
	18.75%  { opacity: .55; }
	100%    { opacity: .55; }
}
@keyframes oc-film-pip {
	0%      { transform: scale(.72); opacity: .4; animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); }
	1.5%    { transform: scale(1.3); opacity: 1; }
	4%      { transform: scale(1); opacity: 1; }
	16.667% { transform: scale(1); opacity: 1; }
	18.75%  { transform: scale(.72); opacity: .4; }
	100%    { transform: scale(.72); opacity: .4; }
}

.oc-scenarios__slide:not([hidden]) .oc-scenarios__caption {
	animation: oc-cover-hold-reveal var(--oc-dur-swap) ease both;
}

.oc-references__slide:not([hidden]) .oc-references__quote {
	animation: oc-focus-pull 480ms var(--oc-ease-expo) both;
}

.oc-faq { position: relative; overflow: clip; }

.oc-faq::before,
.oc-faq::after,
.oc-faq__inner::before {
	content: "";
	position: absolute;
	z-index: 0;
	pointer-events: none;
	border-radius: 50%;
	filter: blur(10px);
}

.oc-faq::before {
	inline-size: 46vmax;
	block-size: 46vmax;
	inset-block-start: -14vmax;
	inset-inline-start: -12vmax;
	background: radial-gradient(circle at 50% 50%, rgba(184, 155, 131, 0.20) 0%, rgba(184, 155, 131, 0) 68%);
	opacity: .8;
	animation: oc-blob-a var(--oc-dur-blob-a) ease-in-out infinite;
}

.oc-faq::after {
	inline-size: 54vmax;
	block-size: 54vmax;
	inset-block-end: -20vmax;
	inset-inline-end: -16vmax;
	background: radial-gradient(circle at 50% 50%, rgba(183, 123, 56, 0.18) 0%, rgba(183, 123, 56, 0) 66%);
	opacity: .7;
	animation: oc-blob-b var(--oc-dur-blob-b) ease-in-out infinite;
}

.oc-faq__inner::before {
	inline-size: 26vmax;
	block-size: 26vmax;
	inset-block-start: 12%;
	inset-inline-start: 58%;
	background: radial-gradient(circle at 50% 50%, rgba(139, 115, 85, 0.38) 0%, rgba(139, 115, 85, 0) 70%);
	opacity: .6;
	animation: oc-blob-c var(--oc-dur-blob-c) linear infinite;
}

.oc-faq-item.is-active .oc-faq-item__a-wrapper {
	animation: oc-focus-pull 320ms var(--oc-ease-expo) both;
}

.oc-contact__card { position: relative; overflow: hidden; }

@keyframes oc-cover-hold-reveal {
	0%   { clip-path: inset(0 0 0 0); }
	45%  { clip-path: inset(0 0 0 100%); }   
	55%  { clip-path: inset(0 100% 0 0); }   
	100% { clip-path: inset(0 0 0 0); }
}

@keyframes oc-focus-pull {
	0%   { opacity: 0; filter: blur(10px); transform: translateY(6px); }
	100% { opacity: 1; filter: blur(0); transform: none; }
}

@keyframes oc-blob-a {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	33%      { transform: translate3d(7%, 5%, 0) scale(1.08); }
	66%      { transform: translate3d(-4%, 9%, 0) scale(.94); }
}

@keyframes oc-blob-b {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	40%      { transform: translate3d(-8%, -6%, 0) scale(1.1); }
	70%      { transform: translate3d(5%, -3%, 0) scale(.92); }
}

@keyframes oc-blob-c {
	0%    { transform: translate3d(0, 0, 0) scale(1); }
	12.5% { transform: translate3d(10.6%, 7.5%, 0) scale(1.08); }
	25%   { transform: translate3d(15%, 0, 0) scale(1.12); }
	37.5% { transform: translate3d(10.6%, -7.5%, 0) scale(1.04); }
	50%   { transform: translate3d(0, 0, 0) scale(.94); }
	62.5% { transform: translate3d(-10.6%, 7.5%, 0) scale(.88); }
	75%   { transform: translate3d(-15%, 0, 0) scale(.92); }
	87.5% { transform: translate3d(-10.6%, -7.5%, 0) scale(.98); }
	100%  { transform: translate3d(0, 0, 0) scale(1); }
}

:root {

--oc-radius-frost: 32px;
	--oc-radius-notch: 0 32px 32px 0;
}

.oc-calc__controls { overflow: clip; }

.oc-stepper {
	background-color: transparent;
	border-radius: 0;
	padding: 0;
	gap: 16px;
	margin-inline-start: calc(var(--oc-radius-frost) * -1);
}

.oc-stepper__label {
	flex: 1 1 auto;
	min-block-size: 44px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 12px 24px 12px calc(var(--oc-radius-frost) + 24px);
	border-radius: var(--oc-radius-notch);
	background: var(--oc-ink);
	color: var(--oc-black);
	font-size: var(--oc-fs-link);
	font-weight: var(--oc-fw-light, 300);
	text-align: end;
}

.oc-stepper__group,
.oc-calc__optin {
	border-radius: var(--oc-radius-frost);
	background: rgba(255, 255, 255, 0.1);
	padding: 8px;
	backdrop-filter: blur(var(--oc-blur));
	-webkit-backdrop-filter: blur(var(--oc-blur));
}

.oc-stepper__group { gap: 8px; flex: 0 0 auto; }

.oc-calc__optin {
	padding: 8px 20px 8px 8px;
	background-color: rgba(255, 255, 255, 0.1);
}

@media (max-width: 768px) {

.oc-stepper { margin-inline-start: -16px; }
	.oc-stepper__label { padding: 12px 16px 12px 24px; }
	.oc-calc__optin {
		padding: 8px 16px 8px 8px;
		border-radius: var(--oc-radius-frost);
		background-color: rgba(255, 255, 255, 0.1);
	}
}

.oc-stat {

transition: transform var(--oc-dur-exit) var(--oc-ease), box-shadow var(--oc-dur-exit) var(--oc-ease);
}

@media (hover: hover) {
	.oc-stat:hover {
		transform: translateY(-2px);
		box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	}
}

.oc-stat:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.oc-media__video {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	display: block;
	background-color: #0e0f13;

pointer-events: none;
}

.oc-film-video {
	inline-size: 100%;
	block-size: 100%;
	display: block;
	object-fit: contain;
	background-color: #0b0c10;
}

.oc-film-video > .oc-film {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
}

.oc-video-toggle.oc-video-toggle--global {
	position: fixed;
	z-index: 6;
	inset-block-end: calc(var(--oc-frame, 1.5rem) + 12px);
	inset-inline-start: calc(var(--oc-frame, 1.5rem) + 12px);
	inset-block-start: auto;
	inset-inline-end: auto;
}

.oc-video-toggle {
	position: absolute;
	z-index: 3;
	inset-block-end: 12px;
	inset-inline-start: 12px;
	display: inline-flex;
	align-items: center;
	gap: var(--oc-space-xs, 8px);
	min-block-size: 44px;
	padding: 8px 18px 8px 10px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: var(--oc-radius-pill, 999px);
	background: rgba(14, 15, 19, 0.72);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: var(--oc-ink, #fff);
	font-family: var(--oc-font-arial);
	font-size: var(--oc-fs-14, 14px);
	font-weight: 300;
	letter-spacing: var(--oc-ls-button, 0.56px);
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--oc-dur) var(--oc-ease), border-color var(--oc-dur) var(--oc-ease);
}

.oc-video-toggle:hover {
	background: rgba(14, 15, 19, 0.88);
	border-color: var(--oc-accent-start, #b89b83);
}

.oc-video-toggle:focus-visible {
	outline: 2px solid var(--oc-accent-start, #b89b83);
	outline-offset: 3px;
}

.oc-video-toggle__glyph {
	display: grid;
	place-items: center;
	inline-size: 26px;
	block-size: 26px;
	flex: 0 0 auto;
	border-radius: var(--oc-radius-circle, 50%);
	background: var(--oc-accent-end, #b77b38);
	color: #15161c;
}

.oc-video-toggle__glyph svg { inline-size: 14px; block-size: 14px; display: block; }

.oc-video-toggle__pause { display: none; }
.oc-video-toggle.is-playing .oc-video-toggle__play { display: none; }
.oc-video-toggle.is-playing .oc-video-toggle__pause { display: block; }

@media (max-width: 768px) {

.oc-video-toggle { padding: 8px 14px 8px 8px; font-size: 13px; }
}

.oc-scene__media-art {
	position: absolute;
	top: 0;
	left: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;        
	object-position: center;
	display: block;
	pointer-events: none;
}

.oc-hero__trust {
	flex-direction: row;
	align-items: center;
	column-gap: 24px;
	flex-wrap: nowrap;
}
.oc-hero__trust .oc-eyebrow { margin: 0; flex: 0 0 auto; max-inline-size: 18ch; }
.oc-hero__trust .oc-marks--wordmarks {
	flex: 1 1 auto;
	flex-direction: row;
	flex-wrap: nowrap;
	max-inline-size: none;
	row-gap: 0;
	column-gap: 16px;
}
.oc-hero__trust .oc-marks__note { margin: 0; flex: 0 0 auto; max-inline-size: 22ch; }

@media (max-width: 1023px) {
	.oc-hero__trust { flex-wrap: wrap; row-gap: 8px; }
	.oc-hero__trust .oc-marks--wordmarks { flex-wrap: wrap; row-gap: 8px; }
}

.oc-hero-lockup { margin-block-end: 12px; }
.oc-hero__inner { row-gap: 16px; }
.oc-hero__cues  { margin-block-start: 16px; }
.oc-lead        { margin-block: 12px; }

.oc-scenarios__stage { min-block-size: 0; }

.oc-features__panel { min-block-size: 0; }
.oc-features__copy  { row-gap: 12px; }
.oc-quote           { max-inline-size: none; }

.oc-scene > .oc-features__hand {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	inline-size: 40vw;         
	block-size: 60vh;

z-index: 0;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
.oc-features__hand img {
	max-inline-size: 100%;
	max-block-size: 100%;
	inline-size: auto;
	block-size: auto;
	object-fit: contain;       
}

@media (max-width: 768px) and (orientation: portrait) {
	.oc-scene > .oc-features__hand {
		top: 35vh;             
		left: 75%;
		inline-size: 90vw;
		block-size: 50vh;
	}
}

@media (min-width: 1024px) {
	.oc-references__grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "slide" "disc" "nav";
		row-gap: 12px;
	}
	.oc-references__slide      { grid-area: slide; }
	.oc-references__disclaimer { grid-area: disc; margin: 0; }
	.oc-references__arrows     { grid-area: nav; justify-self: end; }
	.oc-references__cues       { grid-area: nav; justify-self: start; margin-block-start: 0; }
}

.oc-references__band {
	min-block-size: 0;
	block-size: auto;
	padding-block: 24px;
}
.oc-references__top {
	padding-block: 0 12px;
	min-block-size: 0;
}

[data-oc-scene="references"] {
	padding-block: calc(var(--oc-header-h) + 24px) 64px;
}
.oc-references__photo .oc-media {
	block-size: auto;
	max-block-size: 168px;
	aspect-ratio: 4 / 3;
}
.oc-references__quote { padding: 16px 24px; }
.oc-references__quote blockquote { min-block-size: 0; }

@media (max-width: 768px) {

.oc-references__mark { display: none; }
	.oc-references__photo .oc-media { max-block-size: 72px; }
	.oc-references__slide { row-gap: 8px; }
	.oc-references__band { padding-block: 12px; }
	.oc-references__quote { padding: 8px 16px; }
	.oc-references__inner { row-gap: 12px; }
	.oc-references__top-inner { row-gap: 8px; }
	.oc-references__attrib { line-height: 1.3; }
	[data-oc-scene="references"] { padding-block: calc(var(--oc-header-h) + 24px) 16px; }
}

.oc-stat {
	min-block-size: 140px;     
	position: relative;
}
.oc-stat__caveat {
	position: absolute;        
	inset-inline: 24px;
	inset-block-end: 24px;
	opacity: 0;
	margin: 0;
	transition: opacity 0.3s ease;
}
.oc-stat:hover .oc-stat__caveat,
.oc-stat:focus-within .oc-stat__caveat { opacity: 1; }

.oc-impact__inner { row-gap: 16px; }
.oc-impact__title { margin-block-end: 8px; }
.oc-impact__cues  { margin-block-start: 8px; }
.oc-calc__controls { row-gap: 8px; }
.oc-calc__disclaimer { margin-block-start: 8px; }
.oc-stepper { padding-block: 2px; }
.oc-calc__optin { min-block-size: 36px; padding-block: 6px; }

@media (min-width: 1024px) {
	.oc-impact__inner {
		display: grid;
		grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
		grid-template-areas: "title stats" "panel stats" "cues stats";
		align-content: center;
		column-gap: 40px;
	}
	.oc-calc { display: contents; }
	.oc-impact__title { grid-area: title; }
	.oc-calc__panel   { grid-area: panel; }
	.oc-impact__cues  { grid-area: cues; }
	.oc-stats         { grid-area: stats; align-self: center; }
}

@media (max-width: 1023px) { .oc-calc { row-gap: 24px; } }

@media (max-width: 768px) {
	.oc-stats {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 78%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-block-end: 8px;
	}
	.oc-stat { scroll-snap-align: start; }
}

.oc-faq-item__question { padding-block: clamp(8px, 1.4vh, 16px); }

@media (max-width: 768px) {
	.oc-faq__head { row-gap: 8px; margin-block-end: 8px; }
	.oc-faq__title { margin-block-end: 8px; }
	.oc-faq__inner { row-gap: 12px; }
	.oc-faq__pagination { margin-block-start: 8px; }
	[data-oc-scene="faq"] { padding-block: calc(var(--oc-header-h) + 24px) 16px; }
}

@media (min-width: 1024px) {
	.oc-contact__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
		align-items: start;
		column-gap: 32px;
	}
	.oc-contact__col--form { padding-block: calc(var(--oc-header-h) + 24px) 48px; }
}

.oc-form { row-gap: 12px; }
.oc-form__field { row-gap: 4px; }
.oc-form__field textarea { min-block-size: 0; block-size: 72px; }
.oc-form__heading { margin-block: 24px 8px; }
.oc-form__intro { margin-block: 0 16px; }
.oc-form__actions { row-gap: 8px; }
.oc-contact__card { padding: 16px; row-gap: 8px; }
.oc-contact__social { margin-block-start: 16px; }

@media (min-width: 1024px) {
	.oc-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.oc-form__field--wide,
	.oc-form__actions { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
	.oc-form { row-gap: 12px; }
	.oc-form__field textarea { block-size: 60px; }
	.oc-contact__social { margin-block-start: 8px; }
	.oc-form__heading { margin-block: 12px 4px; }
	.oc-contact__col { padding-block: calc(var(--oc-header-h) + 24px) 16px; }
	.oc-contact__col--form { padding-block: 0 16px; }
}

.oc-features__copy { align-content: center; row-gap: 8px; }
.oc-features__panel h3 { margin-block-end: 4px; }
.oc-features__panel p { margin-block-end: 8px; }
.oc-features__cues { margin-block-start: 8px; }

@media (max-width: 1023px) {
	.oc-features__inner { row-gap: 12px; }
	.oc-features__list { row-gap: 2px; }
}

.oc-scenarios__stage { overflow: visible; }

.oc-scene__media::after {
	content: '';
	position: absolute;
	inset: 0;

background: linear-gradient(180deg, rgba(0, 0, 0, 1), rgba(0, 0, 0, 1));
	opacity: 0.5;                
	pointer-events: none;
	z-index: 1;
}

.oc-features .oc-scene__media::after {
	background: radial-gradient(
		circle at center,
		transparent 0%,
		transparent 15%,
		rgba(0, 0, 0, 0.5) 40%,
		rgba(0, 0, 0, 0.8) 70%,
		rgba(0, 0, 0, 0.95) 100%
	);
	opacity: 0.85;
}

@media (max-width: 768px) {
	.oc-video-toggle__label {
		position: absolute;
		inline-size: 1px;
		block-size: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.oc-video-toggle {
		inline-size: 44px;
		block-size: 44px;
		padding: 0;
		justify-content: center;
	}

.oc-scene { padding-block-end: 84px; }
}

.oc-scenarios__controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-auto-flow: row;
	align-items: start;
	row-gap: 16px;
}
.oc-scenarios__cues { justify-content: flex-start; }

.oc-scene {
	--oc-bleed: calc(max(0px, (100vw - var(--oc-grid-max)) / 2) + var(--oc-gutter) + 8px);
}

.oc-references__band {
	margin-inline: calc(-1 * var(--oc-bleed));
	padding-inline: var(--oc-bleed);
}

.oc-scenarios__caption {
	--oc-caption-bleed: calc(
		max(max(0px, (100vw - var(--oc-grid-max)) / 2), var(--oc-gutter))
		+ var(--oc-gutter) + 24px + 8px
	);
	margin-inline-start: calc(-1 * var(--oc-caption-bleed));
	padding-inline-start: calc(var(--oc-caption-bleed) + 24px);
	inline-size: calc(100% + var(--oc-caption-bleed));
}

@media (min-width: 1024px) {
	.oc-contact__card {
		margin-inline-start: calc(-1 * var(--oc-bleed));
		padding-inline-start: calc(var(--oc-bleed) + 16px);
		inline-size: calc(100% + var(--oc-bleed));
	}
}

.oc-scene > .oc-references__inner .oc-references__top {
	position: absolute;
	inset-inline: var(--oc-gutter);

inset-block-start: calc(100% + 52px);
	inset-block-end: auto;
	padding: 0;
	min-block-size: 0;
	background: none;
	pointer-events: none;
	z-index: 2;
}
.oc-references__top .oc-references__actions { pointer-events: auto; }
.oc-references__top-inner { display: block; }

.oc-references__band { position: relative; }
.oc-references__band > .oc-dots {
	position: absolute;
	inset-block-start: -28px;      
	inset-inline-start: var(--oc-bleed);
	margin: 0;
	z-index: 3;
}

.oc-references__band > .oc-dots .oc-dots__btn {
	background-color: rgba(255, 255, 255, 0.3);
	border-color: rgba(255, 255, 255, 0.5);
}
.oc-references__band > .oc-dots .oc-dots__btn.is-active {
	background-color: #ffffff;
	border-color: #ffffff;
}

.oc-scene__media-video {
	object-fit: contain;
	background-color: #0e0f13;
}

@media (max-width: 768px) {
	.oc-faq__title { font-size: clamp(1rem, 2.4vh, 1.35rem); line-height: 1.25; }
	.oc-faq__subtitle { font-size: 0.9rem; line-height: 1.35; }
}

@media (min-width: 1024px) {
	.oc-scenarios__layer {
		position: static;
		inline-size: 100%;
	}
	.oc-scene > .oc-scenarios__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
		column-gap: 48px;
	}
	.oc-scenarios__stage { min-block-size: 0; }
	.oc-scenarios__controls { justify-self: end; }
}

.oc-scenarios__caption {
	border-start-start-radius: 0;
	border-end-start-radius: 0;
}
.oc-references__band {
	border-radius: 0;              
}
@media (min-width: 1024px) {
	.oc-contact__card {
		border-start-start-radius: 0;
		border-end-start-radius: 0;
	}
}

@media (max-width: 768px) {
	.oc-scene > .oc-references__inner .oc-references__top {
		position: static;
		inset-block-start: auto;
		padding-block-end: 12px;
	}
	.oc-references__band > .oc-dots { position: static; margin-block-end: 8px; }
}

:root { --oc-toggle-reserve: 80px; }

[data-oc-scene] { padding-block-end: var(--oc-toggle-reserve); }

.oc-contact__col,
.oc-contact__col--form { padding-block-end: var(--oc-toggle-reserve); }

@media (max-width: 768px) {
	.oc-contact__col,
	.oc-contact__col--form { padding-block-end: var(--oc-toggle-reserve); }
}

.oc-contact__card .oc-badge {
	inline-size: fit-content;
	max-inline-size: 100%;
	align-self: flex-start;
}

@media (min-width: 1024px) {
	.oc-calc { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.oc-impact__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

.oc-form { row-gap: 8px; }
.oc-form__field textarea { block-size: 60px; }
.oc-form__actions { row-gap: 4px; }

.oc-hero__trust { column-gap: 16px; }
.oc-hero__inner { row-gap: 12px; }

.oc-faq__inner { row-gap: 12px; }
.oc-faq__head { margin-block-end: 8px; }
.oc-faq__search-container { margin-block-start: 4px; }
.oc-impact__inner { row-gap: 12px; }
.oc-calc__controls { row-gap: 6px; }
.oc-stepper { padding-block: 0; }
.oc-hero__trust { row-gap: 4px; }
.oc-hero-lockup { margin-block-end: 8px; }

.oc-features__hand { position: absolute; }
.oc-features__hand::after {
	content: '';
	position: absolute;
	inset: 0;

background: linear-gradient(180deg, rgba(0, 0, 0, 1), rgba(0, 0, 0, 1));
	opacity: 0.5;                   
	pointer-events: none;
}

@media (max-width: 768px) {
	.oc-lead { padding-inline-end: 16px; }
	.oc-hero__trust .oc-marks__item:nth-child(n + 5) { display: none; }
}

@media (min-width: 769px) {
	.oc-faq__head { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
}

@media (max-width: 768px) {
	.oc-faq__head {
		grid-template-columns: 1fr;   
		gap: 16px;                    
		align-items: stretch;         
	}
}

@media (max-width: 768px) {
	.oc-references__band > .oc-dots {
		position: absolute;
		inset-block-start: 8px;
		inset-inline-start: 50%;
		transform: translateX(-50%);
		margin: 0;
		z-index: 3;
	}
	.oc-references__band { padding-block-start: 32px; }
}

.oc-calc__controls {
	margin-inline-start: calc(-1 * var(--oc-bleed));
	padding-inline-start: var(--oc-bleed);

}

.oc-stepper {
	margin-inline-start: calc(-1 * var(--oc-bleed));
}

.oc-stepper__label {
	justify-content: flex-start;
	text-align: start;
	padding-inline-start: calc(var(--oc-bleed) + 24px);
}

@media (max-width: 768px) {
	.oc-stepper__label { padding-inline-start: calc(var(--oc-bleed) + 16px); }
}

html.oc-js [data-oc-reveal] > .oc-stepper,
html.oc-js [data-oc-reveal].is-revealed > .oc-stepper {
	opacity: 1;
	transform: none;
	transition: none;
}

html.oc-js .oc-impact [data-oc-reveal] > .oc-stepper > .oc-stepper__label {
	transform: translateX(-110%);          
	color: transparent;                    
}

html.oc-js .oc-impact [data-oc-reveal].is-revealed > .oc-stepper > .oc-stepper__label {
	animation: ocStepperBarIn 0.3s ease forwards;   

color: var(--oc-black);
	transition: color 0.6s ease 0.4s;
}

html.oc-js .oc-impact [data-oc-reveal].is-revealed > .oc-stepper:nth-of-type(2) > .oc-stepper__label {
	animation-delay: 0.1s;                 
	transition-delay: 0.5s;
}

html.oc-js .oc-impact [data-oc-reveal].is-revealed > .oc-stepper:nth-of-type(3) > .oc-stepper__label {
	animation-delay: 0.2s;
	transition-delay: 0.6s;
}

@keyframes ocStepperBarIn {
	from { transform: translateX(-110%); }
	to   { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
	html.oc-js .oc-impact [data-oc-reveal] > .oc-stepper > .oc-stepper__label,
	html.oc-js .oc-impact [data-oc-reveal].is-revealed > .oc-stepper > .oc-stepper__label {
		transform: none;
		animation: none;
		color: var(--oc-black);
		transition: none;
	}
}

@media (min-width: 1024px) {

.oc-scene > .oc-impact__inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

.oc-impact__title,
	.oc-calc__panel,
	.oc-impact__cues {
		max-inline-size: 500px;
	}

.oc-stats {
		max-inline-size: 600px;
		margin-inline-start: auto;
		margin-inline-end: calc(-1 * max(0px, (100vw - var(--oc-grid-max)) / 2));
	}
}

.oc-stat__delta { position: relative; z-index: 0; }

.oc-stat::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-color: rgba(255, 255, 255, 0.82);

opacity: 0;
	transition: opacity 0.3s ease;   
}

.oc-stat__metric { position: relative; z-index: 0; }

.oc-stat__caveat { z-index: 2; }

.oc-stat__audience { position: relative; z-index: 3; }

.oc-stat:hover::after,
.oc-stat:focus-within::after {
	opacity: 1;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

@media (prefers-reduced-motion: reduce) {
	.oc-stat::after { transition: none; }
}

.oc-scenarios__caption {
	position: relative;
	z-index: 1;
}

@media (max-width: 768px) {
	.oc-video-toggle.oc-video-toggle--global {
		inset-inline-start: auto;
		inset-inline-end: calc(var(--oc-frame, 1.5rem) + 12px);
	}
}

@media (max-width: 768px) {
	:root { --oc-text-gutter: 16px; }

.oc-hero__copy .oc-lead,
	.oc-hero__trust .oc-eyebrow,
	.oc-references__disclaimer,
	.oc-impact__title,
	.oc-calc__disclaimer,
	.oc-faq__title,
	.oc-faq__subtitle,
	.oc-faq-item {
		padding-inline: var(--oc-text-gutter);
	}

}

@media (max-width: 768px) {

.oc-references__grid { gap: 16px; }
	.oc-references__inner { gap: 20px; }
	.oc-references__band { padding-block-start: 24px; }

.oc-scene > .oc-impact__inner { gap: 12px; }
	.oc-impact__title { margin-block-end: 4px; }
	.oc-calc { margin-block-start: 12px; gap: 12px; }
	.oc-calc__disclaimer { margin-block-start: 4px; }
	.oc-stat { padding-block: 14px; }
	.oc-impact__cues { margin-block-start: 4px; }
}

@media (max-width: 768px) {
	.oc-scenarios__cues,
	.oc-features__cues,
	.oc-features__panel,
	.oc-features__copy > .oc-quote,
	.oc-form__heading,
	.oc-form__intro {
		padding-inline: calc(var(--oc-text-gutter) - var(--oc-frame-mobile));
	}
}

@media (min-width: 1280px) {
	.oc-stats {

margin-inline-end: calc(
			var(--oc-stats-standoff) - max(0px, (100vw - var(--oc-grid-max)) / 2)
		);
	}
}

@media (min-width: 769px) and (max-width: 1279px) {

.oc-stats { margin-inline-end: var(--oc-stats-standoff); }
}

@media (max-width: 768px) {
	.oc-stats { margin-inline: var(--oc-stats-standoff); }
}

@media (max-width: 768px) {
	.oc-header { background-color: var(--oc-bg); }
}

:root .oc-hero__inner.is-layout-flow > .oc-hero__trust,
:root .oc-hero__cues.is-layout-flow > .oc-btn {
	margin-block-start: 0;
}

.oc-main > .wp-block-post-content > .oc-scene:first-child,
.oc-main > .entry-content > .oc-scene:first-child {
	margin-block-start: 0;
}

.oc-main > .wp-block-post-content {
	margin: 0;
	padding: 0;
}

.oc-article__head {
	margin-block-end: 32px;
}

.oc-article__head .oc-eyebrow {
	margin-block: 0 8px;
}

.oc-article__head .oc-page__title {
	margin-block-start: 0;
}

.oc-wordmark__logo {
	display: block;
	inline-size: auto;
	block-size: 26px;
	max-inline-size: 180px;
	object-fit: contain;
}

@media (max-width: 767px) {
	.oc-wordmark__logo { block-size: 22px; }
}
