/**
 * Gencyo overrides - fix WP conflicts and missing Beatrice font.
 */

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap");

:root {
	--body-font-family: "Beatrice Trial", "DM Sans", sans-serif;
	--heading-font-family: "Beatrice Trial", "DM Sans", sans-serif;
	--theme-color1: #FF6B1E;
	--theme-color2: #151515;
	--theme-color3: #0D0D0D;
	--body-bg: #0D0D0D;
	--bg-color: #151515;
	--headings-color: #FFFFFF;
	--text-color: #7A7A7A;
}

/* Lock Gencyo dark surfaces (WP / admin-bar must not flash white) */
html {
	background-color: var(--body-bg, #0D0D0D) !important;
}
.page-wrapper,
#smooth-wrapper,
#smooth-content,
.footer-section {
	background-color: var(--body-bg, #0D0D0D);
}

/* Reset WordPress global styles interference */
body.home,
body.page,
body.single,
body.archive,
body.blog,
body.error404 {
	margin: 0 !important;
	padding: 0 !important;
	background-color: var(--body-bg, #0D0D0D) !important;
	color: var(--text-color, #7A7A7A) !important;
}

body.home *,
body.page *,
body.single * {
	box-sizing: border-box;
}

/* Fix WP menu output to match Gencyo navigation */
.main-menu .navigation {
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-menu .navigation > li {
	position: relative;
}

.main-menu .navigation .sub-menu {
	list-style: none;
}

/* Ensure preloader and cursor work.
   NOTE: use overflow-x: clip (NOT overflow:hidden) so the absolute top header
   is not clipped when GSAP ScrollSmoother collapses .page-wrapper height. */
.page-wrapper {
	overflow-x: clip;
}

/* Keep the top (non-sticky) header above hero + always visible at page top */
.main-header.header-style-one {
	z-index: 9999;
}
.main-header .header-lower {
	position: relative;
	z-index: 9999;
}

/* OrpoxAI Section */
.orpoxai-section {
	position: relative;
	overflow: hidden;
	padding-top: 0 !important;
	padding-bottom: 100px;
}
@media (max-width: 991.98px) {
	.orpoxai-section {
		padding-bottom: 70px;
	}
}
.about-section + .orpoxai-section,
.about-section + .orpoxai-section.section-padding {
	margin-top: -20px;
}
.orpoxai-section .orpoxai-text {
	margin-top: 18px;
	color: var(--text-color, #7A7A7A);
	line-height: 1.7;
}
.orpoxai-section .orpoxai-btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 28px;
}
.orpoxai-section .orpoxai-btn-group .btn-style-one.style-two {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.2);
}
.orpoxai-section .orpoxai-card {
	height: 100%;
	min-height: 210px;
	padding: 28px 24px;
	border: 1px solid rgba(255, 255, 255, 0.13);
	background-color: var(--theme-color-black, #000);
	border-radius: 20px;
	transition: border-color 0.3s ease, transform 0.3s ease;
}
.orpoxai-section .orpoxai-card:hover {
	border-color: var(--theme-color1, #FF6B1E);
	transform: translateY(-4px);
}
.orpoxai-section .orpoxai-card .icon {
	margin-bottom: 18px;
}
.orpoxai-section .orpoxai-card .icon img {
	max-width: 48px;
	height: auto;
}
.orpoxai-section .orpoxai-card .title {
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 1.35;
}
.orpoxai-section .orpoxai-card .title a {
	color: #fff;
	text-decoration: none;
}
.orpoxai-section .orpoxai-card .title a:hover {
	color: var(--theme-color1, #FF6B1E);
}
.orpoxai-section .orpoxai-card .text {
	color: var(--text-color, #7A7A7A);
	font-size: 14px;
	line-height: 1.6;
}

/* ===== Markup-parity homepage sections ===== */
.orpox-section-desc,
.orpox-stats-desc {
	color: var(--text-color, #7A7A7A);
	line-height: 1.7;
	margin-top: 12px;
}
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }

/* Stats */
.orpox-stats-section { position: relative; }
.orpox-stat-box {
	padding: 30px 28px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.02);
	transition: border-color .3s ease, transform .3s ease;
}
.orpox-stat-box:hover { border-color: var(--theme-color1, #FF6B1E); transform: translateY(-5px); }
.orpox-stat-box .count-box {
	font-size: 46px;
	line-height: 1;
	color: #fff;
	margin-bottom: 14px;
}
.orpox-stat-label { color: #fff; font-size: 18px; margin-bottom: 10px; }
.orpox-stat-text { color: var(--text-color, #7A7A7A); font-size: 14px; line-height: 1.6; margin: 0; }

/* Industries grid */
.orpox-industry-card {
	padding: 28px 24px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	height: 100%;
	background-color: var(--theme-color-black, #000);
	transition: border-color .3s ease, transform .3s ease;
}
.orpox-industry-card:hover { border-color: var(--theme-color1, #FF6B1E); transform: translateY(-5px); }
.orpox-industry-icon {
	width: 64px; height: 64px; border-radius: 14px; overflow: hidden;
	margin-bottom: 18px;
}
.orpox-industry-icon img { width: 100%; height: 100%; object-fit: cover; }
.orpox-industry-title { font-size: 20px; margin-bottom: 12px; }
.orpox-industry-title a { color: #fff; text-decoration: none; }
.orpox-industry-title a:hover { color: var(--theme-color1, #FF6B1E); }
.orpox-industry-text { color: var(--text-color, #7A7A7A); font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
.orpox-industry-link { color: var(--theme-color1, #FF6B1E); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.orpox-industry-link i { transition: transform .3s ease; }
.orpox-industry-link:hover i { transform: translateX(5px); }

/* Tech Stacks */
.orpox-tech-nav {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
	list-style: none; padding: 0; margin: 0 0 40px;
}
.orpox-tech-tab {
	background: transparent; color: #fff; cursor: pointer;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 40px; padding: 10px 26px; font-size: 15px; font-weight: 600;
	transition: all .3s ease;
}
.orpox-tech-tab.active,
.orpox-tech-tab:hover { background: var(--theme-color1, #FF6B1E); border-color: var(--theme-color1, #FF6B1E); color: #fff; }
.orpox-tech-panel { display: none; }
.orpox-tech-panel.active { display: block; }
.orpox-tech-grid {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 16px;
}
.orpox-tech-chip {
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 14px; padding: 18px 26px; min-width: 150px; text-align: center;
	background-color: rgba(255, 255, 255, 0.02);
	color: #fff; font-weight: 500;
	transition: border-color .3s ease, transform .3s ease;
}
.orpox-tech-chip:hover { border-color: var(--theme-color1, #FF6B1E); transform: translateY(-4px); }

/* Careers CTA */
.orpox-careers-box {
	background: linear-gradient(90deg, rgba(255,107,30,.12), rgba(255,107,30,.02));
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 24px; padding: 50px 45px;
}
.orpox-careers-title { color: #fff; font-size: 38px; line-height: 1.2; margin: 14px 0 12px; }
.orpox-careers-text { color: var(--text-color, #7A7A7A); margin: 0; max-width: 620px; }

/* Global Presence */
.orpox-office-card {
	padding: 30px 28px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px; height: 100%;
	background-color: var(--theme-color-black, #000);
	transition: border-color .3s ease, transform .3s ease;
}
.orpox-office-card:hover { border-color: var(--theme-color1, #FF6B1E); transform: translateY(-5px); }
.orpox-office-flag {
	width: 52px; height: 52px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255, 107, 30, 0.12); color: var(--theme-color1, #FF6B1E);
	font-size: 20px; margin-bottom: 18px;
}
.orpox-office-name { color: #fff; font-size: 20px; margin-bottom: 10px; }
.orpox-office-address { color: var(--text-color, #7A7A7A); font-size: 14px; line-height: 1.6; margin: 0; }

@media (max-width: 767.98px) {
	.orpox-stat-box .count-box { font-size: 36px; }
	.orpox-careers-box { padding: 34px 24px; }
	.orpox-careers-title { font-size: 28px; }
}

/* Feature section (after FAQ) - contain right-side animated shape */
.feature-section {
	overflow: hidden;
}
.feature-section .container {
	position: relative;
	z-index: 2;
}
.feature-section .light-shape-1,
.feature-section .shape-1 {
	z-index: 0;
	pointer-events: none;
	max-width: 38%;
}
.feature-section .light-shape-1 {
	top: -18%;
}
.feature-section .shape-1 {
	top: -8%;
	right: 30px;
}
.feature-section .light-shape-1 img,
.feature-section .shape-1 img {
	max-width: 100%;
	height: auto;
}
@media (max-width: 1199.98px) {
	.feature-section .light-shape-1,
	.feature-section .shape-1 {
		display: none;
	}
}

/* ===== Logo sizing (constrain uploaded logos) ===== */
.main-header .logo img {
	max-height: 60px;
	width: auto;
	object-fit: contain;
}
.main-header .sticky-header .logo img {
	max-height: 48px;
	width: auto;
	object-fit: contain;
}
.mobile-menu .nav-logo img { max-height: 46px; width: auto; }
.main-footer .footer-logo img,
.footer-widget .footer-logo img,
.footer-logo img { max-height: 88px; width: auto; object-fit: contain; }

/* Footer menu columns + spacing */
.footer-section .footer-top-wrapper { gap: 24px; padding-bottom: 26px; margin-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.footer-section .footer-widget-items .widget-title { color: #fff; font-size: 20px; }
.footer-section .footer-widget-items .user-links li { margin-bottom: 12px; line-height: 1.4; }
.footer-section .footer-widget-items .user-links li a { color: var(--text-color, #7A7A7A); transition: color .25s ease, padding-left .25s ease; }
.footer-section .footer-widget-items .user-links li a:hover { color: var(--theme-color1, #FF6B1E); padding-left: 5px; }

/* EQUAL left/right margin on both header rows (sticky == non-sticky).
   8% each side = logo left, menu right, perfectly balanced like Markup. */
.main-header > .container,
.main-header .sticky-header > .auto-container {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 8% !important;
	padding-right: 8% !important;
}
@media (max-width: 767.98px) {
	.main-header > .container,
	.main-header .sticky-header > .auto-container {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}
/* Center the whole [logo + menu] group so the space BEFORE the logo equals the
   space AFTER the last menu item. The gap between logo and menu is fixed below. */
.main-header .header-lower .main-box,
.main-header .sticky-header .inner-container {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
	gap: 55px !important;
	width: 100% !important;
}
/* nav-outer shrinks to the menu width (Gencyo forces width:100%, which breaks centering) */
.main-header .header-lower .nav-outer,
.main-header .sticky-header .nav-outer {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
}
/* Remove the now-empty button/toggler box on desktop so it can't reserve space */
@media (min-width: 992px) {
	.main-header .header-lower .outer-box,
	.main-header .sticky-header .outer-box { display: none !important; }
}
/* Breathing room so logos aren't glued to the corner */
.main-header .header-lower .logo { padding: 12px 0; }
.footer-logo { display: inline-block; margin-bottom: 22px; }

/* Remove header "Let's Talk" button AND its reserved space so the menu sits at
   the same right inset in both sticky and non-sticky headers. */
.main-header .ui-btn-outer,
.main-header .outer-box .ui-btn-search { display: none !important; }

/* ===== Markup-style Mega Menu ===== */
/* Anchor the mega panel to the full header container so it stays centered
   (not shifted to the right by the nav element). */
.main-header .header-lower .main-box { position: relative; }
.header-style-one .main-box .nav-outer { position: static; }
.main-header .main-menu { position: static; }
.main-header .main-menu .navigation { position: static; }
.main-header .sticky-header .inner-container { position: relative; }
.main-header .sticky-header .nav-outer,
.main-header .sticky-header .main-menu,
.main-header .sticky-header .navigation { position: static; }

/* Remove desktop search icon + 3-line hamburger toggler */
.main-header .ui-btn-search .search-btn,
.main-header .main-header__search { display: none !important; }
@media (min-width: 992px) {
	.main-header .mobile-nav-toggler { display: none !important; }
}

.main-menu .navigation > li.has-mega { position: static; }
.main-menu .navigation > li.has-mega > .mega-menu {
	position: absolute;
	left: 0 !important;
	right: 0 !important;
	top: 100% !important;
	transform: translateY(22px);
	width: auto !important;
	max-width: 1200px;
	margin: 0 auto !important;
	background-color: #0b0b0d;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 18px;
	padding: 0 !important;
	display: flex !important;
	flex-wrap: nowrap;
	gap: 0;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5);
	z-index: 200;
	transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}
.main-menu .navigation > li.has-mega:hover > .mega-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Left brand intro column */
.main-menu .navigation > li.has-mega > .mega-menu > li.mega-intro {
	width: 330px;
	flex: 0 0 330px;
	border: none;
	border-right: 1px solid rgba(255, 255, 255, 0.08);
	padding: 42px 36px;
	background: linear-gradient(180deg, rgba(255, 107, 30, 0.10), rgba(255, 255, 255, 0.015));
}
.mega-intro .mega-intro-title {
	display: block;
	color: #fff;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 16px;
}
.mega-intro .mega-intro-text {
	color: var(--text-color, #7A7A7A);
	font-size: 14px;
	line-height: 1.75;
	margin: 0 0 24px;
}
.mega-intro .mega-intro-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
}
.mega-intro .mega-intro-link i { color: var(--theme-color1, #FF6B1E); transition: transform .3s ease; }
.mega-intro .mega-intro-link:hover { color: var(--theme-color1, #FF6B1E); }
.mega-intro .mega-intro-link:hover i { transform: translateX(5px); }

/* Right main area */
.main-menu .navigation > li.has-mega > .mega-menu > li.mega-main {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	border: none;
	padding: 34px 40px;
}
.mega-main .mega-main-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	padding: 13px 18px;
	margin: 0 0 24px;
}
.mega-main .mega-main-head span { color: #fff; font-size: 16px; font-weight: 600; }
.mega-main .mega-main-head i { color: var(--text-color, #7A7A7A); font-size: 12px; }

/* Columns layout (What We Do) */
.mega-main-body .mega-cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px 34px;
	align-items: start;
}
.mega-cols .mega-col { min-width: 0; }
.mega-cols .mega-col-title {
	display: block;
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.mega-cols .mega-col-title a { color: #fff; font-size: 15px; font-weight: 600; }
.mega-cols .mega-col-title a:hover { color: var(--theme-color1, #FF6B1E); }
.mega-cols .mega-col-links { display: flex; flex-direction: column; }

/* Group row (with optional + expandable children) */
.mega-cols .mega-group { position: relative; }
.mega-cols .mega-group-link {
	display: block;
	position: relative;
	color: var(--text-color, #7A7A7A);
	font-size: 14px;
	line-height: 1.35;
	padding: 6px 20px 6px 14px;
	transition: color .25s ease;
}
/* left branch marker */
.mega-cols .mega-group-link::before {
	content: "";
	position: absolute;
	left: 0;
	top: 13px;
	width: 7px;
	height: 1px;
	background: rgba(255, 255, 255, 0.28);
}
.mega-cols .mega-group-link:hover { color: var(--theme-color1, #FF6B1E); }
.mega-cols .mega-group-link:hover::before { background: var(--theme-color1, #FF6B1E); }

/* + / - indicator for groups that have children */
.mega-cols .mega-group.has-children > .mega-toggle::after {
	content: "+";
	position: absolute;
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 15px;
	line-height: 1;
	color: rgba(255, 255, 255, 0.5);
	transition: transform .25s ease, color .25s ease;
}
.mega-cols .mega-group.has-children:hover > .mega-toggle::after {
	content: "\2212"; /* minus */
	color: var(--theme-color1, #FF6B1E);
}

/* Sub items (collapsed by default, revealed on group hover) */
.mega-cols .mega-sub {
	display: none;
	margin: 4px 0 6px 14px;
	padding-left: 12px;
	border-left: 1px solid rgba(255, 255, 255, 0.10);
}
.mega-cols .mega-group.has-children:hover > .mega-sub { display: block; }
.mega-cols .mega-sub a {
	display: block;
	color: var(--text-color, #7A7A7A);
	font-size: 13px;
	line-height: 1.4;
	padding: 5px 0;
	transition: color .25s ease, padding-left .25s ease;
}
.mega-cols .mega-sub a:hover { color: var(--theme-color1, #FF6B1E); padding-left: 5px; }

/* List / grid layout (Who We Are, OrpoxAI, Industries) */
.mega-main-body .mega-links { display: flex; flex-direction: column; }
.mega-main-body .mega-links a {
	color: var(--text-color, #7A7A7A);
	font-size: 15px;
	padding: 9px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	transition: color .25s ease, padding-left .25s ease;
}
.mega-main-body .mega-links a:hover { color: var(--theme-color1, #FF6B1E); padding-left: 6px; }

/* Grid (Industries): even, dense newspaper columns regardless of label wrapping */
.mega-main-body .mega-links.mega-links-grid {
	display: block;
	column-count: 4;
	column-gap: 34px;
}
.mega-main-body .mega-links.mega-links-grid a {
	display: block;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	border-bottom: none;
	font-size: 14px;
	padding: 6px 0;
}

@media (max-width: 1199.98px) {
	.mega-main-body .mega-links.mega-links-grid { column-count: 3; }
}

/* Mobile: flatten mega menu into accordion */
@media (max-width: 991.98px) {
	.mobile-menu .main-menu .navigation > li.has-mega,
	.mobile-menu .navigation > li.has-mega { position: static; }
	.mobile-menu .mega-menu {
		position: static !important;
		transform: none !important;
		width: auto !important;
		max-width: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		display: none;
		flex-direction: column;
		box-shadow: none;
		border: none;
		border-radius: 0;
		overflow: visible;
		background: transparent;
	}
	.mobile-menu .mega-menu > li.mega-intro { display: none; }
	.mobile-menu .mega-menu > li.mega-main { padding: 0 0 0 15px; border: none; }
	.mobile-menu .mega-main .mega-main-head { display: none; }
	.mobile-menu .mega-cols { grid-template-columns: 1fr; gap: 8px; }
	.mobile-menu .mega-links,
	.mobile-menu .mega-links.mega-links-grid { grid-template-columns: 1fr; }
	.mobile-menu .mega-col-title { margin: 8px 0 4px; padding: 0; border: none; }
}

/* ===== Reliable hover for OrpoxTech menu (kill Gencyo gap / dead-zone) ===== */
.main-menu .navigation > li.dropdown > .sub-menu,
.main-menu .navigation > li.has-mega > .mega-menu {
	margin-top: 0 !important;
}
.main-menu .navigation > li.dropdown:hover > .sub-menu,
.main-menu .navigation > li.has-mega:hover > .mega-menu {
	opacity: 1 !important;
	visibility: visible !important;
}
.main-menu .navigation > li.has-mega:hover > .mega-menu {
	transform: translateY(0);
}
/* transparent bridge so the mouse can travel from the item to the panel */
.main-menu .navigation > li.dropdown > .sub-menu::before,
.main-menu .navigation > li.has-mega > .mega-menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -28px;
	height: 28px;
	background: transparent;
}

/* Contact form messages */
.orpoxtech-form-message {
	padding: 12px 16px;
	margin-bottom: 15px;
	border-radius: 4px;
	display: none;
	font-size: 14px;
}
.orpoxtech-form-message.success {
	display: block;
	background: rgba(255, 107, 30, 0.15);
	color: #fff;
	border: 1px solid var(--theme-color1, #FF6B1E);
}
.orpoxtech-form-message.error {
	display: block;
	background: rgba(220, 53, 69, 0.15);
	color: #fff;
	border: 1px solid #dc3545;
}

/* ============================================================
   Service / Industry detail sections (full multi-section page)
   ============================================================ */
.orpox-detail-head { max-width: 720px; margin: 0 auto 50px; }
.orpox-detail-head .sub-title {
	display: inline-block;
	color: var(--theme-color1, #FF6B1E);
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 12px;
}
.orpox-detail-head h2 { font-size: 40px; line-height: 1.2; margin: 0; }

/* Capabilities cards */
.orpox-cap-card {
	height: 100%;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 16px;
	padding: 34px 30px;
	margin-bottom: 30px;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.orpox-cap-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 50px rgba(0,0,0,0.08);
	border-color: var(--theme-color1, #FF6B1E);
}
.orpox-cap-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	border-radius: 14px;
	background: rgba(255,107,30,0.10);
	color: var(--theme-color1, #FF6B1E);
	font-size: 26px;
	margin-bottom: 22px;
	transition: background .3s ease, color .3s ease;
}
.orpox-cap-card:hover .orpox-cap-icon { background: var(--theme-color1, #FF6B1E); color: #fff; }
.orpox-cap-card h4 { font-size: 22px; margin-bottom: 12px; }
.orpox-cap-card p { margin: 0; color: #6a6a6a; }

/* Process steps */
.orpox-process { background: #0b0b0f; }
.orpox-process .orpox-detail-head h2 { color: #fff; }
.orpox-step-card {
	height: 100%;
	background: #16161c;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	padding: 34px 28px;
	margin-bottom: 30px;
	transition: transform .3s ease, border-color .3s ease;
}
.orpox-step-card:hover { transform: translateY(-6px); border-color: var(--theme-color1, #FF6B1E); }
.orpox-step-num {
	display: block;
	font-size: 40px;
	font-weight: 700;
	color: var(--theme-color1, #FF6B1E);
	line-height: 1;
	margin-bottom: 18px;
}
.orpox-step-card h4 { color: #fff; font-size: 20px; margin-bottom: 10px; }
.orpox-step-card p { color: #a7a7ad; margin: 0; }

/* Why choose */
.orpox-why-image img { border-radius: 18px; }
.orpox-why-content { padding-left: 20px; }
.orpox-why-content .sub-title {
	color: var(--theme-color1, #FF6B1E);
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	display: block;
	margin-bottom: 12px;
}
.orpox-why-content h2 { font-size: 36px; line-height: 1.2; margin-bottom: 16px; }
.orpox-why-content > p { color: #6a6a6a; margin-bottom: 24px; }
.orpox-why-list { list-style: none; margin: 0; padding: 0; }
.orpox-why-list li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.orpox-why-list li i { color: var(--theme-color1, #FF6B1E); font-size: 18px; margin-top: 3px; }
@media (max-width: 991.98px) { .orpox-why-content { padding-left: 0; margin-top: 34px; } }

/* FAQ */
.orpox-faq-wrap { max-width: 900px; margin: 0 auto; }
.orpox-faq-item {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 12px;
	padding: 0 24px;
	margin-bottom: 16px;
}
.orpox-faq-item summary {
	list-style: none;
	cursor: pointer;
	font-size: 19px;
	font-weight: 600;
	padding: 22px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.orpox-faq-item summary::-webkit-details-marker { display: none; }
.orpox-faq-item summary i { color: var(--theme-color1, #FF6B1E); transition: transform .3s ease; flex: 0 0 auto; }
.orpox-faq-item[open] summary i { transform: rotate(45deg); }
.orpox-faq-body { padding: 0 0 22px; color: #6a6a6a; }
.orpox-faq-body p { margin: 0; }

/* CTA */
.orpox-cta-box {
	background: linear-gradient(120deg, #16161c 0%, #23130b 100%);
	border-radius: 20px;
	padding: 56px 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
}
.orpox-cta-text h2 { color: #fff; font-size: 34px; margin-bottom: 10px; }
.orpox-cta-text p { color: #b5b5bb; margin: 0; }
@media (max-width: 767.98px) {
	.orpox-detail-head h2 { font-size: 30px; }
	.orpox-cta-box { padding: 40px 26px; }
	.orpox-cta-text h2 { font-size: 26px; }
}

/* ===== Overview ===== */
.orpox-overview-media img { border-radius: 18px; }
.orpox-overview-content { padding-left: 20px; }
.orpox-overview-content .sub-title {
	color: var(--theme-color1, #FF6B1E);
	font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
	display: block; margin-bottom: 12px;
}
.orpox-overview-content h2 { font-size: 38px; line-height: 1.2; margin-bottom: 16px; }
.orpox-overview-text { color: #6a6a6a; }
.orpox-overview-text p { margin-bottom: 14px; }
@media (max-width: 991.98px) { .orpox-overview-content { padding-left: 0; margin-top: 34px; } }

/* ===== Tabs ===== */
.orpox-tabs { max-width: 960px; margin: 0 auto; }
.orpox-tab-labels { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 34px; }
.orpox-tab-btn {
	padding: 12px 24px; border-radius: 40px; border: 1px solid #e5e5e5;
	background: #fff; color: #16161c; font-weight: 600; cursor: pointer; transition: all .25s ease;
}
.orpox-tab-btn:hover { border-color: var(--theme-color1, #FF6B1E); color: var(--theme-color1, #FF6B1E); }
.orpox-tab-btn.active { background: var(--theme-color1, #FF6B1E); border-color: var(--theme-color1, #FF6B1E); color: #fff; }
.orpox-tab-panel { display: none; background: #f7f7f9; border-radius: 16px; padding: 34px 36px; font-size: 17px; color: #4d4d55; }
.orpox-tab-panel.active { display: block; }
.orpox-chips { display: flex; flex-wrap: wrap; gap: 12px; }
.orpox-chips span {
	padding: 10px 20px; background: #fff; border: 1px solid #e5e5e5;
	border-radius: 30px; font-weight: 600; color: #16161c;
}
.orpox-tick-list { list-style: none; margin: 16px 0 0; padding: 0; }
.orpox-tick-list li { position: relative; padding-left: 26px; margin-bottom: 10px; }
.orpox-tick-list li::before {
	content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900;
	position: absolute; left: 0; top: 2px; color: var(--theme-color1, #FF6B1E); font-size: 14px;
}

/* ===== Numbered cards ===== */
.orpox-num-card {
	height: 100%; background: #fff; border: 1px solid #ececec; border-radius: 16px;
	padding: 34px 30px; margin-bottom: 30px; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.orpox-num-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(0,0,0,.08); border-color: var(--theme-color1, #FF6B1E); }
.orpox-num { display: block; font-size: 30px; font-weight: 700; color: var(--theme-color1, #FF6B1E); line-height: 1; margin-bottom: 16px; }
.orpox-num-card h4, .orpox-num-card h5 { font-size: 20px; margin-bottom: 10px; }
.orpox-num-card p { margin: 0; color: #6a6a6a; }

/* ===== Stats ===== */
.orpox-stat { text-align: center; margin-bottom: 20px; }
.orpox-stat-num { display: block; font-size: 52px; font-weight: 700; color: var(--theme-color1, #FF6B1E); line-height: 1; }
.orpox-stat p { margin: 10px 0 0; font-weight: 600; color: #16161c; }

/* ===== Excellence (industries grid) ===== */
.orpox-excellence-card {
	display: block; position: relative; height: 100%; background: #fff; border: 1px solid #ececec;
	border-radius: 14px; padding: 26px 24px; margin-bottom: 26px; transition: all .3s ease;
}
.orpox-excellence-card:hover { background: #16161c; border-color: #16161c; transform: translateY(-4px); }
.orpox-excellence-card h5 { margin: 0; font-size: 18px; color: #16161c; transition: color .3s ease; }
.orpox-excellence-card i { color: var(--theme-color1, #FF6B1E); margin-bottom: 16px; display: inline-block; transition: transform .3s ease; }
.orpox-excellence-card:hover h5 { color: #fff; }
.orpox-excellence-card:hover i { transform: translateX(6px); }

/* ===== Partner cards ===== */
.orpox-partner-card {
	height: 100%; text-align: center; background: #fff; border: 1px solid #ececec;
	border-radius: 16px; padding: 30px 20px; margin-bottom: 26px; transition: all .3s ease;
}
.orpox-partner-card:hover { transform: translateY(-6px); border-color: var(--theme-color1, #FF6B1E); box-shadow: 0 20px 44px rgba(0,0,0,.07); }
.orpox-partner-card .orpox-cap-icon { margin-bottom: 16px; }
.orpox-partner-card h5 { font-size: 18px; margin-bottom: 8px; }
.orpox-partner-card p { margin: 0; color: #6a6a6a; font-size: 15px; }

/* ===== Case study + blog cards ===== */
.orpox-case-card, .orpox-blog-card {
	display: block; height: 100%; background: #fff; border: 1px solid #ececec; border-radius: 16px;
	overflow: hidden; margin-bottom: 30px; transition: transform .3s ease, box-shadow .3s ease;
}
.orpox-case-card:hover, .orpox-blog-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(0,0,0,.08); }
.orpox-case-media, .orpox-blog-media { overflow: hidden; }
.orpox-case-media img, .orpox-blog-media img { width: 100%; height: 220px; object-fit: cover; transition: transform .5s ease; }
.orpox-case-card:hover .orpox-case-media img, .orpox-blog-card:hover .orpox-blog-media img { transform: scale(1.06); }
.orpox-case-body, .orpox-blog-body { padding: 24px 26px; }
.orpox-case-body h4, .orpox-blog-body h4 { font-size: 20px; margin: 6px 0 14px; }
.orpox-blog-date { color: var(--theme-color1, #FF6B1E); font-weight: 600; font-size: 14px; }
.orpox-case-link { color: #16161c; font-weight: 600; }
.orpox-case-link i { color: var(--theme-color1, #FF6B1E); margin-left: 6px; transition: transform .3s ease; }
.orpox-case-card:hover .orpox-case-link i, .orpox-blog-card:hover .orpox-case-link i { transform: translateX(6px); }

/* ===== Gencyo section spacing (after tick-to-hide reorder) ===== */
/* Do NOT redefine all .section-padding — keep theme values; only fix gaps after hides. */

/* Hero followed by a pt-0 block → restore breathing room */
body.home .hero-section + .section-padding.pt-0,
body.home .hero-section + section.pt-0,
body.home .hero-section + div.pt-0 {
	padding-top: 120px !important;
}
@media (max-width: 1199.98px) {
	body.home .hero-section + .section-padding.pt-0,
	body.home .hero-section + section.pt-0,
	body.home .hero-section + div.pt-0 { padding-top: 100px !important; }
}
@media (max-width: 991.98px) {
	body.home .hero-section + .section-padding.pt-0,
	body.home .hero-section + section.pt-0,
	body.home .hero-section + div.pt-0 { padding-top: 80px !important; }
}

/* Avoid collapsed gaps when two stacked pt-0 sections remain after hides */
body.home .section-padding.pt-0 + .section-padding.pt-0 {
	padding-top: 80px !important;
}
@media (max-width: 991.98px) {
	body.home .section-padding.pt-0 + .section-padding.pt-0 { padding-top: 60px !important; }
}

/* ===== Gencyo heading styles ===== */
body.home .sec-title,
body.page .sec-title,
.orpox-child-section .sec-title {
	margin-bottom: 30px;
}
body.home .sec-title .sub-title,
body.page .sec-title .sub-title,
.orpox-child-section .sec-title .sub-title,
.orpox-child-section .sub-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	color: #7A7A7A;
	font-family: var(--body-font-family);
	margin-bottom: 18px;
}
body.home .sec-title .title,
body.page .sec-title .title,
.orpox-child-section .sec-title .title,
.orpox-child-section h2.title {
	color: var(--headings-color, #FFFFFF);
	font-family: var(--heading-font-family);
	font-size: var(--h2-font-size, 50px);
	font-weight: var(--h2-font-weight, 500);
	line-height: var(--line-height-heading, 120%);
	margin: 0;
}
body.home .sec-title .title span,
body.page .sec-title .title span,
.orpox-child-section .sec-title .title span,
.orpox-child-section h2.title span {
	color: var(--theme-color1, #FF6B1E);
}
@media (max-width: 1199.98px) {
	body.home .sec-title .title,
	body.page .sec-title .title,
	.orpox-child-section .sec-title .title,
	.orpox-child-section h2.title { font-size: 44px; }
}
@media (max-width: 767.98px) {
	body.home .sec-title .title,
	body.page .sec-title .title,
	.orpox-child-section .sec-title .title,
	.orpox-child-section h2.title { font-size: 36px; }
}
@media (max-width: 469.98px) {
	body.home .sec-title .title,
	body.page .sec-title .title,
	.orpox-child-section .sec-title .title,
	.orpox-child-section h2.title { font-size: 28px; }
}

body.home .hero-1 .hero-content .hero-title {
	color: var(--headings-color, #FFFFFF);
	font-family: var(--heading-font-family);
}
body.home .hero-1 .hero-content .hero-title span {
	display: block;
	font-weight: 400;
}

/* Dynamic token section titles stay on-brand */
.orpox-stats-section .sec-title .title,
.orpox-industries-section .sec-title .title,
.orpox-tech-section .sec-title .title,
.orpox-global-section .sec-title .title,
.orpox-careers-title {
	color: var(--headings-color, #FFFFFF);
}
.orpox-careers-title span {
	color: var(--theme-color1, #FF6B1E);
}

/* ===== Child mid-page sections (tick-to-show) — match Gencyo dark layout ===== */
.orpox-child-section {
	position: relative;
	background-color: transparent;
	color: var(--text-color, #7A7A7A);
}
.orpox-child-section .auto-container,
.orpox-child-section .container {
	position: relative;
	z-index: 1;
}
.orpox-child-cta {
	background: linear-gradient(120deg, rgba(255, 107, 30, 0.12) 0%, rgba(13, 13, 13, 0.4) 100%);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.orpox-child-cta .title {
	color: var(--headings-color, #FFFFFF);
	margin-bottom: 16px;
}
.orpox-child-cta p {
	color: var(--text-color, #7A7A7A);
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.orpox-child-stat .number {
	font-size: 46px;
	line-height: 1;
	color: var(--headings-color, #FFFFFF);
	font-weight: 600;
	margin-bottom: 10px;
}
.orpox-child-stat .label {
	color: var(--text-color, #7A7A7A);
	font-size: 15px;
}
.orpox-child-custom .title {
	color: var(--headings-color, #FFFFFF);
	margin-bottom: 18px;
}
.orpox-child-custom .orpox-child-custom-body {
	color: var(--text-color, #7A7A7A);
	line-height: 1.7;
}
.orpox-child-custom .orpox-child-custom-body h1,
.orpox-child-custom .orpox-child-custom-body h2,
.orpox-child-custom .orpox-child-custom-body h3,
.orpox-child-custom .orpox-child-custom-body h4 {
	color: var(--headings-color, #FFFFFF);
}

