/* =====================================================================
   Optimize Health Clinic – main stylesheet
   One design system for every page. All classes are prefixed "ohc-"
   so plugins can't clash with them.
   ===================================================================== */

:root {
	--ohc-blue: #3B82F6;
	--ohc-blue-600: #2563EB;
	--ohc-blue-title: #3D7CBF;      /* logo blue – service page headings */
	--ohc-orange: #FF8C42;
	--ohc-orange-600: #EA580C;
	--ohc-orange-logo: #F48220;
	--ohc-dark: #0F172A;
	--ohc-navy: #0B1221;
	--ohc-gray: #64748B;
	--ohc-gray-light: #94A3B8;
	--ohc-line: #E2E8F0;
	--ohc-soft: #F8FAFC;
	--ohc-blue-50: #EFF6FF;
	--ohc-orange-50: #FFF7ED;
	--ohc-white: #FFFFFF;

	--ohc-grad-orange: linear-gradient(90deg, #FF8C42 0%, #FFAB68 100%);
	--ohc-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.08);
	--ohc-shadow-hover: 0 20px 40px -12px rgba(59, 130, 246, 0.2);
	--ohc-shadow-lg: 0 30px 60px -25px rgba(15, 23, 42, 0.35);
	--ohc-radius: 20px;
	--ohc-radius-lg: 28px;
	--ohc-header-h: 80px;
	--ohc-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--ohc-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--ohc-font);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ohc-dark);
	/* Soft tint at the top of every page, so the floating header never sits on a flat white strip. */
	background: linear-gradient(180deg, #EAF2FF 0, #F5F9FF 220px, #FFFFFF 560px) no-repeat, var(--ohc-white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: var(--ohc-blue-600); }
h1, h2, h3, h4 { font-family: var(--ohc-font); color: var(--ohc-dark); margin: 0; line-height: 1.2; }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid rgba(59, 130, 246, 0.55); outline-offset: 3px; border-radius: 6px; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.ohc-skip {
	position: absolute; left: 12px; top: -60px; z-index: 1000;
	background: var(--ohc-dark); color: #fff; padding: 10px 16px; border-radius: 8px; text-decoration: none;
}
.ohc-skip:focus { top: 12px; }

.ohc-container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.ohc-center { text-align: center; }
.ohc-main { display: block; }

/* ---------- Sections ---------- */
.ohc-section { padding: 96px 0; position: relative; }
.ohc-section--soft { background: var(--ohc-soft); }
.ohc-section--tight { padding: 56px 0; }
.ohc-section--tight-top { padding-top: 24px; }
.ohc-section-head { text-align: center; max-width: 800px; margin: 0 auto 56px; }
.ohc-section-head .ohc-lead { margin-left: auto; margin-right: auto; }

.ohc-blobs { position: relative; overflow: hidden; isolation: isolate; }
.ohc-blobs::before, .ohc-blobs::after {
	content: ""; position: absolute; border-radius: 50%; z-index: -1; pointer-events: none;
}
.ohc-blobs::before { width: 520px; height: 520px; top: -180px; left: -160px; background: radial-gradient(circle, rgba(255, 171, 104, 0.18), transparent 65%); }
.ohc-blobs::after { width: 600px; height: 600px; bottom: -220px; right: -180px; background: radial-gradient(circle, rgba(74, 144, 226, 0.12), transparent 65%); }

/* ---------- Typography ---------- */
.ohc-badge {
	display: inline-block;
	background: var(--ohc-blue-50);
	color: var(--ohc-blue);
	padding: 8px 18px;
	border-radius: 50px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.ohc-badge--orange { background: var(--ohc-orange-50); color: var(--ohc-orange-600); }
.ohc-badge--glass { background: rgba(255, 255, 255, 0.1); color: #FFB27A; }

.ohc-hero-title {
	font-size: clamp(2.1rem, 4.4vw, 3.4rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.5px;
	margin: 0 0 20px;
}
.ohc-hero-title--blue { color: var(--ohc-blue-title); }
.ohc-hero-title--caps { text-transform: uppercase; letter-spacing: 0; }
.ohc-title {
	font-size: clamp(1.8rem, 3.4vw, 2.75rem);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 18px;
}
.ohc-title--blue { color: var(--ohc-blue-title); }
.ohc-title--sm { font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.ohc-subtitle { font-size: 1.3rem; font-weight: 700; color: #334155; margin: 0 0 14px; line-height: 1.4; }
.ohc-lead { font-size: 1.12rem; color: var(--ohc-gray); line-height: 1.7; margin: 0 0 28px; max-width: 680px; }
.ohc-lead--narrow { max-width: 640px; margin-left: auto; margin-right: auto; }
.ohc-text { font-size: 1.06rem; color: var(--ohc-gray); line-height: 1.75; }
.ohc-eyebrow { font-size: 0.95rem; font-weight: 700; color: var(--ohc-orange-600); margin: 0 0 12px; }
.ohc-hook {
	font-size: 1.15rem; font-weight: 700; color: var(--ohc-dark);
	border-left: 4px solid var(--ohc-orange); padding: 4px 0 4px 16px; margin: 0 0 26px;
}

.ohc-text-blue { color: var(--ohc-blue); }
.ohc-text-orange { color: var(--ohc-orange); }
.ohc-text-gradient {
	background-image: linear-gradient(to right, var(--ohc-orange), #FF5F6D, var(--ohc-blue), var(--ohc-orange));
	background-size: 200% auto;
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: var(--ohc-orange);
	animation: ohc-shine 6s linear infinite;
}
.ohc-text-gradient--blue { background-image: linear-gradient(to right, var(--ohc-blue), #2DD4BF, var(--ohc-blue)); }
@keyframes ohc-shine { to { background-position: 200% center; } }

.ohc-accent-line { display: block; width: 50px; height: 4px; border-radius: 2px; background: var(--ohc-orange); margin: 0 0 22px; }
.ohc-accent-line--center { margin-left: auto; margin-right: auto; }

/* ---------- Buttons ---------- */
.ohc-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 15px 30px; border-radius: 50px;
	font-weight: 700; font-size: 1rem; line-height: 1.2; text-align: center;
	text-decoration: none; cursor: pointer; border: 0;
	transition: transform 0.3s var(--ohc-ease), box-shadow 0.3s, background 0.3s, color 0.3s, border-color 0.3s;
}
.ohc-btn--primary { background: var(--ohc-grad-orange); color: #fff; box-shadow: 0 10px 20px rgba(255, 140, 66, 0.25); }
.ohc-btn--primary:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 15px 28px rgba(255, 140, 66, 0.38); }
.ohc-btn--primary .ohc-icon { transition: transform 0.3s; }
.ohc-btn--primary:hover .ohc-icon { transform: translateX(4px); }
.ohc-btn--ghost { background: #fff; color: var(--ohc-dark); border: 1px solid var(--ohc-line); }
.ohc-btn--ghost:hover { background: var(--ohc-soft); color: var(--ohc-dark); border-color: #CBD5E1; }
.ohc-btn--sm { padding: 11px 22px; font-size: 0.92rem; }
.ohc-btn--lg { padding: 18px 36px; font-size: 1.05rem; }
.ohc-btn--block { width: 100%; }
.ohc-btn-row { display: flex; flex-wrap: wrap; gap: 14px; }
.ohc-btn-row--center { justify-content: center; }

.ohc-link-arrow {
	display: inline-flex; align-items: center; gap: 6px; margin-top: auto;
	font-weight: 700; color: var(--ohc-orange-600); text-decoration: none;
}
.ohc-link-arrow .ohc-icon { transition: transform 0.3s; }
.ohc-link-arrow:hover .ohc-icon { transform: translateX(4px); }

/* ---------- Icon boxes ---------- */
.ohc-icon-box {
	width: 56px; height: 56px; border-radius: 16px; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--ohc-blue-50); color: var(--ohc-blue);
	transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.ohc-icon-box--orange { background: var(--ohc-orange-50); color: var(--ohc-orange); }
.ohc-icon-box--sm { width: 44px; height: 44px; border-radius: 12px; }
.ohc-icon-circle {
	width: 48px; height: 48px; border-radius: 50%; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: #F0F9FF; color: var(--ohc-blue-title);
}

/* =====================================================================
   HEADER – floating glass bar
   ===================================================================== */
:root { --ohc-hdr-space: calc(var(--ohc-header-h) + 14px); }
.ohc-header {
	position: sticky; top: 0; z-index: 100;
	padding: 14px 20px 0;
	pointer-events: none; /* only the bar itself is clickable */
	/* Float over the first section so its background shows behind the bar (no white strip). */
	margin-bottom: calc(-1 * var(--ohc-hdr-space));
}
.ohc-main > section:first-of-type, .ohc-main > .ohc-page-head:first-of-type { border-top: var(--ohc-hdr-space) solid transparent; background-origin: border-box; }
.admin-bar .ohc-header { top: 32px; }
.ohc-header__bar {
	pointer-events: auto;
	position: relative;
	max-width: 1200px; margin: 0 auto;
	height: var(--ohc-header-h);
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px;
	padding: 0 12px 0 22px;
	background: rgba(255, 255, 255, 0.72);
	-webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
	border: 1px solid rgba(226, 232, 240, 0.9);
	border-radius: 22px;
	box-shadow: 0 10px 30px -18px rgba(15, 23, 42, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.8);
	transition: max-width 0.45s var(--ohc-ease), height 0.45s var(--ohc-ease), background 0.3s, box-shadow 0.3s, border-radius 0.45s;
}
.ohc-header.is-scrolled .ohc-header__bar {
	max-width: 1080px; height: 64px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 18px 40px -20px rgba(15, 23, 42, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.ohc-logo { display: inline-flex; align-items: center; justify-self: start; }
.ohc-logo__img { height: 64px; width: auto; max-width: 220px; object-fit: contain; transition: height 0.45s var(--ohc-ease); }
.ohc-header.is-scrolled .ohc-logo__img { height: 52px; }

/* Center nav: pill group with a sliding indicator */
.ohc-nav { justify-self: center; }
.ohc-nav__group {
	position: relative; display: flex; align-items: center;
	padding: 5px; border-radius: 999px;
	background: rgba(241, 245, 249, 0.85); border: 1px solid rgba(226, 232, 240, 0.9);
}
.ohc-nav__pill {
	position: absolute; top: 5px; bottom: 5px; left: 5px; width: 0;
	border-radius: 999px; background: #fff;
	box-shadow: 0 4px 14px -4px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(226, 232, 240, 0.8);
	transition: left 0.45s var(--ohc-ease), width 0.45s var(--ohc-ease), opacity 0.3s;
	opacity: 0;
}
.ohc-nav__pill.is-ready { opacity: 1; }
.ohc-nav__list { position: relative; list-style: none; display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; }
.ohc-nav__list a {
	position: relative; display: block; padding: 10px 22px; border-radius: 999px;
	color: #475569; text-decoration: none; font-weight: 600; font-size: 0.95rem; letter-spacing: 0.1px;
	transition: color 0.25s;
}
.ohc-nav__list a:hover, .ohc-nav__list .current-menu-item > a { color: var(--ohc-dark); }
.ohc-nav__list .current-menu-item > a::after {
	content: ""; position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; margin-left: -2px;
	border-radius: 50%; background: var(--ohc-orange);
}
.no-pill .ohc-nav__list .current-menu-item > a { background: #fff; }
.ohc-nav__mobile-actions { display: none; }

/* Right: CTA with arrow bubble */
.ohc-header__actions { justify-self: end; display: flex; align-items: center; gap: 10px; }
.ohc-cta {
	position: relative; overflow: hidden; isolation: isolate;
	display: inline-flex; align-items: center; gap: 10px;
	padding: 6px 6px 6px 20px; border-radius: 999px;
	background: var(--ohc-dark); color: #fff; text-decoration: none; font-weight: 700; font-size: 0.93rem;
	box-shadow: 0 10px 22px -10px rgba(15, 23, 42, 0.6);
	transition: transform 0.3s var(--ohc-ease), box-shadow 0.3s;
	animation: ohc-heartbeat 3.2s ease-in-out infinite;
}
.ohc-cta::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
	background: var(--ohc-grad-orange); opacity: 0; transition: opacity 0.35s;
}
.ohc-cta:hover { color: #fff; transform: translateY(-2px); }
.ohc-cta:hover::before { opacity: 1; }
.ohc-cta__icon {
	width: 32px; height: 32px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: var(--ohc-grad-orange); color: #fff; transition: transform 0.35s var(--ohc-ease), background 0.35s, color 0.35s;
}
.ohc-cta:hover .ohc-cta__icon { background: #fff; color: var(--ohc-orange-600); transform: rotate(-45deg); }

/* Burger: two lines → X */
.ohc-burger {
	display: none; position: relative; width: 44px; height: 44px; border-radius: 14px; cursor: pointer;
	border: 1px solid rgba(226, 232, 240, 0.9); background: rgba(255, 255, 255, 0.9);
}
.ohc-burger__line {
	position: absolute; left: 12px; right: 12px; height: 2px; border-radius: 2px; background: var(--ohc-dark);
	transition: transform 0.35s var(--ohc-ease), top 0.35s var(--ohc-ease);
}
.ohc-burger__line:nth-child(1) { top: 17px; }
.ohc-burger__line:nth-child(2) { top: 25px; }
.ohc-header.is-open .ohc-burger__line:nth-child(1) { top: 21px; transform: rotate(45deg); }
.ohc-header.is-open .ohc-burger__line:nth-child(2) { top: 21px; transform: rotate(-45deg); }

@media (max-width: 860px) {
	:root { --ohc-header-h: 64px; --ohc-hdr-space: calc(var(--ohc-header-h) + 10px); }
	.ohc-header { padding: 10px 12px 0; }
	.ohc-header__bar { grid-template-columns: auto 1fr; padding: 0 8px 0 14px; border-radius: 18px; }
	.ohc-header.is-scrolled .ohc-header__bar { height: 58px; }
	.ohc-logo__img, .ohc-header.is-scrolled .ohc-logo__img { height: 48px; }
	.ohc-burger { display: inline-block; }
	.ohc-cta { padding: 5px 5px 5px 14px; font-size: 0.86rem; gap: 8px; }
	.ohc-cta__icon { width: 28px; height: 28px; }
	.ohc-nav {
		position: absolute; left: 0; right: 0; top: calc(100% + 10px); justify-self: stretch; width: auto;
		padding: 14px; border-radius: 22px;
		background: #fff;
		-webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
		border: 1px solid rgba(226, 232, 240, 0.9);
		box-shadow: 0 30px 60px -25px rgba(15, 23, 42, 0.45);
		opacity: 0; visibility: hidden; transform: translateY(-10px) scale(0.98); transform-origin: top center;
		transition: opacity 0.3s, transform 0.4s var(--ohc-ease), visibility 0.3s;
	}
	.ohc-header.is-open .ohc-nav { opacity: 1; visibility: visible; transform: none; }
	.ohc-nav__group { display: block; padding: 0; background: none; border: 0; }
	.ohc-nav__pill { display: none; }
	.ohc-nav__list { flex-direction: column; align-items: stretch; gap: 4px; }
	.ohc-nav__list li { opacity: 0; transform: translateY(8px); transition: opacity 0.35s, transform 0.4s var(--ohc-ease); }
	.ohc-header.is-open .ohc-nav__list li { opacity: 1; transform: none; }
	.ohc-header.is-open .ohc-nav__list li:nth-child(2) { transition-delay: 0.06s; }
	.ohc-nav__list a { padding: 16px 18px; font-size: 1.15rem; font-weight: 700; color: var(--ohc-dark); border-radius: 14px; display: flex; justify-content: space-between; align-items: center; }
	.ohc-nav__list a::before { content: "→"; order: 2; color: var(--ohc-gray-light); transition: transform 0.3s; }
	.ohc-nav__list a:hover { background: var(--ohc-soft); }
	.ohc-nav__list a:hover::before { transform: translateX(4px); color: var(--ohc-orange); }
	.ohc-nav__list .current-menu-item > a { background: var(--ohc-blue-50); color: var(--ohc-blue-600); }
	.ohc-nav__list .current-menu-item > a::after { display: none; }
	.ohc-nav__mobile-actions { display: block; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--ohc-line); }
}
@media (max-width: 782px) { .admin-bar .ohc-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ohc-header { top: 0; } }
@media (max-width: 380px) { .ohc-cta__text { display: none; } .ohc-cta { padding: 5px; } }

/* =====================================================================
   HERO / SPLIT LAYOUTS
   ===================================================================== */
.ohc-hero { padding: 72px 0 80px; }
.ohc-page-hero { padding: 88px 0 56px; background: linear-gradient(180deg, rgba(239, 246, 255, 0.6) 0%, rgba(255, 255, 255, 0) 100%); }
.ohc-page-head { padding: 72px 0 24px; background: linear-gradient(180deg, rgba(239, 246, 255, 0.6), #fff); }
.ohc-page-head__title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; }

.ohc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.ohc-split--hero { grid-template-columns: 1.1fr 0.9fr; }
.ohc-split--single { grid-template-columns: 1fr; max-width: 820px; margin: 0 auto; }
.ohc-split__text > :last-child { margin-bottom: 0; }

.ohc-photo { background: linear-gradient(135deg, #EFF6FF, #FFF7ED); border-radius: 24px; overflow: hidden; box-shadow: 0 20px 40px -18px rgba(15, 23, 42, 0.3); }
.ohc-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.6s var(--ohc-ease); }
.ohc-photo:hover img { transform: scale(1.03); }

.ohc-photo-card { position: relative; max-width: 520px; margin: 0 auto; }
.ohc-photo-card > img { width: 100%; aspect-ratio: 9 / 8; object-fit: cover; border-radius: var(--ohc-radius-lg); box-shadow: 0 25px 50px -20px rgba(15, 23, 42, 0.35); }
.ohc-photo-card--product { max-width: 600px; }
.ohc-photo-card--wide > img { aspect-ratio: 5 / 4; }
.ohc-svc-page-hero { padding: 96px 0; }
.ohc-photo--tall img { aspect-ratio: 4 / 5; }
.ohc-split--about { grid-template-columns: 0.9fr 1.1fr; }
.ohc-photo-card--product > img { aspect-ratio: 3 / 2; }

.ohc-float {
	position: absolute; z-index: 2;
	display: flex; align-items: center; gap: 10px;
	background: #fff; padding: 12px 18px; border-radius: 16px;
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
	font-size: 0.9rem; font-weight: 700; line-height: 1.2;
	animation: ohc-float 4s ease-in-out infinite;
}
.ohc-float strong { display: block; font-size: 0.98rem; }
.ohc-float small { display: block; font-size: 0.75rem; color: var(--ohc-gray); font-weight: 500; }
.ohc-float--tr { top: 28px; right: -22px; }
.ohc-float--bl { bottom: 28px; left: -28px; animation-delay: -2s; }
.ohc-float__icon {
	width: 40px; height: 40px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--ohc-orange-50); color: var(--ohc-orange-600);
	font-size: 0.78rem; font-weight: 800;
}
.ohc-float__icon.is-blue { background: var(--ohc-blue-50); color: var(--ohc-blue); }
.ohc-star { color: #F59E0B; }
@keyframes ohc-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

.ohc-crumbs { display: flex; gap: 8px; font-size: 0.88rem; color: var(--ohc-gray); margin-bottom: 18px; }
.ohc-crumbs a { color: var(--ohc-gray); text-decoration: none; }
.ohc-crumbs a:hover { color: var(--ohc-blue); }

.ohc-deco-photo { position: relative; max-width: 540px; margin: 0 auto; }
.ohc-deco-photo img { position: relative; z-index: 1; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: 24px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); }
.ohc-deco-photo__circle { position: absolute; top: -26px; right: -26px; width: 110px; height: 110px; border-radius: 50%; background: #FFE5D0; }
.ohc-deco-photo__square { position: absolute; bottom: -26px; left: -26px; width: 120px; height: 120px; border-radius: 20px; background: #EEF4FA; }

/* ---------- Home slider ---------- */
.ohc-hero-slider {
	padding: 64px 0 56px;
	background-image: radial-gradient(circle at 10% 20%, rgba(255, 171, 104, 0.12) 0%, transparent 40%),
		radial-gradient(circle at 90% 80%, rgba(74, 144, 226, 0.08) 0%, transparent 40%);
	overflow: hidden;
}
.ohc-slides { display: grid; }
.ohc-slide {
	grid-area: 1 / 1;
	display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center;
	opacity: 0; visibility: hidden; transition: opacity 0.6s ease, visibility 0.6s;
}
.ohc-slide.is-active { opacity: 1; visibility: visible; }
.ohc-slide__content, .ohc-slide__media { transition: transform 0.8s var(--ohc-ease); }
.ohc-slide:not(.is-active) .ohc-slide__content { transform: translateY(24px); }
.ohc-slide:not(.is-active) .ohc-slide__media { transform: translateX(24px); }
.ohc-slider-nav { display: flex; align-items: center; gap: 16px; margin-top: 34px; }
.ohc-slider-nav__arrow {
	width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--ohc-line);
	background: #fff; color: var(--ohc-dark); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; transition: 0.3s;
}
.ohc-slider-nav__arrow:hover { border-color: var(--ohc-orange); color: var(--ohc-orange); }
.ohc-slider-nav__dots { display: flex; gap: 8px; }
.ohc-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 10px; background: var(--ohc-line); cursor: pointer; transition: 0.3s; }
.ohc-dot.is-active { width: 26px; background: var(--ohc-orange); }

/* =====================================================================
   CARDS & GRIDS
   ===================================================================== */
.ohc-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ohc-feature-card {
	background: rgba(255, 255, 255, 0.92); border: 1px solid var(--ohc-line);
	border-radius: 22px; padding: 34px;
	box-shadow: var(--ohc-shadow);
	transition: transform 0.35s var(--ohc-ease), box-shadow 0.35s, border-color 0.35s;
}
.ohc-feature-card:hover { transform: translateY(-8px); box-shadow: var(--ohc-shadow-hover); border-color: #BFDBFE; }
.ohc-feature-card:hover .ohc-icon-box { transform: scale(1.12) rotate(5deg); }
.ohc-feature-card .ohc-icon-box { margin-bottom: 22px; }
.ohc-feature-card h3 { font-size: 1.28rem; font-weight: 700; margin-bottom: 10px; }
.ohc-feature-card p { color: var(--ohc-gray); margin: 0; line-height: 1.65; }

/* Service cards */
.ohc-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ohc-service-card {
	display: flex; flex-direction: column; background: #fff;
	border: 1px solid var(--ohc-line); border-radius: 22px; overflow: hidden;
	box-shadow: var(--ohc-shadow); transition: transform 0.35s var(--ohc-ease), box-shadow 0.35s;
}
.ohc-service-grid > .ohc-service-card:last-child:nth-child(3n+1) { grid-column: 2; }
.ohc-service-card:hover { transform: translateY(-8px); box-shadow: var(--ohc-shadow-hover); }
.ohc-service-card__media { display: block; height: 210px; overflow: hidden; background: var(--ohc-soft); }
.ohc-service-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ohc-ease); }
.ohc-service-card:hover .ohc-service-card__media img { transform: scale(1.06); }
.ohc-service-card__body { display: flex; flex-direction: column; flex: 1; padding: 0 28px 28px; }
.ohc-service-card__body .ohc-icon-box { margin-top: -28px; margin-bottom: 18px; box-shadow: 0 8px 18px -6px rgba(15, 23, 42, 0.18); background-clip: padding-box; border: 3px solid #fff; }
.ohc-service-card__title { font-size: 1.25rem; font-weight: 700; margin-bottom: 4px; }
.ohc-service-card__title a { color: inherit; text-decoration: none; }
.ohc-service-card__title a:hover { color: var(--ohc-blue); }
.ohc-service-card__sub { color: var(--ohc-blue); font-weight: 700; font-size: 0.74rem; letter-spacing: 0.8px; text-transform: uppercase; margin: 2px 0 12px; }
.ohc-service-card__text { color: var(--ohc-gray); margin-bottom: 18px; }

/* Kit cards */
.ohc-kit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ohc-kit-card {
	display: flex; flex-direction: column; background: #fff; color: inherit; text-decoration: none;
	border: 1px solid var(--ohc-line); border-radius: 24px; overflow: hidden;
	box-shadow: var(--ohc-shadow); transition: transform 0.35s var(--ohc-ease), box-shadow 0.35s, border-color 0.35s;
}
.ohc-kit-card:hover { color: inherit; transform: translateY(-8px); box-shadow: var(--ohc-shadow-hover); border-color: #BFDBFE; }
.ohc-kit-card__media { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ohc-soft); }
.ohc-kit-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; transition: transform 0.6s var(--ohc-ease); }
.ohc-kit-card:hover .ohc-kit-card__media img { transform: scale(1.05); }
.ohc-kit-card__tag {
	position: absolute; top: 14px; left: 14px;
	background: rgba(255, 255, 255, 0.94); color: var(--ohc-dark);
	font-size: 0.75rem; font-weight: 700; padding: 6px 12px; border-radius: 30px;
}
.ohc-kit-card__body { display: flex; flex-direction: column; flex: 1; padding: 0 26px 26px; }
.ohc-kit-card__media, .ohc-service-card__media { position: relative; z-index: 0; }
.ohc-kit-card__body, .ohc-service-card__body { position: relative; z-index: 1; }
.ohc-kit-card__body .ohc-icon-box, .ohc-service-card__body .ohc-icon-box { position: relative; z-index: 2; background: #fff; }
.ohc-kit-card__body .ohc-icon-box { margin-top: -28px; margin-bottom: 16px; background: #fff; border: 0; box-shadow: 0 8px 22px -6px rgba(15, 23, 42, 0.22); }
.ohc-kit-card__name { font-size: 1.3rem; font-weight: 800; }
.ohc-kit-card__sub { color: var(--ohc-blue); font-weight: 700; font-size: 0.8rem; letter-spacing: 0.6px; text-transform: uppercase; margin: 4px 0 12px; }
.ohc-kit-card__text { color: var(--ohc-gray); font-size: 0.97rem; margin-bottom: 20px; }
.ohc-kit-card__foot { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--ohc-line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ohc-kit-card__foot .ohc-btn { flex-shrink: 0; white-space: nowrap; padding: 11px 18px; }
.ohc-kit-card__foot .ohc-price { display: grid; grid-template-columns: auto auto; justify-content: start; align-items: baseline; gap: 6px 10px; }
.ohc-kit-card__foot .ohc-price__tag { grid-column: 1 / -1; justify-self: start; white-space: nowrap; letter-spacing: 0.2px; padding: 4px 9px; }
.ohc-kit-card__foot .ohc-price__new { font-size: 1.75rem; }
.ohc-kit-card__foot .ohc-price__tag { align-self: flex-start; font-size: 0.68rem; }
.ohc-kit-card__cta { pointer-events: none; }
.ohc-kit-card:hover .ohc-kit-card__cta { transform: translateY(-2px); box-shadow: 0 15px 28px rgba(255, 140, 66, 0.38); }

/* Price */
.ohc-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; }
.ohc-price__old { font-size: 1.15rem; font-weight: 600; color: var(--ohc-gray-light); text-decoration: line-through; text-decoration-color: var(--ohc-orange); text-decoration-thickness: 2px; }
.ohc-price__new { font-size: 2.6rem; font-weight: 800; color: var(--ohc-dark); line-height: 1; letter-spacing: -0.5px; }
.ohc-price__tag { align-self: center; background: var(--ohc-orange-50); color: var(--ohc-orange-600); font-size: 0.75rem; font-weight: 800; padding: 5px 11px; border-radius: 30px; text-transform: uppercase; letter-spacing: 0.4px; }

/* Stats */
.ohc-stats { display: flex; flex-wrap: wrap; gap: 40px; margin: 28px 0; padding-top: 28px; border-top: 1px solid var(--ohc-line); }
.ohc-stat strong { display: block; font-size: 2.1rem; font-weight: 800; color: var(--ohc-blue); line-height: 1.1; }
.ohc-stat span { font-size: 0.9rem; color: var(--ohc-gray); font-weight: 600; }

/* Gallery */
.ohc-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.ohc-gallery__item { margin: 0; height: 300px; border-radius: 20px; overflow: hidden; position: relative; }
.ohc-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.ohc-gallery__item:hover img { transform: scale(1.08); }

/* Checks list */
.ohc-checks { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 14px; }
.ohc-checks li { display: flex; align-items: center; gap: 14px; font-weight: 600; color: #334155; }
.ohc-checks__icon { width: 32px; height: 32px; border-radius: 50%; background: var(--ohc-blue-50); color: var(--ohc-blue-600); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* Benefits (HRT) */
.ohc-benefit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ohc-benefit-card { background: #fff; border: 1px solid var(--ohc-line); border-radius: 18px; padding: 28px; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s; }
.ohc-benefit-card:hover { transform: translateY(-5px); box-shadow: var(--ohc-shadow-hover); border-color: #BFDBFE; }
.ohc-benefit-card .ohc-icon-box { width: 48px; height: 48px; border-radius: 12px; margin-bottom: 18px; }
.ohc-benefit-card h3 { font-size: 1.08rem; font-weight: 700; margin-bottom: 8px; }
.ohc-benefit-card p { color: var(--ohc-gray); margin: 0; font-size: 0.96rem; }

/* Numbered steps (HRT approach) */
.ohc-num-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.ohc-num-step { display: flex; gap: 18px; align-items: flex-start; background: #fff; border: 1px solid var(--ohc-line); border-radius: 16px; padding: 22px; transition: 0.3s; }
.ohc-num-step:hover { border-color: #BFDBFE; transform: translateX(5px); box-shadow: var(--ohc-shadow); }
.ohc-num-step__n { width: 40px; height: 40px; border-radius: 50%; background: var(--ohc-blue-title); color: #fff; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ohc-num-step h3 { font-size: 1.08rem; font-weight: 700; margin-bottom: 4px; }
.ohc-num-step p { margin: 0; color: var(--ohc-gray); font-size: 0.96rem; }

/* Who benefits */
.ohc-who { display: grid; gap: 26px; margin-top: 10px; }
.ohc-who__row { display: flex; gap: 18px; align-items: flex-start; }
.ohc-who h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 6px; }
.ohc-who p { margin: 0; color: var(--ohc-gray); }

/* CTA band */
.ohc-cta-band { background: linear-gradient(to bottom, #fff, #FFF7ED); }
.ohc-cta-band__box { max-width: 820px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; }
.ohc-cta-band__box .ohc-accent-line { margin-left: auto; margin-right: auto; }
.ohc-cta-band__box .ohc-title { color: var(--ohc-blue-title); }
.ohc-cta-band__note { margin: 18px 0 0; font-size: 0.9rem; color: var(--ohc-gray-light); display: inline-flex; align-items: center; gap: 6px; }
.ohc-cta-band--dark { background: #fff; }
.ohc-cta-band--dark .ohc-cta-band__box {
	max-width: 1000px; background: var(--ohc-dark); border-radius: 30px; padding: 80px 40px;
	position: relative; overflow: hidden; isolation: isolate;
}
.ohc-cta-band--dark .ohc-cta-band__box::before {
	content: ""; position: absolute; inset: 20%; background: var(--ohc-blue); filter: blur(120px); opacity: 0.25; z-index: -1;
}
.ohc-cta-band--dark .ohc-title { color: #fff; }
.ohc-cta-band--dark .ohc-lead { color: #CBD5E1; }

/* Notices */
.ohc-notice, .ohc-disclaimer {
	display: flex; gap: 16px; align-items: flex-start;
	margin-top: 40px; padding: 22px 26px; border-radius: 18px;
	background: var(--ohc-blue-50); border: 1px solid #BFDBFE;
}
.ohc-notice strong { display: block; margin-bottom: 4px; color: var(--ohc-dark); }
.ohc-notice p { margin: 0; font-size: 0.94rem; color: #334155; line-height: 1.6; }
.ohc-notice__icon { color: var(--ohc-blue); flex-shrink: 0; margin-top: 2px; display: inline-flex; }
.ohc-notice--warn { background: #FFF7ED; border-color: #FED7AA; }
.ohc-notice--warn .ohc-notice__icon { color: var(--ohc-orange-600); }
.ohc-notice--warn p { color: #7C2D12; }
.ohc-disclaimer--spaced { margin-top: 40px !important; }
.ohc-disclaimer { margin-top: 0; background: var(--ohc-soft); border-color: var(--ohc-line); }
.ohc-disclaimer h2 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 8px; }
.ohc-disclaimer p { margin: 0; font-size: 0.92rem; color: var(--ohc-gray); line-height: 1.7; }
.ohc-disclaimer .ohc-notice__icon { color: var(--ohc-gray); }
.ohc-disclaimer .ohc-notice__icon--blue { color: var(--ohc-blue); }

/* =====================================================================
   KIT PAGES
   ===================================================================== */
.ohc-kit-hero { padding-top: 64px; }
.ohc-feature-list { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 11px; }
.ohc-feature-list--2 { grid-template-columns: 1fr 1fr; gap: 11px 24px; }
.ohc-feature-list li { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; font-size: 0.97rem; color: #1E293B; line-height: 1.45; }
.ohc-feature-list__check { width: 22px; height: 22px; border-radius: 50%; background: var(--ohc-orange-50); color: var(--ohc-orange-600); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }

.ohc-order-card {
	display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center;
	background: #fff; border: 1px solid var(--ohc-line); border-radius: 28px; padding: 44px;
	box-shadow: 0 30px 60px -35px rgba(15, 23, 42, 0.3);
}
.ohc-order-card__name { font-size: clamp(1.9rem, 3vw, 2.5rem); font-weight: 800; }
.ohc-order-card__sub { color: var(--ohc-blue); font-weight: 600; margin: 4px 0 18px; }
.ohc-order-card__note { margin: 12px 0 0; color: var(--ohc-gray); font-weight: 600; font-size: 0.95rem; }
.ohc-order-card__trust { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 0.88rem; color: var(--ohc-gray); margin: 14px 0 22px; }
.ohc-points { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
.ohc-points li { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 0.93rem; color: #334155; }
.ohc-points li span { width: 26px; height: 26px; border-radius: 8px; background: var(--ohc-blue-50); color: var(--ohc-blue); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* Steps track */
/* Steps – animated "How it works" track (same motion as the original kit pages) */
.ohc-steps-wrap { position: relative; }
.ohc-steps__track {
	position: absolute; top: 31px; left: 7%; right: 7%; height: 3px; border-radius: 3px; z-index: 0;
	background: repeating-linear-gradient(90deg, var(--ohc-line) 0 8px, transparent 8px 14px);
}
.ohc-steps__fill {
	position: absolute; inset: 0 auto 0 0; width: 0; border-radius: 3px;
	background: linear-gradient(90deg, var(--ohc-blue), #8B5CF6 50%, var(--ohc-orange));
	box-shadow: 0 0 12px rgba(59, 130, 246, 0.35);
	transition: width 2.7s linear;
}
.ohc-steps__pulse {
	position: absolute; top: 50%; left: 0; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%;
	background: #fff; box-shadow: 0 0 0 3px rgba(255, 140, 66, 0.35), 0 0 14px 4px rgba(255, 140, 66, 0.55); opacity: 0;
}
.ohc-steps-wrap.is-visible .ohc-steps__fill { width: 100%; }
.ohc-steps-wrap.is-visible .ohc-steps__pulse { animation: ohc-travel 4.2s linear 3.6s infinite; }
@keyframes ohc-travel {
	0% { left: 0; opacity: 0; } 3% { opacity: 1; }
	85.7% { left: calc(100% - 10px); opacity: 1; } 92% { left: calc(100% - 10px); opacity: 0; } 100% { left: calc(100% - 10px); opacity: 0; }
}
.ohc-steps { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(7, 1fr); gap: 18px; }
.ohc-step { text-align: center; position: relative; z-index: 1; }
.ohc-step__icon {
	position: relative; width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 20px;
	display: flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid var(--ohc-line); box-shadow: var(--ohc-shadow);
	color: var(--ohc-blue);
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s, color 0.3s, box-shadow 0.3s, border-color 0.3s;
}
.ohc-step:nth-child(odd) .ohc-step__icon { color: var(--ohc-orange); }
.ohc-step.is-optional .ohc-step__icon { border-style: dashed; }
.ohc-step__icon svg { overflow: visible; }
.ohc-step__icon::after {
	content: ""; position: absolute; inset: -1px; border-radius: 20px; border: 2px solid var(--ohc-blue); opacity: 0; pointer-events: none;
}
.ohc-step:nth-child(odd) .ohc-step__icon::after { border-color: var(--ohc-orange); }
.ohc-step__num { display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; color: var(--ohc-blue); text-transform: uppercase; margin-bottom: 4px; }
.ohc-step:nth-child(odd) .ohc-step__num { color: var(--ohc-orange-600); }
.ohc-step__title { font-size: 0.98rem; font-weight: 700; line-height: 1.35; transition: color 0.3s; }
.ohc-step__opt { display: inline-block; margin-top: 6px; font-size: 0.68rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--ohc-gray); border: 1px dashed var(--ohc-gray-light); padding: 2px 8px; border-radius: 20px; }

/* Before the section scrolls into view (only when JS runs) */
.ohc-js .ohc-steps-wrap:not(.is-visible) .ohc-step__icon { opacity: 0; transform: scale(0.5); }
.ohc-js .ohc-steps-wrap:not(.is-visible) .ohc-step__num,
.ohc-js .ohc-steps-wrap:not(.is-visible) .ohc-step__title,
.ohc-js .ohc-steps-wrap:not(.is-visible) .ohc-step__opt,
.ohc-js .ohc-steps-wrap:not(.is-visible) .ohc-step__desc { opacity: 0; transform: translateY(12px); }
.ohc-js .ohc-steps-wrap:not(.is-visible) .ohc-step__icon svg * { stroke-dasharray: 1; stroke-dashoffset: 1; }

/* Run: pop in one after another, ring burst, icons draw themselves, then a ring "flows" along */
.ohc-steps-wrap.is-visible .ohc-step__icon {
	background: var(--ohc-blue-50); border-color: rgba(59, 130, 246, 0.45);
	animation: ohc-step-pop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
	animation-delay: calc(var(--i) * 0.45s);
}
.ohc-steps-wrap.is-visible .ohc-step:nth-child(odd) .ohc-step__icon { background: var(--ohc-orange-50); border-color: rgba(255, 140, 66, 0.45); }
.ohc-steps-wrap.is-visible .ohc-step__num,
.ohc-steps-wrap.is-visible .ohc-step__title,
.ohc-steps-wrap.is-visible .ohc-step__opt,
.ohc-steps-wrap.is-visible .ohc-step__desc {
	animation: ohc-label-up 0.6s ease-out both;
	animation-delay: calc(var(--i) * 0.45s + 0.15s);
}
.ohc-steps-wrap.is-visible .ohc-step__icon::after {
	animation: ohc-ring-burst 1s ease-out both, ohc-flow-ring 4.2s ease-out infinite;
	animation-delay: calc(var(--i) * 0.45s + 0.1s), calc(3.6s + var(--i) * 0.6s);
}
.ohc-steps-wrap.is-visible .ohc-step__icon svg * {
	stroke-dasharray: 1; stroke-dashoffset: 1;
	animation: ohc-draw-icon 0.9s ease forwards;
	animation-delay: calc(var(--i) * 0.45s + 0.25s);
}
@keyframes ohc-step-pop { 0% { opacity: 0; transform: scale(0.5); } 60% { opacity: 1; transform: scale(1.12); } 100% { opacity: 1; transform: scale(1); } }
@keyframes ohc-label-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes ohc-ring-burst { 0% { opacity: 0.9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.6); } }
@keyframes ohc-flow-ring { 0% { opacity: 0.75; transform: scale(1); } 20% { opacity: 0; transform: scale(1.45); } 100% { opacity: 0; transform: scale(1.45); } }
@keyframes ohc-draw-icon { to { stroke-dashoffset: 0; } }
@keyframes ohc-icon-wiggle { 0% { transform: rotate(0) scale(1); } 30% { transform: rotate(-14deg) scale(1.15); } 55% { transform: rotate(10deg) scale(1.1); } 80% { transform: rotate(-4deg) scale(1.05); } 100% { transform: rotate(0) scale(1); } }

/* Hover */
.ohc-step:hover .ohc-step__icon {
	background: linear-gradient(135deg, #3B82F6 0%, #60A5FA 100%) !important; border-color: transparent !important; color: #fff;
	transform: translateY(-6px) rotate(-6deg) scale(1.06); box-shadow: 0 16px 30px -10px rgba(59, 130, 246, 0.6);
}
.ohc-step:nth-child(odd):hover .ohc-step__icon { background: linear-gradient(135deg, #FF8C42 0%, #FFAB68 100%) !important; box-shadow: 0 16px 30px -10px rgba(255, 140, 66, 0.65); }
.ohc-step:hover .ohc-step__icon svg { animation: ohc-icon-wiggle 0.6s ease; }
.ohc-step:hover .ohc-step__title { color: var(--ohc-blue); }
.ohc-step:nth-child(odd):hover .ohc-step__title { color: var(--ohc-orange-600); }
.ohc-step__desc { font-size: 0.8rem; color: var(--ohc-gray); margin: 6px 0 0; line-height: 1.45; }

/* Value props */
.ohc-vp { list-style: none; margin: 4px 0 28px; padding: 0; display: grid; gap: 14px; }
.ohc-vp__item { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border: 1px solid var(--ohc-line); border-radius: 14px; background: #fff; transition: 0.3s; }
.ohc-vp__item:hover { border-color: rgba(255, 140, 66, 0.45); transform: translateX(4px); box-shadow: var(--ohc-shadow); }
.ohc-vp__item h4 { font-size: 1rem; font-weight: 800; margin-bottom: 3px; }
.ohc-vp__item p { margin: 0; font-size: 0.92rem; color: var(--ohc-gray); line-height: 1.55; }

/* Video */
.ohc-video { position: relative; aspect-ratio: 16 / 9; border-radius: 22px; overflow: hidden; background: var(--ohc-navy); box-shadow: 0 30px 60px -25px rgba(15, 23, 42, 0.55); }
.ohc-video__thumb, .ohc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.ohc-video__play {
	position: absolute; inset: 0; width: 100%; border: 0; cursor: pointer;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
	background: linear-gradient(160deg, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0.75)); color: #fff;
}
.ohc-video__btn {
	width: 80px; height: 80px; border-radius: 50%; background: var(--ohc-grad-orange);
	display: flex; align-items: center; justify-content: center; padding-left: 5px;
	animation: ohc-pulse 2.2s infinite;
}
.ohc-video__label { font-weight: 800; letter-spacing: 2px; font-size: 0.85rem; text-transform: uppercase; }
.ohc-video__play:hover .ohc-video__btn { transform: scale(1.06); }
@keyframes ohc-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 140, 66, 0.6); } 70% { box-shadow: 0 0 0 22px rgba(255, 140, 66, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 140, 66, 0); } }
/* Homepage video carousel */
.ohc-vgal-section { overflow: hidden; }
.ohc-vgal { --vw: min(760px, 70vw); position: relative; }
.ohc-vgal__stage { position: relative; height: calc(var(--vw) * 9 / 16); }
.ohc-vgal__slide {
	position: absolute; left: 50%; top: 50%; width: var(--vw);
	transform: translate(-50%, -50%) scale(0.6); opacity: 0; pointer-events: none;
	transition: transform 0.6s var(--ohc-ease), opacity 0.6s, filter 0.6s;
}
.ohc-vgal__slide .ohc-video { border-radius: 30px; }
.ohc-vgal__slide.is-active { transform: translate(-50%, -50%) scale(1); opacity: 1; pointer-events: auto; z-index: 3; }
.ohc-vgal__slide.is-prev, .ohc-vgal__slide.is-next { opacity: 1; pointer-events: auto; cursor: pointer; z-index: 2; filter: saturate(0.85); }
.ohc-vgal__slide.is-prev { transform: translate(calc(-50% - var(--vw) * 0.86), -50%) scale(0.72); }
.ohc-vgal__slide.is-next { transform: translate(calc(-50% + var(--vw) * 0.86), -50%) scale(0.72); }
.ohc-vgal__slide.is-prev .ohc-video__play, .ohc-vgal__slide.is-next .ohc-video__play { pointer-events: none; }
.ohc-vgal__slide.is-prev .ohc-video__btn, .ohc-vgal__slide.is-next .ohc-video__btn,
.ohc-vgal__slide.is-prev .ohc-video__label, .ohc-vgal__slide.is-next .ohc-video__label { opacity: 0; }
.ohc-vgal__slide .ohc-video { box-shadow: 0 30px 60px -28px rgba(15, 23, 42, 0.55); }
.ohc-vgal__arrow {
	position: absolute; top: 50%; z-index: 5; transform: translate(-50%, -50%);
	width: 50px; height: 50px; border-radius: 50%; border: 0; cursor: pointer;
	background: rgba(255, 255, 255, 0.92); color: var(--ohc-dark);
	display: inline-flex; align-items: center; justify-content: center;
	box-shadow: 0 10px 24px -8px rgba(15, 23, 42, 0.45); transition: 0.3s;
}
.ohc-vgal__arrow:hover { background: var(--ohc-orange); color: #fff; }
.ohc-vgal__arrow--prev { left: calc(50% - var(--vw) * 0.86); }
.ohc-vgal__arrow--next { left: calc(50% + var(--vw) * 0.86); }
.ohc-vgal__dots { display: flex; justify-content: center; gap: 8px; margin-top: 28px; }
.ohc-form-card--center { max-width: 760px; margin: 0 auto; }
.ohc-book-alt { text-align: center; margin: 22px 0 0; color: var(--ohc-gray); }
.ohc-book-alt a { font-weight: 700; color: var(--ohc-orange-600); text-decoration: none; }
@media (max-width: 720px) {
	.ohc-vgal { --vw: 84vw; }
	.ohc-vgal__slide .ohc-video { border-radius: 20px; }
	.ohc-vgal__slide.is-prev { transform: translate(calc(-50% - var(--vw) * 0.92), -50%) scale(0.8); }
	.ohc-vgal__slide.is-next { transform: translate(calc(-50% + var(--vw) * 0.92), -50%) scale(0.8); }
	.ohc-vgal__arrow { width: 42px; height: 42px; }
	.ohc-vgal__arrow--prev { left: 30px; }
	.ohc-vgal__arrow--next { left: calc(100% - 30px); }
}
.ohc-video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

/* Scope stats */
.ohc-scope-stats { display: flex; justify-content: center; gap: 22px; flex-wrap: wrap; margin-top: 28px; }
.ohc-scope-stat { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--ohc-line); border-radius: 18px; padding: 14px 22px; box-shadow: var(--ohc-shadow); text-align: left; }
.ohc-scope-stat strong { font-size: 2.2rem; font-weight: 800; color: var(--ohc-orange); line-height: 1; }
.ohc-scope-stat strong.is-word { font-size: 1.5rem; color: var(--ohc-blue); }
.ohc-scope-stat span { font-size: 0.82rem; font-weight: 700; color: var(--ohc-gray); line-height: 1.3; text-transform: uppercase; letter-spacing: 0.5px; }

/* Domain explorer */
.ohc-dx { display: grid; grid-template-columns: 1fr 1.1fr; gap: 28px; align-items: stretch; }
.ohc-dx__list { display: grid; gap: 10px; align-content: start; }
.ohc-dx__item { border: 1px solid var(--ohc-line); border-radius: 14px; background: #fff; transition: border-color 0.3s, box-shadow 0.3s, background 0.3s; }
.ohc-dx__item.is-active { border-color: rgba(255, 140, 66, 0.6); background: var(--ohc-orange-50); box-shadow: 0 10px 24px -16px rgba(234, 88, 12, 0.5); }
.ohc-dx__tab {
	width: 100%; display: flex; align-items: center; gap: 14px; padding: 14px 18px;
	background: none; border: 0; cursor: pointer; text-align: left; color: var(--ohc-dark);
}
.ohc-dx__num { font-size: 0.8rem; font-weight: 800; color: var(--ohc-gray-light); min-width: 22px; }
.ohc-dx__item.is-active .ohc-dx__num { color: var(--ohc-orange-600); }
.ohc-dx__title { font-weight: 700; font-size: 0.98rem; }
.ohc-dx__body { display: none; padding: 0 18px 16px 54px; }
.ohc-dx__body p { margin: 0; color: var(--ohc-gray); font-size: 0.94rem; }
.ohc-dx:not(.is-ready) .ohc-dx__body { display: block; }
.ohc-dx:not(.is-ready) .ohc-dx__panel { display: none; }
.ohc-dx:not(.is-ready) { grid-template-columns: 1fr; }

.ohc-dx__panel {
	position: sticky; top: calc(var(--ohc-header-h) + 24px); align-self: start;
	min-height: 420px; display: flex; flex-direction: column;
	background: radial-gradient(circle at 85% 15%, rgba(255, 140, 66, 0.22), transparent 45%), linear-gradient(150deg, #0F172A 0%, #1E3A8A 130%);
	color: #fff; border-radius: 26px; padding: 40px; overflow: hidden; isolation: isolate;
	box-shadow: var(--ohc-shadow-lg);
}
.ohc-dx__mark { position: absolute; right: 18px; top: -10px; font-size: 9rem; font-weight: 800; line-height: 1; color: rgba(255, 255, 255, 0.06); z-index: -1; }
.ohc-dx__content { flex: 1; }
.ohc-dx__content.is-swap, .ohc-dx__mark.is-swap { animation: ohc-swap 0.5s var(--ohc-ease); }
@keyframes ohc-swap { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.ohc-dx__icon-lg { width: 70px; height: 70px; border-radius: 20px; display: flex; align-items: center; justify-content: center; background: rgba(255, 140, 66, 0.16); color: #FFB27A; margin-bottom: 24px; }
.ohc-dx__count { display: block; font-size: 0.78rem; letter-spacing: 2px; font-weight: 800; color: #FFB27A; margin-bottom: 10px; }
.ohc-dx__heading { color: #fff; font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 800; margin-bottom: 14px; }
.ohc-dx__desc { color: #CBD5E1; font-size: 1.04rem; line-height: 1.7; margin: 0; }
.ohc-dx__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 28px; }
.ohc-dx__dots { display: flex; flex-wrap: wrap; gap: 6px; }
.ohc-dx__dots .ohc-dot { background: rgba(255, 255, 255, 0.25); }
.ohc-dx__dots .ohc-dot.is-active { background: var(--ohc-orange); }
.ohc-dx__nav { display: flex; gap: 8px; }
.ohc-dx__nav .ohc-slider-nav__arrow { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.2); color: #fff; }
.ohc-dx__progress { height: 3px; background: rgba(255, 255, 255, 0.12); border-radius: 3px; margin-top: 20px; overflow: hidden; }
.ohc-dx__progress span { display: block; height: 100%; width: 0; background: var(--ohc-orange); }
.ohc-dx.is-running .ohc-dx__progress span { animation: ohc-progress 6s linear forwards; }
@keyframes ohc-progress { to { width: 100%; } }

/* Final order card */
.ohc-final {
	display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 48px; align-items: center;
	background: radial-gradient(circle at 0% 0%, rgba(59, 130, 246, 0.35), transparent 50%), var(--ohc-dark);
	color: #fff; border-radius: 32px; padding: 56px; overflow: hidden;
}
.ohc-final__title { color: #fff; font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; margin-bottom: 16px; }
.ohc-cta-accent { color: #FFB27A; }
.ohc-final p { color: #CBD5E1; }
.ohc-final .ohc-price { margin: 22px 0; }
.ohc-final .ohc-price__new { color: #fff; }
.ohc-final .ohc-price__tag { background: rgba(255, 140, 66, 0.18); color: #FFB27A; }
.ohc-final__trust { display: flex; align-items: center; gap: 6px; font-size: 0.86rem; margin: 14px 0 0; }
.ohc-final__media img { width: 100%; border-radius: 22px; aspect-ratio: 3 / 2; object-fit: cover; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6); }

/* Sticky order bar */
.ohc-kit-bar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
	background: rgba(255, 255, 255, 0.97); border-top: 1px solid var(--ohc-line);
	box-shadow: 0 -12px 30px -18px rgba(15, 23, 42, 0.45);
	padding: 12px 0 calc(12px + env(safe-area-inset-bottom));
	transform: translateY(110%); transition: transform 0.35s var(--ohc-ease);
}
.ohc-kit-bar.is-visible { transform: none; }
.ohc-kit-bar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ohc-kit-bar__info { display: flex; align-items: center; gap: 18px; min-width: 0; }
.ohc-kit-bar__name { font-weight: 700; font-size: 0.95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ohc-kit-bar .ohc-price__new { font-size: 1.4rem; }
.ohc-kit-bar .ohc-price__old { font-size: 0.9rem; }
.ohc-kit-bar .ohc-price__tag { display: none; }
.ohc-kit-bar .ohc-btn { padding: 12px 24px; font-size: 0.95rem; white-space: nowrap; }

/* =====================================================================
   FORMS
   ===================================================================== */
.ohc-form-split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.ohc-page--appointment .ohc-form-split, .ohc-page--order .ohc-form-split { grid-template-columns: 1.25fr 0.75fr; }
.ohc-form-card { background: #fff; border: 1px solid var(--ohc-line); border-radius: 24px; padding: 36px; box-shadow: 0 30px 60px -35px rgba(15, 23, 42, 0.3); scroll-margin-top: 110px; }
.ohc-form { scroll-margin-top: 120px; }
.ohc-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ohc-form__field { grid-column: span 2; display: flex; flex-direction: column; gap: 7px; }
.ohc-form__field--half { grid-column: span 1; }
.ohc-form label { font-weight: 600; font-size: 0.92rem; color: var(--ohc-dark); }
.ohc-req { color: var(--ohc-orange-600); }
.ohc-form input, .ohc-form select, .ohc-form textarea {
	width: 100%; padding: 13px 16px; border: 1px solid #CBD5E1; border-radius: 12px; background: #fff;
	color: var(--ohc-dark); font-size: 1rem; transition: border-color 0.2s, box-shadow 0.2s;
}
.ohc-form textarea { resize: vertical; min-height: 96px; }
.ohc-form input::placeholder, .ohc-form textarea::placeholder { color: #94A3B8; }
.ohc-form input:focus, .ohc-form select:focus, .ohc-form textarea:focus { outline: none; border-color: var(--ohc-blue); box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15); }
.ohc-form .is-invalid { border-color: #DC2626; box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.1); }
.ohc-form__error { color: #DC2626; font-size: 0.82rem; min-height: 0; }
.ohc-form__submit { width: 100%; margin-top: 24px; }
.ohc-form__submit[disabled] { opacity: 0.7; pointer-events: none; }
.ohc-form__privacy { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 0.82rem; color: var(--ohc-gray); margin: 14px 0 0; text-align: center; }
.ohc-form__msg { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border-radius: 12px; margin-bottom: 22px; font-weight: 600; font-size: 0.95rem; }
.ohc-form__msg--ok { background: #ECFDF5; color: #065F46; border: 1px solid #A7F3D0; }
.ohc-form__msg--err { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; }
.ohc-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ohc-contact-list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 18px; }
.ohc-contact-list li { display: flex; gap: 14px; align-items: center; }
.ohc-contact-list small { display: block; color: var(--ohc-gray); font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.ohc-contact-list a, .ohc-contact-list span:not(.ohc-icon-box) { color: var(--ohc-dark); font-weight: 700; text-decoration: none; }
.ohc-contact-list a:hover { color: var(--ohc-blue); }

.ohc-info-card { background: var(--ohc-soft); border: 1px solid var(--ohc-line); border-radius: 24px; padding: 32px; position: sticky; top: calc(var(--ohc-header-h) + 24px); }
.ohc-info-card__title { font-size: 1.3rem; font-weight: 800; }
.ohc-info-card .ohc-contact-list { margin-top: 18px; }
.ohc-info-card__help { margin: 24px 0 0; font-size: 0.92rem; color: var(--ohc-gray); }
.ohc-hours { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--ohc-line); }
.ohc-hours h3 { display: flex; align-items: center; gap: 8px; font-size: 1rem; margin-bottom: 10px; }
.ohc-hours h3 .ohc-icon { color: var(--ohc-orange); }
.ohc-hours p { display: flex; justify-content: space-between; margin: 0; padding: 7px 0; font-size: 0.93rem; color: var(--ohc-gray); }
.ohc-hours strong { color: var(--ohc-dark); }
.ohc-next { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 18px; }
.ohc-next li { display: flex; gap: 14px; align-items: flex-start; }
.ohc-next strong { display: block; font-size: 0.98rem; }
.ohc-next small { display: block; color: var(--ohc-gray); font-size: 0.88rem; line-height: 1.5; }

/* Default page content */
.ohc-prose { max-width: 820px; }
.ohc-prose h2 { font-size: 1.6rem; margin: 1.6em 0 0.6em; }
.ohc-prose h3 { font-size: 1.25rem; margin: 1.4em 0 0.5em; }
.ohc-prose p, .ohc-prose li { color: #334155; }
.ohc-post { padding: 24px 0; border-bottom: 1px solid var(--ohc-line); }
.ohc-post__title a { color: var(--ohc-dark); text-decoration: none; }
.ohc-404 { padding: 140px 0; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.ohc-footer {
	position: relative; overflow: hidden; isolation: isolate;
	background: var(--ohc-navy); color: var(--ohc-gray-light);
	padding-top: 72px;
}
.ohc-footer::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 1;
	background: linear-gradient(90deg, var(--ohc-blue-title), #8B5CF6, var(--ohc-orange-logo));
}
.ohc-footer__glow {
	position: absolute; z-index: -1; pointer-events: none; inset: 0;
	background:
		radial-gradient(600px 300px at 10% 0%, rgba(59, 130, 246, 0.16), transparent 70%),
		radial-gradient(500px 280px at 95% 30%, rgba(255, 140, 66, 0.12), transparent 70%);
}

.ohc-live-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #22C55E; flex-shrink: 0; }
.ohc-live-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: inherit; animation: ohc-live 1.8s ease-out infinite; }
@keyframes ohc-live { to { transform: scale(2.8); opacity: 0; } }

/* Columns */
.ohc-footer__grid { display: grid; grid-template-columns: 1.25fr 0.85fr 1.15fr 1.25fr; gap: 40px; padding-bottom: 40px; }
.ohc-footer__logo { display: inline-block; margin-bottom: 18px; }
.ohc-footer__logo__img, .ohc-footer__logo img { height: 84px; width: auto; max-width: 220px; object-fit: contain; }
.ohc-footer__desc { line-height: 1.75; margin-bottom: 22px; font-size: 0.95rem; max-width: 340px; }
.ohc-footer__social { display: flex; gap: 10px; }
.ohc-footer__social a {
	width: 42px; height: 42px; border-radius: 12px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); color: #CBD5E1;
	transition: transform 0.3s var(--ohc-ease), background 0.3s, color 0.3s, border-color 0.3s;
}
.ohc-footer__social a:hover { background: var(--ohc-orange-logo); border-color: var(--ohc-orange-logo); color: #fff; transform: translateY(-4px) rotate(-6deg); }
.ohc-footer__heading { color: #fff; font-size: 1.05rem; font-weight: 700; margin-bottom: 22px; display: flex; align-items: center; gap: 10px; }
.ohc-footer__heading::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: var(--ohc-orange-logo); }
.ohc-footer__links, .ohc-footer__contact, .ohc-footer__hours { list-style: none; margin: 0; padding: 0; }
.ohc-footer__links li { margin-bottom: 4px; }
.ohc-footer__links a {
	display: inline-flex; align-items: center; gap: 0; padding: 6px 0;
	color: var(--ohc-gray-light); text-decoration: none; font-size: 0.96rem;
	transition: color 0.25s, gap 0.3s var(--ohc-ease);
}
.ohc-footer__links a::before { content: "→"; width: 0; overflow: hidden; opacity: 0; color: var(--ohc-orange-logo); transition: width 0.3s var(--ohc-ease), opacity 0.25s; }
.ohc-footer__links a:hover { color: #fff; gap: 8px; }
.ohc-footer__links a:hover::before { width: 14px; opacity: 1; }
.ohc-footer__contact li { display: flex; gap: 12px; margin-bottom: 14px; align-items: flex-start; font-size: 0.95rem; }
.ohc-footer__ico {
	width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(244, 130, 32, 0.12); color: var(--ohc-orange-logo);
}
.ohc-footer__contact a { color: #CBD5E1; text-decoration: none; line-height: 1.5; padding-top: 7px; transition: color 0.25s; }
.ohc-footer__contact a:hover { color: #fff; }
.ohc-open-status {
	display: inline-flex; align-items: center; gap: 8px; margin: -6px 0 14px; padding: 6px 12px; border-radius: 999px;
	background: rgba(34, 197, 94, 0.12); color: #86EFAC; font-size: 0.82rem; font-weight: 700;
}
.ohc-open-status.is-closed { background: rgba(244, 130, 32, 0.12); color: #FDBA74; }
.ohc-open-status.is-closed .ohc-live-dot { background: var(--ohc-orange-logo); }
.ohc-footer__hours li { display: flex; justify-content: space-between; gap: 10px; white-space: nowrap; padding: 11px 12px; border-radius: 10px; font-size: 0.93rem; transition: background 0.25s; }
.ohc-footer__hours li:hover { background: rgba(255, 255, 255, 0.04); }
.ohc-footer__hours li.is-today { background: rgba(59, 130, 246, 0.12); }
.ohc-footer__hours li.is-today span:first-child { color: #fff; font-weight: 700; }
.ohc-footer__time { color: #fff; font-weight: 600; }
.ohc-footer__time.is-closed { color: var(--ohc-orange-logo); }

/* Bottom bar */
.ohc-footer__bottom { position: relative; background: rgba(3, 6, 14, 0.75); border-top: 1px solid rgba(255, 255, 255, 0.06); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ohc-footer__bottom-inner { display: flex; align-items: center; gap: 14px 28px; flex-wrap: wrap; padding-top: 18px; padding-bottom: 18px; font-size: 0.86rem; }
.ohc-footer__bottom-inner p { margin: 0; }
.ohc-footer__legal { display: flex; gap: 18px; }
.ohc-footer__legal a { color: var(--ohc-gray-light); text-decoration: none; }
.ohc-footer__legal a:hover { color: #fff; }
.ohc-footer__credit { margin-left: auto !important; color: #CBD5E1; }
.ohc-footer__credit a { white-space: nowrap; color: var(--ohc-orange-logo); font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(244, 130, 32, 0.4); transition: 0.2s; }
.ohc-footer__credit a:hover { color: #FFB27A; border-color: #FFB27A; }
.ohc-to-top {
	width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); color: #fff;
	transition: transform 0.3s var(--ohc-ease), background 0.3s;
}
.ohc-to-top .ohc-icon { transform: rotate(-90deg); }
.ohc-to-top:hover { background: var(--ohc-orange-logo); transform: translateY(-3px); color: #fff; }
.ohc-page--kit .ohc-footer__bottom { padding-bottom: 76px; }

@media (max-width: 1024px) {
	.ohc-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
	.ohc-footer { padding-top: 40px; }
	.ohc-footer__grid { grid-template-columns: 1fr; gap: 34px; }
	.ohc-footer__bottom-inner { flex-direction: column; text-align: center; }
	.ohc-footer__credit { margin-left: 0 !important; order: 10; font-size: 0.92rem; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.08); width: 100%; }
	.ohc-to-top { position: static; order: 11; }
}

/* =====================================================================
   SCROLL REVEAL (only when JS is running)
   ===================================================================== */
.ohc-js .ohc-reveal {
	opacity: 0; transform: translateY(28px);
	transition: opacity 0.8s var(--ohc-ease), transform 0.8s var(--ohc-ease);
	transition-delay: calc(var(--d, 0) * 90ms);
}
.ohc-js .ohc-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; transition-delay: 0s !important; }
	.ohc-js .ohc-reveal { opacity: 1; transform: none; }
	.ohc-js .ohc-steps-wrap .ohc-step__icon, .ohc-js .ohc-steps-wrap .ohc-step__num, .ohc-js .ohc-steps-wrap .ohc-step__title,
	.ohc-js .ohc-steps-wrap .ohc-step__opt, .ohc-js .ohc-steps-wrap .ohc-step__desc { opacity: 1 !important; transform: none !important; animation: none !important; }
	.ohc-steps-wrap .ohc-step__icon svg * { stroke-dashoffset: 0 !important; animation: none !important; }
	.ohc-steps-wrap .ohc-step__icon::after { animation: none !important; opacity: 0 !important; }
	.ohc-steps__pulse { display: none; }
	.ohc-steps__fill { transition: none; }
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 1100px) {
	.ohc-steps { grid-template-columns: repeat(4, 1fr); row-gap: 40px; }
	.ohc-steps__track { display: none; }
}

@media (max-width: 1024px) {
	.ohc-section { padding: 80px 0; }
	.ohc-split, .ohc-split--hero, .ohc-split--about, .ohc-slide, .ohc-order-card, .ohc-final, .ohc-form-split,
	.ohc-page--appointment .ohc-form-split, .ohc-page--order .ohc-form-split { grid-template-columns: 1fr; gap: 44px; }
	.ohc-split__media { order: -1; }
	.ohc-split--hero .ohc-split__media, .ohc-svc-hero .ohc-split__media { order: 0; }
	.ohc-feature-grid, .ohc-service-grid, .ohc-kit-grid, .ohc-benefit-grid, .ohc-video-grid { grid-template-columns: repeat(2, 1fr); }
	.ohc-service-grid > .ohc-service-card:last-child:nth-child(3n+1) { grid-column: auto; }
	.ohc-gallery { grid-template-columns: repeat(2, 1fr); }
	.ohc-footer__grid { grid-template-columns: repeat(2, 1fr); }
	.ohc-slide__media { max-width: 520px; width: 100%; margin: 0 auto; }
	.ohc-info-card, .ohc-dx__panel { position: static; }
	.ohc-final { padding: 40px; }
	.ohc-final__media { max-width: 560px; }
}

@media (max-width: 860px) {
	.ohc-dx, .ohc-dx.is-ready { grid-template-columns: 1fr; }
	.ohc-dx__panel { display: none; }
	.ohc-dx.is-ready .ohc-dx__item.is-active .ohc-dx__body { display: block; }
}

@media (max-width: 720px) {
	.ohc-section { padding: 64px 0; }
	.ohc-section--tight { padding: 40px 0; }
	.ohc-section--tight-top { padding-top: 16px; }
	.ohc-hero { padding: 44px 0 56px; }
	.ohc-page-hero { padding: 56px 0 36px; }
	.ohc-hero-slider { padding: 36px 0 44px; }
	.ohc-container { padding: 0 16px; }
	.ohc-feature-grid, .ohc-service-grid, .ohc-kit-grid, .ohc-benefit-grid, .ohc-video-grid, .ohc-gallery { grid-template-columns: 1fr; }
	.ohc-gallery__item { height: 240px; }
	.ohc-feature-list--2 { grid-template-columns: 1fr; }
	.ohc-steps { grid-template-columns: 1fr; gap: 10px; max-width: 520px; margin: 0 auto; }
	.ohc-step {
		display: grid; grid-template-columns: 44px 1fr; column-gap: 12px; align-items: center; text-align: left;
		background: #fff; border: 1px solid var(--ohc-line); border-radius: 16px; padding: 12px;
	}
	.ohc-step.is-optional { border-style: dashed; }
	.ohc-step__icon { grid-row: span 4; width: 44px; height: 44px; border-radius: 13px; margin: 0; }
	.ohc-step__icon::after { border-radius: 13px; }
	.ohc-step__icon svg { width: 22px; height: 22px; }
	.ohc-step__num { font-size: 0.62rem; margin: 0 0 2px; }
	.ohc-step__title { font-size: 0.86rem; line-height: 1.25; }
	.ohc-step__opt { justify-self: start; margin-top: 4px; font-size: 0.6rem; }
	.ohc-step__desc { font-size: 0.74rem; margin-top: 3px; }
	.ohc-float { padding: 9px 13px; font-size: 0.8rem; }
	.ohc-float strong { font-size: 0.85rem; }
	.ohc-float__icon { width: 32px; height: 32px; }
	.ohc-float--tr { right: 8px; top: 12px; }
	.ohc-float--bl { left: 8px; bottom: 12px; }
	.ohc-deco-photo__circle { right: -8px; top: -14px; width: 80px; height: 80px; }
	.ohc-deco-photo__square { left: -8px; bottom: -14px; width: 90px; height: 90px; }
	.ohc-order-card { padding: 26px 20px; gap: 26px; text-align: center; }
	.ohc-order-card .ohc-price { justify-content: center; }
	.ohc-points { grid-template-columns: 1fr; text-align: left; }
	.ohc-final { padding: 30px 20px; text-align: center; }
	.ohc-final .ohc-price { justify-content: center; }
	.ohc-final__trust { justify-content: center; }
	.ohc-final .ohc-btn { width: 100%; }
	.ohc-form-card { padding: 24px 18px; }
	.ohc-form__grid { grid-template-columns: 1fr; }
	.ohc-form__field, .ohc-form__field--half { grid-column: span 1; }
	.ohc-btn-row .ohc-btn { flex: 1 1 100%; }
	.ohc-stats { gap: 24px; }
	.ohc-cta-band--dark .ohc-cta-band__box { padding: 56px 22px; }
	.ohc-cta-band .ohc-btn { width: 100%; }
	.ohc-kit-bar__name { display: none; }
	.ohc-kit-bar .ohc-price__new { font-size: 1.3rem; }
	.ohc-notice, .ohc-disclaimer { padding: 18px; }
	.ohc-dx__body { padding-left: 18px; }
	.ohc-scope-stat { padding: 12px 16px; }
	.ohc-footer__grid { grid-template-columns: 1fr; gap: 36px; }
	.ohc-footer__bottom-inner { flex-direction: column; text-align: center; }
	.ohc-footer__legal a { margin: 0 10px; }
}


/* =====================================================================
   INTERACTION LAYER – cursor, buttons, cards, sections
   ===================================================================== */

/* Scroll progress bar (blue → orange, like a vital-signs line) */
.ohc-progress {
	position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 300; pointer-events: none;
	background: linear-gradient(90deg, var(--ohc-blue), #8B5CF6, var(--ohc-orange));
	transform-origin: 0 50%; transform: scaleX(0);
}
.admin-bar .ohc-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .ohc-progress { top: 46px; } }

/* Buttons: shine sweep, magnetic pull */
.ohc-btn, .ohc-slider-nav__arrow, .ohc-vgal__arrow { position: relative; overflow: hidden; isolation: isolate; }
.ohc-btn--primary::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: -75%; width: 50%; z-index: -1;
	background: linear-gradient(110deg, transparent, rgba(255, 255, 255, 0.45), transparent);
	transform: skewX(-20deg); transition: left 0.75s ease; pointer-events: none;
}
.ohc-btn--primary:hover::before { left: 130%; }
.ohc-btn--primary { transform: translate(var(--mx, 0px), var(--my, 0px)); }
.ohc-btn--primary:hover { transform: translate(var(--mx, 0px), calc(var(--my, 0px) - 3px)); }
.ohc-btn > * { position: relative; z-index: 1; }

/* "Heartbeat" on the main order buttons */
.ohc-kit-bar .ohc-btn--primary { animation: ohc-heartbeat 3.2s ease-in-out infinite; }
@keyframes ohc-heartbeat {
	0%, 100% { box-shadow: 0 10px 20px rgba(255, 140, 66, 0.25), 0 0 0 0 rgba(255, 140, 66, 0.45); }
	10% { box-shadow: 0 10px 20px rgba(255, 140, 66, 0.25), 0 0 0 7px rgba(255, 140, 66, 0); }
	18% { box-shadow: 0 10px 20px rgba(255, 140, 66, 0.25), 0 0 0 0 rgba(255, 140, 66, 0.4); }
	30% { box-shadow: 0 10px 20px rgba(255, 140, 66, 0.25), 0 0 0 10px rgba(255, 140, 66, 0); }
}

/* Section headings: animated heartbeat (ECG) line */
.ohc-ecg { display: flex; justify-content: center; margin: -4px 0 18px; }
.ohc-ecg path { stroke-dasharray: 1; stroke-dashoffset: 1; }
.is-visible .ohc-ecg path, .is-revealed .ohc-ecg path { animation: ohc-ecg 3.6s ease-in-out 0.3s infinite; }
@keyframes ohc-ecg {
	0% { stroke-dashoffset: 1; opacity: 1; }
	45% { stroke-dashoffset: 0; opacity: 1; }
	80% { stroke-dashoffset: 0; opacity: 1; }
	100% { stroke-dashoffset: 0; opacity: 0; }
}

/* Hero areas: floating cells, medical crosses and a slowly turning DNA helix */
.ohc-hero, .ohc-hero-slider, .ohc-page-hero { position: relative; isolation: isolate; overflow: hidden; }
.ohc-deco { position: absolute; inset: 0; z-index: -1; pointer-events: none; transition: transform 0.6s ease-out; }
.ohc-deco__cell {
	position: absolute; border-radius: 50%;
	border: 2px solid rgba(59, 130, 246, 0.18);
	background: radial-gradient(circle at 35% 35%, rgba(59, 130, 246, 0.14), transparent 60%);
	animation: ohc-cell 14s ease-in-out infinite;
}
.ohc-deco__cell::after { content: ""; position: absolute; width: 28%; height: 28%; left: 36%; top: 36%; border-radius: 50%; background: rgba(255, 140, 66, 0.35); }
.ohc-deco__cell.c1 { width: 74px; height: 74px; top: 12%; left: 3%; }
.ohc-deco__cell.c2 { width: 40px; height: 40px; bottom: 12%; left: 44%; animation-duration: 11s; animation-delay: -4s; border-color: rgba(255, 140, 66, 0.25); }
.ohc-deco__cell.c3 { width: 54px; height: 54px; top: 16%; right: 5%; animation-duration: 17s; animation-delay: -8s; }
.ohc-deco__plus { position: absolute; font-weight: 800; line-height: 1; animation: ohc-plus 9s ease-in-out infinite; }
.ohc-deco__plus.p1 { top: 70%; left: 8%; font-size: 30px; color: rgba(255, 140, 66, 0.35); }
.ohc-deco__plus.p2 { top: 24%; left: 52%; font-size: 22px; color: rgba(59, 130, 246, 0.3); animation-delay: -3s; }
.ohc-deco__helix { position: absolute; right: 2.5%; bottom: 6%; opacity: 0.16; animation: ohc-helix 9s ease-in-out infinite; }
.ohc-deco__helix path, .ohc-deco__helix line { fill: none; stroke: var(--ohc-blue); stroke-width: 2.5; stroke-linecap: round; }
.ohc-deco__helix line { stroke: var(--ohc-orange); }
@keyframes ohc-cell { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(14px, -18px) scale(1.06); } 66% { transform: translate(-10px, 10px) scale(0.95); } }
@keyframes ohc-plus { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-16px) rotate(90deg); } }
@keyframes ohc-helix { 0%, 100% { transform: scaleX(1) translateY(0); } 50% { transform: scaleX(-1) translateY(-10px); } }
@media (max-width: 720px) { .ohc-deco__helix, .ohc-deco__plus.p2, .ohc-deco__cell.c2 { display: none; } }

/* Soft background glows drift slowly */
.ohc-blobs::before { animation: ohc-drift-a 18s ease-in-out infinite alternate; }
.ohc-blobs::after { animation: ohc-drift-b 22s ease-in-out infinite alternate; }
@keyframes ohc-drift-a { to { transform: translate(60px, 40px) scale(1.12); } }
@keyframes ohc-drift-b { to { transform: translate(-50px, -30px) scale(1.08); } }

/* Cards: 3D tilt + light glare (desktop) */
.ohc-tilt { position: relative; overflow: hidden; transition: transform 0.18s ease-out, box-shadow 0.35s, border-color 0.35s; will-change: transform; }
.ohc-tilt:hover { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-8px); }
.ohc-order-card.ohc-tilt:hover { transform: perspective(1200px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-3px); }
.ohc-tilt::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 3; opacity: 0; transition: opacity 0.3s;
	background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, 0.35), transparent 45%);
}
.ohc-tilt:hover::after { opacity: 1; }

/* Custom cursor (desktop mouse only) */
.ohc-has-cursor.ohc-cursor-on, .ohc-has-cursor.ohc-cursor-on a, .ohc-has-cursor.ohc-cursor-on button,
.ohc-has-cursor.ohc-cursor-on [role="tab"], .ohc-has-cursor.ohc-cursor-on label { cursor: none; }
.ohc-has-cursor input, .ohc-has-cursor textarea { cursor: text !important; }
.ohc-has-cursor select { cursor: pointer !important; }
.ohc-cursor-dot, .ohc-cursor-ring { position: fixed; left: 0; top: 0; width: 0; height: 0; z-index: 10000; pointer-events: none; opacity: 0; transition: opacity 0.25s; }
.ohc-cursor-on .ohc-cursor-dot, .ohc-cursor-on .ohc-cursor-ring { opacity: 1; }
.ohc-cursor-dot::before {
	content: ""; position: absolute; width: 8px; height: 8px; left: -4px; top: -4px; border-radius: 50%;
	background: var(--ohc-orange); box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.85);
}
.ohc-cursor-ring::before {
	content: ""; position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%;
	transform: translate(-50%, -50%); border: 1.5px solid rgba(59, 130, 246, 0.6); background: rgba(59, 130, 246, 0.04);
	transition: width 0.3s var(--ohc-ease), height 0.3s var(--ohc-ease), background 0.3s, border-color 0.3s, transform 0.2s;
}
.ohc-cursor-ring[data-state="link"]::before { width: 58px; height: 58px; border-color: rgba(255, 140, 66, 0.7); background: rgba(255, 140, 66, 0.1); }
.ohc-cursor-ring[data-state="media"]::before { width: 80px; height: 80px; border-color: transparent; background: rgba(255, 140, 66, 0.92); }
.ohc-cursor-ring[data-state="text"]::before { width: 6px; height: 6px; opacity: 0; }
.ohc-cursor-ring.is-down::before { transform: translate(-50%, -50%) scale(0.82); }
.ohc-cursor-ring__label {
	position: absolute; left: 0; top: 0; transform: translate(-50%, -50%);
	font-size: 0.78rem; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase; color: #fff;
	opacity: 0; transition: opacity 0.2s; white-space: nowrap;
}
.ohc-cursor-ring[data-state="media"] .ohc-cursor-ring__label { opacity: 1; }
.ohc-cursor-ring[data-state="media"] ~ .ohc-cursor-dot, .ohc-cursor-ring[data-state="text"] ~ .ohc-cursor-dot { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
	.ohc-deco, .ohc-cursor-dot, .ohc-cursor-ring { display: none !important; }
	.ohc-ecg path { animation: none !important; stroke-dashoffset: 0 !important; }
}
.ohc-page-hero .ohc-deco__cell.c2 { display: none; }
@media (max-width: 720px) { .ohc-deco { opacity: 0.45; } .ohc-deco__cell.c1 { top: 4%; left: -24px; } .ohc-deco__cell.c3 { top: auto; bottom: 6%; right: -12px; } }
