@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/Inter-VariableFont_opsz-wght.ttf") format("truetype");
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
}

@font-face {
	font-family: "Source Serif 4";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/source-serif-4-v14-latin-regular.woff2") format("woff2");
}

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

:root {
	--ocp-navy: #25274d;
	--ocp-ink: #25274d;
	--ocp-mist: #e5ecfb;
	--ocp-slate: #a7adbf;
	--ocp-sand: #b49a62;
	--ocp-paper: #fafaf8;
	--ocp-white: #fff;
	--ocp-text: #25274d;
	--ocp-linkedin: #0076b2;
	--ocp-shadow: 0 18px 40px rgb(17 20 61 / 14%);
	--ocp-page-gutter: clamp(1.25rem, 4vw, 5rem);
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

.wp-site-blocks {
	padding: 0;
}

.wp-site-blocks .alignwide {
	box-sizing: border-box;
	margin-left: 50% !important;
	margin-right: 0 !important;
	max-width: var(--wp--style--global--wide-size) !important;
	transform: translateX(-50%);
	width: min(
		var(--wp--style--global--wide-size),
		calc(100vw - (2 * var(--ocp-page-gutter)))
	) !important;
}

.wp-site-blocks > *,
.wp-block-post-content > *,
main > * {
	margin-block-start: 0;
}

main > .alignfull {
	margin-block-end: 0 !important;
	margin-block-start: 0 !important;
}

a {
	text-decoration: none;
}

h1,
h2,
h3,
h4,
p,
li {
	hyphens: auto;
	overflow-wrap: break-word;
}

.ocp-section {
	box-sizing: border-box;
	font-size: 1rem;
	margin-block: 0;
	padding-top: clamp(4rem, 8vw, 7rem);
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

.ocp-kicker {
	color: var(--ocp-sand);
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ocp-section .wp-block-heading.has-medium-font-size {
	font-family: "Inter", Arial, sans-serif;
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.55;
}

.ocp-wordmark {
	color: var(--ocp-navy);
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 1.3rem;
	font-weight: 750;
	letter-spacing: -0.04em;
	margin: 0;
	text-decoration: none;
}

.ocp-wordmark a {
	color: inherit;
	text-decoration: none;
}

.ocp-header {
	background: rgb(250 250 248 / 96%);
	border-bottom: 1px solid rgb(37 39 77 / 8%);
	position: sticky;
	top: 0;
	z-index: 100;
}

.ocp-header > .alignwide {
	margin-left: auto !important;
	margin-right: auto !important;
	transform: none;
}

.admin-bar .ocp-header {
	top: 32px;
}

.ocp-header .wp-block-navigation-item__content {
	text-decoration: none;
}

.ocp-header .wp-block-navigation-item__content:hover {
	color: var(--ocp-sand);
}

.ocp-header .current-menu-item > .wp-block-navigation-item__content,
.ocp-header .current-menu-ancestor > .wp-block-navigation-item__content,
.ocp-header .wp-block-navigation-item__content[aria-current="page"],
.page-id-7 .ocp-header .wp-block-navigation-item__content[href$="/leistungen/"],
.post-type-archive-ocp_reference .ocp-header .wp-block-navigation-item__content[href$="/referenzen/"],
.blog .ocp-header .wp-block-navigation-item__content[href$="/blog/"],
.single-post .ocp-header .wp-block-navigation-item__content[href$="/blog/"],
.category .ocp-header .wp-block-navigation-item__content[href$="/blog/"],
.page-id-8 .ocp-header .wp-block-navigation-item__content[href$="/kontakt/"] {
	color: var(--ocp-sand) !important;
}

.ocp-hero {
	background: var(--ocp-mist);
	margin: 0;
	padding: clamp(3rem, 6vw, 5.5rem) 0;
}

.ocp-hero-card {
	background: var(--ocp-white);
	box-shadow: 0 1px 0 rgb(17 20 61 / 8%);
}

.ocp-hero-copy {
	padding: clamp(2rem, 5vw, 4.5rem);
}

.ocp-hero-copy p:not(.ocp-kicker) {
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
	font-size: clamp(0.95rem, 0.6vw + 0.8rem, 1.1rem);
}

.ocp-hero h1.has-xx-large-font-size {
	font-size: clamp(2rem, 2.5vw, 2.5rem) !important;
}

.ocp-section h2.has-x-large-font-size {
	font-size: clamp(1.6rem, 1.9vw, 2.125rem) !important;
}

.ocp-hero-copy .wp-block-buttons {
	align-items: stretch;
}

.ocp-hero-copy .wp-block-button {
	display: flex;
}

.ocp-hero-copy .wp-block-button__link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-width: 12.5rem;
}

.ocp-hero-copy .is-style-outline .wp-block-button__link {
	border-width: 1px;
}

.ocp-button-label-compact {
	display: none;
}

.ocp-hero-image img {
	height: 100%;
	min-height: 500px;
	object-fit: cover;
}

.ocp-trust-row {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 2.75rem;
	text-align: center;
}

.ocp-trust-row strong {
	color: var(--ocp-navy);
	display: block;
	font-size: 0.875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ocp-trust-row span {
	font-size: 0.8rem;
}

.ocp-expertise {
	background: var(--ocp-white);
}

.ocp-expertise > .wp-block-columns:first-child p:not(.ocp-kicker) {
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.6;
}

.ocp-logo-row {
	align-items: center;
}

.ocp-logo-row figure {
	align-items: center;
	display: flex;
	height: 7rem;
	justify-content: center;
	margin: 0;
}

.ocp-logo-row img {
	height: 5rem;
	max-width: 15rem;
	object-fit: contain;
	width: 100%;
}

.ocp-logo-row > .wp-block-column:first-child figure {
	justify-content: flex-start;
}

.ocp-logo-row > .wp-block-column:nth-child(2) figure {
	justify-content: center;
}

.ocp-logo-row > .wp-block-column:last-child figure {
	justify-content: flex-end;
}

.ocp-card-grid {
	border-left: 1px solid rgb(37 39 77 / 12%);
	border-top: 1px solid rgb(37 39 77 / 12%);
}

.ocp-expertise .ocp-card-grid,
.ocp-expertise .ocp-logo-row {
	margin-top: clamp(3rem, 4vw, 4rem) !important;
}

.ocp-card {
	border-bottom: 1px solid rgb(37 39 77 / 12%);
	border-right: 1px solid rgb(37 39 77 / 12%);
	font-size: 1rem;
	font-weight: 300;
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2.5rem);
}

.ocp-card p,
.ocp-card a {
	font-size: inherit;
	font-weight: 300;
}

.ocp-card .ocp-card-title {
	color: var(--ocp-ink);
	font-family: "Inter", Arial, sans-serif;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.5;
}

.ocp-card a {
	font-size: 0.75rem;
	font-weight: 300;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
}

.ocp-service-grid {
	align-items: stretch;
	margin-block: var(--wp--preset--spacing--50);
}

.page-id-7 .ocp-service-grid {
	display: grid !important;
	gap: 0;
	grid-template-columns: minmax(0, 1fr);
}

.page-id-7 .wp-block-post-content > .ocp-section > .alignwide > * {
	max-width: none !important;
	width: 100%;
}

.ocp-service-grid > .wp-block-column {
	display: flex;
	flex-direction: column;
}

.page-id-7 .ocp-service-grid > .wp-block-column {
	display: block;
}

.ocp-service-card {
	box-sizing: border-box;
	height: 100%;
	width: 100%;
}

.page-id-7 .ocp-service-card {
	border-right: 0;
	height: auto;
	padding-block: clamp(2.25rem, 4vw, 4rem);
}

.page-id-7 .ocp-service-card.has-background {
	padding-inline: clamp(1.5rem, 3vw, 3rem);
}

.page-id-7 .wp-block-post-content > .ocp-section:first-child .ocp-services-intro,
.page-id-7 .wp-block-post-content > .ocp-section:first-child p.has-large-font-size {
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
	font-size: clamp(0.96rem, 0.4vw + 0.86rem, 1.08rem) !important;
	line-height: 1.75;
	margin-block: clamp(1.75rem, 3vw, 3rem) 0 !important;
	margin-inline: 0 !important;
	max-width: 66.666% !important;
	width: 66.666%;
}

.page-id-7 .wp-block-post-content > .ocp-section:first-child > .alignwide {
	align-items: start;
	gap: 0;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-id-7 .wp-block-post-content > .ocp-section:first-child {
	background: var(--ocp-slate) !important;
	padding-bottom: clamp(4rem, 8vw, 7rem);
}

.page-id-7 .ocp-services-hero-copy {
	aspect-ratio: 1;
	align-self: start;
	background: var(--ocp-mist);
	box-sizing: border-box;
	color: var(--ocp-navy);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 2.5vw, 3rem);
	text-align: left;
	width: 100%;
}

.page-id-7 .ocp-services-hero-copy > .ocp-kicker {
	align-self: stretch;
	margin-block: 0 !important;
	margin-inline: 0 !important;
	max-width: none !important;
	width: 100%;
}

.page-id-7 .ocp-services-hero-copy > h1 {
	align-self: stretch;
	font-size: clamp(1.65rem, 2.5vw, 2.1rem) !important;
	line-height: 1.3;
	margin-block: clamp(1.25rem, 2.5vw, 2.25rem) 0 !important;
	margin-inline: 0 !important;
	max-width: none !important;
	white-space: normal;
	width: 100%;
}

.page-id-7 .ocp-services-hero-image {
	margin: 0;
	width: 100%;
}

.page-id-7 .ocp-services-hero-image img {
	aspect-ratio: 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.ocp-contact-hero {
	background: var(--ocp-mist);
	padding-block: clamp(3rem, 6vw, 5.5rem);
}

.ocp-contact-hero-grid {
	align-items: start;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ocp-contact-hero-copy {
	aspect-ratio: 108 / 77;
	align-self: start;
	background: var(--ocp-white);
	box-sizing: border-box;
	color: var(--ocp-navy);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 2.5vw, 3rem);
	text-align: left;
	width: 100%;
}

.ocp-contact-hero-copy > * {
	margin-inline: 0 !important;
}

.ocp-contact-hero-copy > .ocp-kicker {
	align-self: stretch;
	margin-block: 0 !important;
	max-width: none !important;
	width: 100%;
}

.ocp-contact-hero-copy > h1 {
	align-self: stretch;
	font-size: clamp(1.65rem, 2.5vw, 2.1rem) !important;
	hyphens: none;
	line-height: 1.3;
	margin-block: clamp(1.25rem, 2.5vw, 2.25rem) 0 !important;
	max-width: none !important;
	width: 100%;
}

.ocp-contact-hero-intro {
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
	font-size: clamp(0.96rem, 0.4vw + 0.86rem, 1.08rem);
	line-height: 1.75;
	margin-block: clamp(1.75rem, 3vw, 3rem) 0 !important;
	max-width: 66.666% !important;
	width: 66.666%;
}

.ocp-contact-hero-image {
	aspect-ratio: 108 / 77;
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.ocp-contact-hero-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.page-id-7 .ocp-tax-section {
	background: var(--ocp-white);
	color: var(--ocp-navy);
	padding-top: clamp(4rem, 6vw, 6rem);
}

.page-id-7 .ocp-tax-heading-row {
	align-items: flex-start;
	display: flex !important;
	flex-direction: column;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	justify-content: flex-start;
	margin-bottom: clamp(4.5rem, 7vw, 6.5rem);
}

.page-id-7 .ocp-tax-heading-row > * {
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
}

.page-id-7 .ocp-tax-tagline {
	color: var(--ocp-navy);
	font-family: "Inter", Arial, sans-serif;
	font-size: clamp(1.6rem, 1.9vw, 2.125rem);
	font-weight: 300;
	line-height: 1.25;
}

.page-id-7 .ocp-tax-grid {
	display: grid;
	gap: clamp(1.25rem, 2vw, 1.5rem);
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.page-id-7 .ocp-tax-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-end;
	margin: 0;
	padding: clamp(3rem, 4vw, 4.5rem);
}

.page-id-7 .ocp-tax-card > * {
	margin-inline: 0 !important;
	max-width: none !important;
}

.page-id-7 .ocp-tax-card h3 {
	color: var(--ocp-sand);
	font-family: "Inter", Arial, sans-serif;
	font-size: clamp(0.9rem, 0.35vw + 0.86rem, 1.02rem);
	font-weight: 650;
	hyphens: none;
	letter-spacing: 0.045em;
	line-height: 1.4;
	margin-block: 0 clamp(0.9rem, 1.4vw, 1.25rem) !important;
	overflow-wrap: normal;
	text-transform: uppercase;
}

.page-id-7 .ocp-tax-card p {
	font-size: 0.9375rem;
	line-height: 1.72;
}

.page-id-7 .ocp-tax-card p:last-child {
	margin-bottom: 0;
}

.page-id-7 .ocp-tax-card-label {
	font-family: "Inter", Arial, sans-serif;
	font-weight: 650;
	margin-block: clamp(1rem, 1.5vw, 1.35rem) 0.35rem !important;
}

.page-id-7 .ocp-tax-card--light {
	background: var(--ocp-paper);
	color: var(--ocp-navy);
}

.page-id-7 .ocp-tax-card--slate {
	background: var(--ocp-paper);
	color: var(--ocp-navy);
}

.page-id-7 .ocp-tax-card--slate h3 {
	color: var(--ocp-sand);
}

.page-id-7 .ocp-tax-card a {
	color: inherit;
}

.page-id-7 .ocp-finance-section {
	background: var(--ocp-mist);
	color: var(--ocp-navy);
}

.page-id-7 .ocp-finance-heading-row {
	align-items: flex-start;
	display: flex !important;
	flex-direction: column;
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	justify-content: flex-start;
	margin-bottom: clamp(4.5rem, 7vw, 6.5rem);
}

.page-id-7 .ocp-finance-heading-row > * {
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
}

.page-id-7 .ocp-finance-tagline {
	color: var(--ocp-navy);
	font-family: "Inter", Arial, sans-serif;
	font-size: clamp(1.6rem, 1.9vw, 2.125rem);
	font-weight: 300;
	line-height: 1.25;
}

.page-id-7 .ocp-finance-grid {
	align-items: stretch;
	display: grid;
	gap: 0;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.page-id-7 .ocp-finance-grid > * {
	min-height: 0;
}

.page-id-7 .ocp-finance-card {
	background: var(--ocp-slate);
	box-sizing: border-box;
	color: var(--ocp-white);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	padding: calc(
		clamp(3rem, 4vw, 4.5rem) +
		clamp(0.625rem, 1vw, 0.75rem)
	);
}

.page-id-7 .ocp-finance-card > * {
	margin-inline: 0 !important;
	max-width: none !important;
}

.page-id-7 .ocp-finance-card h3 {
	color: var(--ocp-navy);
	font-family: "Inter", Arial, sans-serif;
	font-size: clamp(0.9rem, 0.35vw + 0.86rem, 1.02rem);
	font-weight: 650;
	hyphens: none;
	letter-spacing: 0.045em;
	line-height: 1.4;
	margin-block: 0 clamp(0.9rem, 1.4vw, 1.25rem) !important;
	overflow-wrap: normal;
	text-transform: uppercase;
}

.page-id-7 .ocp-finance-card p,
.page-id-7 .ocp-finance-card li {
	font-size: 1rem;
	line-height: 1.65;
}

.page-id-7 .ocp-finance-card p:last-child {
	margin-bottom: 0;
}

.page-id-7 .ocp-finance-card-label {
	font-family: "Inter", Arial, sans-serif;
	font-weight: 650;
	margin-block: clamp(0.75rem, 1vw, 1rem) 0.25rem !important;
}

.page-id-7 .ocp-finance-card a {
	color: inherit;
}

.page-id-7 .ocp-finance-card--lower-left {
	border-top: 1px solid rgb(255 255 255 / 28%);
}

.page-id-7 .ocp-finance-card--lower-right {
	border-left: 1px solid rgb(255 255 255 / 28%);
}

.page-id-7 .ocp-finance-image {
	contain: size;
	height: 100%;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	width: 100%;
}

.page-id-7 .ocp-finance-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	width: 100%;
}

.page-id-7 .ocp-wealth-section {
	background: var(--ocp-navy);
	color: var(--ocp-white);
	padding-block: clamp(3rem, 6vw, 5rem);
}

.page-id-7 .ocp-wealth-heading-row {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0 0 clamp(2.5rem, 4vw, 4.5rem);
}

.page-id-7 .ocp-wealth-heading-row > * {
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
}

.page-id-7 .ocp-wealth-section .ocp-kicker {
	color: var(--ocp-sand);
}

.page-id-7 .ocp-wealth-tagline {
	color: var(--ocp-white);
	font-family: "Inter", Arial, sans-serif;
	font-size: clamp(1.6rem, 1.9vw, 2.125rem);
	font-weight: 300;
	line-height: 1.25;
}

.page-id-7 .ocp-wealth-grid {
	display: grid;
	gap: clamp(1.25rem, 2vw, 1.5rem);
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.page-id-7 .ocp-wealth-card {
	border: 1px solid rgb(255 255 255 / 55%);
	box-sizing: border-box;
	color: var(--ocp-white);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-end;
	margin: 0;
	padding: clamp(3rem, 4vw, 4.5rem);
}

.page-id-7 .ocp-wealth-card > * {
	margin-inline: 0 !important;
	max-width: none !important;
}

.page-id-7 .ocp-wealth-card h3 {
	color: var(--ocp-sand);
	font-family: "Inter", Arial, sans-serif;
	font-size: clamp(0.9rem, 0.35vw + 0.86rem, 1.02rem);
	font-weight: 650;
	hyphens: none;
	letter-spacing: 0.045em;
	line-height: 1.4;
	margin-block: 0 clamp(0.9rem, 1.4vw, 1.25rem) !important;
	overflow-wrap: normal;
	text-transform: uppercase;
}

.page-id-7 .ocp-wealth-card p {
	color: var(--ocp-white);
	font-size: 0.9375rem;
	line-height: 1.72;
}

.page-id-7 .ocp-wealth-card p:last-child {
	margin-bottom: 0;
}

.page-id-7 .ocp-wealth-card-label {
	font-family: "Inter", Arial, sans-serif;
	font-weight: 650;
	margin-block: clamp(1rem, 1.5vw, 1.35rem) 0.35rem !important;
}

.page-id-7 .ocp-purchase-section {
	background: var(--ocp-white);
	color: var(--ocp-navy);
}

.page-id-7 .ocp-purchase-heading-row {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0 0 clamp(2.5rem, 4vw, 4.5rem);
}

.page-id-7 .ocp-purchase-heading-row > * {
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
}

.page-id-7 .ocp-purchase-tagline {
	color: var(--ocp-navy);
	font-family: "Inter", Arial, sans-serif;
	font-size: clamp(1.6rem, 1.9vw, 2.125rem);
	font-weight: 300;
	line-height: 1.25;
}

.page-id-7 .ocp-purchase-grid {
	align-items: stretch;
	display: grid;
	gap: clamp(1.25rem, 2vw, 1.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.page-id-7 .ocp-purchase-card {
	background: var(--ocp-paper);
	box-sizing: border-box;
	color: var(--ocp-navy);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-end;
	margin: 0;
	padding: clamp(3rem, 4vw, 4.5rem);
}

.page-id-7 .ocp-purchase-card > * {
	margin-inline: 0 !important;
	max-width: none !important;
}

.page-id-7 .ocp-purchase-card h3 {
	color: var(--ocp-sand);
	font-family: "Inter", Arial, sans-serif;
	font-size: clamp(0.9rem, 0.35vw + 0.86rem, 1.02rem);
	font-weight: 650;
	hyphens: none;
	letter-spacing: 0.045em;
	line-height: 1.4;
	margin-block: 0 clamp(0.9rem, 1.4vw, 1.25rem) !important;
	overflow-wrap: normal;
	text-transform: uppercase;
}

.page-id-7 .ocp-purchase-card p,
.page-id-7 .ocp-purchase-card li {
	color: var(--ocp-navy);
	font-size: 0.9375rem;
	line-height: 1.72;
}

.page-id-7 .ocp-purchase-card p:last-child {
	margin-bottom: 0;
}

.page-id-7 .ocp-purchase-card-label {
	font-family: "Inter", Arial, sans-serif;
	font-weight: 650;
	margin-block: clamp(1rem, 1.5vw, 1.35rem) 0.35rem !important;
}

.page-id-7 .ocp-purchase-facts {
	list-style: none;
	margin-block: clamp(0.85rem, 1.25vw, 1.1rem) !important;
	padding: 0;
}

.page-id-7 .ocp-purchase-facts li {
	margin: 0;
}

.page-id-7 .ocp-purchase-image {
	contain: size;
	height: 100%;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	width: 100%;
}

.page-id-7 .ocp-purchase-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.ocp-global-cta .ocp-global-cta__title {
	font-size: clamp(2rem, 2.5vw, 2.5rem) !important;
	line-height: 1.12;
}

.ocp-global-cta .ocp-global-cta__buttons {
	margin-top: clamp(2.5rem, 4vw, 3.5rem) !important;
}

.ocp-service-card a {
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: normal;
	text-decoration: none;
	text-transform: none;
}

.ocp-service-image {
	margin: 0 0 var(--wp--preset--spacing--30);
}

.ocp-service-image img {
	aspect-ratio: 16 / 8;
	object-fit: cover;
	width: 100%;
}

.ocp-dark {
	background: var(--ocp-ink);
	color: rgb(255 255 255 / 76%);
}

.ocp-dark h1,
.ocp-dark h2,
.ocp-dark h3,
.ocp-dark h4,
.ocp-dark a {
	color: var(--ocp-white);
}

.ocp-dark .ocp-kicker {
	color: var(--ocp-sand);
}

.ocp-services-link {
	color: var(--ocp-sand) !important;
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ocp-occasions-inner {
	max-width: var(--wp--style--global--wide-size) !important;
	width: 100%;
}

.ocp-occasions-inner > * {
	max-width: none !important;
	width: 100%;
}

.ocp-occasions-grid {
	display: grid;
	gap: clamp(2.5rem, 4vw, 4rem);
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: clamp(2.5rem, 4vw, 4rem);
}

.ocp-occasions-grid > .wp-block-column {
	min-width: 0;
}

.ocp-occasions-grid .wp-block-heading.has-medium-font-size {
	color: var(--ocp-sand);
	font-size: 0.875rem !important;
	font-weight: 650;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ocp-occasions-grid p.has-small-font-size {
	color: rgb(255 255 255 / 76%);
	font-size: 1rem !important;
	font-weight: 300;
	line-height: 1.6;
}

.ocp-process {
	counter-reset: process;
	display: grid !important;
	gap: clamp(3rem, 5vw, 6rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(3.5rem, 7vw, 6rem) !important;
}

.ocp-process > .wp-block-column {
	counter-increment: process;
	min-width: 0;
	padding-top: 7.25rem;
	position: relative;
}

.ocp-process > .wp-block-column::before {
	color: rgb(180 154 98 / 18%);
	content: "0" counter(process);
	font-size: 5rem;
	font-weight: 700;
	left: 0;
	line-height: 1;
	position: absolute;
	top: 0;
}

.ocp-process .wp-block-heading.has-medium-font-size {
	border-bottom: 1px solid var(--ocp-sand);
	color: var(--ocp-navy);
	display: inline-block;
	font-size: 0.875rem !important;
	font-weight: 650;
	left: 10px;
	letter-spacing: 0.12em;
	line-height: 1.4;
	margin: 0;
	padding-bottom: 0.25rem;
	position: absolute;
	text-transform: uppercase;
	top: 4.1rem;
	width: max-content;
}

.ocp-process p.has-small-font-size {
	font-size: 1rem !important;
	font-weight: 300;
	line-height: 1.6;
	margin-top: 0;
	padding-left: 10px;
}

.ocp-price {
	background: var(--ocp-white);
	box-shadow: -18px 22px 42px rgb(17 18 47 / 28%);
	color: var(--ocp-ink);
	padding: clamp(2.5rem, 4vw, 4rem);
}

.ocp-pricing-grid {
	align-items: center;
	display: grid !important;
	gap: clamp(4rem, 7vw, 8rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ocp-pricing-grid > .wp-block-column {
	min-width: 0;
	width: 100%;
}

.ocp-pricing-copy .wp-block-list {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

.ocp-pricing-copy .wp-block-list li {
	margin-top: 0.9rem;
	padding-left: 2rem;
	position: relative;
}

.ocp-pricing-copy .wp-block-list li::before {
	align-items: center;
	border: 1px solid currentcolor;
	border-radius: 50%;
	content: "✓";
	display: flex;
	font-size: 0.7rem;
	font-weight: 700;
	height: 1.15rem;
	justify-content: center;
	left: 0;
	line-height: 1;
	position: absolute;
	top: 0.2em;
	width: 1.15rem;
}

.ocp-pricing-section,
.ocp-pricing-section h2,
.ocp-pricing-section h3,
.ocp-pricing-section p,
.ocp-pricing-section li,
.ocp-pricing-section strong,
.ocp-pricing-section span {
	color: var(--ocp-white) !important;
}

.ocp-pricing-section .ocp-kicker {
	color: var(--ocp-navy) !important;
}

.ocp-pricing-section li::marker {
	content: "";
}

.ocp-pricing-section .ocp-price,
.ocp-pricing-section .ocp-price p,
.ocp-pricing-section .ocp-price span,
.ocp-pricing-section .ocp-price strong {
	color: var(--ocp-ink) !important;
}

.ocp-price > p:first-child {
	font-size: 1.1rem;
	font-weight: 650;
	margin-bottom: 2rem;
}

.ocp-price-row {
	align-items: baseline;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
}

.ocp-price-row strong {
	flex: 0 0 auto;
	text-align: right;
}

.ocp-price-total {
	border-top: 1px solid rgb(37 39 77 / 28%);
	font-size: 1.1rem;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
}

.ocp-reference-card {
	background: var(--ocp-navy);
	color: rgb(255 255 255 / 78%);
}

.ocp-reference-card h2,
.ocp-reference-card h3,
.ocp-reference-card h4,
.ocp-reference-card a {
	color: var(--ocp-white);
}

.ocp-reference-card img {
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
}

.ocp-reference-row {
	display: grid !important;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	max-width: 100% !important;
	width: 100%;
}

.ocp-reference-row > .wp-block-column {
	aspect-ratio: 1;
	box-sizing: border-box;
	min-width: 0;
}

.ocp-reference-row figure,
.ocp-reference-row img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.ocp-reference-row img {
	object-fit: cover;
}

.ocp-reference-copy {
	align-items: flex-start;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	padding: clamp(2rem, 4vw, 4rem);
	text-align: left;
}

.ocp-references-section {
	background: var(--ocp-ink);
	color: rgb(255 255 255 / 76%);
}

.ocp-references-inner {
	max-width: var(--wp--style--global--wide-size) !important;
	width: 100%;
}

.ocp-references-section > .ocp-references-inner > h2,
.ocp-references-section > .ocp-references-inner > p {
	color: var(--ocp-white);
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	width: 100%;
}

.ocp-references-inner > .ocp-reference-row:first-of-type {
	margin-top: clamp(2.5rem, 4vw, 4rem);
}

.ocp-reference-copy > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	width: 100%;
}

.ocp-reference-copy h3.has-large-font-size {
	font-size: clamp(1.15rem, 1.35vw, 1.4rem) !important;
	line-height: 1.3;
}

.ocp-reference-copy .ocp-reference-summary {
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.6;
	max-width: 30rem !important;
}

.ocp-reference-copy .ocp-reference-value {
	border-bottom: 1px solid currentcolor;
	border-top: 1px solid currentcolor;
	font-size: 1rem;
	margin-top: 1.5rem;
	max-width: 30rem !important;
	padding: 1rem 0;
}

.ocp-reference-copy--dark,
.ocp-reference-copy--dark h3,
.ocp-reference-copy--dark .ocp-reference-summary,
.ocp-reference-copy--dark .ocp-reference-value {
	color: var(--ocp-white);
}

.ocp-reference-copy--light,
.ocp-reference-copy--light h3,
.ocp-reference-copy--light .ocp-reference-summary,
.ocp-reference-copy--light .ocp-reference-value {
	color: var(--ocp-navy);
}

.ocp-reference-copy--light {
	background: var(--ocp-mist) !important;
}

.ocp-reference-copy .ocp-kicker {
	color: var(--ocp-sand);
}

.ocp-references-more {
	justify-content: flex-end;
	margin-top: clamp(2rem, 4vw, 4rem);
	max-width: 100% !important;
	width: 100%;
}

.ocp-references-more .wp-block-button__link {
	background: var(--ocp-white) !important;
	color: var(--ocp-navy) !important;
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.8rem;
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ocp-reference-meta {
	color: var(--ocp-sand);
	font-size: 0.72rem;
	font-weight: 650;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ocp-reference-list {
	display: block;
	margin: 0;
	padding: 0;
}

.ocp-reference-list > li {
	margin: 0 !important;
	padding: 0;
}

.ocp-reference-archive {
	background: var(--ocp-slate);
	color: var(--ocp-navy);
}

.ocp-reference-archive-inner > .ocp-kicker,
.ocp-reference-archive-title {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	text-align: left;
	width: 100%;
}

.ocp-reference-archive-inner > .ocp-kicker {
	color: var(--ocp-navy);
}

.ocp-reference-archive-title {
	color: var(--ocp-navy);
	letter-spacing: -0.025em;
	margin-top: 0.8rem !important;
}

.ocp-reference-archive-query {
	margin-top: clamp(2.5rem, 4vw, 4rem) !important;
}

.ocp-reference-archive-row {
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 !important;
	max-width: 100% !important;
	width: 100%;
}

.ocp-reference-archive-image,
.ocp-reference-archive-copy {
	aspect-ratio: 1;
	box-sizing: border-box;
	min-width: 0;
}

.ocp-reference-archive-image figure,
.ocp-reference-archive-image img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.ocp-reference-archive-image img {
	object-fit: cover;
}

.ocp-reference-archive-copy {
	align-items: flex-start;
	background: var(--ocp-navy);
	color: var(--ocp-white);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2rem, 4vw, 4rem);
	text-align: left;
}

.ocp-reference-archive-copy > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	width: 100%;
}

.ocp-reference-archive-copy .wp-block-post-title {
	color: inherit;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: clamp(1.15rem, 1.35vw, 1.4rem) !important;
	font-weight: 650;
	letter-spacing: -0.025em;
	line-height: 1.3;
}

.ocp-reference-archive-content {
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.6;
}

.ocp-reference-archive-content > :first-child {
	margin-top: 0;
}

.ocp-reference-archive-content > :last-child {
	margin-bottom: 0;
}

.ocp-reference-facts {
	border-bottom: 1px solid currentcolor;
	border-top: 1px solid currentcolor;
	font-size: 1rem;
	font-weight: 650;
	margin-top: 1.5rem !important;
	padding: 1rem 0;
	white-space: pre-line;
}

.ocp-reference-facts:empty {
	display: none;
}

.ocp-reference-list > li:nth-child(even) .ocp-reference-archive-image {
	order: 2;
}

.ocp-reference-list > li:nth-child(even) .ocp-reference-archive-copy {
	background: var(--ocp-mist);
	color: var(--ocp-navy);
	order: 1;
}

.ocp-reference-list > li:nth-child(even) .ocp-reference-meta {
	color: var(--ocp-sand);
}

.ocp-succession {
	background-position: center;
	background-size: cover;
}

.ocp-succession .wp-block-cover__background {
	opacity: 0.7;
}

.ocp-succession-copy {
	background: var(--ocp-white);
	box-shadow: 8px 10px 18px rgb(17 20 61 / 26%);
	padding: clamp(2rem, 4vw, 3.5rem) !important;
}

.ocp-succession-copy p {
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.7;
	margin: 0;
	text-align: center;
}

.ocp-succession,
.ocp-succession h2,
.ocp-succession-copy,
.ocp-succession-copy p {
	color: var(--ocp-navy);
}

.ocp-post-card {
	height: 100%;
}

.ocp-blog-preview {
	display: grid !important;
	gap: clamp(3rem, 5vw, 6rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ocp-blog-preview > .wp-block-column {
	min-width: 0;
	width: 100%;
}

.ocp-blog-all-link a {
	color: var(--ocp-navy);
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.8rem;
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ocp-post-card figure {
	margin: 0;
	width: 100%;
}

.ocp-post-card img {
	aspect-ratio: 1;
	display: block;
	object-fit: cover;
	object-position: left center;
	width: 100%;
}

.ocp-post-card h3.has-large-font-size {
	font-family: "Inter", Arial, sans-serif;
	font-size: 1rem !important;
	font-weight: 650;
	letter-spacing: 0.04em;
	line-height: 1.45;
	text-transform: uppercase;
}

.ocp-post-card h3 a {
	color: var(--ocp-navy);
	font-family: inherit;
	font-weight: inherit;
}

.ocp-post-card .wp-block-post-title a {
	text-decoration: none;
}

.ocp-post-card .wp-block-post-title {
	font-size: clamp(1rem, .5vw + .9rem, 1.18rem) !important;
}

.ocp-post-card .wp-block-post-excerpt {
	font-size: 0.9rem;
}

.ocp-post-card .wp-block-post-excerpt__more-link::after {
	content: none;
}

.ocp-post-meta {
	color: rgb(37 39 77 / 70%);
	font-size: 0.78rem;
}

.ocp-prose {
	font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
	font-size: clamp(0.96rem, .4vw + .86rem, 1.08rem);
}

.ocp-prose h2,
.ocp-prose h3,
.ocp-prose h4,
.ocp-prose .wp-block-post-title {
	color: var(--ocp-navy);
	font-family: "Montserrat", Arial, sans-serif;
}

.ocp-prose h2.wp-block-heading {
	font-size: clamp(1.45rem, 1vw + 1.2rem, 1.9rem);
	font-weight: 650;
	letter-spacing: -0.025em;
	line-height: 1.2;
	margin-block: 2.4rem 0.8rem;
}

.ocp-prose h3.wp-block-heading {
	font-size: clamp(1.14rem, .5vw + 1.02rem, 1.35rem);
	font-weight: 650;
	letter-spacing: -0.015em;
	line-height: 1.3;
	margin-block: 2rem 0.65rem;
}

.ocp-prose h4.wp-block-heading {
	font-size: 1rem;
	font-weight: 650;
	letter-spacing: 0;
	line-height: 1.35;
	margin-block: 1.75rem 0.55rem;
}

.ocp-blog-shell,
.ocp-single-shell {
	max-width: 1300px;
}

.ocp-blog-shell .wp-block-query-pagination {
	align-items: center;
	border-top: 1px solid rgb(37 39 77 / 18%);
	gap: 1.5rem;
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
	padding-top: 1.5rem;
}

.ocp-blog-shell .wp-block-query-pagination-numbers {
	align-items: center;
	display: inline-flex;
	gap: 0.85rem;
}

.ocp-blog-shell .page-numbers {
	align-items: center;
	border: 1px solid rgb(37 39 77 / 28%);
	display: inline-flex;
	font-family: "Inter", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 650;
	justify-content: center;
	line-height: 1;
	min-height: 2.4rem;
	min-width: 2.4rem;
	padding: 0.45rem;
}

.ocp-blog-shell .page-numbers.current {
	background: var(--ocp-navy);
	border-color: var(--ocp-navy);
	color: #fff;
}

.ocp-blog-shell .wp-block-query-pagination-previous,
.ocp-blog-shell .wp-block-query-pagination-next {
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ocp-blog-sidebar {
	border-left: 1px solid rgb(37 39 77 / 15%);
	padding-left: clamp(1.5rem, 3vw, 3rem);
}

.ocp-blog-sidebar ul {
	list-style: none;
	padding-left: 0;
}

.ocp-blog-sidebar li {
	margin-bottom: 0.7rem;
}

@media (max-width: 1100px) {
	.ocp-blog-sidebar .wp-block-search__inside-wrapper {
		display: flex;
		flex-wrap: wrap;
		gap: 0.6rem;
	}

	.ocp-blog-sidebar .wp-block-search__input {
		box-sizing: border-box;
		flex: 1 1 100%;
		min-width: 0;
		width: 100%;
	}

	.ocp-blog-sidebar .wp-block-search__button {
		flex: 0 0 auto;
		margin-left: 0;
	}
}

.ocp-topic-clusters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 2rem;
}

.ocp-topic-clusters a {
	border: 1px solid rgb(37 39 77 / 25%);
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.75rem;
	padding: 0.55rem 0.8rem;
}

.ocp-blog-hero-section {
	padding-bottom: clamp(3rem, 6vw, 6rem);
	padding-top: clamp(3rem, 6vw, 6rem);
}

.ocp-blog-hero {
	align-items: stretch;
	gap: 0 !important;
}

.ocp-blog-hero-image,
.ocp-blog-hero-copy {
	aspect-ratio: 3 / 2;
	box-sizing: border-box;
	min-width: 0;
}

.ocp-blog-hero-image figure,
.ocp-blog-hero-image img {
	height: 100%;
	margin: 0;
	width: 100%;
}

.ocp-blog-hero-image img {
	display: block;
	object-fit: cover;
	object-position: center;
}

.ocp-blog-hero-copy {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.5rem, 2.2vw, 2rem);
}

.ocp-blog-hero-copy > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
}

.ocp-blog-hero-copy > .wp-block-heading {
	font-size: clamp(2rem, 3vw, 2.8rem) !important;
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
	margin-top: 0.65rem;
}

.ocp-blog-hero-copy > p.has-large-font-size {
	font-size: clamp(1.02rem, 1.25vw, 1.28rem) !important;
	line-height: 1.55;
	margin-bottom: 0.85rem;
	margin-top: 0;
}

.ocp-blog-hero-copy > p:not(.ocp-kicker, .has-large-font-size) {
	font-size: 0.9rem;
	line-height: 1.55;
	margin-bottom: 0;
	margin-top: 0;
}

.ocp-blog-hero-copy .ocp-topic-clusters {
	gap: 0.5rem;
	margin-top: clamp(1rem, 2vw, 1.5rem);
}

.ocp-blog-hero-copy .ocp-topic-clusters a {
	font-size: 0.7rem;
	padding: 0.45rem 0.65rem;
}

.ocp-single-article .wp-block-post-featured-image img {
	max-height: 720px;
	object-fit: cover;
	width: 100%;
}

.ocp-single-article > .wp-block-post-title {
	font-size: clamp(1.85rem, 2.5vw, 2.55rem) !important;
	line-height: 1.15;
	max-width: 100%;
	width: 100%;
}

.ocp-single-article .ocp-prose {
	max-width: 100%;
	width: 100%;
}

/*
 * Imported social posts contain hard line breaks from their former text
 * column. The source newlines remain as spaces, so hiding only the BR
 * elements restores a natural flow across the full article width.
 */
.ocp-single-article .ocp-prose br {
	display: none;
}

.ocp-company-name,
.ocp-brand {
	font-family: "Montserrat", Arial, sans-serif;
}

.ocp-linkedin-link {
	align-items: flex-start;
	color: var(--ocp-linkedin);
	display: inline-flex;
	flex-direction: column;
	gap: 0.8rem;
}

.ocp-linkedin-link:hover,
.ocp-linkedin-link:focus {
	color: var(--ocp-linkedin);
}

.ocp-linkedin-link img {
	height: 2rem;
	width: 2rem;
}

.ocp-contact-details h2.has-x-large-font-size {
	font-size: clamp(1.35rem, 1.7vw, 1.75rem) !important;
}

.ocp-form {
	display: grid;
	gap: 1.25rem;
}

.ocp-form-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ocp-form label {
	color: var(--ocp-navy);
	display: block;
	font-size: 0.75rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ocp-form input:not([type="checkbox"]),
.ocp-form select,
.ocp-form textarea {
	background: var(--ocp-white);
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	color: var(--ocp-text);
	font: inherit;
	margin-top: 0.45rem;
	padding: 0.7rem 0.9rem;
	width: 100%;
}

.ocp-form input:not([type="checkbox"]),
.ocp-form select {
	height: 52px;
}

.ocp-form textarea {
	min-height: 180px;
	padding: 0.9rem 1rem;
	resize: vertical;
}

.ocp-form input:focus,
.ocp-form select:focus,
.ocp-form textarea:focus {
	box-shadow: 0 0 0 2px rgb(37 39 77 / 18%);
	outline: none;
}

.ocp-form-required-note {
	font-size: 0.82rem;
	margin: 0;
}

.ocp-form-consent {
	align-items: flex-start;
	display: flex !important;
	gap: 0.7rem;
	letter-spacing: 0 !important;
	line-height: 1.5;
	text-transform: none !important;
}

.ocp-form-consent input {
	margin-top: 0.25rem;
}

.ocp-form-consent a,
.ocp-form-consent a:hover,
.ocp-form-consent a:focus {
	color: var(--ocp-sand);
}

.ocp-form button {
	background: var(--ocp-ink);
	border: 1px solid var(--ocp-ink);
	color: var(--ocp-white);
	cursor: pointer;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 650;
	justify-self: end;
	letter-spacing: 0.12em;
	padding: 1rem 1.7rem;
	text-transform: uppercase;
}

.ocp-form button:hover {
	background: var(--ocp-sand);
	border-color: var(--ocp-sand);
}

.ocp-form-notice {
	border-left: 4px solid var(--ocp-sand);
	padding: 0.8rem 1rem;
}

.ocp-form-notice--success {
	background: #edf7ef;
	border-color: #397b49;
}

.ocp-form-notice--error {
	background: #fff1f0;
	border-color: #a33a32;
}

.ocp-honeypot {
	left: -10000px;
	position: absolute;
}

.ocp-footer a {
	color: rgb(255 255 255 / 72%);
	text-decoration: none;
}

.ocp-footer a:hover {
	color: var(--ocp-sand);
}

.ocp-footer h3 {
	color: var(--ocp-white) !important;
}

.ocp-footer-grid {
	align-items: stretch;
	display: grid !important;
	gap: clamp(5rem, 9vw, 10rem);
	grid-template-columns: minmax(0, 1fr) max-content max-content;
}

.ocp-footer-grid > .wp-block-column:nth-child(n + 2) {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.ocp-footer-grid > .wp-block-column:nth-child(n + 2) > * {
	margin-block: 0 !important;
}

.ocp-footer .wp-block-list {
	display: grid;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ocp-footer .wp-block-list li {
	line-height: 1.4;
	margin: 0;
}

.ocp-footer .wp-block-list a {
	font-family: "Inter", Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.ocp-footer-copy {
	color: rgb(255 255 255 / 72%);
	font-size: 0.84rem;
}

.ocp-footer-copyright {
	margin-bottom: 0 !important;
	margin-top: clamp(3rem, 6vw, 5rem) !important;
	max-width: var(--wp--style--global--wide-size) !important;
	width: 100%;
}

.ocp-back-to-top {
	align-items: center;
	background: var(--ocp-ink);
	border: 1px solid rgb(255 255 255 / 45%);
	bottom: 1.25rem;
	color: var(--ocp-white);
	display: flex;
	font-size: 1.2rem;
	height: 2.75rem;
	justify-content: center;
	position: fixed;
	right: 1.25rem;
	width: 2.75rem;
	z-index: 90;
}

.ocp-back-to-top:hover {
	background: var(--ocp-sand);
	color: var(--ocp-ink);
}

.ocp-share-link {
	align-items: center;
	border: 1px solid currentcolor;
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 650;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	padding: 0.7rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

@media (max-width: 960px) {
	.page-id-7 .wp-block-post-content > .ocp-section:first-child > .alignwide {
		gap: 2.5rem;
		grid-template-columns: minmax(0, 1fr);
	}

	.ocp-contact-hero-grid {
		grid-template-columns: minmax(0, 1fr);
	}

}

@media (max-width: 900px) {
	.page-id-7 .wp-block-post-content > .ocp-section:first-child > .alignwide {
		gap: 2.5rem;
		grid-template-columns: minmax(0, 1fr);
	}

	.page-id-7 .wp-block-post-content h1,
	.page-id-7 .wp-block-post-content h2,
	.page-id-7 .wp-block-post-content h3,
	.page-id-7 .wp-block-post-content h4,
	.page-id-7 .ocp-tax-card > h3,
	.page-id-7 .ocp-finance-card > h3,
	.page-id-7 .ocp-wealth-card > h3,
	.page-id-7 .ocp-purchase-card > h3 {
		box-sizing: border-box;
		hyphens: auto;
		max-width: 100% !important;
		min-width: 0;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.page-id-7 .ocp-tax-card > *,
	.page-id-7 .ocp-finance-card > *,
	.page-id-7 .ocp-wealth-card > *,
	.page-id-7 .ocp-purchase-card > * {
		box-sizing: border-box;
		max-width: 100% !important;
		min-width: 0;
		width: 100%;
	}

	.ocp-header .wp-block-navigation__responsive-container-open {
		display: flex;
	}

	.ocp-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.ocp-header .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--ocp-paper);
		color: var(--ocp-navy);
	}

	.ocp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
	.ocp-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		color: var(--ocp-navy);
	}

	.ocp-hero-copy .wp-block-buttons {
		flex-wrap: nowrap;
		gap: 0.75rem;
	}

	.ocp-hero-copy .wp-block-button {
		flex: 1 1 0;
		min-width: 0;
	}

	.ocp-hero-copy .wp-block-button__link {
		min-width: 0;
		width: 100%;
	}

	.ocp-button-label-full {
		display: none;
	}

	.ocp-button-label-compact {
		display: inline;
	}

	.ocp-trust-row {
		grid-template-columns: repeat(2, 1fr);
	}

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

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

	.ocp-hero-image img {
		min-height: 380px;
	}
}

@media (max-width: 781px) {
	.ocp-blog-hero-copy {
		aspect-ratio: auto;
		min-height: 0;
		padding: clamp(1.5rem, 7vw, 2.5rem);
	}

	.ocp-blog-hero-copy > .wp-block-heading {
		font-size: clamp(1.8rem, 9vw, 2.5rem) !important;
	}
}

@media (max-width: 600px) {
	.page-id-7 .ocp-services-hero-copy {
		aspect-ratio: auto;
		padding: 1.25rem;
	}

	.page-id-7 .ocp-services-hero-copy > h1 {
		font-size: clamp(1.2rem, 5.3vw, 1.65rem) !important;
	}

	.page-id-7 .ocp-tax-heading-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.75rem;
	}

	.page-id-7 .ocp-tax-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.page-id-7 .ocp-finance-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.page-id-7 .ocp-finance-card {
		border-left: 0;
		border-top: 1px solid rgb(255 255 255 / 28%);
	}

	.page-id-7 .ocp-wealth-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.page-id-7 .ocp-purchase-grid {
		grid-template-columns: minmax(0, 1fr);
	}

}

@media (min-width: 782px) and (max-width: 900px) {
	.ocp-trust-row {
		gap: 0;
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.ocp-trust-row > div {
		border-left: 1px solid rgb(37 39 77 / 14%);
		padding-inline: 0.75rem;
	}

	.ocp-trust-row > div:first-child {
		border-left: 0;
	}

	.ocp-trust-row span {
		display: block;
		line-height: 1.45;
	}

	.ocp-process {
		gap: 1.5rem;
	}

	.ocp-process > .wp-block-column {
		background: rgb(255 255 255 / 74%);
		border: 1px solid rgb(37 39 77 / 8%);
		box-sizing: border-box;
		box-shadow: 0 14px 28px rgb(17 20 61 / 8%);
		min-height: 15rem;
		padding: 9rem 1.75rem 1.75rem;
	}

	.ocp-process > .wp-block-column::before {
		left: 1.75rem;
		top: 1.75rem;
	}

	.ocp-process .wp-block-heading.has-medium-font-size {
		left: calc(1.75rem + 10px);
		top: 5.85rem;
	}

	.ocp-process p.has-small-font-size {
		margin-bottom: 0;
	}

	.ocp-hero-image {
		overflow: hidden;
		position: relative;
	}

	.ocp-hero-image figure {
		inset: 0;
		position: absolute;
	}

	.ocp-hero-image img {
		height: 100%;
		min-height: 0;
	}
}

@media (max-width: 781px) {
	.ocp-header .wp-block-buttons {
		display: none;
	}

	.ocp-logo-row > .wp-block-column figure {
		justify-content: center;
	}

	.ocp-occasions-grid {
		grid-template-columns: 1fr;
	}

	.ocp-form-grid {
		grid-template-columns: 1fr;
	}

	.ocp-process {
		grid-template-columns: 1fr;
	}

	.ocp-pricing-grid {
		gap: 4rem;
		grid-template-columns: 1fr;
	}

	.ocp-blog-preview {
		grid-template-columns: 1fr;
	}

	.ocp-footer-grid {
		gap: 2.5rem;
		grid-template-columns: 1fr;
	}

	.ocp-blog-sidebar {
		border-left: 0;
		border-top: 1px solid rgb(37 39 77 / 15%);
		padding-left: 0;
		padding-top: 2rem;
	}

	.ocp-reference-row > .wp-block-column {
		aspect-ratio: auto;
		min-height: 320px;
	}

	.ocp-reference-row {
		grid-template-columns: 1fr;
	}

	.ocp-reference-archive-row {
		grid-template-columns: 1fr;
	}

	.ocp-reference-archive-image,
	.ocp-reference-archive-copy {
		aspect-ratio: auto;
		min-height: 320px;
	}

	.ocp-reference-list > li:nth-child(even) .ocp-reference-archive-image,
	.ocp-reference-list > li:nth-child(even) .ocp-reference-archive-copy {
		order: initial;
	}
}

@media (max-width: 600px) {
	.admin-bar .ocp-header {
		top: 0;
	}

	.ocp-occasions-inner {
		padding-inline: 0.75rem;
	}

	.ocp-footer-grid,
	.ocp-footer-copyright {
		padding-inline: 0.75rem;
	}

	.ocp-trust-row {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.ocp-hero {
		padding-top: 1.5rem;
	}

	.ocp-hero-copy {
		padding: 1.75rem;
	}

	.ocp-hero-image img {
		min-height: 300px;
	}
}

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