/* ==========================================================================
   OHPN Site Kit — design system + components
   Brand: navy #051242 · gold #DDAD2A · magenta #B5368F
   ========================================================================== */
:root {
	--ohpn-navy: #051242;
	--ohpn-navy-2: #0c1f63;
	--ohpn-navy-3: #13287a;
	--ohpn-gold: #ddad2a;
	--ohpn-gold-dark: #9a7108;
	--ohpn-gold-soft: #fbf3dc;
	--ohpn-magenta: #b5368f;
	--ohpn-magenta-dark: #922a73;
	--ohpn-purple: #5b2a86;
	--ohpn-ink: #0f172a;
	--ohpn-text: #334155;
	--ohpn-muted: #64748b;
	--ohpn-line: #e2e8f0;
	--ohpn-bg: #f4f6fb;
	--ohpn-white: #fff;
	--ohpn-green: #1f8a4c;
	--ohpn-amber: #e07b00;
	--ohpn-red: #c62828;
	--ohpn-radius: 0;
	--ohpn-radius-sm: 0;
	--ohpn-shadow: 0 1px 2px rgba(5, 18, 66, .06), 0 8px 24px rgba(5, 18, 66, .07);
	--ohpn-shadow-lg: 0 2px 4px rgba(5, 18, 66, .06), 0 18px 48px rgba(5, 18, 66, .14);
	--ohpn-font-head: "Poppins", "Titillium Web", system-ui, -apple-system, "Segoe UI", sans-serif;
	--ohpn-font-body: "Titillium Web", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ohpn-ease: cubic-bezier(.2, .7, .2, 1);
	--ohpn-max: 1200px;
}

/* --------------------------------------------------------------------------
   Global UX fixes (toggle in OHPN Kit › Settings)
   -------------------------------------------------------------------------- */
body.ohpn-fx-lh[class*="elementor-kit-"] {
	--e-global-typography-primary-line-height: 1.25;
	--e-global-typography-secondary-line-height: 1.3;
	--e-global-typography-text-line-height: 1.65;
}
body.ohpn-fx-lh .elementor-heading-title { line-height: 1.25; }

body.ohpn-fx-anim .animated { animation-duration: .7s !important; animation-delay: 0s !important; }
@media (prefers-reduced-motion: reduce) {
	.elementor-invisible { visibility: visible !important; }
	.animated, .ohpn-kit * { animation: none !important; transition: none !important; }
}

html:has(body.ohpn-fx-smooth) { scroll-behavior: smooth; scroll-padding-top: 110px; }
@media (prefers-reduced-motion: reduce) { html:has(body.ohpn-fx-smooth) { scroll-behavior: auto; } }
body.ohpn-fx-smooth a:focus-visible,
body.ohpn-fx-smooth button:focus-visible,
body.ohpn-fx-smooth input:focus-visible,
body.ohpn-fx-smooth select:focus-visible,
body.ohpn-fx-smooth textarea:focus-visible,
body.ohpn-fx-smooth summary:focus-visible {
	outline: 3px solid var(--ohpn-gold) !important;
	outline-offset: 2px;
	border-radius: 0;
}

body.ohpn-fx-fonts h1, body.ohpn-fx-fonts h2, body.ohpn-fx-fonts h3, body.ohpn-fx-fonts h4,
body.ohpn-fx-fonts .elementor-heading-title { font-family: var(--ohpn-font-head) !important; }
body.ohpn-fx-fonts, body.ohpn-fx-fonts p, body.ohpn-fx-fonts li, body.ohpn-fx-fonts .elementor-widget-text-editor { font-family: var(--ohpn-font-body) !important; }

/* --------------------------------------------------------------------------
   CQC rating badges (Outstanding = gold)
   -------------------------------------------------------------------------- */
.ohpn-badge {
	--b: var(--ohpn-navy);
	display: inline-flex; align-items: center; gap: .35em;
	padding: .28em .7em .28em .45em; border-radius: 0;
	background: var(--b); color: #fff !important;
	font: 600 .82em/1.2 var(--ohpn-font-head); letter-spacing: .01em;
	vertical-align: .06em; white-space: nowrap; max-width: 100%; box-shadow: 0 1px 2px rgba(0,0,0,.12);
}
.ohpn-badge svg { width: 1.15em; height: 1.15em; fill: currentColor; flex: none; background: rgba(255,255,255,.22); border-radius: 0; padding: .12em; box-sizing: content-box; }
.ohpn-badge.is-outstanding { --b: linear-gradient(135deg, #f3cf5c, var(--ohpn-gold) 45%, #b8860b); color: #3b2a00 !important; }
.ohpn-badge.is-outstanding svg { background: rgba(255,255,255,.45); }
.ohpn-badge.is-good { --b: var(--ohpn-green); }
.ohpn-badge.is-ri { --b: var(--ohpn-amber); color: #fff !important; }
.ohpn-badge.is-inadequate { --b: var(--ohpn-red); }
.ohpn-badge--inline { font-size: .78em; margin: 0 .08em; }
.ohpn-badge--sm { font-size: .78rem; }
.ohpn-badge--lg { font-size: 1.15rem; }
.ohpn-dot { display: inline-block; width: .72em; height: .72em; border-radius: 0; vertical-align: .02em; margin: 0 .12em; box-shadow: 0 0 0 2px rgba(255,255,255,.65); }
.ohpn-dot.is-outstanding { background: var(--ohpn-gold); }
.ohpn-dot.is-good { background: var(--ohpn-green); }
.ohpn-dot.is-ri { background: var(--ohpn-amber); }
.ohpn-dot.is-inadequate { background: var(--ohpn-red); }
.elementor-heading-title .ohpn-badge { font-size: .5em; vertical-align: .22em; }

.ohpn-path { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; max-width: 980px; position: relative; counter-reset: s; }
.ohpn-path::before { content: ""; position: absolute; left: 12%; right: 12%; top: 19px; height: 4px; border-radius: 0; background: linear-gradient(90deg, var(--ohpn-red), var(--ohpn-amber), var(--ohpn-green), var(--ohpn-gold)); opacity: .9; }
.ohpn-path li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; padding: 0 6px; }
.ohpn-path .ohpn-badge { font-size: .9rem; padding: .5em .95em .5em .6em; }
.ohpn-path small { color: var(--ohpn-muted); font: 600 .82rem/1.3 var(--ohpn-font-body); text-transform: uppercase; letter-spacing: .06em; }
@media (max-width: 767px) {
	.ohpn-path { grid-template-columns: repeat(2, minmax(0,1fr)); row-gap: 18px; }
	.ohpn-path::before { display: none; }
	.ohpn-path .ohpn-badge { font-size: .78rem; white-space: normal; text-align: left; padding: .45em .8em .45em .5em; }
	.ohpn-path small { font-size: .72rem; }
}

/* --------------------------------------------------------------------------
   Elementor template layout (classes set on containers/widgets)
   -------------------------------------------------------------------------- */
.ohpn-kit .e-con.ohpn-section,
.ohpn-kit .e-con.ohpn-hero { --content-width: var(--ohpn-max); }
.e-con.ohpn-section { padding-top: clamp(56px, 7vw, 96px) !important; padding-bottom: clamp(56px, 7vw, 96px) !important; padding-left: 20px !important; padding-right: 20px !important; }
.e-con.ohpn-section--tight { padding-top: 28px !important; padding-bottom: 28px !important; }
.e-con.ohpn-section--auto:not(:has(.ohpn-sc)) { display: none !important; }
.e-con.ohpn-bg-light { background-color: var(--ohpn-bg); }
.e-con.ohpn-bg-brand { background: radial-gradient(1200px 500px at 85% -10%, rgba(221,173,42,.18), transparent 60%), linear-gradient(135deg, #1a0f3d 0%, #3b1a6b 45%, #7a2a8f 100%); color: #fff; }
.e-con.ohpn-bg-brand .elementor-heading-title, .e-con.ohpn-bg-brand .ohpn-lead p { color: #fff !important; }
.ohpn-card--dark .ohpn-btn--link .elementor-button { color: var(--ohpn-gold) !important; }
@media (min-width: 1025px) { .e-con.ohpn-grid-3 > .e-con:last-child:nth-child(3n+1) { grid-column: 2; } .e-con.ohpn-grid-4 > .e-con:last-child:nth-child(4n+1) { grid-column: 2 / span 2; } }
.e-con.ohpn-rating-strip { background: #fff; border-bottom: 1px solid var(--ohpn-line); }

.e-con.ohpn-section-head { --gap: 10px; margin-bottom: 36px; max-width: 760px; }
.e-con.ohpn-section-head.is-center { margin-left: auto; margin-right: auto; text-align: center; }
.e-con.ohpn-section-head.is-center .elementor-heading-title { text-align: center; }
.e-con.ohpn-narrow { max-width: 820px; margin: 0 auto; }

.elementor-widget.ohpn-eyebrow .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 10px;
	font: 700 .8rem/1.2 var(--ohpn-font-head) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--ohpn-gold-dark) !important; margin: 0;
}
.elementor-widget.ohpn-eyebrow .elementor-heading-title::before { content: ""; width: 28px; height: 2px; background: currentColor; border-radius: 0; }
.ohpn-bg-brand .elementor-widget.ohpn-eyebrow .elementor-heading-title,
.ohpn-hero .elementor-widget.ohpn-eyebrow .elementor-heading-title,
.ohpn-cta-band .elementor-widget.ohpn-eyebrow .elementor-heading-title { color: var(--ohpn-gold) !important; }

.elementor-widget.ohpn-h2 .elementor-heading-title { font: 700 clamp(1.7rem, 1.1rem + 2vw, 2.5rem)/1.2 var(--ohpn-font-head) !important; color: var(--ohpn-navy); letter-spacing: -.01em; margin: 0; }
.elementor-widget.ohpn-h3 .elementor-heading-title { font: 700 clamp(1.25rem, 1rem + .8vw, 1.55rem)/1.3 var(--ohpn-font-head) !important; color: var(--ohpn-navy); margin: 0 0 6px; }
.elementor-widget.ohpn-lead p, .ohpn-lead p { font: 400 1.12rem/1.65 var(--ohpn-font-body); color: var(--ohpn-text); margin: 0; }

.ohpn-prose, .ohpn-prose p, .ohpn-prose li { font-family: var(--ohpn-font-body); font-size: 1.05rem; line-height: 1.7; color: var(--ohpn-text); }
.ohpn-prose p { margin: 0 0 14px; }
.ohpn-prose p:last-child { margin-bottom: 0; }
.ohpn-prose strong { color: var(--ohpn-ink); }
.ohpn-prose.is-center { text-align: center; max-width: 760px; margin: 0 auto; }
.ohpn-prose.ohpn-after { margin-top: 28px; }
.ohpn-prose--lead p { font-size: 1.15rem; }
.ohpn-label, h4.ohpn-label { font: 700 1.05rem/1.35 var(--ohpn-font-head); color: var(--ohpn-navy); margin: 22px 0 10px; }
.ohpn-label-sm { font: 700 .82rem/1.3 var(--ohpn-font-head) !important; text-transform: uppercase; letter-spacing: .1em; color: var(--ohpn-gold-dark) !important; }
.ohpn-small { font-size: .95rem !important; color: var(--ohpn-muted) !important; }
.ohpn-note { font-style: italic; color: var(--ohpn-muted) !important; }

.ohpn-checklist { list-style: none !important; margin: 0 0 16px !important; padding: 0 !important; display: grid; gap: 10px; }
.ohpn-checklist li { position: relative; padding-left: 32px; margin: 0; }
.ohpn-checklist li::before {
	content: ""; position: absolute; left: 0; top: .28em; width: 20px; height: 20px; border-radius: 0;
	background: var(--ohpn-gold-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239a7108' d='M9.5 16.2 5.3 12l-1.4 1.4 5.6 5.6L20.1 8.4 18.7 7z'/%3E%3C/svg%3E") center/14px no-repeat;
}
.ohpn-checklist--warn li::before { background: #fdecec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c62828' d='M11 6h2v8h-2zm0 10h2v2h-2z'/%3E%3C/svg%3E") center/14px no-repeat; }
.ohpn-checklist--big li { font-size: 1.08rem; padding-left: 36px; }
.ohpn-bg-brand .ohpn-checklist li, .ohpn-card--dark .ohpn-checklist li { color: rgba(255,255,255,.9); }

.ohpn-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0 !important; }
.ohpn-chip { display: inline-block; padding: 4px 10px; border-radius: 0; background: #eef2ff; color: var(--ohpn-navy-3); font: 600 .78rem/1.3 var(--ohpn-font-body); }
.ohpn-badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 8px !important; font-size: .95rem !important; color: var(--ohpn-muted); }

/* grids & splits */
.e-con.ohpn-grid { display: grid !important; gap: 24px !important; align-items: stretch; }
.e-con.ohpn-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e-con.ohpn-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e-con.ohpn-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.e-con.ohpn-grid > .e-con { width: auto !important; max-width: none !important; }
.e-con.ohpn-split { flex-direction: row !important; flex-wrap: nowrap !important; align-items: flex-start; gap: clamp(28px, 4vw, 56px) !important; }
.e-con.ohpn-split > .ohpn-split-col { flex: 1 1 0 !important; min-width: 0; width: auto !important; }
.e-con.ohpn-stack { --gap: 16px; gap: 16px !important; }
@media (max-width: 1024px) {
	.e-con.ohpn-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-con.ohpn-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.e-con.ohpn-grid-2, .e-con.ohpn-grid-3, .e-con.ohpn-grid-4 { grid-template-columns: minmax(0, 1fr); }
	.e-con.ohpn-split { flex-direction: column !important; }
	.e-con.ohpn-split > .ohpn-split-col { width: 100% !important; }
}

/* cards */
.e-con.ohpn-card {
	background: #fff; border: 1px solid var(--ohpn-line); border-radius: 0;
	padding: 28px !important; box-shadow: var(--ohpn-shadow); --gap: 10px; gap: 10px !important;
	justify-content: flex-start; transition: transform .35s var(--ohpn-ease), box-shadow .35s var(--ohpn-ease), border-color .35s;
}
.e-con.ohpn-card:hover { transform: translateY(-4px); box-shadow: var(--ohpn-shadow-lg); border-color: #cfd8ea; }
.e-con.ohpn-card--soft:hover, .e-con.ohpn-card--form:hover { transform: none; }
.e-con.ohpn-card--soft { background: linear-gradient(180deg, #fff, #fbfcff); }
.e-con.ohpn-card--form { padding: clamp(22px, 3vw, 36px) !important; box-shadow: var(--ohpn-shadow-lg); border-top: 4px solid var(--ohpn-gold); }
.ohpn-card .elementor-widget.ohpn-card-title .elementor-heading-title { font: 700 1.15rem/1.35 var(--ohpn-font-head) !important; color: var(--ohpn-navy); margin: 0; }
.ohpn-card .ohpn-card-body p, .ohpn-card .ohpn-card-body li { font: 400 1rem/1.6 var(--ohpn-font-body); color: var(--ohpn-text); }
.ohpn-card .ohpn-card-body p { margin: 0 0 10px; }
.ohpn-card .ohpn-card-body p:last-child { margin-bottom: 0; }
.ohpn-card .ohpn-card-body .ohpn-checklist { margin-top: 8px !important; }
.ohpn-card .elementor-widget-button { margin-top: auto; }

.elementor-widget.ohpn-icon .elementor-icon-wrapper { text-align: left; }
.elementor-widget.ohpn-icon .elementor-icon {
	width: 52px; height: 52px; font-size: 22px !important; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--ohpn-navy), var(--ohpn-navy-3)) !important; color: var(--ohpn-gold) !important; fill: var(--ohpn-gold) !important; border-radius: 0 !important;
}
.elementor-widget.ohpn-icon .elementor-icon svg { width: 22px; height: 22px; }

.e-con.ohpn-card--dark { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.16); box-shadow: none; backdrop-filter: blur(4px); }
.e-con.ohpn-card--dark:hover { background: rgba(255,255,255,.1); border-color: rgba(221,173,42,.6); }
.ohpn-card--dark .elementor-widget.ohpn-card-title .elementor-heading-title { color: #fff !important; }
.ohpn-card--dark .ohpn-card-body p { color: rgba(255,255,255,.82) !important; }
.ohpn-card--dark .elementor-widget.ohpn-icon .elementor-icon { background: var(--ohpn-gold) !important; color: var(--ohpn-navy) !important; fill: var(--ohpn-navy) !important; }
.ohpn-tools-line { font-size: .95rem !important; }

.e-con.ohpn-card--rating { border-top: 5px solid var(--ohpn-navy); }
.e-con.ohpn-card--rating.is-inadequate { border-top-color: var(--ohpn-red); }
.e-con.ohpn-card--rating.is-ri { border-top-color: var(--ohpn-amber); }
.e-con.ohpn-card--rating.is-good { border-top-color: var(--ohpn-green); }
.e-con.ohpn-card--rating.is-outstanding { border-top-color: var(--ohpn-gold); background: linear-gradient(180deg, var(--ohpn-gold-soft), #fff 55%); }
.e-con.ohpn-card--who .elementor-heading-title { font-size: 1.05rem !important; }
.e-con.ohpn-card--spotlight { background: linear-gradient(135deg, var(--ohpn-navy), var(--ohpn-navy-3)); border: 0; }
.ohpn-card--spotlight .elementor-heading-title { color: #fff !important; }
.ohpn-card--spotlight .ohpn-card-body p { color: rgba(255,255,255,.85) !important; }
.ohpn-card--spotlight .elementor-widget.ohpn-icon .elementor-icon { background: var(--ohpn-gold) !important; color: var(--ohpn-navy) !important; fill: var(--ohpn-navy) !important; }
.ohpn-card--spotlight .ohpn-btn--link .elementor-button { color: var(--ohpn-gold) !important; }
.e-con.ohpn-card--pillar { flex-direction: row !important; flex-wrap: wrap !important; align-items: center; padding: 20px 22px !important; }
.e-con.ohpn-card--pillar > .elementor-widget.ohpn-icon { width: auto; }
.e-con.ohpn-card--pillar > .elementor-widget.ohpn-card-title { flex: 1 1 60%; }
.e-con.ohpn-card--pillar > .ohpn-card-body { flex: 1 1 100%; }
.e-con.ohpn-card--tool { border-left: 4px solid var(--ohpn-gold); }
.e-con.ohpn-card--journey .elementor-heading-title { font-size: 1.05rem !important; }
.elementor-widget.ohpn-step-num .elementor-heading-title { font: 800 2.2rem/1 var(--ohpn-font-head) !important; color: transparent !important; -webkit-text-stroke: 1.5px var(--ohpn-gold); margin: 0; }

/* buttons */
.elementor-widget.ohpn-btn .elementor-button {
	display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px !important; border-radius: 0 !important;
	font: 600 1rem/1.2 var(--ohpn-font-head) !important; letter-spacing: .01em; text-transform: none !important;
	border: 2px solid transparent !important; transition: transform .25s var(--ohpn-ease), box-shadow .25s, background-color .25s, color .25s !important;
}
.elementor-widget.ohpn-btn .elementor-button::after { content: "→"; font-weight: 700; transition: transform .25s var(--ohpn-ease); }
.elementor-widget.ohpn-btn .elementor-button:hover::after { transform: translateX(4px); }
.elementor-widget.ohpn-btn--primary .elementor-button { background: var(--ohpn-magenta) !important; color: #fff !important; box-shadow: 0 8px 22px rgba(181,54,143,.32); }
.elementor-widget.ohpn-btn--primary .elementor-button:hover { background: var(--ohpn-magenta-dark) !important; transform: translateY(-2px); }
.elementor-widget.ohpn-btn--ghost .elementor-button { background: rgba(255,255,255,.08) !important; color: #fff !important; border-color: rgba(255,255,255,.55) !important; }
.elementor-widget.ohpn-btn--ghost .elementor-button:hover { background: #fff !important; color: var(--ohpn-navy) !important; }
.elementor-widget.ohpn-btn--outline .elementor-button { background: transparent !important; color: var(--ohpn-navy) !important; border-color: var(--ohpn-navy) !important; }
.elementor-widget.ohpn-btn--outline .elementor-button:hover { background: var(--ohpn-navy) !important; color: #fff !important; }
.elementor-widget.ohpn-btn--link .elementor-button { background: none !important; color: var(--ohpn-magenta) !important; padding: 6px 0 !important; box-shadow: none !important; border: 0 !important; }
.e-con.ohpn-btn-row { gap: 12px !important; align-items: center; }
.e-con.ohpn-btn-row.is-center { justify-content: center; }
.e-con.ohpn-btn-row > .elementor-widget { width: auto !important; }
@media (max-width: 480px) {
	.e-con.ohpn-btn-row > .elementor-widget, .e-con.ohpn-btn-row .elementor-button { width: 100% !important; justify-content: center; }
}

/* hero */
.e-con.ohpn-hero {
	position: relative; isolation: isolate; overflow: hidden;
	background-color: var(--ohpn-navy);
	padding: clamp(56px, 8vw, 110px) 20px clamp(56px, 7vw, 96px) !important;
	min-height: 420px; justify-content: center;
}
.e-con.ohpn-hero--home { min-height: min(86vh, 720px); }
.e-con.ohpn-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(90deg, rgba(5,18,66,.97) 0%, rgba(5,18,66,.92) 38%, rgba(5,18,66,.55) 68%, rgba(5,18,66,.25) 100%);
}
.e-con.ohpn-hero:not(.ohpn-hero--img)::before { background: radial-gradient(900px 400px at 90% 0%, rgba(221,173,42,.18), transparent 60%), linear-gradient(135deg, var(--ohpn-navy), #22105a); }
.e-con.ohpn-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--ohpn-gold), var(--ohpn-magenta)); }
.e-con.ohpn-hero-content { max-width: 680px; --gap: 16px; gap: 16px !important; }
.ohpn-hero .elementor-widget.ohpn-hero-title .elementor-heading-title { font: 700 clamp(2rem, 1.2rem + 3.2vw, 3.4rem)/1.12 var(--ohpn-font-head) !important; color: #fff !important; letter-spacing: -.015em; margin: 0; text-wrap: balance; }
.ohpn-hero .ohpn-hero-lead p { font: 400 clamp(1.05rem, 1rem + .3vw, 1.2rem)/1.65 var(--ohpn-font-body); color: rgba(255,255,255,.88); margin: 0; max-width: 620px; }
.ohpn-breadcrumb { font: 500 .88rem/1.4 var(--ohpn-font-body); color: rgba(255,255,255,.7); }
.ohpn-breadcrumb a { color: rgba(255,255,255,.85) !important; text-decoration: none; }
.ohpn-breadcrumb a:hover { color: var(--ohpn-gold) !important; }
.ohpn-breadcrumb span { margin: 0 4px; }
.ohpn-trust { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 10px 0 0; padding: 0; }
.ohpn-trust li { color: rgba(255,255,255,.8); font-size: .95rem; }
.ohpn-trust strong { color: var(--ohpn-gold); font: 700 1.2rem/1 var(--ohpn-font-head); margin-right: 4px; }
.ohpn-trustpilot { margin: 12px 0 0 !important; }
.ohpn-trustpilot a { color: #fff !important; font-weight: 600; text-decoration: none; border-bottom: 1px dashed rgba(255,255,255,.5); }
.ohpn-trustpilot a:hover { color: var(--ohpn-gold) !important; }
@media (max-width: 767px) {
	.e-con.ohpn-hero::before { background: linear-gradient(180deg, rgba(5,18,66,.86), rgba(5,18,66,.96)); }
	.e-con.ohpn-hero { min-height: 0; }
	.e-con.ohpn-hero--home { min-height: 0; }
}

/* CTA band */
.e-con.ohpn-cta-band {
	position: relative; overflow: hidden; isolation: isolate; text-align: center; align-items: center;
	background: linear-gradient(120deg, var(--ohpn-navy) 0%, #24135f 55%, #6b2588 100%);
	border-radius: 0; padding: clamp(36px, 6vw, 64px) clamp(20px, 5vw, 64px) !important; gap: 14px !important;
}
.e-con.ohpn-cta-band::before { content: ""; position: absolute; width: 420px; height: 420px; right: -140px; top: -180px; border-radius: 0; background: radial-gradient(circle, rgba(221,173,42,.35), transparent 70%); z-index: -1; }
.ohpn-cta-band .elementor-heading-title { color: #fff !important; font: 700 clamp(1.5rem, 1.1rem + 1.6vw, 2.2rem)/1.25 var(--ohpn-font-head) !important; text-align: center; margin: 0; text-wrap: balance; }
.ohpn-cta-band .ohpn-cta-lead p { color: rgba(255,255,255,.85); font-size: 1.1rem; margin: 0 auto; max-width: 640px; }
.ohpn-cta-meta { color: rgba(255,255,255,.75); font-size: .95rem; margin: 6px 0 0 !important; }
.ohpn-cta-meta a, .ohpn-cta-meta .ohpn-info { color: #fff !important; }

/* callout & FAQ */
.ohpn-callout { margin: 0 auto; max-width: 860px; padding: 28px 32px; border-left: 5px solid var(--ohpn-gold); background: var(--ohpn-gold-soft); border-radius: 0; font: 600 clamp(1.15rem, 1rem + .6vw, 1.45rem)/1.5 var(--ohpn-font-head); color: var(--ohpn-navy); }
.ohpn-callout p { margin: 0; }
.ohpn-callout cite { display: block; margin-top: 10px; font: 600 .95rem var(--ohpn-font-body); color: var(--ohpn-muted); font-style: normal; }
.ohpn-faq { max-width: 860px; margin: 0 auto; display: grid; gap: 12px; }
.ohpn-faq details { background: #fff; border: 1px solid var(--ohpn-line); border-radius: 0; box-shadow: var(--ohpn-shadow); overflow: hidden; }
.ohpn-faq summary { cursor: pointer; list-style: none; padding: 20px 56px 20px 24px; position: relative; font: 600 1.05rem/1.4 var(--ohpn-font-head); color: var(--ohpn-navy); }
.ohpn-faq summary::-webkit-details-marker { display: none; }
.ohpn-faq summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 0; background: var(--ohpn-bg); color: var(--ohpn-navy); display: grid; place-items: center; font: 600 1.2rem/1 var(--ohpn-font-head); transition: transform .3s, background .3s; }
.ohpn-faq details[open] summary::after { content: "–"; background: var(--ohpn-gold); }
.ohpn-faq details[open] { border-color: #d7dff0; }
.ohpn-faq-a { padding: 0 24px 20px; color: var(--ohpn-text); font-size: 1.02rem; line-height: 1.7; }
.ohpn-faq-a p { margin: 0; }

/* --------------------------------------------------------------------------
   Shortcode components
   -------------------------------------------------------------------------- */
.ohpn-sc { width: 100%; }
.ohpn-sc-head { text-align: center; max-width: 760px; margin: 0 auto 36px; }
.ohpn-sc-eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 700 .8rem/1.2 var(--ohpn-font-head); letter-spacing: .14em; text-transform: uppercase; color: var(--ohpn-gold-dark); margin: 0 0 10px; }
.ohpn-sc-eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.ohpn-sc-title { font: 700 clamp(1.7rem, 1.1rem + 2vw, 2.5rem)/1.2 var(--ohpn-font-head); color: var(--ohpn-navy); margin: 0 0 10px; }
.ohpn-sc-sub { font: 400 1.1rem/1.65 var(--ohpn-font-body); color: var(--ohpn-text); margin: 0; }
.ohpn-sc-foot { text-align: center; margin-top: 36px; }
.ohpn-empty { text-align: center; color: var(--ohpn-muted); background: #fff; border: 1px dashed #cbd5e1; border-radius: 0; padding: 32px; }

.ohpn-button {
	box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 26px; border-radius: 0;
	background: var(--ohpn-magenta); color: #fff !important; font: 600 1rem/1.2 var(--ohpn-font-head); text-decoration: none !important;
	border: 2px solid transparent; cursor: pointer; transition: transform .25s var(--ohpn-ease), background .25s, box-shadow .25s; box-shadow: 0 8px 22px rgba(181,54,143,.28);
}
.ohpn-button::after { content: "→"; }
.ohpn-button:hover { background: var(--ohpn-magenta-dark); transform: translateY(-2px); }
.ohpn-button--outline { background: transparent; color: var(--ohpn-navy) !important; border-color: var(--ohpn-navy); box-shadow: none; }
.ohpn-button--outline:hover { background: var(--ohpn-navy); color: #fff !important; }
.ohpn-button--ghost { background: transparent; border-color: rgba(255,255,255,.6); box-shadow: none; }
.ohpn-button--ghost:hover { background: #fff; color: var(--ohpn-navy) !important; }
.ohpn-button--block { width: 100%; }

.ohpn-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: -12px 0 28px; }
.ohpn-filter button { appearance: none; border: 1px solid var(--ohpn-line); background: #fff; color: var(--ohpn-navy); padding: 9px 18px; border-radius: 0; font: 600 .92rem/1.2 var(--ohpn-font-head); cursor: pointer; transition: all .2s; }
.ohpn-filter button:hover { border-color: var(--ohpn-navy); }
.ohpn-filter button.is-active { background: var(--ohpn-navy); color: #fff; border-color: var(--ohpn-navy); }

.ohpn-cards { display: grid; gap: 26px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ohpn-cards.ohpn-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ohpn-cards.ohpn-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) { .ohpn-cards, .ohpn-cards.ohpn-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ohpn-cards, .ohpn-cards.ohpn-cols-2, .ohpn-cards.ohpn-cols-4 { grid-template-columns: minmax(0, 1fr); } }
.ohpn-pcard { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ohpn-line); border-radius: 0; overflow: hidden; box-shadow: var(--ohpn-shadow); transition: transform .35s var(--ohpn-ease), box-shadow .35s var(--ohpn-ease), opacity .3s; }
.ohpn-pcard:hover { transform: translateY(-5px); box-shadow: var(--ohpn-shadow-lg); }
.ohpn-pcard.is-hidden { display: none; }
.ohpn-pcard-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, var(--ohpn-navy), var(--ohpn-navy-3)); }
.ohpn-pcard-media img, .ohpn-cover-img { width: 100%; height: 100% !important; object-fit: cover; object-position: top center; display: block; transition: transform .8s var(--ohpn-ease); }
.ohpn-pcard:hover .ohpn-pcard-media img { transform: scale(1.05); }
.ohpn-pcard-view { position: absolute; inset: auto 14px 14px auto; padding: 8px 14px; border-radius: 0; background: rgba(5,18,66,.85); color: #fff; font: 600 .82rem/1 var(--ohpn-font-head); opacity: 0; transform: translateY(6px); transition: all .3s; }
.ohpn-pcard:hover .ohpn-pcard-view { opacity: 1; transform: none; }
.ohpn-cover-ph { position: absolute; inset: 0; display: grid; place-items: center; }
.ohpn-cover-ph svg { width: 56px; height: 56px; fill: rgba(255,255,255,.35); }
.ohpn-pcard-body { padding: 22px 22px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ohpn-pcard-cat { margin: 0; font: 700 .74rem/1.3 var(--ohpn-font-head); letter-spacing: .1em; text-transform: uppercase; color: var(--ohpn-gold-dark); }
.ohpn-pcard-title { margin: 0; font: 700 1.2rem/1.35 var(--ohpn-font-head); }
.ohpn-pcard-title a { color: var(--ohpn-navy) !important; text-decoration: none !important; }
.ohpn-pcard-title a:hover { color: var(--ohpn-magenta) !important; }
.ohpn-pcard-client { margin: 0; color: var(--ohpn-muted); font-size: .95rem; }
.ohpn-pcard-text { margin: 0; color: var(--ohpn-text); font-size: 1rem; line-height: 1.6; }
.ohpn-pcard-actions { margin-top: auto; padding-top: 10px; display: flex; gap: 18px; flex-wrap: wrap; }
.ohpn-link { font: 600 .95rem/1.2 var(--ohpn-font-head); color: var(--ohpn-magenta) !important; text-decoration: none !important; }
.ohpn-link::after { content: " →"; }
.ohpn-link--ext::after { content: " ↗"; }
.ohpn-link:hover { text-decoration: underline !important; }
.ohpn-journey { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 0; }
.ohpn-journey-arrow { color: var(--ohpn-muted); font-weight: 700; }

/* testimonials */
.ohpn-tslider { position: relative; }
.ohpn-ttrack { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 6px 4px 22px; scrollbar-width: none; }
.ohpn-ttrack::-webkit-scrollbar { display: none; }
.ohpn-tslider.is-grid .ohpn-ttrack { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
@media (max-width: 1024px) { .ohpn-ttrack { grid-auto-columns: calc((100% - 24px) / 2); } .ohpn-tslider.is-grid .ohpn-ttrack { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .ohpn-ttrack { grid-auto-columns: 88%; } .ohpn-tslider.is-grid .ohpn-ttrack { grid-template-columns: minmax(0,1fr); } }
.ohpn-tcard { scroll-snap-align: start; margin: 0; background: #fff; border: 1px solid var(--ohpn-line); border-radius: 0; padding: 26px; box-shadow: var(--ohpn-shadow); display: flex; flex-direction: column; gap: 14px; position: relative; }
.ohpn-tcard::before { content: "“"; position: absolute; right: 20px; top: 2px; font: 700 5rem/1 Georgia, serif; color: var(--ohpn-gold-soft); }
.ohpn-stars { color: #00b67a; letter-spacing: 2px; font-size: 1.1rem; }
.ohpn-tquote { margin: 0; padding: 0; border: 0; color: var(--ohpn-text); font: 400 1.02rem/1.65 var(--ohpn-font-body); }
.ohpn-tquote p { margin: 0; }
.ohpn-tquote.is-clamped p { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.ohpn-tquote.is-open p { display: block; }
.ohpn-tmore { align-self: flex-start; background: none; border: 0; padding: 0; color: var(--ohpn-magenta); font: 600 .9rem var(--ohpn-font-head); cursor: pointer; }
.ohpn-tcard figcaption { margin-top: auto; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 14px; border-top: 1px solid var(--ohpn-line); }
.ohpn-tcard figcaption > span:nth-child(2) { flex: 1 1 0; min-width: 0; }
.ohpn-tavatar { width: 44px; height: 44px; border-radius: 0; background: linear-gradient(135deg, var(--ohpn-navy), var(--ohpn-navy-3)); color: var(--ohpn-gold); display: grid; place-items: center; font: 700 1.1rem var(--ohpn-font-head); overflow: hidden; flex: none; }
.ohpn-tavatar img { width: 100%; height: 100%; object-fit: cover; }
.ohpn-tcard figcaption strong { display: block; color: var(--ohpn-navy); font: 700 1rem/1.3 var(--ohpn-font-head); }
.ohpn-tcard figcaption small { display: block; color: var(--ohpn-muted); font-size: .85rem; text-transform: capitalize; }
.ohpn-tsource { flex-basis: 100%; padding-left: 56px; font-size: .8rem; color: #00875a !important; font-weight: 600; text-decoration: none; }
.ohpn-slider-nav { display: flex; justify-content: center; gap: 10px; }
.ohpn-slider-nav button { width: 46px; height: 46px; border-radius: 0; border: 1px solid var(--ohpn-line); background: #fff; color: var(--ohpn-navy); font-size: 1.5rem; line-height: 1; cursor: pointer; box-shadow: var(--ohpn-shadow); transition: all .2s; }
.ohpn-slider-nav button:hover { background: var(--ohpn-navy); color: #fff; }

/* contact details + info */
.ohpn-info { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
a.ohpn-info:hover { color: var(--ohpn-gold) !important; }
.ohpn-ico { width: 1.05em; height: 1.05em; fill: currentColor; flex: none; }
.ohpn-cdetails { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ohpn-cdetails li { display: flex; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--ohpn-line); border-radius: 0; padding: 14px 16px; }
.ohpn-cdetails-ico { width: 40px; height: 40px; border-radius: 0; background: var(--ohpn-navy); color: var(--ohpn-gold); display: grid; place-items: center; flex: none; }
.ohpn-cdetails-ico .ohpn-ico { width: 20px; height: 20px; }
.ohpn-cdetails small { display: block; font: 600 .75rem/1.2 var(--ohpn-font-head); text-transform: uppercase; letter-spacing: .08em; color: var(--ohpn-muted); }
.ohpn-cdetails a, .ohpn-cdetails strong { color: var(--ohpn-navy) !important; font: 600 1rem/1.35 var(--ohpn-font-body); text-decoration: none; word-break: break-word; }
.ohpn-cdetails a:hover { color: var(--ohpn-magenta) !important; }
@media (max-width: 480px) { .ohpn-cdetails { grid-template-columns: minmax(0, 1fr); } }
.ohpn-cdetails.is-compact { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1100px) { .ohpn-cdetails.is-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ohpn-cdetails.is-compact a { font-size: .92rem; } }

/* form */
.ohpn-form { display: grid; gap: 14px; }
.ohpn-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .ohpn-form-row { grid-template-columns: 1fr; } }
.ohpn-form-field { margin: 0; display: grid; gap: 6px; }
.ohpn-form label { font: 600 .9rem/1.3 var(--ohpn-font-head); color: var(--ohpn-navy); }
.ohpn-form label span { color: var(--ohpn-magenta); }
.ohpn-form input[type=text], .ohpn-form input[type=email], .ohpn-form input[type=tel], .ohpn-form select, .ohpn-form textarea {
	width: 100%; box-sizing: border-box; padding: 13px 15px; border: 1.5px solid #d5dce8; border-radius: 0; background: #fbfcfe;
	font: 400 1rem/1.4 var(--ohpn-font-body); color: var(--ohpn-ink); transition: border-color .2s, box-shadow .2s, background .2s;
}
.ohpn-form input:focus, .ohpn-form select:focus, .ohpn-form textarea:focus { outline: none; border-color: var(--ohpn-navy-3); background: #fff; box-shadow: 0 0 0 4px rgba(19,40,122,.12); }
.ohpn-form .is-invalid { border-color: var(--ohpn-red) !important; }
.ohpn-form-consent { margin: 0; font-size: .88rem; color: var(--ohpn-muted); }
.ohpn-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ohpn-alert { padding: 14px 18px; border-radius: 0; margin: 0 0 16px; font-weight: 600; }
.ohpn-alert.is-success { background: #e8f6ee; color: #14532d; border: 1px solid #b7e2c8; }
.ohpn-alert.is-error { background: #fdecec; color: #7f1d1d; border: 1px solid #f5c2c2; }

/* social */
.ohpn-social { display: inline-flex; gap: 10px; }
.ohpn-social-link { width: 38px; height: 38px; border-radius: 0; display: grid; place-items: center; background: rgba(255,255,255,.1); transition: background .2s; }
.ohpn-social-link svg { width: 18px; height: 18px; fill: #fff; }
.ohpn-social-link:hover { background: var(--ohpn-gold); }
.ohpn-social-link:hover svg { fill: var(--ohpn-navy); }

/* --------------------------------------------------------------------------
   Header / footer theme parts
   -------------------------------------------------------------------------- */
.e-con.ohpn-topbar { background: var(--ohpn-navy); padding: 8px 20px !important; justify-content: space-between; align-items: center; --content-width: var(--ohpn-max); }
.e-con.ohpn-topbar > .e-con-inner { flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 20px; }
.ohpn-topbar-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; }
.ohpn-topbar-list li, .ohpn-topbar-list a, .ohpn-topbar-list span { color: rgba(255,255,255,.88) !important; font: 500 .88rem/1.3 var(--ohpn-font-body); text-decoration: none; }
.ohpn-topbar-list .ohpn-ico { fill: var(--ohpn-gold); }
.ohpn-topbar-links { margin: 0; display: flex; gap: 18px; flex-wrap: wrap; }
.ohpn-topbar-links a { color: var(--ohpn-gold) !important; font: 600 .85rem/1.3 var(--ohpn-font-head); text-decoration: none; }
.ohpn-topbar-links a:hover { color: #fff !important; }
@media (max-width: 1024px) { .ohpn-topbar-cta, .ohpn-topbar-list .is-hours { display: none; } }
@media (max-width: 767px) { .e-con.ohpn-topbar { display: none !important; } }
.e-con.ohpn-mainbar { background: #fff; padding: 12px 20px !important; box-shadow: 0 1px 0 var(--ohpn-line), 0 6px 20px rgba(5,18,66,.06); --content-width: 1360px; transition: padding .3s; z-index: 99; }
.e-con.ohpn-mainbar > .e-con-inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: nowrap; }
.e-con.ohpn-mainbar > .e-con-inner > .elementor-widget { width: auto; }
.ohpn-mainbar .ohpn-logo img { max-height: 58px; width: auto; transition: max-height .3s; }
.ohpn-scrolled .e-con.ohpn-mainbar { padding-top: 6px !important; padding-bottom: 6px !important; }
.ohpn-scrolled .ohpn-mainbar .ohpn-logo img { max-height: 46px; }
.ohpn-mainbar .ohpn-nav { flex: 1; }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 1365px) { .ohpn-mainbar .ohpn-nav .elementor-nav-menu--main .elementor-item { font-size: .88rem !important; padding: 12px 8px !important; } }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--main .elementor-item { font: 600 .95rem/1.2 var(--ohpn-font-head) !important; color: var(--ohpn-navy) !important; padding: 14px 12px !important; }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--main .elementor-item:hover, .ohpn-mainbar .ohpn-nav .elementor-item-active { color: var(--ohpn-magenta) !important; }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--dropdown { border-radius: 0; box-shadow: var(--ohpn-shadow-lg); border: 1px solid var(--ohpn-line); overflow: hidden; }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--dropdown a { font: 500 .95rem/1.3 var(--ohpn-font-body) !important; padding: 11px 18px !important; }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--dropdown a:hover { background: var(--ohpn-bg) !important; color: var(--ohpn-magenta) !important; }
.ohpn-mainbar .ohpn-nav .elementor-menu-toggle { background: var(--ohpn-navy) !important; color: #fff !important; border-radius: 0; }
@media (max-width: 1439px) { .ohpn-mainbar .ohpn-header-cta { display: none; } }
@media (max-width: 1024px) { .ohpn-mainbar .ohpn-nav { flex: 0 0 auto; } }

.e-con.ohpn-footer-main { background: var(--ohpn-navy); padding: 72px 20px 40px !important; --content-width: var(--ohpn-max); color: rgba(255,255,255,.8); }
.e-con.ohpn-footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1.3fr !important; gap: 40px !important; }
@media (max-width: 1024px) { .e-con.ohpn-footer-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 640px) { .e-con.ohpn-footer-grid { grid-template-columns: 1fr !important; } }
.ohpn-footer-logo img { max-width: 200px; height: auto; background: #fff; padding: 10px 14px; border-radius: 0; }
.ohpn-footer-about p { color: rgba(255,255,255,.75); font-size: .98rem; line-height: 1.65; }
.ohpn-footer-title .elementor-heading-title { color: #fff !important; font: 700 1.05rem/1.3 var(--ohpn-font-head) !important; margin: 0 0 6px; position: relative; padding-bottom: 10px; }
.ohpn-footer-title .elementor-heading-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 34px; height: 3px; background: var(--ohpn-gold); border-radius: 0; }
.ohpn-footer-links, .ohpn-footer-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ohpn-footer-links a, .ohpn-footer-contact a, .ohpn-footer-contact span { color: rgba(255,255,255,.78) !important; text-decoration: none; font-size: .97rem; }
.ohpn-footer-links a:hover, .ohpn-footer-contact a:hover { color: var(--ohpn-gold) !important; }
.ohpn-footer-contact .ohpn-ico { fill: var(--ohpn-gold); }
.e-con.ohpn-footer-bottom { background: #030b2b; padding: 18px 20px !important; --content-width: var(--ohpn-max); }
.e-con.ohpn-footer-bottom > .e-con-inner { flex-direction: row; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; }
.e-con.ohpn-footer-bottom p { margin: 0; color: rgba(255,255,255,.6); font-size: .9rem; }
.ohpn-footer-legal { display: flex; gap: 18px; flex-wrap: wrap; }
.ohpn-footer-legal a { color: rgba(255,255,255,.7) !important; text-decoration: none; }
.ohpn-footer-legal a:hover { color: var(--ohpn-gold) !important; }

/* --------------------------------------------------------------------------
   Mobile action bar + back to top
   -------------------------------------------------------------------------- */
.ohpn-mobilebar { display: none; }
@media (max-width: 767px) {
	body.ohpn-fx-mobilebar { padding-bottom: 68px; }
	.ohpn-fx-mobilebar .ohpn-mobilebar {
		display: grid; grid-template-columns: 1fr 1fr 1.6fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
		background: #fff; box-shadow: 0 -6px 24px rgba(5,18,66,.14); padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); gap: 8px;
		transform: translateY(110%); transition: transform .35s var(--ohpn-ease);
	}
	.ohpn-fx-mobilebar.ohpn-show-bar .ohpn-mobilebar { transform: none; }
	.ohpn-mobilebar a { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; border-radius: 0; background: var(--ohpn-bg); color: var(--ohpn-navy) !important; font: 600 .9rem/1.1 var(--ohpn-font-head); text-decoration: none !important; }
	.ohpn-mobilebar a .ohpn-ico { width: 18px; height: 18px; }
	.ohpn-mobilebar a.is-primary { background: var(--ohpn-magenta); color: #fff !important; }
	.ohpn-fx-mobilebar .qlwapp, .ohpn-fx-mobilebar #qlwapp { bottom: 72px !important; }
	.ohpn-fx-mobilebar .ohpn-totop { bottom: 84px; }
}
.ohpn-totop {
	position: fixed; right: 20px; bottom: 96px; z-index: 9980; width: 46px; height: 46px; border-radius: 0; border: 0;
	background: var(--ohpn-navy); color: #fff; box-shadow: var(--ohpn-shadow-lg); cursor: pointer; display: grid; place-items: center;
	opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .3s var(--ohpn-ease);
}
.ohpn-totop svg { width: 22px; height: 22px; fill: currentColor; }
.ohpn-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.ohpn-totop:hover { background: var(--ohpn-magenta); }

/* --------------------------------------------------------------------------
   Single portfolio / case study
   -------------------------------------------------------------------------- */
.ohpn-wrap { max-width: var(--ohpn-max); margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.ohpn-single { background: #fff; font-family: var(--ohpn-font-body); color: var(--ohpn-text); }
.ohpn-single-hero { position: relative; background: radial-gradient(900px 400px at 90% 0%, rgba(221,173,42,.18), transparent 60%), linear-gradient(135deg, var(--ohpn-navy), #22105a); color: #fff; padding: clamp(48px, 7vw, 90px) 0 clamp(48px, 6vw, 80px); }
.ohpn-single-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--ohpn-gold), var(--ohpn-magenta)); }
.ohpn-single-hero h1 { font: 700 clamp(2rem, 1.3rem + 2.6vw, 3.1rem)/1.15 var(--ohpn-font-head); color: #fff; margin: 12px 0; max-width: 860px; }
.ohpn-eyebrow-txt { margin: 18px 0 0; font: 700 .8rem/1.2 var(--ohpn-font-head); letter-spacing: .14em; text-transform: uppercase; color: var(--ohpn-gold); }
.ohpn-single-lead { font-size: 1.15rem; line-height: 1.65; color: rgba(255,255,255,.88); max-width: 720px; margin: 0 0 22px; }
.ohpn-single-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 0; }
.ohpn-single-hero .ohpn-journey { margin-top: 18px; }
.ohpn-facts { list-style: none; margin: 22px 0 0; padding: 0; display: flex; gap: 14px; flex-wrap: wrap; }
.ohpn-facts li { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 0; padding: 10px 16px; }
.ohpn-facts small { display: block; color: rgba(255,255,255,.65); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.ohpn-facts strong { color: #fff; font-family: var(--ohpn-font-head); }
.ohpn-single-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; padding-top: 48px; padding-bottom: 64px; align-items: start; }
@media (max-width: 960px) { .ohpn-single-grid { grid-template-columns: minmax(0, 1fr); } }
.ohpn-single-cover { margin: 0 0 24px; border-radius: 0; overflow: hidden; box-shadow: var(--ohpn-shadow-lg); border: 1px solid var(--ohpn-line); background: var(--ohpn-bg); position: relative; min-height: 120px; }
.ohpn-single-cover img { width: 100%; height: auto !important; display: block; }
.ohpn-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 28px; }
@media (max-width: 640px) { .ohpn-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ohpn-gallery-item { display: block; border-radius: 0; overflow: hidden; aspect-ratio: 4 / 3; border: 1px solid var(--ohpn-line); }
.ohpn-gallery-item img { width: 100%; height: 100% !important; object-fit: cover; object-position: top; transition: transform .5s var(--ohpn-ease); }
.ohpn-gallery-item:hover img { transform: scale(1.05); }
.ohpn-single-content { font-size: 1.06rem; line-height: 1.75; }
.ohpn-single-content h2, .ohpn-single-content h3 { font-family: var(--ohpn-font-head); color: var(--ohpn-navy); }
.ohpn-single-side { position: sticky; top: 110px; display: grid; gap: 20px; }
.ohpn-side-card { background: #fff; border: 1px solid var(--ohpn-line); border-radius: 0; padding: 24px; box-shadow: var(--ohpn-shadow); }
.ohpn-side-card h2 { font: 700 1.15rem/1.3 var(--ohpn-font-head); color: var(--ohpn-navy); margin: 0 0 14px; }
.ohpn-side-card h3 { font: 700 1rem/1.3 var(--ohpn-font-head); color: var(--ohpn-navy); margin: 18px 0 10px; }
.ohpn-side-card dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px 14px; }
.ohpn-side-card dt { font: 600 .82rem/1.5 var(--ohpn-font-head); color: var(--ohpn-muted); text-transform: uppercase; letter-spacing: .05em; }
.ohpn-side-card dd { margin: 0; color: var(--ohpn-ink); font-weight: 600; word-break: break-word; }
.ohpn-side-card dd a { color: var(--ohpn-magenta); }
.ohpn-side-card--cta { background: linear-gradient(135deg, var(--ohpn-navy), var(--ohpn-navy-3)); border: 0; }
.ohpn-side-card--cta h2 { color: #fff; }
.ohpn-side-card--cta p { color: rgba(255,255,255,.85); }
.ohpn-single-related { background: var(--ohpn-bg); padding: 72px 0; }
.ohpn-case-body { padding-top: 48px; padding-bottom: 56px; }
.ohpn-case-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 8px 0 32px; }
@media (max-width: 900px) { .ohpn-case-cols { grid-template-columns: minmax(0, 1fr); } }
.ohpn-case-block { background: #fff; border: 1px solid var(--ohpn-line); border-radius: 0; padding: 24px; box-shadow: var(--ohpn-shadow); border-top: 4px solid var(--ohpn-navy); }
.ohpn-case-block.is-tools { border-top-color: var(--ohpn-gold); }
.ohpn-case-block.is-results { border-top-color: var(--ohpn-green); }
.ohpn-case-block h2 { font: 700 1.2rem/1.3 var(--ohpn-font-head); color: var(--ohpn-navy); margin: 0 0 12px; }
.ohpn-single-cta { background: linear-gradient(120deg, var(--ohpn-navy), #24135f 55%, #6b2588); color: #fff; text-align: center; padding: 72px 0; }
.ohpn-single-cta h2 { color: #fff; font: 700 clamp(1.5rem, 1.1rem + 1.6vw, 2.2rem)/1.25 var(--ohpn-font-head); margin: 0 0 10px; }
.ohpn-single-cta p { color: rgba(255,255,255,.85); margin: 0 auto 22px; max-width: 620px; }

/* lightbox */
.ohpn-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(3,8,30,.92); display: grid; place-items: center; padding: 30px; }
.ohpn-lightbox img { max-width: 100%; max-height: 88vh; border-radius: 0; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.ohpn-lightbox button { position: absolute; background: rgba(255,255,255,.12); color: #fff; border: 0; width: 48px; height: 48px; border-radius: 0; font-size: 1.6rem; cursor: pointer; }
.ohpn-lightbox .lb-close { top: 18px; right: 18px; }
.ohpn-lightbox .lb-prev { left: 18px; top: 50%; }
.ohpn-lightbox .lb-next { right: 18px; top: 50%; }

/* reveal for kit components */
.ohpn-js .ohpn-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ohpn-ease), transform .7s var(--ohpn-ease); }
.ohpn-js .ohpn-reveal.is-in { opacity: 1; transform: none; }

.ohpn-case-body .ohpn-single-cover img { max-height: 520px; object-fit: cover; object-position: top; }

/* generic content pages */
.ohpn-intro p { font-size: 1.2rem !important; line-height: 1.7 !important; color: var(--ohpn-ink) !important; max-width: 860px; padding-left: 20px; border-left: 4px solid var(--ohpn-gold); margin-bottom: 26px !important; }
.elementor-widget.ohpn-subhead { margin-top: 18px; }
.elementor-widget.ohpn-subhead .elementor-heading-title { font-size: 1.3rem !important; }
.ohpn-checklist--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ohpn-checklist--grid li, .ohpn-checklist--boxed li { background: #fff; border: 1px solid var(--ohpn-line); border-radius: 0; padding: 14px 16px 14px 46px; box-shadow: 0 1px 2px rgba(5,18,66,.04); }
.ohpn-checklist--grid li::before, .ohpn-checklist--boxed li::before { left: 14px; top: 15px; }
.ohpn-bg-light .ohpn-checklist--grid li, .ohpn-bg-light .ohpn-checklist--boxed li { background: #fff; }
@media (min-width: 1025px) { .ohpn-checklist--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ohpn-checklist--grid { grid-template-columns: minmax(0, 1fr); } }
.ohpn-prose--cols { column-count: 2; column-gap: 48px; }
@media (max-width: 900px) { .ohpn-prose--cols { column-count: 1; } }
@media (min-width: 641px) { .ohpn-checklist--grid:has(> li:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.e-con.ohpn-section-head:not(.is-center) { margin-bottom: 6px; }
.elementor-widget.ohpn-btn .elementor-button { box-sizing: border-box; max-width: 100%; white-space: normal; text-align: center; }
.ohpn-sc, .ohpn-sc *, .ohpn-single, .ohpn-single *, .ohpn-path, .ohpn-path *, .ohpn-cdetails, .ohpn-cdetails *, .ohpn-mobilebar, .ohpn-mobilebar * { box-sizing: border-box; }
.e-con.ohpn-card--dark .elementor-widget.ohpn-btn--link .elementor-button,
.e-con.ohpn-card--spotlight .elementor-widget.ohpn-btn--link .elementor-button { color: var(--ohpn-gold) !important; }


/* ==========================================================================
   v1.1 — clean, square, professional layer
   ========================================================================== */
:root { --ohpn-shadow: none; --ohpn-shadow-lg: 0 12px 32px rgba(5,18,66,.08); --ohpn-line: #e3e7ef; }
.ohpn-kit .e-con.ohpn-section, .ohpn-kit .e-con.ohpn-hero { --content-width: 1200px; }

/* typography */
.elementor-widget.ohpn-h2 .elementor-heading-title { font-weight: 600 !important; letter-spacing: -.02em; }
.elementor-widget.ohpn-eyebrow .elementor-heading-title, .ohpn-sc-eyebrow { font-family: var(--ohpn-font-body) !important; font-weight: 700 !important; letter-spacing: .16em !important; font-size: .78rem !important; }
.elementor-widget.ohpn-eyebrow .elementor-heading-title::before, .ohpn-sc-eyebrow::before { width: 24px; height: 2px; }
.ohpn-prose, .ohpn-prose p, .ohpn-prose li { color: #3c4a5e; }

/* sections */
.e-con.ohpn-bg-light { background-color: #f6f7fa; }
.e-con.ohpn-bg-navy { background: var(--ohpn-navy); color: #fff; }
.e-con.ohpn-bg-navy .elementor-heading-title { color: #fff !important; }
.e-con.ohpn-bg-navy .ohpn-lead p { color: rgba(255,255,255,.78) !important; }
.e-con.ohpn-bg-navy .elementor-widget.ohpn-eyebrow .elementor-heading-title { color: var(--ohpn-gold) !important; }

/* cards: flat, square, thin rule */
.e-con.ohpn-card { box-shadow: none !important; border: 1px solid var(--ohpn-line); padding: 32px !important; transition: border-color .25s, background-color .25s; }
.e-con.ohpn-card:hover { transform: none !important; box-shadow: none !important; border-color: var(--ohpn-navy); }
.e-con.ohpn-card::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 3px; background: var(--ohpn-gold); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ohpn-ease); }
.e-con.ohpn-card:hover::before { transform: scaleX(1); }
.e-con.ohpn-card--form::before, .e-con.ohpn-card--soft::before { display: none; }
.e-con.ohpn-card--form { border-top: 3px solid var(--ohpn-gold) !important; box-shadow: var(--ohpn-shadow-lg) !important; background: #fff; }
.e-con.ohpn-card--form:hover { border-color: var(--ohpn-line); border-top-color: var(--ohpn-gold) !important; }
.ohpn-card .elementor-widget.ohpn-card-title .elementor-heading-title { font-weight: 600 !important; font-size: 1.12rem !important; }
.e-con.ohpn-card--dark { background: transparent; border-color: rgba(255,255,255,.18); backdrop-filter: none; }
.e-con.ohpn-card--dark:hover { background: rgba(255,255,255,.04); border-color: var(--ohpn-gold); }
.e-con.ohpn-card--pillar { flex-direction: column !important; padding: 26px 28px !important; background: #fff; }
.e-con.ohpn-card--pillar > .elementor-widget.ohpn-card-title { flex: none; }
.elementor-widget.ohpn-step-num .elementor-heading-title { font: 600 .82rem/1 var(--ohpn-font-body) !important; letter-spacing: .14em; color: var(--ohpn-gold-dark) !important; -webkit-text-stroke: 0; }
.elementor-widget.ohpn-step-num .elementor-heading-title::before { content: "Step "; }
.ohpn-card--stage .elementor-widget.ohpn-step-num .elementor-heading-title::before { content: "Stage "; }
.ohpn-card--pillar .elementor-widget.ohpn-step-num .elementor-heading-title::before { content: ""; }
.ohpn-card--dark .elementor-widget.ohpn-step-num .elementor-heading-title { color: var(--ohpn-gold) !important; }
.ohpn-tools-line, .ohpn-tools { font-size: .92rem !important; color: var(--ohpn-muted) !important; margin: 6px 0 0 !important; }
.ohpn-card--dark .ohpn-tools-line { color: rgba(255,255,255,.7) !important; }
.ohpn-tools strong { color: var(--ohpn-navy); font-weight: 600; }
.e-con.ohpn-card--who .ohpn-badges { margin-bottom: 4px !important; }
.e-con.ohpn-more { margin-top: 36px; }

/* buttons: square; gold primary, navy outline */
.elementor-widget.ohpn-btn .elementor-button { padding: 15px 28px !important; font-weight: 600 !important; font-size: .95rem !important; letter-spacing: .01em; box-shadow: none !important; }
.elementor-widget.ohpn-btn--primary .elementor-button { background: var(--ohpn-gold) !important; color: var(--ohpn-navy) !important; box-shadow: none !important; }
.elementor-widget.ohpn-btn--primary .elementor-button:hover { background: #c99a1c !important; transform: none; }
.ohpn-section .elementor-widget.ohpn-btn--primary .elementor-button:hover, .ohpn-card--form .ohpn-button:hover { background: var(--ohpn-navy) !important; color: #fff !important; }
.elementor-widget.ohpn-btn--ghost .elementor-button { background: transparent !important; border: 1px solid rgba(255,255,255,.5) !important; }
.elementor-widget.ohpn-btn--outline .elementor-button { border-width: 1px !important; }
.elementor-widget.ohpn-btn--link .elementor-button { color: var(--ohpn-navy) !important; font-size: .9rem !important; border-bottom: 1px solid var(--ohpn-gold) !important; padding: 4px 0 !important; }
.elementor-widget.ohpn-btn--link .elementor-button:hover { color: var(--ohpn-gold-dark) !important; }
.e-con.ohpn-card--dark .elementor-widget.ohpn-btn--link .elementor-button { color: #fff !important; }
.ohpn-button { background: var(--ohpn-gold); color: var(--ohpn-navy) !important; box-shadow: none; font-weight: 600; }
.ohpn-button:hover { background: var(--ohpn-navy); color: #fff !important; transform: none; }
.ohpn-button--outline { background: transparent; border: 1px solid var(--ohpn-navy); }
.ohpn-button--ghost { background: transparent; border: 1px solid rgba(255,255,255,.5); color: #fff !important; }

/* hero */
.e-con.ohpn-hero::before { background: linear-gradient(90deg, rgba(5,18,66,.97) 0%, rgba(5,18,66,.93) 45%, rgba(5,18,66,.6) 75%, rgba(5,18,66,.4) 100%); }
.e-con.ohpn-hero:not(.ohpn-hero--img)::before { background: var(--ohpn-navy); }
.e-con.ohpn-hero::after { height: 3px; background: var(--ohpn-gold); }
.ohpn-hero .elementor-widget.ohpn-hero-title .elementor-heading-title { font-weight: 600 !important; letter-spacing: -.025em; }
.ohpn-trust { gap: 0; margin-top: 18px; border-top: 1px solid rgba(255,255,255,.18); padding-top: 22px; }
.ohpn-trust li { display: flex; flex-direction: column; gap: 2px; padding-right: 32px; margin-right: 32px; border-right: 1px solid rgba(255,255,255,.18); }
.ohpn-trust li:last-child { border-right: 0; }
.ohpn-trust strong { font: 600 1.5rem/1.1 var(--ohpn-font-head); color: #fff; margin: 0; }
.ohpn-trust span { color: rgba(255,255,255,.7); font-size: .88rem; }
@media (max-width: 600px) { .ohpn-trust li { padding-right: 16px; margin-right: 16px; } .ohpn-trust strong { font-size: 1.2rem; } }

/* CTA band: flat navy, square */
.e-con.ohpn-cta-band { background: var(--ohpn-navy); }
.e-con.ohpn-cta-band::before { display: none; }
.e-con.ohpn-cta-band { border-top: 3px solid var(--ohpn-gold); }

/* rating tags: square, understated (Outstanding in gold) */
.ohpn-badge { box-shadow: none; padding: .32em .65em; font-weight: 600; font-family: var(--ohpn-font-body); letter-spacing: .02em; color: var(--ohpn-ink) !important; background: #fff; border: 1px solid currentColor; border-left-width: 3px; }
.ohpn-badge svg { display: none; }
.ohpn-badge.is-inadequate { color: #b42318 !important; background: #fef3f2; }
.ohpn-badge.is-ri { color: #b54708 !important; background: #fffaeb; }
.ohpn-badge.is-good { color: #067647 !important; background: #ecfdf3; }
.ohpn-badge.is-outstanding { color: #7a5a00 !important; background: #fdf6dc; border-color: var(--ohpn-gold); }
.ohpn-badges { gap: 6px !important; }
.ohpn-badges-note { color: var(--ohpn-muted); font-size: .9rem; }
.ohpn-tag { display: inline-block; padding: .32em .65em; font: 600 .78rem/1.2 var(--ohpn-font-body); letter-spacing: .02em; color: var(--ohpn-navy); background: #eef1f7; border-left: 3px solid var(--ohpn-navy); }
.ohpn-dot { box-shadow: none; }

/* lists */
.ohpn-checklist li::before { border-radius: 0; background: none; border: 0; width: 14px; height: 2px; top: .8em; background-color: var(--ohpn-gold); }
.ohpn-checklist--warn li::before { background-color: var(--ohpn-red); }
.ohpn-checklist--lines { gap: 0; }
.ohpn-checklist--lines li { padding: 16px 0 16px 30px; border-bottom: 1px solid var(--ohpn-line); font-size: 1.05rem; color: var(--ohpn-ink); }
.ohpn-checklist--lines li:first-child { border-top: 1px solid var(--ohpn-line); }
.ohpn-checklist--lines li::before { top: 1.45em; }
.ohpn-checklist--grid li, .ohpn-checklist--boxed li { box-shadow: none; padding-left: 40px; }
.ohpn-checklist--grid li::before, .ohpn-checklist--boxed li::before { left: 16px; top: 1.45em; }

/* shortcode cards */
.ohpn-pcard, .ohpn-tcard { box-shadow: none; }
.ohpn-pcard:hover { transform: none; box-shadow: none; border-color: var(--ohpn-navy); }
.ohpn-pcard:hover .ohpn-pcard-media img { transform: scale(1.03); }
.ohpn-pcard-title { font-weight: 600; }
.ohpn-link { color: var(--ohpn-navy) !important; border-bottom: 1px solid var(--ohpn-gold); padding-bottom: 2px; }
.ohpn-link:hover { text-decoration: none !important; color: var(--ohpn-gold-dark) !important; }
.ohpn-tcard::before { display: none; }
.ohpn-tcard { border-top: 3px solid var(--ohpn-gold); }
.ohpn-stars { color: var(--ohpn-gold); }
.ohpn-tavatar { background: var(--ohpn-navy); }
.ohpn-tsource { color: var(--ohpn-muted) !important; font-weight: 500; }
.ohpn-slider-nav button { box-shadow: none; }
.ohpn-filter button { padding: 10px 18px; }
.ohpn-cdetails li { border-left: 3px solid var(--ohpn-gold); }
.ohpn-cdetails-ico { background: transparent; color: var(--ohpn-navy); width: 28px; height: 28px; }
.ohpn-faq details { box-shadow: none; }
.ohpn-faq summary::after { background: transparent; border: 1px solid var(--ohpn-line); }
.ohpn-faq details[open] summary::after { background: var(--ohpn-gold); border-color: var(--ohpn-gold); color: var(--ohpn-navy); }
.ohpn-callout { background: #f6f7fa; font-weight: 500; }
.ohpn-mobilebar a.is-primary { background: var(--ohpn-gold); color: var(--ohpn-navy) !important; }
.ohpn-totop:hover { background: var(--ohpn-gold); color: var(--ohpn-navy); }
.ohpn-single-hero { background: var(--ohpn-navy); }
.ohpn-single-hero::after { height: 3px; background: var(--ohpn-gold); }
.ohpn-single-cta { background: var(--ohpn-navy); border-top: 3px solid var(--ohpn-gold); }
.ohpn-side-card, .ohpn-case-block { box-shadow: none; }
.ohpn-side-card--cta { background: var(--ohpn-navy); }
.ohpn-single-cover { box-shadow: none; }

/* header bits */
.ohpn-topbar-hours { margin: 0; color: rgba(255,255,255,.7) !important; font-size: .85rem; }
.e-con.ohpn-mainbar { box-shadow: 0 1px 0 var(--ohpn-line); }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--main .elementor-item { font-family: var(--ohpn-font-body) !important; font-weight: 600 !important; }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--main .elementor-item:hover, .ohpn-mainbar .ohpn-nav .elementor-item-active { color: var(--ohpn-gold-dark) !important; }
.ohpn-mainbar .ohpn-nav .elementor-nav-menu--dropdown { box-shadow: var(--ohpn-shadow-lg); border-top: 3px solid var(--ohpn-gold); }
.ohpn-footer-logo img { padding: 12px 16px; }
.e-con.ohpn-card--pillar { align-items: flex-start !important; text-align: left; }
.e-con.ohpn-card--pillar .elementor-heading-title, .e-con.ohpn-card--pillar p { text-align: left !important; }
