/* ==========================================================================
   BrandXpart theme — main stylesheet (v3 "Dark Tech")
   Deep black canvas, orange→amber glow, glass cards, a 3D orb in the hero and
   subtle motion. Section classes (bx-*) are applied to core blocks in page
   content, so editors keep normal block editing.
   ========================================================================== */

:root {
	--bx-bg: #07070a;
	--bx-bg-2: #0d0d12;
	--bx-bg-3: #14141a;
	--bx-surface: rgba(255, 255, 255, .035);
	--bx-surface-2: rgba(255, 255, 255, .06);
	--bx-line: rgba(255, 255, 255, .10);
	--bx-line-2: rgba(255, 255, 255, .16);
	--bx-text: #f5f5f7;
	--bx-text-2: #d4d4d8;
	--bx-muted: #a1a1aa;
	--bx-muted-2: #8b8b95;
	--bx-orange: #ff5a1f;
	--bx-orange-2: #ff8a3d;
	--bx-amber: #ffb547;
	--bx-violet: #8b5cf6;
	--bx-violet-2: #c4b5fd;
	--bx-on-orange: #120700;
	--bx-grad: linear-gradient(135deg, #ff5a1f, #ff8a3d);
	--bx-star: #ffb547;
	--bx-head: "Sora", "DM Sans", system-ui, sans-serif;
	--bx-font: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--bx-radius: 24px;
	--bx-gutter: 32px;
	--bx-sec: 120px;
	color-scheme: dark;
}

/* ---------- motion ---------- */
@keyframes bxFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes bxFloat2 { 0%, 100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(12px) rotate(-3deg); } }
@keyframes bxSpin { to { transform: rotate(360deg); } }
@keyframes bxSpinBack { to { transform: rotate(-360deg); } }
@keyframes bxPulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(1.6); } }
@keyframes bxGlow { 0%, 100% { opacity: .75; transform: scale(1); } 50% { opacity: 1; transform: scale(1.06); } }
@keyframes bxDash { to { stroke-dashoffset: 0; } }
@keyframes bxShine { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
@keyframes bxProgress { 0% { width: 0; } 60%, 100% { width: 100%; } }
@keyframes bxMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 110px; background: var(--bx-bg); }
body {
	margin: 0;
	background: var(--bx-bg);
	color: var(--bx-text);
	font-family: var(--bx-font);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	position: relative;
}
/* ambient grid + glow behind the top of every page */
body::after {
	content: ""; position: absolute; z-index: -1; inset: 0 0 auto 0; height: 1100px; pointer-events: none;
	background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
	background-size: 64px 64px;
	-webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 25%, #000 30%, transparent 75%);
	mask-image: radial-gradient(ellipse 70% 60% at 50% 25%, #000 30%, transparent 75%);
}
.bx-main { position: relative; isolation: isolate; }
.bx-main::before {
	content: ""; position: absolute; z-index: -1; width: 900px; height: 900px; right: -260px; top: -340px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(255, 90, 31, .30) 0%, rgba(255, 90, 31, .08) 40%, transparent 70%);
	animation: bxGlow 5s ease-in-out infinite;
}
.bx-main::after {
	content: ""; position: absolute; z-index: -1; width: 700px; height: 700px; left: -320px; top: 380px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(139, 92, 246, .18) 0%, transparent 65%);
}
img, video, iframe { max-width: 100%; height: auto; }
a { color: var(--bx-orange-2); text-decoration: none; transition: color .2s; }
a:hover { color: var(--bx-amber); }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible {
	outline: 3px solid var(--bx-orange-2);
	outline-offset: 3px;
	border-radius: 8px;
}
h1, h2, h3, h4, h5, h6 { color: var(--bx-text); font-family: var(--bx-head); letter-spacing: -0.03em; line-height: 1.15; margin: 0; text-wrap: balance; }
p { margin: 0; }
::selection { background: rgba(255, 90, 31, .35); color: #fff; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.bx-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--bx-orange); color: var(--bx-on-orange); padding: 10px 16px; border-radius: 8px; }
.bx-skip:focus { left: 16px; }

.bx-wrap {
	max-width: 1280px;
	margin-inline: auto;
	padding-left: max(16px, env(safe-area-inset-left, 0px));
	padding-right: max(16px, env(safe-area-inset-right, 0px));
}
@media (min-width: 700px) {
	.bx-wrap {
		padding-left: max(var(--bx-gutter), env(safe-area-inset-left, 0px));
		padding-right: max(var(--bx-gutter), env(safe-area-inset-right, 0px));
	}
}
.bx-sec { padding-block: var(--bx-sec) 0; }
.bx-sec--tight { padding-block: 56px 0; }
.bx-dark { color: var(--bx-text); }
.bx-stack-sm { display: flex; flex-direction: column; gap: 10px; }

/* ---------- type ---------- */
.bx-eyebrow, p.bx-eyebrow {
	display: inline-flex; align-items: center; gap: 10px; align-self: flex-start;
	font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--bx-orange-2);
}
.bx-head--center .bx-eyebrow { align-self: center; }
.bx-eyebrow::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--bx-orange); box-shadow: 0 0 12px var(--bx-orange); flex: none; }
.bx-eyebrow--on-dark { color: var(--bx-orange-2); }
.bx-h1, h1.bx-h1 { font-size: clamp(34px, 3.9vw, 56px); line-height: 1.08; font-weight: 700; letter-spacing: -.035em; text-wrap: balance; color: var(--bx-text); }
.bx-h1--article { font-size: clamp(32px, 4.2vw, 52px); max-width: 960px; }
.bx-h1 mark, .bx-h2 mark, .bx-hero mark, .bx-cta mark {
	background: linear-gradient(90deg, #ff5a1f, #ffb547, #ff5a1f, #ffb547); background-size: 200% 100%;
	-webkit-background-clip: text; background-clip: text; color: transparent;
	animation: bxShine 6s linear infinite;
}
.bx-h2, h2.bx-h2 { font-size: clamp(28px, 2.9vw, 42px); line-height: 1.12; font-weight: 700; letter-spacing: -.03em; color: var(--bx-text); }
.bx-lead { font-size: 18px; line-height: 1.7; color: var(--bx-muted); max-width: 640px; }
.bx-head { display: flex; flex-direction: column; gap: 16px; max-width: 720px; }
.bx-head--center { align-items: center; text-align: center; margin-inline: auto; }

/* ---------- buttons (theme + core/button styles) ---------- */
.bx-btn, .wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 26px; border-radius: 14px;
	font-family: var(--bx-font); font-weight: 700; font-size: 15px; line-height: 1.2;
	border: 0; cursor: pointer; text-decoration: none;
	transition: background-color .2s, transform .2s, border-color .2s, box-shadow .2s;
}
.bx-btn:hover, .wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); }
.bx-btn--sm { min-height: 44px; padding: 0 20px; font-size: 14px; border-radius: 999px; }
.bx-btn--orange, .bx-btn-orange .wp-block-button__link, .wp-block-button__link {
	background: var(--bx-grad); color: var(--bx-on-orange); box-shadow: 0 18px 40px -14px rgba(255, 90, 31, .9);
}
.bx-btn--orange:hover, .bx-btn-orange .wp-block-button__link:hover, .wp-block-button__link:hover { color: var(--bx-on-orange); box-shadow: 0 22px 46px -12px rgba(255, 90, 31, 1); }
.bx-btn--dark, .bx-btn-dark .wp-block-button__link, .bx-btn-ghost .wp-block-button__link, .bx-btn-line .wp-block-button__link {
	background: rgba(255, 255, 255, .05); color: var(--bx-text); border: 1px solid var(--bx-line-2); box-shadow: none;
}
.bx-btn--dark:hover, .bx-btn-dark .wp-block-button__link:hover, .bx-btn-ghost .wp-block-button__link:hover, .bx-btn-line .wp-block-button__link:hover {
	background: rgba(255, 255, 255, .09); color: #fff; border-color: rgba(255, 255, 255, .3); box-shadow: none;
}
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-buttons.is-content-justification-center { justify-content: center; }

/* ---------- header (floating glass pill) ---------- */
.bx-header {
	position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50;
	padding: 16px 0 0;
}
.admin-bar .bx-header { top: calc(32px + env(safe-area-inset-top, 0px)); }
@media (max-width: 782px) { .admin-bar .bx-header { top: env(safe-area-inset-top, 0px); } }
.bx-header__bar {
	display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 68px; position: relative;
	max-width: 1280px; margin-inline: auto;
	background: rgba(20, 20, 26, .68); border: 1px solid var(--bx-line); border-radius: 999px;
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	padding: 0 10px 0 24px !important;
	box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .7);
}
@media (min-width: 700px) { .bx-header { padding-inline: var(--bx-gutter); } }
@media (max-width: 699px) { .bx-header { padding-inline: 12px; } }
.bx-logo { font-family: var(--bx-head); font-size: 23px; font-weight: 700; letter-spacing: -.03em; color: var(--bx-text); line-height: 1; }
.bx-logo:hover { color: #fff; }
.bx-logo span { color: var(--bx-orange); }
.bx-logo--dark { color: var(--bx-text); }
.custom-logo { max-height: 44px; width: auto; }
.bx-header__actions { display: flex; align-items: center; gap: 10px; }
.bx-admin-hint { color: var(--bx-orange-2); font-size: 13px; }

.bx-nav { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; align-items: center; }
.bx-nav__item { display: flex; align-items: center; gap: 0; border-radius: 999px; transition: background .2s; }
.bx-nav__link { color: #c4c4cc; font-size: 15px; font-weight: 500; padding: 10px 14px; border-radius: 999px; }
.bx-nav__item:hover, .bx-nav__item.is-current { background: rgba(255, 255, 255, .07); }
.bx-nav__link:hover, .bx-nav__item.is-current > .bx-nav__link, .bx-nav__item.is-open > .bx-nav__link { color: #fff; }
.bx-nav__toggle {
	background: none; border: 0; color: #c4c4cc; cursor: pointer; margin-left: -8px; margin-right: 4px;
	width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px;
}
.bx-nav__item.is-open .bx-nav__toggle svg { transform: rotate(180deg); }

.bx-mega {
	position: absolute; left: 0; right: 0; top: 74px; padding: 10px 0 0;
	visibility: hidden; opacity: 0; transform: translateY(6px);
	transition: opacity .18s, transform .18s, visibility 0s .18s;
}
.has-mega:hover > .bx-mega, .has-mega:focus-within > .bx-mega, .has-mega.is-open > .bx-mega {
	visibility: visible; opacity: 1; transform: none; transition: opacity .18s, transform .18s;
}
.has-mega.is-closed > .bx-mega { visibility: hidden; opacity: 0; }
.bx-mega__in {
	background: rgba(16, 16, 22, .94); border: 1px solid var(--bx-line); border-radius: 28px;
	-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
	box-shadow: 0 40px 90px rgba(0, 0, 0, .6); display: flex; overflow: hidden;
}
.bx-mega__cols { flex: 1; list-style: none; margin: 0; padding: 32px 36px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px 32px; }
.bx-mega__col { min-width: 0; }
.bx-mega__head { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bx-orange-2); margin-bottom: 8px; }
.bx-mega__head a { color: var(--bx-orange-2); }
.bx-mega__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.bx-mega__link { display: block; font-size: 14px; color: var(--bx-text-2); padding: 7px 10px; margin-left: -10px; border-radius: 10px; }
.bx-mega__link:hover, .bx-mega__link.is-current { background: rgba(255, 90, 31, .12); color: #fff; }
.bx-mega__side {
	width: 290px; flex: none; padding: 32px 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px;
	background: radial-gradient(circle at 80% 10%, rgba(255, 90, 31, .35), transparent 60%), var(--bx-bg-2); border-left: 1px solid var(--bx-line);
}
.bx-mega__pitch { font-family: var(--bx-head); font-size: 21px; line-height: 1.3; font-weight: 600; color: #fff; letter-spacing: -.02em; }
.bx-mega__all { color: var(--bx-muted); font-size: 14px; text-align: center; }
.bx-mega__all:hover { color: var(--bx-amber); }

.bx-burger {
	display: none; width: 46px; height: 46px; border-radius: 999px;
	border: 1px solid var(--bx-line-2); background: rgba(255, 255, 255, .04); color: #fff;
	align-items: center; justify-content: center; cursor: pointer;
}
@media (max-width: 1024px) {
	.bx-header__nav, .bx-header__cta { display: none; }
	.bx-burger { display: inline-flex; }
}
.bx-drawer { position: fixed; inset: 0; z-index: 70; background: rgba(0, 0, 0, .6); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.bx-drawer__panel {
	position: absolute; top: 0; right: 0; bottom: 0; width: min(380px, 100%);
	background: var(--bx-bg-2); border-left: 1px solid var(--bx-line); overflow-y: auto; display: flex; flex-direction: column; gap: 18px;
	padding: calc(20px + env(safe-area-inset-top, 0px)) max(22px, env(safe-area-inset-right, 0px)) calc(24px + env(safe-area-inset-bottom, 0px)) 22px;
}
.bx-drawer__top { display: flex; justify-content: space-between; align-items: center; }
.bx-drawer__close { display: inline-flex; }
.bx-drawer__menu, .bx-drawer__menu ul { list-style: none; margin: 0; padding: 0; }
.bx-drawer__menu li { position: relative; }
.bx-drawer__menu > li { border-bottom: 1px solid var(--bx-line); }
.bx-drawer__menu a { display: block; color: var(--bx-text); padding: 13px 44px 13px 0; font-size: 16px; }
.bx-drawer__menu .sub-menu { padding-left: 14px; }
.bx-drawer__menu .sub-menu a { font-size: 14px; padding-block: 8px; color: var(--bx-muted); }
.bx-drawer__menu .sub-menu > li > a { color: var(--bx-orange-2); font-weight: 600; }
.bx-drawer__menu .sub-menu .sub-menu > li > a { color: var(--bx-muted); font-weight: 400; }
.bx-sub-toggle {
	position: absolute; right: 0; top: 6px; width: 38px; height: 38px; border-radius: 10px;
	background: rgba(255, 255, 255, .06); border: 0; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.bx-sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

/* ---------- page hero (plain pages, posts, archives) ---------- */
.bx-page-hero { position: relative; overflow: hidden; }
.bx-page-hero__in { display: flex; flex-direction: column; gap: 18px; padding-block: 72px 72px; }
.bx-page-hero__sub { color: var(--bx-muted); font-size: 18px; max-width: 700px; }
.bx-crumbs { font-size: 13px; color: var(--bx-muted-2); }
.bx-crumbs a { color: var(--bx-muted-2); }
.bx-crumbs a:hover { color: var(--bx-orange-2); }
.bx-crumbs .last, .bx-crumbs span:last-child { color: var(--bx-orange-2); }
.bx-article__meta { color: var(--bx-muted); font-size: 14px; display: flex; gap: 10px; flex-wrap: wrap; }
.bx-article__cover { position: relative; }
.bx-article__cover img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 28px; display: block; border: 1px solid var(--bx-line); }

/* ---------- reading column (posts + plain pages) ---------- */
.bx-prose { max-width: 780px; margin-inline: auto; font-size: 17px; line-height: 1.85; color: var(--bx-text-2); }
.bx-prose > * + * { margin-top: 1.1em; }
.bx-prose h2 { font-size: clamp(26px, 3vw, 34px); margin-top: 1.8em; }
.bx-prose h3 { font-size: clamp(21px, 2.4vw, 25px); margin-top: 1.6em; }
.bx-prose h4 { font-size: 19px; margin-top: 1.4em; }
.bx-prose strong { color: #fff; }
.bx-prose ul, .bx-prose ol { padding-left: 1.3em; }
.bx-prose li + li { margin-top: .4em; }
.bx-prose li::marker { color: var(--bx-orange-2); }
.bx-prose a { text-decoration: underline; text-underline-offset: 3px; }
.bx-prose img, .bx-prose .wp-block-image img { border-radius: 18px; }
.bx-prose blockquote { margin: 1.6em 0; padding: 18px 24px; border-left: 3px solid var(--bx-orange); background: var(--bx-surface); border-radius: 0 16px 16px 0; color: #fff; font-size: 19px; }
.bx-prose table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.bx-prose th, .bx-prose td { border: 1px solid var(--bx-line); padding: 10px 12px; text-align: left; }
.bx-prose th { background: var(--bx-surface-2); color: #fff; }
.bx-prose figcaption { font-size: 13px; color: var(--bx-muted-2); text-align: center; }
.bx-prose pre { background: var(--bx-bg-3); color: #eee; padding: 18px; border-radius: 12px; overflow-x: auto; font-size: 14px; border: 1px solid var(--bx-line); }
.bx-prose .rank-math-block, .bx-prose .wp-block-rank-math-toc-block { background: var(--bx-surface); border: 1px solid var(--bx-line); border-radius: 18px; padding: 20px 24px; }

/* ---------- glass card base ---------- */
.bx-card, .bx-feature, .bx-plan, .bx-sub, .bx-faq__item, .bx-site, .bx-addons, .bx-form-card, .bx-clients, .bx-road > *, .bx-x {
	background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
	border: 1px solid var(--bx-line);
	border-radius: var(--bx-radius);
}
.bx-notice { padding: 36px; display: flex; flex-direction: column; gap: 16px; align-items: center; text-align: center; max-width: 720px; margin-inline: auto; }
.bx-tag { font-size: 12px; font-weight: 700; color: var(--bx-orange-2); text-transform: uppercase; letter-spacing: .12em; }
.bx-tag--on-dark { color: var(--bx-orange-2); }
.bx-more { font-size: 14px; font-weight: 700; color: var(--bx-amber); }
.bx-pill { padding: 7px 13px; border: 1px solid var(--bx-line-2); border-radius: 999px; color: var(--bx-text-2); font-size: 13px; }
.bx-pill:hover { border-color: var(--bx-orange-2); color: #fff; }
.bx-socials { display: flex; flex-wrap: wrap; gap: 8px; }

/* blog cards */
.bx-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 22px; }
.bx-post__link {
	display: flex; flex-direction: column; gap: 0; color: var(--bx-text); height: 100%;
	background: var(--bx-surface); border: 1px solid var(--bx-line); border-radius: var(--bx-radius); overflow: hidden;
	transition: transform .35s, border-color .35s, box-shadow .35s;
}
.bx-post__link > :not(.bx-post__media) { padding-inline: 22px; }
.bx-post__link > :nth-child(2) { padding-top: 20px; }
.bx-post__link > :last-child { padding-bottom: 22px; }
.bx-post__link > * + * { margin-top: 10px; }
.bx-post__link:hover { color: var(--bx-text); transform: translateY(-6px); border-color: rgba(255, 138, 61, .55); box-shadow: 0 30px 80px -30px rgba(255, 90, 31, .55); }
.bx-post__link:hover .bx-post__title { color: var(--bx-amber); }
.bx-post__media { aspect-ratio: 16 / 10; overflow: hidden; background: radial-gradient(circle at 30% 40%, rgba(255, 90, 31, .55), transparent 55%), radial-gradient(circle at 75% 70%, rgba(255, 181, 71, .35), transparent 50%), #121218; }
.bx-post__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.bx-post__link:hover .bx-post__media img { transform: scale(1.04); }
.bx-post__title { font-family: var(--bx-head); font-size: 19px; line-height: 1.35; font-weight: 600; letter-spacing: -.01em; transition: color .2s; }
.bx-post__excerpt { font-size: 15px; color: var(--bx-muted); }
.bx-rowlinks { padding: 6px 26px; }
.bx-rowlink { display: flex; justify-content: space-between; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--bx-line); color: var(--bx-text); font-weight: 500; }
.bx-rowlink:last-child { border-bottom: 0; }
.bx-rowlink:hover { color: var(--bx-amber); }
.bx-rowlink span { color: var(--bx-orange-2); flex: none; }
.bx-pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 48px; }
.bx-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--bx-line); background: var(--bx-surface); color: var(--bx-text); display: inline-flex; align-items: center; justify-content: center; font-weight: 500; }
.bx-pagination .page-numbers.current { background: var(--bx-grad); color: var(--bx-on-orange); border-color: transparent; }
.bx-search { display: flex; gap: 10px; flex-wrap: wrap; width: 100%; max-width: 520px; }
.bx-search input { flex: 1 1 220px; min-height: 52px; padding: 0 18px; border-radius: 14px; border: 1px solid var(--bx-line-2); font-family: inherit; font-size: 15px; background: rgba(255, 255, 255, .04); color: var(--bx-text); }

/* ==========================================================================
   SECTION SYSTEM — classes used inside page content (core blocks)
   ========================================================================== */
.bx-entry--full > * { margin-block: 0; }
.bx-section {
	position: relative;
	max-width: 1280px; margin-inline: auto;
	padding-left: max(16px, env(safe-area-inset-left, 0px));
	padding-right: max(16px, env(safe-area-inset-right, 0px));
	padding-block: var(--bx-sec) 0;
}
@media (min-width: 700px) {
	.bx-section {
		padding-left: max(var(--bx-gutter), env(safe-area-inset-left, 0px));
		padding-right: max(var(--bx-gutter), env(safe-area-inset-right, 0px));
	}
}
.bx-section--last { padding-bottom: 0; }
.bx-band { position: relative; padding-block: 0; margin-top: 0; }
.bx-band > .bx-section { padding-block: var(--bx-sec) 0; }
.bx-entry--full > .bx-band:first-child, .bx-entry--full > .bx-hero:first-child { margin-top: 0; }
.bx-flow { display: flex; flex-direction: column; gap: 48px; }
.bx-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 56px; align-items: start; }
.bx-split--center { align-items: center; }
.bx-split > * { min-width: 0; }
.bx-row-between { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }

/* hero */
.bx-hero { position: relative; overflow: hidden; }
.bx-hero__in {
	position: relative; z-index: 1; max-width: 1280px; margin-inline: auto;
	padding-left: max(16px, env(safe-area-inset-left, 0px));
	padding-right: max(16px, env(safe-area-inset-right, 0px));
	padding-block: 80px 64px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 48px; align-items: center;
}
@media (min-width: 700px) {
	.bx-hero__in {
		padding-left: max(var(--bx-gutter), env(safe-area-inset-left, 0px));
		padding-right: max(var(--bx-gutter), env(safe-area-inset-right, 0px));
	}
}
.bx-hero--center .bx-hero__in, .bx-hero--simple .bx-hero__in { display: flex; flex-direction: column; gap: 22px; padding-block: 80px 40px; }
.bx-hero--center .bx-hero__in, .bx-hero--simple .bx-hero__in { align-items: center; text-align: center; }
.bx-hero--center .bx-lead, .bx-hero--simple .bx-lead { margin-inline: auto; }
.bx-hero--center .bx-eyebrow, .bx-hero--simple .bx-eyebrow { align-self: center; }
.bx-hero--simple .bx-h1 { max-width: 980px; }
.bx-hero--center::before {
	content: ""; position: absolute; left: 50%; top: -380px; width: 900px; height: 900px; margin-left: -450px; border-radius: 50%; pointer-events: none;
	border: 1px dashed rgba(255, 181, 71, .22); animation: bxSpin 60s linear infinite;
}
.bx-hero--simple .bx-hero__in { padding-block: 80px 40px; }
.bx-hero__copy { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.bx-hero__copy > .bx-eyebrow {
	padding: 8px 16px 8px 12px; border-radius: 999px; background: rgba(255, 90, 31, .10); border: 1px solid rgba(255, 90, 31, .35);
	font-size: 13px; letter-spacing: .02em; text-transform: none; color: #ffc7a8;
}
.bx-hero__copy > .bx-eyebrow::before { animation: bxPulse 2s ease-in-out infinite; }
.bx-hero .bx-lead { font-size: 18px; color: var(--bx-muted); max-width: 580px; }
.bx-hero__media { position: relative; min-width: 0; }
.bx-hero__media img { width: 100%; border-radius: 28px; display: block; }
.bx-hero__media figure { margin: 0; }
.bx-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bx-chips > *, h3.bx-chip, p.bx-chip {
	margin: 0 !important; padding: 8px 14px; border-radius: 999px;
	background: rgba(255, 255, 255, .05); border: 1px solid var(--bx-line);
	color: #e4e4e7 !important; font-family: var(--bx-font) !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0; line-height: 1.4;
}
.bx-hero--center .bx-chips { justify-content: center; }
.bx-rating { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; color: var(--bx-muted); }
.bx-stars { color: var(--bx-star); letter-spacing: 2px; }

/* 3D hero scene (bx/hero-visual) */
.bx-scene { position: relative; height: 560px; }
.bx-scene > * { position: absolute; }
.bx-scene__ring { left: 50%; top: 50%; width: 460px; height: 460px; margin: -230px 0 0 -230px; border-radius: 50%; border: 1px dashed rgba(255, 181, 71, .35); animation: bxSpin 18s linear infinite; }
.bx-scene__arc {
	left: 50%; top: 50%; width: 360px; height: 360px; margin: -180px 0 0 -180px; border-radius: 50%;
	background: conic-gradient(from 0deg, transparent 0deg, transparent 200deg, rgba(255, 90, 31, .9) 300deg, transparent 360deg);
	-webkit-mask: radial-gradient(circle, transparent 172px, #000 174px); mask: radial-gradient(circle, transparent 172px, #000 174px);
	animation: bxSpinBack 26s linear infinite;
}
.bx-scene__orb {
	left: 50%; top: 50%; width: 270px; height: 270px; margin: -135px 0 0 -135px; border-radius: 50%;
	background: radial-gradient(circle at 32% 28%, #ffe0b8 0%, #ffb547 14%, #ff5a1f 42%, #8a1e00 74%, #2a0900 100%);
	box-shadow: 0 0 120px 20px rgba(255, 90, 31, .45), inset -30px -40px 80px rgba(0, 0, 0, .55), inset 20px 20px 50px rgba(255, 255, 255, .25);
	animation: bxFloat 6s ease-in-out infinite;
}
.bx-scene__shadow { left: 50%; top: 50%; width: 120px; height: 120px; margin: 130px 0 0 -60px; border-radius: 50%; background: radial-gradient(ellipse, rgba(255, 90, 31, .45), transparent 70%); filter: blur(8px); }
.bx-scene__dot { border-radius: 50%; }
.bx-scene__dot--a { left: 4%; top: 46%; width: 54px; height: 54px; background: radial-gradient(circle at 30% 30%, #e9ddff, #8b5cf6 45%, #2b0f66 100%); box-shadow: 0 0 40px rgba(139, 92, 246, .6); animation: bxFloat 7s ease-in-out -2s infinite; }
.bx-scene__dot--b { right: 8%; bottom: 8%; width: 34px; height: 34px; background: radial-gradient(circle at 30% 30%, #fff2dc, #ffb547 50%, #7a3b00 100%); animation: bxFloat 6s ease-in-out infinite; }
.bx-glass {
	padding: 16px 18px; border-radius: 20px; background: rgba(24, 24, 30, .62); border: 1px solid rgba(255, 255, 255, .14);
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .7);
	display: flex; align-items: center; gap: 14px;
}
.bx-glass p { margin: 0; }
.bx-glass__num { font-family: var(--bx-head); font-weight: 700; font-size: 26px; line-height: 1; letter-spacing: -.03em; color: #fff; }
.bx-glass__num--lg { font-size: 34px; margin-top: 4px !important; }
.bx-glass__label { margin-top: 4px !important; font-size: 12px; font-weight: 600; color: var(--bx-muted); }
.bx-glass__label--up { margin-top: 0 !important; letter-spacing: .04em; text-transform: uppercase; }
.bx-glass--tl { left: 30px; top: 40px; animation: bxFloat 7s ease-in-out -2s infinite; }
.bx-glass--tr { right: 0; top: 24px; animation: bxFloat 6s ease-in-out infinite; }
.bx-glass--bl { left: 0; bottom: 56px; width: 236px; flex-direction: column; align-items: stretch; gap: 0; animation: bxFloat 7s ease-in-out -2s infinite; }
.bx-glass__chart { display: block; margin-top: 8px; width: 100%; height: auto; }
.bx-draw { stroke-dasharray: 420; stroke-dashoffset: 420; animation: bxDash 2.4s ease-out .4s forwards; }
.bx-glass--br { right: 18px; bottom: 120px; animation: bxFloat2 8s ease-in-out -1s infinite; }
.bx-glass--list { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 16px; }
.bx-glass--list span { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: #fff; }
.bx-glass--list i { width: 28px; height: 28px; border-radius: 8px; background: var(--bx-grad); }
.bx-glass--list i.c2 { background: linear-gradient(135deg, #8b5cf6, #c4b5fd); }
.bx-glass--list i.c3 { background: linear-gradient(135deg, #3b82f6, #93c5fd); }
@media (max-width: 600px) {
	.bx-scene { height: 380px; }
	.bx-glass--br, .bx-glass--tl, .bx-scene__dot--a { display: none; }
	.bx-scene__ring { width: 320px; height: 320px; margin: -160px 0 0 -160px; }
	.bx-scene__arc { width: 260px; height: 260px; margin: -130px 0 0 -130px; -webkit-mask: radial-gradient(circle, transparent 122px, #000 124px); mask: radial-gradient(circle, transparent 122px, #000 124px); }
	.bx-scene__orb { width: 190px; height: 190px; margin: -95px 0 0 -95px; }
	.bx-scene__shadow { margin-top: 90px; }
	.bx-glass--tr { top: 0; right: 0; }
	.bx-glass--bl { bottom: 8px; width: 200px; }
}

/* stats (bx/stats block) — gradient-border band */
.bx-stats-wrap { position: relative; padding-top: 32px !important; }
.bx-stats {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	border-radius: 28px; padding: 1px; gap: 0;
	background: linear-gradient(135deg, rgba(255, 90, 31, .6), rgba(255, 255, 255, .08) 40%, rgba(139, 92, 246, .5));
}
.bx-stat { padding: 34px 30px; background: var(--bx-bg-2); border-left: 1px solid rgba(255, 255, 255, .06); }
.bx-stat:first-child { border-left: 0; border-radius: 27px 0 0 27px; }
.bx-stat:last-child { border-radius: 0 27px 27px 0; }
.bx-stat__num { font-family: var(--bx-head); font-size: clamp(34px, 3.3vw, 46px); font-weight: 700; color: #fff; letter-spacing: -.04em; font-variant-numeric: tabular-nums; line-height: 1; }
.bx-stat__num span { color: var(--bx-orange-2); }
.bx-stat__label { margin-top: 10px; font-size: 15px; color: var(--bx-muted); }
.bx-stats--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bx-stats--grid .bx-stat { padding: 22px 22px; border-radius: 0 !important; border-top: 1px solid rgba(255, 255, 255, .06); }
.bx-stats--grid .bx-stat:nth-child(1) { border-radius: 27px 0 0 0 !important; border-top: 0; }
.bx-stats--grid .bx-stat:nth-child(2) { border-radius: 0 27px 0 0 !important; border-top: 0; }
.bx-stats--grid .bx-stat:nth-last-child(2) { border-radius: 0 0 0 27px !important; }
.bx-stats--grid .bx-stat:last-child { border-radius: 0 0 27px 0 !important; }
.bx-stats--grid .bx-stat:nth-child(2n+1) { border-left: 0; }
.bx-stats--grid .bx-stat__num { font-size: 34px; }
@media (max-width: 700px) {
	.bx-stats--band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bx-stats--band .bx-stat { border-radius: 0 !important; padding: 24px 20px; }
	.bx-stats--band .bx-stat:nth-child(1) { border-radius: 27px 0 0 0 !important; }
	.bx-stats--band .bx-stat:nth-child(2) { border-radius: 0 27px 0 0 !important; }
	.bx-stats--band .bx-stat:nth-child(3) { border-radius: 0 0 0 27px !important; border-left: 0; }
	.bx-stats--band .bx-stat:nth-child(4) { border-radius: 0 0 27px 0 !important; }
}

/* feature cards */
.bx-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 20px; }
.bx-cards--wide { grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); }
.bx-cards > * { margin: 0 !important; }
.bx-feature {
	position: relative; padding: 30px; display: flex; flex-direction: column; gap: 12px; overflow: hidden;
	transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.bx-feature:hover { transform: translateY(-6px); border-color: rgba(255, 138, 61, .55); box-shadow: 0 30px 80px -30px rgba(255, 90, 31, .55); }
.bx-feature h3 { font-size: 21px; font-weight: 600; }
.bx-feature p { font-size: 15px; color: var(--bx-muted); }
.bx-feature--accent { background: linear-gradient(180deg, rgba(255, 90, 31, .16), rgba(255, 90, 31, .03)); border-color: rgba(255, 138, 61, .40); }
.bx-feature--accent p { color: var(--bx-text-2); }
.bx-feature--sm { padding: 24px; gap: 10px; }
.bx-feature--sm h3 { font-size: 18px; }
.bx-feature--sm p { font-size: 14px; }
.bx-index { font-size: 13px !important; font-weight: 700; color: var(--bx-orange-2) !important; letter-spacing: .06em; }

/* 3D icon tile */
.bx-icon-box {
	width: 64px; height: 64px; flex: none; border-radius: 18px; display: flex; align-items: center; justify-content: center; margin-bottom: 10px;
	background: linear-gradient(145deg, #ffb547, #ff5a1f 60%, #9a2600);
	box-shadow: inset 0 -8px 16px rgba(0, 0, 0, .35), inset 0 6px 12px rgba(255, 255, 255, .4), 0 18px 40px -12px rgba(255, 90, 31, .8);
	transform: perspective(300px) rotateX(12deg) rotateY(-14deg);
}
.bx-icon-box::before { content: ""; width: 28px; height: 28px; background: #1a0800; -webkit-mask: var(--bx-ic) center / contain no-repeat; mask: var(--bx-ic) center / contain no-repeat; }
.bx-cards > :nth-child(3n+2) .bx-icon-box, .bx-icon-box.bx-icon--team {
	background: linear-gradient(145deg, #c4b5fd, #8b5cf6 60%, #3b1a8f);
	box-shadow: inset 0 -8px 16px rgba(0, 0, 0, .35), inset 0 6px 12px rgba(255, 255, 255, .4), 0 18px 40px -12px rgba(139, 92, 246, .8);
}
.bx-cards > :nth-child(3n+2) .bx-icon-box::before, .bx-icon-box.bx-icon--team::before { background: #12062e; }
.bx-feature--accent .bx-icon-box, .bx-icon-box.bx-icon--star {
	background: linear-gradient(145deg, #fff0d6, #ffb547 55%, #b86200);
	box-shadow: inset 0 -8px 16px rgba(0, 0, 0, .3), inset 0 6px 12px rgba(255, 255, 255, .5), 0 18px 40px -12px rgba(255, 181, 71, .8);
}
.bx-feature--accent .bx-icon-box::before, .bx-icon-box.bx-icon--star::before { background: #2a1400; }
.bx-icon--growth { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M14 7h7v7'/%3E%3C/svg%3E"); }
.bx-icon--team { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.8-3.5 3.4-5.5 6.5-5.5s5.7 2 6.5 5.5'/%3E%3Ccircle cx='17.5' cy='9' r='2.5'/%3E%3Cpath d='M17 14.5c2.4.2 4 1.8 4.5 4.5'/%3E%3C/svg%3E"); }
.bx-icon--mail { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.5 6.5L12 13l8.5-6.5'/%3E%3C/svg%3E"); }
.bx-icon--phone { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A17 17 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.bx-icon--pin { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.bx-icon--star { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.4 6.8 19.1l1-5.8L3.5 9.2l5.9-.9z'/%3E%3C/svg%3E"); }
.bx-cards--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.bx-feature > .wp-block-group, .bx-sub__body { display: flex; flex-direction: column; gap: 10px; }

/* expertise bento (bx/services-grid style "dark") */
.bx-xgrid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.bx-xgrid::before {
	content: ""; position: absolute; z-index: -1; left: 50%; top: 10%; width: 800px; height: 800px; margin-left: -400px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(255, 90, 31, .14), transparent 65%);
}
.bx-xgrid > * { margin: 0 !important; }
.bx-x {
	position: relative; min-height: 300px; padding: 28px; color: var(--bx-text); overflow: hidden;
	display: flex; flex-direction: column; justify-content: space-between; gap: 22px;
	background: rgba(255, 255, 255, .035);
	transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.bx-x:hover { transform: translateY(-6px); border-color: rgba(255, 138, 61, .55); box-shadow: 0 30px 80px -30px rgba(255, 90, 31, .55); }
.bx-x__body { display: flex; flex-direction: column; gap: 8px; }
.bx-x h3 { font-size: 23px; font-weight: 700; color: #fff; letter-spacing: -.02em; }
.bx-x p { font-size: 15px; color: var(--bx-muted); }
.bx-x .bx-index { color: var(--bx-orange-2) !important; }
.bx-x a { color: var(--bx-amber); font-size: 14px; font-weight: 700; }
.bx-x a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.bx-x--big {
	background: linear-gradient(160deg, rgba(255, 90, 31, .22), rgba(20, 20, 26, .9) 55%); border-color: rgba(255, 138, 61, .35);
	flex-direction: row-reverse; flex-wrap: wrap; align-items: flex-end; min-height: 360px;
}
.bx-x--big .bx-x__body { flex: 1 1 260px; }
.bx-x--big h3 { font-size: clamp(24px, 2.2vw, 30px); line-height: 1.15; letter-spacing: -.03em; }
.bx-x--big p { color: var(--bx-text-2); }
.bx-x--big .bx-index { color: #ffc7a8 !important; }
.bx-x--wide, .bx-x--ai { background: linear-gradient(120deg, rgba(139, 92, 246, .22), rgba(20, 20, 26, .9) 60%); border-color: rgba(167, 139, 250, .35); flex-direction: row-reverse; flex-wrap: wrap; align-items: center; }
.bx-x--ai .bx-x__body { flex: 1 1 260px; }
.bx-x--ai .bx-index { color: var(--bx-violet-2) !important; }
@media (min-width: 900px) {
	.bx-x--big, .bx-x--wide { grid-column: span 2; }
}
@media (max-width: 899px) { .bx-xgrid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); } }

/* decorative service illustrations */
.bx-vis { display: block; position: relative; flex: none; pointer-events: none; }
.bx-vis i, .bx-vis b { display: block; }
.bx-vis--web {
	flex: 1 1 300px; border-radius: 16px; background: #111117; border: 1px solid rgba(255, 255, 255, .12); overflow: hidden;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8); transform: perspective(900px) rotateY(-10deg) rotateX(4deg);
	animation: bxFloat 6s ease-in-out infinite;
}
.bx-vis--web .bx-vis__bar { display: flex; gap: 6px; padding: 10px 12px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.bx-vis--web .bx-vis__bar i { width: 9px; height: 9px; border-radius: 50%; background: #ff5f57; }
.bx-vis--web .bx-vis__bar i:nth-child(2) { background: #febc2e; }
.bx-vis--web .bx-vis__bar i:nth-child(3) { background: #28c840; }
.bx-vis--web .bx-vis__bar b { margin-left: 10px; flex: 1; height: 9px; border-radius: 5px; background: rgba(255, 255, 255, .08); }
.bx-vis__page { display: block; padding: 18px; }
.bx-vis__page > b { height: 8px; border-radius: 4px; background: rgba(255, 255, 255, .14); width: 85%; margin-top: 10px; }
.bx-vis__page > b.g { height: 14px; width: 60%; margin-top: 0; background: linear-gradient(90deg, #ff5a1f, #ffb547); }
.bx-vis__page > b.s { width: 70%; background: rgba(255, 255, 255, .10); }
.bx-vis__page > b.btn { width: 34%; height: 22px; border-radius: 6px; background: var(--bx-orange); margin-top: 16px; }
.bx-vis__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.bx-vis__tiles i { height: 54px; border-radius: 8px; background: rgba(255, 90, 31, .25); }
.bx-vis__tiles i:nth-child(2) { background: rgba(139, 92, 246, .25); }
.bx-vis__tiles i:nth-child(3) { background: rgba(255, 255, 255, .08); }
.bx-vis--bars { display: flex; align-items: flex-end; gap: 8px; height: 120px; }
.bx-vis--bars i { flex: 1; border-radius: 8px 8px 2px 2px; background: rgba(255, 255, 255, .12); }
.bx-vis--bars i.hot { background: linear-gradient(180deg, #ffb547, #ff5a1f); }
.bx-vis--bars i.top { box-shadow: 0 0 30px rgba(255, 90, 31, .6); }
.bx-vis--seo { display: flex; flex-direction: column; gap: 8px; }
.bx-vis--seo .q, .bx-vis--seo .r { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 12px; font-size: 13px; }
.bx-vis--seo .q { background: rgba(255, 255, 255, .06); border: 1px solid var(--bx-line); color: var(--bx-muted); }
.bx-vis--seo .r { background: linear-gradient(90deg, rgba(255, 90, 31, .25), rgba(255, 90, 31, .05)); border: 1px solid rgba(255, 138, 61, .45); font-weight: 700; color: #fff; }
.bx-vis--seo b { height: 10px; width: 80%; border-radius: 5px; background: rgba(255, 255, 255, .08); }
.bx-vis--seo b.s { width: 60%; background: rgba(255, 255, 255, .06); }
.bx-vis--shapes { height: 110px; }
.bx-vis--shapes i { position: absolute; }
.bx-vis--shapes .o { left: 10px; top: 10px; width: 80px; height: 80px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #ffe0b8, #ff5a1f 60%, #7a1a00); animation: bxFloat 6s ease-in-out infinite; }
.bx-vis--shapes .sq { left: 80px; top: 26px; width: 74px; height: 74px; border-radius: 18px; background: linear-gradient(145deg, #c4b5fd, #8b5cf6 60%, #2b0f66); animation: bxFloat2 7s ease-in-out -2s infinite; }
.bx-vis--shapes .tr { left: 150px; top: 6px; width: 0; height: 0; border-left: 40px solid transparent; border-right: 40px solid transparent; border-bottom: 70px solid #ffb547; animation: bxFloat 6s ease-in-out -1s infinite; }
.bx-vis--video { display: flex; flex-direction: column; gap: 10px; }
.bx-vis--video .scr { height: 70px; border-radius: 12px; background: linear-gradient(135deg, #1f1f28, #2a2a36); display: flex; align-items: center; justify-content: center; }
.bx-vis--video .scr i { width: 40px; height: 40px; border-radius: 50%; background: #f5f5f7; position: relative; }
.bx-vis--video .scr i::after { content: ""; position: absolute; left: 16px; top: 12px; border-left: 12px solid #07070a; border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
.bx-vis--video .prog { display: block; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, .10); overflow: hidden; }
.bx-vis--video .prog b { height: 100%; background: linear-gradient(90deg, #ff5a1f, #ffb547); animation: bxProgress 4s ease-in-out infinite; }
.bx-vis--video .tl { display: flex; gap: 4px; }
.bx-vis--video .tl i { flex: 3; height: 18px; border-radius: 4px; background: rgba(255, 90, 31, .45); }
.bx-vis--video .tl i:nth-child(2) { flex: 2; background: rgba(139, 92, 246, .45); }
.bx-vis--video .tl i:nth-child(3) { flex: 4; background: rgba(255, 255, 255, .12); }
.bx-vis--phone { align-self: flex-end; width: 84px; height: 150px; border-radius: 20px; border: 2px solid rgba(255, 255, 255, .25); background: linear-gradient(180deg, #1a1a22, #0d0d12); padding: 10px 8px; display: flex; flex-direction: column; gap: 6px; animation: bxFloat 7s ease-in-out -2s infinite; }
.bx-vis--phone b { height: 8px; border-radius: 4px; background: rgba(255, 255, 255, .14); }
.bx-vis--phone b.g { height: 40px; border-radius: 8px; background: var(--bx-grad); }
.bx-vis--phone b.s { width: 70%; background: rgba(255, 255, 255, .10); }
.bx-vis--phone b.v { height: 30px; border-radius: 8px; background: rgba(139, 92, 246, .35); }
.bx-vis--ai { width: 170px; height: 170px; }
.bx-vis--ai .ring { position: absolute; inset: 0; border-radius: 50%; border: 1px dashed rgba(196, 181, 253, .5); animation: bxSpin 18s linear infinite; }
.bx-vis--ai b {
	position: absolute; inset: 38px; border-radius: 26px; display: flex; align-items: center; justify-content: center;
	background: linear-gradient(145deg, #c4b5fd, #8b5cf6 55%, #2b0f66); box-shadow: 0 0 60px rgba(139, 92, 246, .7);
	font-family: var(--bx-head); font-weight: 800; font-size: 32px; color: #12062e; animation: bxGlow 5s ease-in-out infinite;
}
.bx-vis--nodes { height: 100px; position: relative; }
.bx-vis--nodes i { position: absolute; width: 34px; height: 34px; border-radius: 10px; background: #1c1c24; border: 1px solid var(--bx-line-2); z-index: 1; }
.bx-vis--nodes .n1 { left: 0; top: 33px; background: var(--bx-grad); border: 0; box-shadow: 0 0 24px rgba(255, 90, 31, .55); }
.bx-vis--nodes .n2 { left: 90px; top: 0; }
.bx-vis--nodes .n3 { left: 90px; top: 66px; }
.bx-vis--nodes .n4 { left: 180px; top: 33px; background: linear-gradient(145deg, #c4b5fd, #8b5cf6); border: 0; animation: bxFloat 6s ease-in-out infinite; }
.bx-vis--nodes b { position: absolute; height: 1px; background: linear-gradient(90deg, rgba(255, 138, 61, .8), rgba(255, 255, 255, .15)); transform-origin: left center; }
.bx-vis--nodes .l1 { left: 34px; top: 50px; width: 64px; transform: rotate(-24deg); }
.bx-vis--nodes .l2 { left: 34px; top: 50px; width: 64px; transform: rotate(24deg); }
.bx-vis--nodes .l3 { left: 124px; top: 50px; width: 58px; }
.bx-vis--lens { height: 100px; position: relative; }
.bx-vis--lens i { position: absolute; border-radius: 50%; }
.bx-vis--lens .o { left: 0; top: 0; width: 100px; height: 100px; background: conic-gradient(from 20deg, #ff5a1f, #ffb547, #8b5cf6, #ff5a1f); animation: bxSpin 14s linear infinite; }
.bx-vis--lens .m { left: 14px; top: 14px; width: 72px; height: 72px; background: #0d0d12; }
.bx-vis--lens .c { left: 34px; top: 34px; width: 32px; height: 32px; background: radial-gradient(circle at 35% 35%, #fff2dc, #ff5a1f 60%, #5a1400); box-shadow: 0 0 20px rgba(255, 90, 31, .6); }
.bx-vis--donut { height: 100px; display: flex; align-items: center; gap: 18px; }
.bx-vis--donut .d { flex: none; width: 92px; height: 92px; border-radius: 50%; background: conic-gradient(#ff5a1f 0 46%, #ffb547 46% 72%, #8b5cf6 72% 88%, rgba(255, 255, 255, .1) 88% 100%); -webkit-mask: radial-gradient(circle, transparent 28px, #000 29px); mask: radial-gradient(circle, transparent 28px, #000 29px); animation: bxSpin 30s linear infinite; }
.bx-vis--donut .kp { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.bx-vis--donut .kp b { height: 10px; width: 80%; border-radius: 5px; background: rgba(255, 255, 255, .14); }
.bx-vis--donut .kp b.s { width: 55%; background: rgba(255, 138, 61, .5); }
.bx-vis--slides { height: 100px; display: flex; align-items: flex-end; gap: 8px; }
.bx-vis--slides .sc { flex: 1 1 auto; height: 100%; border-radius: 12px; background: #15151c; border: 1px solid var(--bx-line); padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.bx-vis--slides .sc b { height: 8px; width: 70%; border-radius: 4px; background: rgba(255, 255, 255, .14); }
.bx-vis--slides .sc b.g { width: 50%; height: 12px; background: var(--bx-grad); }
.bx-vis--slides .sc b.s { width: 40%; }
.bx-vis--slides i { flex: none; width: 22px; border-radius: 6px 6px 2px 2px; background: rgba(255, 255, 255, .12); }
.bx-vis--slides i:nth-of-type(1) { height: 40%; }
.bx-vis--slides i:nth-of-type(2) { height: 62%; background: rgba(255, 138, 61, .55); }
.bx-vis--slides i:nth-of-type(3) { height: 86%; background: var(--bx-grad); }
.bx-vis--orb { height: 90px; }
.bx-vis--orb i { width: 76px; height: 76px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, #ffe0b8, #ff5a1f 60%, #6a1600); box-shadow: 0 0 40px rgba(255, 90, 31, .45); animation: bxFloat 6s ease-in-out infinite; }

/* process steps — numbered tiles on a glowing line */
.bx-steps { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 28px 24px; }
.bx-steps::before {
	content: ""; position: absolute; left: 6%; right: 6%; top: 37px; height: 2px; border-radius: 2px;
	background: linear-gradient(90deg, #ff5a1f, #ffb547, #8b5cf6); opacity: .55;
}
.bx-steps > * { position: relative; margin: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.bx-step__n {
	width: 74px; height: 74px; border-radius: 22px; display: flex !important; align-items: center; justify-content: center;
	font-family: var(--bx-head); font-size: 22px !important; font-weight: 700; color: #fff !important; line-height: 1 !important;
	background: var(--bx-bg-3); border: 1px solid var(--bx-line-2); margin-bottom: 14px !important;
}
.bx-steps > :first-child .bx-step__n {
	background: linear-gradient(145deg, #ffb547, #ff5a1f 60%, #9a2600); border: 0; color: #1a0800 !important;
	box-shadow: 0 0 40px rgba(255, 90, 31, .55), inset 0 6px 12px rgba(255, 255, 255, .35);
}
.bx-steps > :last-child:not(:first-child) .bx-step__n {
	background: linear-gradient(145deg, #c4b5fd, #8b5cf6 60%, #3b1a8f); border: 0; color: #12062e !important;
	box-shadow: 0 0 40px rgba(139, 92, 246, .55), inset 0 6px 12px rgba(255, 255, 255, .35);
}
.bx-steps h3 { font-size: 22px; font-weight: 600; }
.bx-steps p:not(.bx-step__n) { font-size: 15px; color: var(--bx-muted); }
.bx-head--center + .bx-steps > * { align-items: center; text-align: center; }
.bx-head--center + .bx-steps::before { left: 12%; right: 12%; }

/* roadmap */
.bx-road { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.bx-road > * { margin: 0 !important; padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.bx-road h3 { font-size: 19px; font-weight: 600; color: #fff; }
.bx-road p { font-size: 14px; color: var(--bx-muted); }
.bx-road .bx-month { align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: rgba(255, 90, 31, .15); color: #ffc7a8; font-size: 13px; font-weight: 600; }
.bx-road > .is-final { background: linear-gradient(180deg, rgba(255, 90, 31, .22), rgba(255, 90, 31, .04)); border-color: rgba(255, 138, 61, .45); }

/* clients */
.bx-clients { padding: clamp(24px, 4vw, 48px); display: flex; flex-direction: column; gap: 32px; }
.bx-clients__count { display: flex; gap: 16px; align-items: center; }
.bx-clients__count .bx-big { font-family: var(--bx-head); font-size: 60px; font-weight: 700; line-height: 1; letter-spacing: -.04em; background: var(--bx-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.bx-clients__count p:not(.bx-big) { font-size: 15px; line-height: 1.5; color: var(--bx-muted); max-width: 240px; }
.bx-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; }
.bx-logos > * { margin: 0 !important; height: 84px; border-radius: 16px; background: #f5f5f7; display: flex; align-items: center; justify-content: center; padding: 12px; transition: transform .25s, box-shadow .25s; }
.bx-logos > *:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -16px rgba(255, 90, 31, .6); }
.bx-logos img { max-height: 56px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .85; transition: filter .2s, opacity .2s; }
.bx-logos > *:hover img { filter: none; opacity: 1; }

/* reviews (bx/reviews block wraps the Trustindex Google widget) */
.bx-reviews__badge { display: flex; align-items: center; gap: 14px; padding: 14px 20px; flex-wrap: wrap; }
.bx-reviews__score { font-family: var(--bx-head); font-size: 30px; font-weight: 700; color: #fff; }
.bx-reviews__meta { font-size: 13px; color: var(--bx-muted); }
.bx-live { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #fff; background: rgba(255, 255, 255, .05); border: 1px solid var(--bx-line-2); padding: 8px 14px; border-radius: 999px; }
.bx-live::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #34c46a; box-shadow: 0 0 10px #34c46a; animation: bxPulse 2s ease-in-out infinite; }
.bx-reviews__widget { min-height: 120px; }
.bx-reviews__widget .ti-widget .ti-review-item > .ti-inner { border-radius: 22px !important; border: 1px solid var(--bx-line) !important; background: rgba(255, 255, 255, .04) !important; }
.bx-reviews__widget .ti-widget .ti-review-content, .bx-reviews__widget .ti-widget .ti-review-text-container,
.bx-reviews__widget .ti-widget .ti-name, .bx-reviews__widget .ti-widget .ti-date { color: var(--bx-text-2) !important; }
.bx-reviews__widget .ti-widget .ti-name { color: #fff !important; }

/* faq accordion (JS turns .bx-faq__q into buttons; text stays in HTML) */
.bx-faq { display: flex; flex-direction: column; gap: 10px; }
.bx-faq > * { margin: 0 !important; }
.bx-faq__item { border-radius: 18px; overflow: hidden; background: rgba(255, 255, 255, .035); transition: border-color .25s, background .25s; }
.bx-faq__item.is-open { border-color: rgba(255, 138, 61, .40); background: linear-gradient(180deg, rgba(255, 90, 31, .12), rgba(255, 90, 31, .03)); }
.bx-faq__q { margin: 0 !important; font-family: var(--bx-font) !important; font-size: 18px !important; font-weight: 600 !important; color: #fff; letter-spacing: -.01em; }
.bx-faq__q strong { font-weight: 600; }
.bx-faq__btn {
	width: 100%; display: flex; justify-content: space-between; gap: 16px; align-items: center; text-align: left;
	padding: 22px 24px; background: none; border: 0; font: inherit; color: inherit; cursor: pointer;
}
.bx-faq__pm { width: 32px; height: 32px; flex: none; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 500; transition: background .2s, border-color .2s; }
.bx-faq__item.is-open .bx-faq__pm { background: var(--bx-orange); border-color: var(--bx-orange); color: var(--bx-on-orange); }
.bx-faq__a { padding: 0 24px 22px; font-size: 15px; line-height: 1.75; color: var(--bx-text-2); }
.no-js .bx-faq__q { padding: 22px 24px 8px; }

/* pricing */
.bx-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 20px; align-items: stretch; }
.bx-plans > * { margin: 0 !important; }
.bx-plan { position: relative; padding: 32px; display: flex; flex-direction: column; gap: 18px; transition: transform .35s, border-color .35s; }
.bx-plan:hover { transform: translateY(-4px); border-color: rgba(255, 138, 61, .45); }
.bx-plan h3 { font-size: 22px; font-weight: 600; }
.bx-price { font-family: var(--bx-head); font-size: 44px !important; font-weight: 700; color: #fff; letter-spacing: -.03em; font-variant-numeric: tabular-nums; line-height: 1.15; }
.bx-price em { font-style: normal; font-size: 16px; font-weight: 500; color: var(--bx-muted); font-family: var(--bx-font); }
.bx-plan > p:not(.bx-price):not(.bx-badge) { font-size: 14px; color: var(--bx-muted); }
.bx-plan ul { list-style: none; margin: 0; padding: 20px 0 0; border-top: 1px solid var(--bx-line); display: flex; flex-direction: column; gap: 11px; flex-grow: 1; }
.bx-plan li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--bx-text-2); }
.bx-plan li::before {
	content: ""; flex: none; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%;
	background: var(--bx-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23120700' stroke-width='3.5'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.bx-plan .wp-block-buttons, .bx-plan .wp-block-button, .bx-plan .wp-block-button__link { width: 100%; }
.bx-plan:not(.is-featured) .wp-block-button__link { background: rgba(255, 255, 255, .06); color: #fff; border: 1px solid var(--bx-line-2); box-shadow: none; }
.bx-plan.is-featured {
	background: linear-gradient(180deg, rgba(255, 90, 31, .20), rgba(20, 20, 26, .95) 60%); border-color: rgba(255, 138, 61, .55);
	box-shadow: 0 40px 90px -30px rgba(255, 90, 31, .55);
}
.bx-plan.is-featured h2, .bx-plan.is-featured h3, .bx-plan.is-featured .bx-price { color: #fff; }
.bx-badge { position: absolute; top: -13px; left: 32px; padding: 5px 14px; border-radius: 999px; background: var(--bx-grad); color: var(--bx-on-orange); font-size: 12px !important; font-weight: 700; letter-spacing: .1em; }

/* sub-services */
.bx-subs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 18px; }
.bx-subs > * { margin: 0 !important; }
.bx-sub { padding: 14px; display: flex; gap: 18px; flex-wrap: wrap; transition: transform .35s, border-color .35s; }
.bx-sub:hover { transform: translateY(-4px); border-color: rgba(255, 138, 61, .45); }
.bx-sub > figure { flex: 1 1 130px; max-width: 160px; margin: 0; }
.bx-sub > figure img { width: 100%; height: 100%; min-height: 150px; object-fit: cover; border-radius: 14px; display: block; }
.bx-sub__body { flex: 999 1 220px; min-width: 0; padding: 10px 8px; display: flex; flex-direction: column; gap: 10px; }
.bx-sub h3 { font-size: 19px; font-weight: 600; }
.bx-sub p { font-size: 14px; color: var(--bx-muted); }
.bx-sub a { font-size: 14px; font-weight: 700; color: var(--bx-amber); }

/* media helpers */
.bx-media-frame img { width: 100%; border-radius: 28px; display: block; border: 1px solid var(--bx-line); }
.bx-media-frame { margin: 0; position: relative; }
.bx-overlap { margin-top: 0; padding-top: 24px !important; position: relative; z-index: 2; }
.bx-hero--short .bx-hero__in { padding-block: 72px 56px; }
.bx-story { display: flex; flex-direction: column; gap: 16px; padding-top: clamp(0px, 6vw, 90px); }
.bx-story p:not(.bx-eyebrow) { font-size: 16px; line-height: 1.8; color: var(--bx-muted); }

/* mission */
.bx-mission {
	position: relative; overflow: hidden; border-radius: 32px; padding: clamp(32px, 5vw, 64px) clamp(24px, 5vw, 56px);
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 36px; align-items: center;
	background: radial-gradient(circle at 90% 0%, rgba(255, 90, 31, .30), transparent 55%), var(--bx-bg-2); border: 1px solid rgba(255, 138, 61, .3);
}
.bx-mission > * { margin: 0 !important; }
.bx-mission p { color: var(--bx-muted); font-size: 16px; line-height: 1.8; }
.bx-mission .bx-quote { font-family: var(--bx-head); font-size: clamp(22px, 2.6vw, 32px); line-height: 1.3; font-weight: 600; color: #fff; letter-spacing: -.02em; }
.bx-mission .bx-quote mark { background: none; color: var(--bx-amber); -webkit-text-fill-color: currentColor; animation: none; }

/* team */
.bx-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 20px; }
.bx-team > * { margin: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.bx-team figure { margin: 0; aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden; background: var(--bx-bg-3); border: 1px solid var(--bx-line); }
.bx-team figure img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.bx-team > *:hover figure img { transform: scale(1.04); }
.bx-team h3 { font-size: 18px; font-weight: 600; }
.bx-role { font-size: 13px !important; color: var(--bx-orange-2); font-weight: 600; }
.bx-links { display: flex; gap: 6px; flex-wrap: wrap; font-size: 0; }
.bx-links a { font-size: 13px; font-weight: 500; padding: 6px 12px; border: 1px solid var(--bx-line-2); border-radius: 999px; color: var(--bx-text-2); }
.bx-links a:hover { border-color: var(--bx-orange-2); color: #fff; }

/* portfolio tabs */
.bx-tabs__bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 40px; padding: 6px; border-radius: 999px; background: rgba(255, 255, 255, .04); border: 1px solid var(--bx-line); width: fit-content; max-width: 100%; }
.bx-tabs__btn {
	cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 700; letter-spacing: .06em;
	padding: 11px 18px; border-radius: 999px; border: 0; background: transparent; color: var(--bx-text-2);
	display: inline-flex; gap: 8px; align-items: center;
}
.bx-tabs__btn:hover { color: #fff; }
.bx-tabs__btn[aria-selected="true"] { background: var(--bx-grad); color: var(--bx-on-orange); box-shadow: 0 10px 30px -10px rgba(255, 90, 31, .8); }
.bx-tabs__btn small { font-size: 12px; opacity: .7; }
.bx-tab-label { display: none; }
.no-js .bx-tab-label { display: block; font-weight: 700; margin-bottom: 16px; }
.bx-sites { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 20px; }
.bx-sites > * { margin: 0 !important; }
.bx-site { position: relative; padding: 12px; display: flex; flex-direction: column; gap: 12px; transition: transform .35s, border-color .35s, box-shadow .35s; }
.bx-site:hover { transform: translateY(-6px); border-color: rgba(255, 138, 61, .55); box-shadow: 0 30px 80px -30px rgba(255, 90, 31, .55); }
.bx-site::before {
	content: ""; display: block; height: 130px; border-radius: 14px;
	background:
		radial-gradient(circle at 18px 14px, #ff5f57 4px, transparent 5px),
		radial-gradient(circle at 34px 14px, #febc2e 4px, transparent 5px),
		radial-gradient(circle at 50px 14px, #28c840 4px, transparent 5px),
		linear-gradient(rgba(255, 255, 255, .05) 0 28px, transparent 28px),
		radial-gradient(circle at 70% 70%, rgba(255, 90, 31, .35), transparent 55%), #111117;
	border: 1px solid var(--bx-line);
}
.bx-site p { font-weight: 600; font-size: 16px; color: #fff; padding: 0 6px; overflow-wrap: anywhere; }
.bx-site .wp-block-buttons { padding: 0 6px 6px; }
.bx-site .wp-block-button__link { min-height: 40px; font-size: 13px; border-radius: 10px; background: rgba(255, 255, 255, .06); color: #fff; border: 1px solid var(--bx-line-2); box-shadow: none; }
.bx-site:hover .wp-block-button__link { background: var(--bx-grad); color: var(--bx-on-orange); border-color: transparent; }
.bx-site .wp-block-button__link::after { content: ""; position: absolute; inset: 0; border-radius: var(--bx-radius); }
.bx-masonry { columns: 3 280px; column-gap: 20px; }
.bx-masonry > * { break-inside: avoid; margin: 0 0 20px !important; }
.bx-masonry img { width: 100%; border-radius: 20px; display: block; border: 1px solid var(--bx-line); transition: transform .4s; }
.bx-masonry a:hover img { transform: scale(1.02); }

/* CTA panel */
.bx-cta {
	position: relative; overflow: hidden; border-radius: 36px;
	background: radial-gradient(circle at 50% -40%, rgba(255, 90, 31, .45), transparent 60%), var(--bx-bg-2);
	border: 1px solid rgba(255, 138, 61, .45);
	box-shadow: 0 0 0 1px rgba(139, 92, 246, .15) inset, 0 40px 100px -40px rgba(255, 90, 31, .5);
	padding: clamp(48px, 7vw, 88px) clamp(24px, 5vw, 56px);
	display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; gap: 30px;
}
.bx-cta::before {
	content: ""; position: absolute; left: 7%; top: 28%; width: 70px; height: 70px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle at 30% 30%, #ffe0b8, #ff5a1f 55%, #5a1400); animation: bxFloat 6s ease-in-out infinite;
}
.bx-cta::after {
	content: ""; position: absolute; right: 8%; bottom: 22%; width: 54px; height: 54px; border-radius: 16px; pointer-events: none;
	background: linear-gradient(145deg, #c4b5fd, #8b5cf6 60%, #2b0f66); animation: bxFloat2 7s ease-in-out -2s infinite;
}
.bx-cta > * { position: relative; z-index: 1; margin: 0 !important; }
.bx-cta__copy { display: flex; flex-direction: column; align-items: center; gap: 16px; max-width: 820px; }
.bx-cta h2 { color: #fff; font-size: clamp(30px, 3.3vw, 48px); }
.bx-cta p { font-size: 18px; color: var(--bx-muted); max-width: 580px; }
.bx-cta .wp-block-buttons { justify-content: center; }
.bx-cta .bx-btn-dark .wp-block-button__link { background: var(--bx-grad); color: var(--bx-on-orange); border: 0; box-shadow: 0 18px 40px -14px rgba(255, 90, 31, .9); }
@media (max-width: 700px) { .bx-cta::before, .bx-cta::after { display: none; } }

/* footer */
.bx-footer { margin-top: var(--bx-sec); padding-block: 72px calc(32px + env(safe-area-inset-bottom, 0px)); background: #050507; border-top: 1px solid rgba(255, 255, 255, .08); }
.bx-footer__in { display: flex; flex-direction: column; gap: 52px; }
.bx-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 36px; }
.bx-footer__brand { display: flex; flex-direction: column; gap: 18px; }
.bx-footer__brand p { font-size: 15px; color: var(--bx-muted); }
.bx-footer__col h2 { font-family: var(--bx-font); font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 14px; letter-spacing: 0; }
.bx-footer__menu, .bx-footer__contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.bx-footer__menu a, .bx-footer__contact a { color: var(--bx-muted); font-size: 15px; }
.bx-footer__menu a:hover, .bx-footer__contact a:hover { color: var(--bx-amber); }
.bx-footer__contact li { display: flex; gap: 10px; align-items: flex-start; color: var(--bx-muted); font-size: 15px; line-height: 1.6; }
.bx-footer__contact svg { flex: none; margin-top: 4px; color: var(--bx-orange-2); }
.bx-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 18px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: 13px; color: var(--bx-muted-2); }
.bx-footer__members { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bx-member { display: inline-flex; align-items: center; justify-content: center; min-width: 88px; height: 38px; padding: 4px 10px; border-radius: 10px; background: #f5f5f7; color: #07070a; font-weight: 700; font-size: 12px; }
.bx-member:hover { color: #07070a; }
.bx-member img { max-height: 30px; width: auto; }
.bx-footer__legal { display: flex; gap: 18px; flex-wrap: wrap; }

.bx-wa {
	position: fixed; z-index: 40; width: 56px; height: 56px; border-radius: 50%;
	right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	background: #1f9d55; color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .45), 0 0 0 6px rgba(31, 157, 85, .15);
}
.bx-wa:hover { color: #fff; transform: scale(1.06); }

/* Elementor pages (not migrated yet) — keep them full width inside the theme */
.bxp-elementor-page .bx-entry--full { max-width: none; }

@media (max-width: 860px) {
	:root { --bx-sec: 88px; }
}
@media (max-width: 600px) {
	.bx-x { min-height: 0; }
	.bx-hero__in { padding-block: 48px 40px; }
}

/* ---------- dashboard-driven blocks ---------- */
.bx-feature--link { position: relative; }
.bx-feature--link .bx-more::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.bx-feature__media { margin: -30px -30px 6px; border-radius: var(--bx-radius) var(--bx-radius) 0 0; overflow: hidden; aspect-ratio: 16 / 9; }
.bx-feature__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bx-site.has-shot::before { display: none; }
.bx-site__shot { width: 100%; height: 190px; object-fit: cover; object-position: top; border-radius: 14px; display: block; }
.bx-site p a { color: #fff; }
.bx-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 20px; }
.bx-video { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.bx-video iframe, .bx-video video { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 18px; }
.bx-video figcaption { font-weight: 600; color: #fff; }
.bx-tab-panel.is-static .bx-tab-label { display: block; font-size: 13px; font-weight: 700; letter-spacing: .12em; color: var(--bx-orange-2); margin-bottom: 18px; }
.bx-project { display: flex; flex-direction: column; gap: 40px; }
.bx-project__media { margin: 0; }
.bx-project__media img { width: 100%; border-radius: 28px; display: block; border: 1px solid var(--bx-line); }
.bx-project__media iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 28px; }
.bx-logos figure { margin: 0; }

/* ---------- converted service pages ---------- */
.bx-intro { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 24px 64px; align-items: start; }
.bx-intro__body { display: flex; flex-direction: column; gap: 16px; font-size: 17px; line-height: 1.8; color: var(--bx-muted); }
.bx-head .bx-lead + .bx-lead, .bx-prose-lite p + p { margin-top: 2px; }
.bx-prose-lite { gap: 14px; color: var(--bx-muted); }
.bx-prose-lite ul, .bx-generic ul, .bx-feature ul, .bx-sub ul { padding-left: 1.2em; margin: 0; color: var(--bx-muted); }
.bx-generic { gap: 18px; }
.bx-generic > p { color: var(--bx-muted); max-width: 820px; }
.bx-ticks { list-style: none; padding: 0 !important; display: flex; flex-direction: column; gap: 10px; color: var(--bx-text-2); }
.bx-ticks li { display: flex; gap: 10px; align-items: flex-start; }
.bx-ticks li::before, .bx-addons li::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 3px; border-radius: 50%; background: var(--bx-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23120700' stroke-width='3.5'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 11px no-repeat; }
.bx-feature h2, .bx-feature h3, .bx-sub h2, .bx-sub h3, .bx-plan h2, .bx-plan h3, .bx-steps h2, .bx-steps h3, .bx-road h2, .bx-road h3 { font-size: 21px; font-weight: 600; letter-spacing: -.02em; }
.bx-feature--hub h2 { font-size: 22px; }
.bx-feature--info { gap: 10px; }
.bx-feature--info a { color: #fff; }
.bx-card-link a { font-size: 14px; font-weight: 700; color: var(--bx-amber); }
.bx-cards--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.bx-sticky { position: sticky; top: 120px; }
.bx-dark .bx-media-frame img { border: 1px solid var(--bx-line); }
.bx-steps--list { grid-template-columns: 1fr; gap: 0; }
.bx-steps--list::before { display: none; }
.bx-steps--list > * { display: grid !important; grid-template-columns: 74px 1fr; gap: 4px 20px !important; padding: 20px 0 !important; border-top: 1px solid var(--bx-line); }
.bx-steps--list > * > :not(.bx-step__n) { grid-column: 2; }
.bx-steps--list .bx-step__n { grid-row: span 3; width: 56px; height: 56px; border-radius: 16px; font-size: 18px !important; margin-bottom: 0 !important; }
.bx-steps--grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.bx-road .bx-month { margin: 0; }
.bx-plan > .wp-block-list { list-style: none; }
.bx-addons { border-style: dashed; padding: 24px 28px; display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; }
.bx-addons h2, .bx-addons h3 { font-size: 18px; width: 100%; }
.bx-addons ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.bx-addons li { display: flex; gap: 8px; font-size: 15px; color: var(--bx-text-2); }
.bx-videos .wp-block-embed, .bx-videos .wp-block-video { margin: 0; }
.wp-block-embed.is-provider-youtube, .wp-block-embed.is-provider-youtube .wp-block-embed__wrapper { width: 100%; }
.wp-block-embed.is-provider-youtube iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 18px; background: #000; }
.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper::before { display: none; }
.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper iframe { position: static; }
.bx-videos .wp-block-embed iframe, .bx-videos video { width: 100%; aspect-ratio: 16 / 9; height: auto; border-radius: 18px; border: 0; background: #000; }
.bx-videos > :only-child { grid-column: 1 / -1; width: 100%; max-width: 960px; }
.bx-sub > .wp-block-image { flex: 1 1 130px; max-width: 160px; margin: 0; }
.bx-sub > .wp-block-image img { width: 100%; height: 100%; min-height: 150px; object-fit: cover; border-radius: 14px; display: block; }
.bx-faq__item > h3.bx-faq__q, .bx-faq__item > h2.bx-faq__q { font-size: 18px; }

/* ---------- contact + form ---------- */
.bx-form-card { padding: clamp(22px, 4vw, 36px); display: flex; flex-direction: column; gap: 20px; box-shadow: 0 40px 90px -40px rgba(255, 90, 31, .4); }
.bx-form { display: flex; flex-direction: column; gap: 18px; }
.bx-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px 16px; }
.bx-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.bx-field label, .bx-choices legend { font-size: 14px; font-weight: 600; color: #fff; }
.bx-field input, .bx-field select { min-height: 50px; padding: 0 14px; border: 1px solid var(--bx-line-2); border-radius: 12px; font: inherit; font-size: 15px; background: rgba(255, 255, 255, .04); color: var(--bx-text); width: 100%; }
.bx-field select option { background: var(--bx-bg-2); color: var(--bx-text); }
.bx-field input::placeholder { color: var(--bx-muted-2); }
.bx-field input:focus, .bx-field select:focus { outline: 3px solid rgba(255, 90, 31, .35); border-color: var(--bx-orange); }
.bx-choices { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.bx-choices legend { margin-bottom: 8px; }
.bx-choices__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.bx-choice { position: relative; }
.bx-choice input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.bx-choice span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--bx-line-2); border-radius: 999px; font-size: 14px; background: rgba(255, 255, 255, .03); color: var(--bx-text-2); cursor: pointer; transition: background .2s, border-color .2s; }
.bx-choice span:hover { border-color: rgba(255, 138, 61, .6); }
.bx-choice input:checked + span { background: var(--bx-grad); color: var(--bx-on-orange); border-color: transparent; font-weight: 600; }
.bx-choice input:focus-visible + span { outline: 3px solid var(--bx-orange-2); outline-offset: 2px; }
.bx-form__branch { display: flex; flex-direction: column; gap: 18px; padding: 18px; border-radius: 16px; background: rgba(255, 255, 255, .03); border: 1px solid var(--bx-line); }
.bx-form__branch[hidden] { display: none !important; }
.bx-form .wp-block-button__link { width: 100%; }
.bx-form__error { background: rgba(220, 38, 38, .15); border: 1px solid rgba(248, 113, 113, .4); color: #fecaca; padding: 12px 14px; border-radius: 10px; font-size: 14px; }
.bx-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bx-map iframe { width: 100%; height: 420px; border: 1px solid var(--bx-line); border-radius: 28px; display: block; filter: invert(.9) hue-rotate(180deg) saturate(.6); }
.bx-pdf iframe { width: 100%; height: min(85vh, 1100px); border: 1px solid var(--bx-line); border-radius: 22px; background: #fff; display: block; }
@media (max-width: 600px) { .bx-map iframe { height: 280px; } .bx-sticky { position: static; } }

/* Page ends on a CTA: no extra gap before the footer. */
.bx-main:has(.bx-entry--full > .bx-section--last:last-child) + .bx-footer { margin-top: var(--bx-sec); }

/* core block defaults on dark */
.wp-block-separator { border-color: var(--bx-line); }
.wp-block-table td, .wp-block-table th { border-color: var(--bx-line); }
.wp-block-quote { border-left-color: var(--bx-orange); }
.wp-block-image figcaption, .wp-element-caption { color: var(--bx-muted-2); }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.bx-draw { stroke-dashoffset: 0; }
}

/* Keep decorative glows from widening the page on phones. */
html, body { overflow-x: clip; }
.bx-main, .bx-footer { overflow-x: clip; }
@media (max-width: 700px) {
	.bx-scene__ring { max-width: 92vw; max-height: 92vw; }
}

/* ==========================================================================
   Blog post (single)
   ========================================================================== */
.bx-article { position: relative; }
.bx-art-hero { padding: 56px max(16px, var(--bx-gutter)) 40px; }
.bx-art-hero__in { max-width: 920px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 18px; }
.bx-art-hero .bx-crumbs { font-size: 13px; color: var(--bx-muted); }
.bx-art-cat {
	display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px;
	background: rgba(255, 90, 31, .10); border: 1px solid rgba(255, 90, 31, .35);
	font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #ffc7a8; text-decoration: none;
}
.bx-art-cat:hover { color: #fff; border-color: var(--bx-orange); }
.bx-art-title { margin: 0; font-family: var(--bx-head); font-weight: 700; font-size: clamp(32px, 4.4vw, 56px); line-height: 1.1; letter-spacing: -.035em; color: var(--bx-text); text-wrap: balance; }
.bx-art-meta { margin: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 14px; font-size: 14px; color: var(--bx-muted); }
.bx-art-meta > * { display: inline-flex; align-items: center; gap: 7px; }
.bx-art-meta svg { color: var(--bx-orange-2); }
.bx-art-meta__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--bx-line-2); }

.bx-art-cover { max-width: 1140px; margin: 8px auto 0; padding-inline: max(16px, var(--bx-gutter)); }
.bx-art-cover img {
	display: block; width: 100%; height: auto; max-height: 600px; object-fit: cover; border-radius: 28px;
	border: 1px solid var(--bx-line); box-shadow: 0 40px 100px -40px rgba(255, 90, 31, .45);
}

.bx-art-body {
	max-width: 1140px; margin: 0 auto; padding: 64px max(16px, var(--bx-gutter)) 0;
	display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: start;
}
.bx-art-main { min-width: 0; }
.bx-art-main .bx-prose { max-width: 740px; margin-inline: 0; }
.bx-art-main .bx-prose img { border-radius: 18px; }
.bx-art-main .bx-prose h2 { scroll-margin-top: 120px; }
.bx-art-side { position: sticky; top: 120px; }
.bx-art-side__in { display: flex; flex-direction: column; gap: 18px; }

.bx-toc { padding: 22px; border-radius: 20px; background: rgba(255, 255, 255, .03); border: 1px solid var(--bx-line); }
.bx-toc__title { margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bx-orange-2); }
.bx-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; counter-reset: bxtoc; max-height: 52vh; overflow: auto; }
.bx-toc li { counter-increment: bxtoc; }
.bx-toc a { display: flex; gap: 10px; padding: 7px 8px; border-radius: 10px; font-size: 14px; line-height: 1.45; color: var(--bx-muted); text-decoration: none; }
.bx-toc a::before { content: counter(bxtoc, decimal-leading-zero); flex: none; font-size: 12px; font-weight: 700; color: var(--bx-line-2); padding-top: 1px; }
.bx-toc a:hover, .bx-toc a.is-active { background: rgba(255, 90, 31, .08); color: #fff; }
.bx-toc a.is-active::before { color: var(--bx-orange-2); }

.bx-art-cta {
	padding: 24px; border-radius: 20px; border: 1px solid rgba(255, 138, 61, .35);
	background: radial-gradient(circle at 100% 0, rgba(255, 90, 31, .28), transparent 60%), #111116;
	display: flex; flex-direction: column; gap: 10px; align-items: flex-start;
}
.bx-art-cta__title { margin: 0; font-family: var(--bx-head); font-weight: 600; font-size: 19px; line-height: 1.3; color: #fff; }
.bx-art-cta__text { margin: 0 0 6px; font-size: 14px; color: var(--bx-muted); }

.bx-art-share {
	margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--bx-line);
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
	font-size: 14px; font-weight: 600; color: var(--bx-text-2);
}
.bx-art-share__links { display: flex; flex-wrap: wrap; gap: 8px; }
.bx-art-share__links a, .bx-art-share__copy {
	display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 10px; font: inherit; font-size: 13px;
	background: rgba(255, 255, 255, .04); border: 1px solid var(--bx-line); color: var(--bx-text); text-decoration: none; cursor: pointer;
}
.bx-art-share__links a:hover, .bx-art-share__copy:hover { border-color: var(--bx-orange); color: #fff; }

.bx-art-related { max-width: 1240px; margin: 0 auto; padding: var(--bx-sec) max(16px, var(--bx-gutter)) 0; display: flex; flex-direction: column; gap: 32px; }

@media (max-width: 960px) {
	.bx-art-body { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: 40px; }
	.bx-art-side { position: static; }
	.bx-toc { display: none; }
}
/* BrandXpart: blog post reading polish (works for Elementor-built and Gutenberg posts) */
.bx-art-content { font-size: 17.5px; line-height: 1.8; color: var(--bx-text-2); }
.bx-art-content :is(p, ul, ol, blockquote, table, figure, pre) { margin: 0 0 1.15em; }
.bx-art-content .elementor-widget-text-editor > :last-child, .bx-art-content .elementor-widget-container > :last-child { margin-bottom: 0; }
.bx-art-content .elementor-widget:not(:last-child) { margin-bottom: 1.15em; }
.bx-art-content :is(h2, h3, h4) { color: var(--bx-text); font-family: var(--bx-head); letter-spacing: -.02em; line-height: 1.25; text-wrap: pretty; scroll-margin-top: 120px; }
.bx-art-content h2 { position: relative; font-size: clamp(25px, 2.6vw, 32px); margin: 2.2em 0 .75em; padding-top: 1.1em; border-top: 1px solid var(--bx-line); }
.bx-art-content h2::before { content: ""; position: absolute; top: -1px; left: 0; width: 56px; height: 2px; border-radius: 2px; background: var(--bx-grad); }
.bx-art-content h3 { font-size: clamp(19px, 2vw, 22px); margin: 1.8em 0 .55em; }
.bx-art-content h4 { font-size: 18px; margin: 1.5em 0 .5em; }
.bx-art-content :is(b, strong) { color: #fff; font-weight: 600; }
.bx-art-content a { color: var(--bx-orange-2); text-decoration: underline; text-decoration-color: rgba(255, 138, 61, .4); text-underline-offset: 3px; transition: text-decoration-color .2s; }
.bx-art-content a:hover { text-decoration-color: currentColor; }
.bx-art-content :is(ul, ol) { padding-left: 1.3em; }
.bx-art-content li + li { margin-top: .45em; }
.bx-art-content li::marker { color: var(--bx-orange-2); }
.bx-art-content img { display: block; max-width: 100%; height: auto; margin: 1.8em auto; border-radius: 18px; border: 1px solid var(--bx-line); }
.bx-art-content blockquote { padding: 18px 24px; border-left: 3px solid var(--bx-orange); background: var(--bx-surface); border-radius: 0 16px 16px 0; color: #fff; }
.bx-art-content table { width: 100%; display: block; overflow-x: auto; border-collapse: separate; border-spacing: 0; font-size: 15px; line-height: 1.55; margin: 1.8em 0; border: 1px solid var(--bx-line); border-radius: 16px; background: var(--bx-surface); }
.bx-art-content :is(th, td) { padding: 13px 16px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--bx-line); }
.bx-art-content :is(th, td) + :is(th, td) { border-left: 1px solid var(--bx-line); }
.bx-art-content tr:last-child > * { border-bottom: 0; }
.bx-art-content thead th, .bx-art-content table:not(:has(thead)) tr:first-child > * { background: rgba(255, 90, 31, .08); color: #fff; font-weight: 600; }
.bx-art-content tbody tr:hover > * { background: rgba(255, 255, 255, .025); }
@media (max-width: 640px) {
	.bx-art-content { font-size: 16.5px; }
	.bx-art-content h2 { margin-top: 1.8em; }
}
/* BrandXpart: blog hero — 2-line title, smaller cover */
.bx-art-hero__in, .bx-article .bx-art-hero__in.e-con.bx-c.bx-c { max-width: 1120px; }
.bx-art-title { font-size: clamp(28px, 3.2vw, 46px); line-height: 1.16; text-wrap: balance; }
.bx-art-cover { max-width: 820px; }
.bx-art-cover img, .bx-article .bx-art-cover img, .elementor .bx-article .bx-art-cover img { max-height: 360px; border-radius: 22px; box-shadow: 0 30px 80px -40px rgba(255, 90, 31, .4); }


/* Reviews (Trustindex Google widget) — Dark Tech skin */
.bx-reviews__widget .ti-widget.ti-goog { --bxr-card: rgba(255, 255, 255, .035); }
.bx-reviews__widget .ti-widget.ti-goog .ti-review-item > .ti-inner {
	background: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .02)) !important;
	border: 1px solid var(--bx-line) !important; border-radius: 20px !important; padding: 24px !important;
	box-shadow: none !important; transition: border-color .25s, transform .25s, box-shadow .25s;
}
.bx-reviews__widget .ti-widget.ti-goog .ti-review-item > .ti-inner:hover {
	border-color: rgba(255, 90, 31, .45) !important; transform: translateY(-3px);
	box-shadow: 0 24px 60px -30px rgba(255, 90, 31, .55) !important;
}
.bx-reviews__widget .ti-widget.ti-goog .ti-review-header { margin-bottom: 14px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-profile-img img { border: 2px solid rgba(255, 255, 255, .12) !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-name { color: #fff !important; font-family: var(--bx-head) !important; font-weight: 600 !important; font-size: 15px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-date, .bx-reviews__widget .ti-widget.ti-goog .ti-date * { color: var(--bx-muted-2) !important; font-size: 12.5px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-stars { margin-bottom: 12px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-review-content, .bx-reviews__widget .ti-widget.ti-goog .ti-review-content * {
	color: var(--bx-text-2) !important;
}
.bx-reviews__widget .ti-widget.ti-goog .ti-read-more, .bx-reviews__widget .ti-widget.ti-goog .ti-read-more * { color: var(--bx-orange-2) !important; font-weight: 600 !important; opacity: 1 !important; }
/* summary (left) */
.bx-reviews__widget .ti-widget.ti-goog .ti-footer .ti-name { font-size: 18px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-footer .ti-rating-text, .bx-reviews__widget .ti-widget.ti-goog .ti-footer .ti-rating-text * { color: var(--bx-muted) !important; font-size: 13.5px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-footer .ti-rating-text strong, .bx-reviews__widget .ti-widget.ti-goog .ti-footer .ti-rating-text b { color: #fff !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-profile-img img { border-radius: 14px; }
.bx-reviews__widget .ti-widget.ti-goog .ti-header-write-btn {
	background: transparent !important; color: #fff !important; border: 1px solid var(--bx-line-2) !important;
	border-radius: 999px !important; padding: 9px 18px !important; font-weight: 600 !important; font-size: 13px !important; transition: border-color .2s, background .2s;
}
.bx-reviews__widget .ti-widget.ti-goog .ti-header-write-btn:hover { border-color: var(--bx-orange) !important; background: rgba(255, 90, 31, .1) !important; }
/* arrows */
.bx-reviews__widget .ti-widget.ti-goog .ti-controls .ti-next, .bx-reviews__widget .ti-widget.ti-goog .ti-controls .ti-prev {
	width: 42px !important; height: 42px !important; border-radius: 50% !important;
	background: #14141a !important; border: 1px solid var(--bx-line-2) !important; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .8) !important;
	opacity: 1 !important; transition: border-color .2s, background .2s;
}
.bx-reviews__widget .ti-widget.ti-goog .ti-controls .ti-next:hover, .bx-reviews__widget .ti-widget.ti-goog .ti-controls .ti-prev:hover { background: var(--bx-orange) !important; border-color: var(--bx-orange) !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-controls .ti-next::before, .bx-reviews__widget .ti-widget.ti-goog .ti-controls .ti-prev::before { border-color: #fff !important; }
/* dots (mobile) */
.bx-reviews__widget .ti-widget.ti-goog .ti-controls-line { background: rgba(255, 255, 255, .1) !important; border-radius: 4px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-controls-line .dot { background: var(--bx-orange) !important; border-radius: 4px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-footer a.ti-header-write-btn, .bx-reviews__widget .ti-widget.ti-goog .ti-footer a.ti-header-write-btn * { color: #fff !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-controls .ti-prev { left: -21px !important; }
.bx-reviews__widget .ti-widget.ti-goog .ti-controls .ti-next { right: -21px !important; }

/* Portfolio — mobile layout */
@media (max-width: 700px) {
	.bx-hero--short .bx-hero__in { padding-bottom: 20px; }
	.bx-hero--short + .bx-el-root .bx-section, .bx-hero--short + .bx-section { padding-top: 28px; }
	.bx-tabs__bar {
		flex-wrap: nowrap; overflow-x: auto; width: 100%; border-radius: 16px; margin-bottom: 22px;
		scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
	}
	.bx-tabs__bar::-webkit-scrollbar { display: none; }
	.bx-tabs__btn { flex: none; white-space: nowrap; padding: 10px 14px; font-size: 12px; scroll-snap-align: start; }
	.bx-sites { grid-template-columns: 1fr; gap: 10px; }
	.bx-site:not(.has-shot) { flex-direction: row; align-items: center; gap: 14px; padding: 12px 12px 12px 14px; }
	.bx-site:not(.has-shot):hover { transform: none; }
	.bx-site:not(.has-shot)::before {
		flex: none; width: 42px; height: 42px; border-radius: 12px; border: 1px solid rgba(255, 90, 31, .35);
		background: rgba(255, 90, 31, .12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a3d' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E") center / 20px no-repeat;
	}
	.bx-site:not(.has-shot) p { flex: 1; min-width: 0; padding: 0; font-size: 15px; line-height: 1.3; }
	.bx-site:not(.has-shot) .wp-block-buttons { flex: none; padding: 0; }
	.bx-site .wp-block-button__link { min-height: 36px; padding: 0 14px; }
	.bx-site__shot { height: 170px; }
	.bx-masonry { columns: 2; column-gap: 10px; }
	.bx-masonry > * { margin-bottom: 10px !important; }
	.bx-masonry img { border-radius: 12px; }
	.bx-videos { gap: 18px; }
}
