/* eBoosters site styles. Tokens mirror the "eBoosters Night Growth" design. */

@font-face { font-family: "Plex Arabic"; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/plex-arabic-400-ar.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-089F, U+08A0-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "Plex Arabic"; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/plex-arabic-400-la.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plex Arabic"; font-weight: 500; font-style: normal; font-display: swap; src: url(../fonts/plex-arabic-500-ar.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-089F, U+08A0-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "Plex Arabic"; font-weight: 500; font-style: normal; font-display: swap; src: url(../fonts/plex-arabic-500-la.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plex Arabic"; font-weight: 700; font-style: normal; font-display: swap; src: url(../fonts/plex-arabic-700-ar.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-089F, U+08A0-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FEFC; }
@font-face { font-family: "Plex Arabic"; font-weight: 700; font-style: normal; font-display: swap; src: url(../fonts/plex-arabic-700-la.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--eb-night: #050B24;
	--eb-night-2: #0B1437;
	--eb-surface: #FFFFFF;
	--eb-surface-soft: #F6F7FB;
	--eb-ink: #151D3E;
	--eb-ink-muted: #5B6485;
	--eb-on-night: #FFFFFF;
	--eb-muted-on-night: #C8CEE3;
	--eb-accent: #E0165A;
	--eb-accent-hover: #C8104F;
	--eb-accent-on-night: #FF4D85;
	--eb-accent-tint: #FFF0F5;
	--eb-line: #E6E8F0;
	--eb-font: "Plex Arabic", "Segoe UI", Tahoma, sans-serif;
	--eb-radius-btn: 12px;
	--eb-radius-tile: 16px;
	--eb-radius-card: 24px;
	--eb-container: 1240px;
	--eb-gutter: 24px;
	--eb-shadow: 0 24px 60px -24px rgba(21, 29, 62, .28), 0 4px 14px rgba(21, 29, 62, .06);
}

/* Base (only on the coded homepage, where theme CSS is not loaded) */
.eb-body { margin: 0; background: var(--eb-surface); color: var(--eb-ink); font-family: var(--eb-font); font-size: 1rem; line-height: 1.8; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.eb-body *, .eb-body *::before, .eb-body *::after { box-sizing: border-box; }
:where(.eb-body) :where(h1, h2, h3, p, ul, figure) { margin: 0; padding: 0; }
:where(.eb-body) :where(ul) { list-style: none; }
:where(.eb-body) img { max-width: 100%; height: auto; display: block; }

.eb-container { width: 100%; max-width: calc(var(--eb-container) + 2 * var(--eb-gutter)); margin-inline: auto; padding-inline: var(--eb-gutter); }
.eb-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.eb-skip { position: absolute; inset-inline-start: 16px; top: -100px; z-index: 1000; background: var(--eb-surface); color: var(--eb-ink); padding: 10px 16px; border-radius: var(--eb-radius-btn); font-weight: 700; text-decoration: none; }
.eb-skip:focus { top: 16px; }

.eb-icon { width: 1.25em; height: 1.25em; flex: none; }

/* Buttons */
.eb-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6em; min-height: 56px; padding: .75rem 1.75rem; border-radius: var(--eb-radius-btn); font-family: var(--eb-font); font-weight: 700; font-size: 1.0625rem; line-height: 1.2; text-decoration: none; white-space: nowrap; border: 1.5px solid transparent; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.eb-btn:active { transform: translateY(1px); }
.eb-btn--primary { background: var(--eb-accent); color: #fff; box-shadow: 0 12px 30px -10px rgba(224, 22, 90, .65); }
.eb-btn--primary:hover { background: var(--eb-accent-hover); color: #fff; }
.eb-btn--ghost { background: rgba(255, 255, 255, .02); color: var(--eb-on-night); border-color: rgba(255, 255, 255, .6); }
.eb-btn--ghost:hover { background: rgba(255, 255, 255, .1); border-color: #fff; color: #fff; }
.eb-btn--sm { min-height: 48px; padding: .6rem 1.35rem; font-size: 1rem; }
.eb-btn:focus-visible, .eb-nav__link:focus-visible, .eb-logo:focus-visible, .eb-menu-toggle:focus-visible { outline: 3px solid var(--eb-accent-on-night); outline-offset: 3px; }

/* Night band (header + hero) */
.eb-night {
	position: relative;
	color: var(--eb-on-night);
	background-color: var(--eb-night);
	background-image:
		radial-gradient(60% 55% at 12% 55%, rgba(224, 22, 90, .38), transparent 70%),
		radial-gradient(45% 50% at 0% 10%, rgba(52, 76, 220, .45), transparent 70%),
		radial-gradient(40% 45% at 62% 20%, rgba(224, 22, 90, .22), transparent 70%),
		radial-gradient(60% 60% at 100% 100%, rgba(224, 22, 90, .18), transparent 70%),
		linear-gradient(180deg, #030A20 0%, var(--eb-night) 60%, #0A0F2E 100%);
	overflow: clip;
}

/* Header */
.eb-header { position: relative; z-index: 20; border-bottom: 1px solid rgba(255, 255, 255, .09); font-family: var(--eb-font); }
.eb-header__inner { display: flex; align-items: center; gap: 32px; min-height: 96px; }
.eb-logo { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; flex: none; }
.eb-logo__mark { width: 46px; height: auto; }
.eb-logo__text { display: flex; flex-direction: column; line-height: 1; text-align: left; }
.eb-logo__name { font-family: var(--eb-font); font-weight: 700; font-size: 1.7rem; letter-spacing: -.01em; }
.eb-logo__tag { margin-top: 6px; font-size: .62rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--eb-muted-on-night); }
.eb-nav { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.eb-nav__list { display: flex; align-items: center; justify-content: center; gap: clamp(20px, 3vw, 48px); flex: 1; margin: 0; padding: 0; list-style: none; }
.eb-nav__link { position: relative; display: inline-block; padding: 10px 2px; color: var(--eb-muted-on-night); font-size: 1.0625rem; font-weight: 500; text-decoration: none; transition: color .2s ease; }
.eb-nav__link:hover { color: #fff; }
.eb-nav__link[aria-current="page"] { color: #fff; font-weight: 700; }
.eb-nav__link[aria-current="page"]::after { content: ""; position: absolute; inset-inline: -6px; bottom: -2px; height: 3px; border-radius: 3px; background: var(--eb-accent); }
.eb-header__cta .eb-icon { width: 1.1em; height: 1.1em; }
.eb-menu-toggle { display: none; }

/* Hero */
.eb-hero { position: relative; padding-block: calc(96px + clamp(40px, 6vw, 72px)) clamp(120px, 12vw, 160px); }
.eb-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); align-items: center; gap: clamp(24px, 3vw, 48px); }
.eb-hero__copy { position: relative; z-index: 2; }
.eb-hero__title { font-family: var(--eb-font); font-weight: 700; font-size: clamp(2.25rem, 1.3rem + 3vw, 4rem); line-height: 1.28; letter-spacing: 0; color: #fff; text-wrap: balance; }
.eb-hero__accent { color: var(--eb-accent-on-night); }
.eb-hero__lead { margin-top: 24px; max-width: 34em; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.9; color: var(--eb-muted-on-night); }
.eb-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 36px; }
.eb-hero__visual { position: relative; margin: 0; margin-inline-end: calc(-1 * clamp(0px, (100vw - var(--eb-container)) / 2, 160px)); }
.eb-hero__visual img {
	width: 100%; height: auto;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%), linear-gradient(180deg, transparent 0, #000 9%, #000 88%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%), linear-gradient(180deg, transparent 0, #000 9%, #000 88%, transparent 100%);
	mask-composite: intersect;
}

/* Stats bar, overlapping the bottom of the night band */
.eb-stats { position: relative; z-index: 5; margin-top: -84px; font-family: var(--eb-font); }
.eb-stats__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--eb-surface); border-radius: var(--eb-radius-card); box-shadow: var(--eb-shadow); padding: 28px 12px; margin: 0; list-style: none; }
.eb-stat { display: flex; align-items: center; gap: 16px; padding-inline: clamp(12px, 2vw, 28px); }
.eb-stat + .eb-stat { border-inline-start: 1px solid var(--eb-line); }
.eb-stat__icon { display: grid; place-items: center; width: 60px; height: 60px; flex: none; border-radius: var(--eb-radius-tile); background: var(--eb-accent-tint); color: var(--eb-accent); }
.eb-stat__icon .eb-icon { width: 28px; height: 28px; }
.eb-stat__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.eb-stat__title { font-size: 1.1875rem; font-weight: 700; line-height: 1.4; color: var(--eb-ink); }
.eb-stat__text { font-size: .9375rem; line-height: 1.6; color: var(--eb-ink-muted); }

.eb-body main { display: block; }
.eb-header--overlay { position: absolute; inset-inline: 0; top: 0; }
.admin-bar .eb-header--overlay { top: 32px; }
@media (max-width: 782px) { .admin-bar .eb-header--overlay { top: 46px; } }

/* Header on theme-rendered pages (About, Contact) */
.eb-site-header { background: var(--eb-night); }
.eb-site-header .eb-header { color: #fff; }
.eb-site-header :where(ul, li) { margin: 0; padding: 0; list-style: none; }
.eb-site-header :where(a) { text-decoration: none; }
.eb-site-header :where(svg) { display: block; }

/* Tablet */
@media (max-width: 1100px) {
	.eb-nav__list { gap: 20px; }
	.eb-nav__link { font-size: 1rem; }
	.eb-stats__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
	.eb-stat:nth-child(3) { border-inline-start: 0; }
}

/* Mobile navigation */
@media (max-width: 960px) {
	.eb-header__inner { min-height: 76px; justify-content: space-between; }
	.eb-logo__name { font-size: 1.45rem; }
	.eb-logo__mark { width: 40px; }
	.eb-menu-toggle { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-inline-start: auto; padding: 0; border: 1px solid rgba(255, 255, 255, .25); border-radius: var(--eb-radius-btn); background: rgba(255, 255, 255, .04); color: #fff; cursor: pointer; }
	.eb-menu-toggle .eb-icon { width: 24px; height: 24px; }
	.eb-menu-toggle .eb-icon--close { display: none; }
	.eb-menu-toggle[aria-expanded="true"] .eb-icon--open { display: none; }
	.eb-menu-toggle[aria-expanded="true"] .eb-icon--close { display: block; }
	.eb-nav { display: none; position: absolute; inset-inline: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 16px; padding: 16px var(--eb-gutter) 24px; background: var(--eb-night-2); border-bottom: 1px solid rgba(255, 255, 255, .09); box-shadow: 0 24px 40px -20px rgba(0, 0, 0, .6); }
	.eb-nav.is-open { display: flex; }
	.eb-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.eb-nav__link { display: block; padding: 14px 4px; border-bottom: 1px solid rgba(255, 255, 255, .07); }
	.eb-nav__link[aria-current="page"]::after { inset-inline: auto; inset-inline-start: -12px; top: 10px; bottom: 10px; width: 3px; height: auto; }
	.eb-header__cta { width: 100%; }

	.eb-hero { padding-top: calc(76px + 32px); }
	.eb-hero__grid { grid-template-columns: 1fr; }
	.eb-hero__visual { margin-inline: calc(-1 * var(--eb-gutter)); }
	.eb-hero__lead { max-width: none; }
}

@media (max-width: 560px) {
	:root { --eb-gutter: 16px; }
	.eb-logo__tag { display: none; }
	.eb-hero__title { font-size: clamp(1.9rem, 1.2rem + 3.6vw, 2.4rem); }
	.eb-hero__actions { flex-direction: column; }
	.eb-hero__actions .eb-btn { width: 100%; }
	.eb-stats { margin-top: -64px; }
	.eb-stats__list { grid-template-columns: 1fr; padding: 8px 16px; row-gap: 0; }
	.eb-stat { padding: 16px 4px; }
	.eb-stat + .eb-stat { border-inline-start: 0; border-top: 1px solid var(--eb-line); }
}

@media (prefers-reduced-motion: reduce) {
	.eb-btn, .eb-nav__link { transition: none; }
}

/* ------------------------------------------------------------------ */
/* Section 2: services + how we work                                   */
/* ------------------------------------------------------------------ */

.eb-section { position: relative; padding-block: clamp(64px, 8vw, 112px); font-family: var(--eb-font); }
.eb-section-head { max-width: 720px; margin: 0 auto clamp(36px, 4vw, 56px); text-align: center; }
.eb-eyebrow { font-size: .8125rem; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--eb-accent); }
.eb-section-head__title { margin-top: 8px; font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem); font-weight: 700; line-height: 1.3; color: var(--eb-ink); text-wrap: balance; }
.eb-section-head__lead { margin-top: 8px; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.8; color: var(--eb-ink-muted); }

/* Services */
.eb-services { padding-top: clamp(72px, 8vw, 112px); padding-bottom: clamp(40px, 5vw, 72px); background: linear-gradient(180deg, var(--eb-surface) 0%, var(--eb-surface-soft) 100%); }
.eb-services__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.eb-service { display: flex; align-items: flex-start; gap: 14px; padding: 22px 20px; background: var(--eb-surface); border: 1px solid var(--eb-line); border-radius: var(--eb-radius-card); box-shadow: 0 18px 40px -28px rgba(21, 29, 62, .25); }
.eb-service__icon { display: grid; place-items: center; width: 60px; height: 60px; flex: none; border-radius: var(--eb-radius-tile); background: var(--eb-accent-tint); color: var(--eb-accent); }
.eb-service__icon .eb-icon { width: 30px; height: 30px; stroke-width: 2.2; }
.eb-service__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding-top: 4px; }
.eb-service__title { font-size: 1.1875rem; font-weight: 700; line-height: 1.45; color: var(--eb-ink); }
.eb-service__title[dir="ltr"] { text-align: right; }
.eb-service__text { font-size: .9688rem; line-height: 1.75; color: var(--eb-ink-muted); }

/* How we work */
.eb-process {
	padding-top: clamp(80px, 9vw, 128px);
	background-color: var(--eb-surface-soft);
	background-image:
		radial-gradient(50% 60% at 0% 30%, rgba(224, 22, 90, .10), transparent 70%),
		radial-gradient(55% 70% at 100% 20%, rgba(52, 76, 220, .12), transparent 70%),
		radial-gradient(60% 50% at 50% 100%, rgba(52, 76, 220, .06), transparent 70%);
	overflow: clip;
}
.eb-process__wave { position: absolute; inset-inline: 0; top: -1px; width: 100%; height: clamp(40px, 6vw, 96px); fill: var(--eb-surface-soft); filter: drop-shadow(0 10px 18px rgba(52, 76, 220, .06)); }
.eb-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.eb-step { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.eb-step__badge { position: relative; display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #1B2A6B, var(--eb-night) 70%); box-shadow: 0 18px 34px -14px rgba(5, 11, 36, .55), 0 0 0 6px rgba(255, 255, 255, .7); }
.eb-step__badge .eb-icon { width: 40px; height: 40px; stroke: url(#eb-step-grad); stroke-width: 2; }
.eb-step__num { position: absolute; bottom: -12px; inset-inline-start: 50%; transform: translateX(50%); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--eb-accent); border: 3px solid var(--eb-surface); color: #fff; font-size: .8125rem; font-weight: 700; line-height: 1; }
.eb-step__title { margin-top: 28px; font-size: 1.25rem; font-weight: 700; line-height: 1.45; color: var(--eb-ink); }
.eb-step__text { margin-top: 6px; max-width: 14em; font-size: .9688rem; line-height: 1.75; color: var(--eb-ink-muted); }
/* Dotted connector with an arrowhead, pointing to the next step (RTL flow) */
.eb-step:not(:last-child)::after { content: ""; position: absolute; top: 47px; inset-inline-start: calc(50% + 64px); width: calc(100% + 24px - 128px); border-top: 3px dotted var(--eb-accent); opacity: .85; }
.eb-step:not(:last-child)::before { content: ""; position: absolute; top: 43px; inset-inline-start: calc(150% + 24px - 64px - 11px); width: 9px; height: 9px; border-inline-end: 3px solid var(--eb-accent); border-bottom: 3px solid var(--eb-accent); transform: rotate(-45deg); transform-origin: center; }
[dir="rtl"] .eb-step:not(:last-child)::before { transform: rotate(45deg); }

@media (max-width: 1100px) {
	.eb-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Steps become a vertical timeline */
@media (max-width: 900px) {
	.eb-steps { grid-template-columns: 1fr; gap: 0; max-width: 520px; margin-inline: auto; }
	.eb-step { display: grid; grid-template-columns: 72px minmax(0, 1fr); column-gap: 20px; align-items: start; text-align: start; padding-bottom: 36px; }
	.eb-step__badge { grid-row: span 2; width: 72px; height: 72px; box-shadow: 0 14px 26px -12px rgba(5, 11, 36, .55), 0 0 0 5px rgba(255, 255, 255, .7); }
	.eb-step__badge .eb-icon { width: 32px; height: 32px; }
	.eb-step__num { width: 26px; height: 26px; bottom: -8px; }
	.eb-step__title { margin-top: 6px; }
	.eb-step__text { max-width: none; }
	.eb-step:not(:last-child)::after { top: 88px; bottom: 6px; inset-inline-start: 35px; width: 0; border-top: 0; border-inline-start: 3px dotted var(--eb-accent); }
	.eb-step:not(:last-child)::before { display: none; }
}

@media (max-width: 640px) {
	.eb-services__grid { grid-template-columns: 1fr; gap: 14px; }
	.eb-service { padding: 20px; }
	.eb-service__icon { width: 56px; height: 56px; }
	.eb-service__icon .eb-icon { width: 26px; height: 26px; }
}
@media (max-width: 640px) {
	/* Phones: a 2 x 4 grid of compact tiles, icon above text, so all eight services fit in about two screens. */
	.eb-services--compact .eb-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.eb-services--compact .eb-service { flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px 14px; border-radius: 18px; }
	.eb-services--compact .eb-service__icon { width: 44px; height: 44px; border-radius: 12px; }
	.eb-services--compact .eb-service__icon .eb-icon { width: 22px; height: 22px; }
	.eb-services--compact .eb-service__body { gap: 4px; padding-top: 0; }
	.eb-services--compact .eb-service__title { font-size: 1rem; line-height: 1.4; }
	.eb-services--compact .eb-service__text { font-size: .8438rem; line-height: 1.6; }
}

/* ------------------------------------------------------------------ */
/* Section 3: our work                                                 */
/* ------------------------------------------------------------------ */

.eb-work { background: var(--eb-surface); }
.eb-accent { color: var(--eb-accent); }
.eb-work__head { max-width: 780px; }
.eb-work__head .eb-eyebrow { color: var(--eb-ink); }

.eb-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 12px; margin: 0 auto clamp(28px, 3vw, 40px); }
.eb-filters[hidden] { display: none; }
.eb-chip { min-height: 44px; padding: 8px 22px; border: 1px solid var(--eb-line); border-radius: 999px; background: var(--eb-surface); color: var(--eb-ink); font-family: var(--eb-font); font-size: .9375rem; font-weight: 500; line-height: 1.3; cursor: pointer; transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.eb-chip:hover { border-color: var(--eb-accent); color: var(--eb-accent); }
.eb-chip[aria-pressed="true"] { background: var(--eb-accent); border-color: var(--eb-accent); color: #fff; box-shadow: 0 10px 24px -10px rgba(224, 22, 90, .6); }
.eb-chip:focus-visible, .eb-work .eb-btn:focus-visible { outline: 3px solid var(--eb-accent); outline-offset: 3px; }

.eb-work__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.eb-case { position: relative; overflow: hidden; border-radius: var(--eb-radius-card); background: var(--eb-night); color: #fff; isolation: isolate; box-shadow: 0 22px 44px -30px rgba(5, 11, 36, .55); }
.eb-case[hidden] { display: none; }
.eb-case--wide { grid-column: span 6; min-height: 330px; }
.eb-case--tall { grid-column: span 3; min-height: 330px; }
.eb-case--short { grid-column: span 3; min-height: 250px; }
.eb-case--short .eb-case__panel, .eb-case--tall .eb-case__panel { width: min(270px, calc(100% - 24px)); padding: 14px 16px 12px; }
.eb-case--short .eb-case__title { font-size: 1.0625rem; }
.eb-case--short .eb-case__text { font-size: .875rem; }
.eb-case--short .eb-case__more { margin-top: 10px; }
.eb-case--short .eb-case__arrow { width: 30px; height: 30px; }
.eb-work__grid.is-filtered .eb-case { grid-column: span 4; min-height: 280px; }
.eb-case__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.eb-case::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(5, 11, 36, .78) 0%, rgba(5, 11, 36, .35) 45%, rgba(5, 11, 36, 0) 70%); }
.eb-case:hover .eb-case__img { transform: scale(1.04); }

.eb-case__panel { position: absolute; inset-inline-end: 12px; bottom: 12px; width: min(300px, calc(100% - 24px)); padding: 18px 20px 16px; border-radius: 18px; background: rgba(11, 20, 55, .62); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, .08); }
.eb-case--wide .eb-case__panel { bottom: 90px; }
.eb-case__title { font-size: 1.1875rem; font-weight: 700; line-height: 1.4; color: #fff; }
.eb-case__text { margin-top: 4px; font-size: .9375rem; line-height: 1.65; color: var(--eb-muted-on-night); }
.eb-case__more { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.eb-case__arrow { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 50%; background: var(--eb-accent); color: #fff; }
.eb-case__arrow .eb-icon { width: 18px; height: 18px; }
.eb-case__rule { flex: 1; height: 1px; background: rgba(255, 255, 255, .22); }

.eb-case__stats { position: absolute; inset-inline: 12px; bottom: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 12px 8px; list-style: none; border-radius: 16px; background: rgba(5, 11, 36, .72); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, .08); }
.eb-case__stats li { display: flex; align-items: center; justify-content: center; gap: 10px; padding-inline: 8px; }
.eb-case__stats li + li { border-inline-start: 1px solid rgba(255, 255, 255, .14); }
.eb-case__stats .eb-icon { width: 28px; height: 28px; color: var(--eb-accent-on-night); }
.eb-case__stats li > span { display: flex; flex-direction: column; line-height: 1.2; }
.eb-case__num { font-size: 1.25rem; font-weight: 700; color: #fff; }
.eb-case__label { font-size: .8125rem; color: var(--eb-muted-on-night); }

.eb-work__empty { margin-top: 24px; text-align: center; color: var(--eb-ink-muted); }
.eb-work__empty[hidden] { display: none; }
.eb-work__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 16px; margin-top: clamp(32px, 4vw, 48px); }
.eb-btn--outline { background: transparent; color: var(--eb-ink); border-color: var(--eb-ink); }
.eb-btn--outline:hover { background: var(--eb-ink); border-color: var(--eb-ink); color: #fff; }

@media (max-width: 1100px) {
	.eb-case--wide { grid-column: span 12; order: -1; }
	.eb-case--tall, .eb-case--short, .eb-work__grid.is-filtered .eb-case { grid-column: span 6; min-height: 280px; }
}
@media (max-width: 640px) {
	.eb-filters { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-inline: calc(-1 * var(--eb-gutter)); padding: 4px var(--eb-gutter) 8px; scrollbar-width: none; }
	.eb-filters::-webkit-scrollbar { display: none; }
	.eb-chip { flex: none; }
	.eb-case--wide, .eb-case--tall, .eb-case--short, .eb-work__grid.is-filtered .eb-case { grid-column: span 12; min-height: 260px; }
	.eb-case--wide { min-height: 380px; }
	.eb-case--wide .eb-case__panel { bottom: 104px; }
	.eb-case__stats { padding: 10px 4px; }
	.eb-case__stats li { flex-direction: column; gap: 4px; padding-inline: 4px; text-align: center; }
	.eb-case__stats li > span { align-items: center; }
	.eb-case__stats .eb-icon { width: 22px; height: 22px; }
	.eb-case__num { font-size: 1.0625rem; }
	.eb-case__label { font-size: .75rem; }
	.eb-work__cta .eb-btn { width: 100%; }
}
.eb-work__dots { display: none; }
@media (max-width: 640px) {
	/* Phones: one swipeable row instead of a tall stack, so the next section is one short scroll away. */
	.eb-work--swipe .eb-work__grid { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--eb-gutter); margin-inline: calc(-1 * var(--eb-gutter)); padding: 4px var(--eb-gutter) 8px; scrollbar-width: none; }
	.eb-work--swipe .eb-work__grid::-webkit-scrollbar { display: none; }
	.eb-work--swipe .eb-case, .eb-work--swipe .eb-case--wide, .eb-work--swipe .eb-work__grid.is-filtered .eb-case { flex: 0 0 84%; min-height: 400px; scroll-snap-align: start; }
	.eb-work--swipe .eb-work__grid.is-filtered .eb-case:only-child { flex-basis: 100%; }
	.eb-work--swipe .eb-work__dots:not([hidden]) { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
	.eb-work__dots span { width: 8px; height: 8px; border-radius: 999px; background: var(--eb-line); transition: width .25s ease, background-color .25s ease; }
	.eb-work__dots span.is-active { width: 22px; background: var(--eb-accent); }
	.eb-motion.eb-js .eb-work--swipe .eb-case.eb-reveal { transition-delay: 0s; }
	/* Swipe cards stack photo over text, so the full photo shows instead of sitting under the panel. */
	.eb-work--swipe .eb-work__grid { padding-bottom: 24px; }
	.eb-work--swipe .eb-case, .eb-work--swipe .eb-case--wide, .eb-work--swipe .eb-work__grid.is-filtered .eb-case { display: flex; flex-direction: column; min-height: 0; box-shadow: 0 14px 28px -20px rgba(5, 11, 36, .55); }
	.eb-work--swipe .eb-case::after { display: none; }
	.eb-work--swipe .eb-case__img { position: static; z-index: auto; height: auto; aspect-ratio: 4 / 3; }
	.eb-work--swipe .eb-case__panel, .eb-work--swipe .eb-case--wide .eb-case__panel { position: static; flex: 1; width: auto; padding: 16px 18px 18px; border: 0; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
	.eb-work--swipe .eb-case__stats { position: static; margin: 0 12px 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.eb-case__img, .eb-chip, .eb-work__dots span { transition: none; }
	.eb-case:hover .eb-case__img { transform: none; }
}

/* ------------------------------------------------------------------ */
/* Section 4: why eBoosters and clients                                */
/* ------------------------------------------------------------------ */

.eb-why { overflow: hidden; background: var(--eb-surface-soft); padding-bottom: clamp(40px, 5vw, 64px); }
.eb-why::before { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.eb-why::before { top: -180px; inset-inline-end: -160px; width: 460px; height: 460px; background: radial-gradient(circle, rgba(255, 77, 133, .28) 0%, rgba(255, 77, 133, 0) 70%); }
.eb-why .eb-container { position: relative; z-index: 1; }
.eb-why__head { max-width: 780px; }
.eb-why__badge { position: absolute; top: 0; inset-inline-end: var(--eb-gutter); display: inline-flex; align-items: center; gap: 12px; padding: 12px 20px 12px 14px; border-radius: 18px; background: var(--eb-surface); box-shadow: 0 18px 40px -24px rgba(21, 29, 62, .35); transform: rotate(-3deg); text-align: start; }
.eb-why__badge-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--eb-accent-tint); color: var(--eb-accent); }
.eb-why__badge-icon .eb-icon { width: 24px; height: 24px; }
.eb-why__badge > span:last-child { display: flex; flex-direction: column; line-height: 1.3; }
.eb-why__badge-num { font-size: 1.375rem; font-weight: 700; color: var(--eb-accent); }
.eb-why__badge-label { font-size: .8125rem; color: var(--eb-ink-muted); }

.eb-why__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.eb-reason { padding: 28px 24px; background: var(--eb-surface); border: 1px solid var(--eb-line); border-radius: var(--eb-radius-card); box-shadow: 0 18px 40px -28px rgba(21, 29, 62, .25); }
.eb-reason__icon { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: var(--eb-accent-tint); color: var(--eb-accent); box-shadow: 0 0 0 8px rgba(224, 22, 90, .04); }
.eb-reason__icon .eb-icon { width: 32px; height: 32px; stroke-width: 2.1; }
.eb-reason__title { margin-top: 20px; font-size: 1.3125rem; font-weight: 700; line-height: 1.4; color: var(--eb-ink); }
.eb-reason__text { margin-top: 8px; font-size: 1rem; line-height: 1.75; color: var(--eb-ink-muted); }
/* Floating cards: each card bobs gently, out of step with its neighbours. Uses `translate` so it never fights the scroll reveal's transform. */
.eb-why--float .eb-reason { box-shadow: 0 26px 50px -30px rgba(21, 29, 62, .4); }
@media (prefers-reduced-motion: no-preference) {
	.eb-why--float .eb-reason { animation: eb-bob 5s ease-in-out infinite alternate; }
	.eb-why--float .eb-reason:nth-child(2) { animation-delay: -1.25s; }
	.eb-why--float .eb-reason:nth-child(3) { animation-delay: -2.5s; }
	.eb-why--float .eb-reason:nth-child(4) { animation-delay: -3.75s; }
	.eb-why--float .eb-why__grid:hover .eb-reason { animation-play-state: paused; }
}
@keyframes eb-bob { from { translate: 0 -8px; } to { translate: 0 8px; } }

.eb-clients { padding-top: clamp(40px, 5vw, 64px); background: linear-gradient(180deg, var(--eb-surface-soft) 0%, var(--eb-surface) 100%); }
.eb-clients__rows { display: grid; gap: 4px; padding-bottom: 12px; }
.eb-clients__marquee { overflow: hidden; padding-block: 8px 12px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.eb-clients__track { display: flex; width: max-content; animation: eb-marquee 50s linear infinite; }
.eb-clients__marquee--reverse .eb-clients__track { animation-direction: reverse; }
.eb-clients.is-paused .eb-clients__track, .eb-clients__rows:hover .eb-clients__track { animation-play-state: paused; }
.eb-clients__list { display: flex; gap: 16px; margin: 0; padding: 0; padding-inline-end: 16px; list-style: none; }
.eb-client { display: grid; place-items: center; flex: none; height: 88px; padding: 12px 24px; background: var(--eb-surface); border: 1px solid var(--eb-line); border-radius: 16px; box-shadow: 0 12px 28px -22px rgba(21, 29, 62, .3); }
.eb-client img { width: auto; height: 48px; max-width: 168px; object-fit: contain; }
/* Three copies of each row so the loop never shows a gap on wide screens; moving one third is one full copy. */
@keyframes eb-marquee { to { transform: translateX(33.3333%); } }
.eb-clients__controls { display: flex; justify-content: center; }
.eb-clients__toggle { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--eb-line); border-radius: 50%; background: var(--eb-surface); color: var(--eb-ink); cursor: pointer; }
.eb-clients__toggle[hidden] { display: none; }
.eb-clients__toggle .eb-icon { width: 18px; height: 18px; }
.eb-clients__toggle:hover { border-color: var(--eb-accent); color: var(--eb-accent); }
.eb-clients__toggle:focus-visible { outline: 3px solid var(--eb-accent); outline-offset: 3px; }

@media (max-width: 1100px) {
	.eb-why__badge { position: static; margin-top: 20px; transform: none; }
	.eb-why__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.eb-why__grid { gap: 10px; }
	.eb-reason { padding: 16px 14px; border-radius: 18px; }
	.eb-reason__icon { width: 44px; height: 44px; box-shadow: none; }
	.eb-reason__icon .eb-icon { width: 22px; height: 22px; }
	.eb-reason__title { margin-top: 10px; font-size: 1rem; }
	.eb-reason__text { margin-top: 4px; font-size: .8438rem; line-height: 1.6; }
	.eb-client { height: 72px; padding: 10px 18px; }
	.eb-client img { height: 40px; max-width: 136px; }
}
@media (prefers-reduced-motion: reduce) {
	.eb-clients__track { width: auto; animation: none; }
	.eb-clients__list { flex-wrap: wrap; justify-content: center; padding-inline: var(--eb-gutter); }
	.eb-clients__list[aria-hidden="true"] { display: none; }
	.eb-clients__marquee { -webkit-mask-image: none; mask-image: none; }
}

/* Data section: dark band with the analytics visual, then a results card overlapping its bottom */
.eb-data { position: relative; font-family: var(--eb-font); }
.eb-data__band { position: relative; overflow: clip; padding-block: clamp(32px, 3vw, 48px) clamp(120px, 10vw, 140px); color: var(--eb-on-night); background: var(--eb-night) url(../img/data/data-bg.webp) center bottom / cover no-repeat; }
.eb-data__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: clamp(24px, 3vw, 48px); }
.eb-data__copy { position: relative; z-index: 2; }
.eb-data .eb-eyebrow { color: var(--eb-on-night); text-align: end; }
.eb-data__title { margin-top: 10px; font-size: clamp(2rem, 1.3rem + 2.6vw, 3.5rem); font-weight: 700; line-height: 1.3; color: #fff; text-wrap: balance; }
.eb-data__accent { color: var(--eb-accent-on-night); }
.eb-data__lead { margin-top: 16px; max-width: 36em; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.9; color: var(--eb-muted-on-night); }
.eb-data__features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.eb-insight { display: flex; align-items: flex-start; gap: 16px; padding: 22px 20px; border-radius: 18px; background: rgba(11, 20, 55, .55); border: 1px solid rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.eb-insight__icon { display: grid; place-items: center; flex: none; width: 60px; height: 60px; border-radius: 14px; background: rgba(255, 77, 133, .14); color: var(--eb-accent-on-night); }
.eb-insight__icon .eb-icon { width: 28px; height: 28px; }
.eb-insight__title { font-size: 1.125rem; font-weight: 700; line-height: 1.4; color: #fff; }
.eb-insight__text { margin-top: 6px; font-size: .9375rem; line-height: 1.75; color: var(--eb-muted-on-night); }
.eb-data__visual { position: relative; margin: 0; margin-inline-end: calc(-1 * clamp(0px, (100vw - var(--eb-container)) / 2, 160px)); }
.eb-data__visual img { width: 100%; height: auto; }

.eb-results { position: relative; z-index: 3; margin-top: calc(-1 * clamp(96px, 8vw, 110px)); margin-bottom: clamp(48px, 6vw, 80px); padding: clamp(28px, 3vw, 40px) clamp(20px, 3vw, 48px); border-radius: 28px; background: var(--eb-surface); box-shadow: var(--eb-shadow); text-align: center; }
.eb-results .eb-eyebrow { color: var(--eb-ink); text-align: center; }
.eb-results__title { margin-top: 6px; font-size: clamp(1.625rem, 1.2rem + 1.6vw, 2.5rem); font-weight: 700; line-height: 1.35; color: var(--eb-ink); }
.eb-results__lead { margin-top: 6px; font-size: 1.0625rem; line-height: 1.8; color: var(--eb-ink-muted); }
.eb-results__row { display: flex; align-items: center; gap: clamp(20px, 3vw, 40px); margin-top: 28px; }
.eb-results__cta { order: -1; flex: none; min-width: 240px; border-radius: 999px; }
.eb-results__list { flex: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.eb-result { display: grid; justify-items: start; gap: 4px; padding-inline: clamp(12px, 2vw, 32px); text-align: start; }
.eb-results__list .eb-result:first-child { border-inline-start: 1px solid var(--eb-line); }
.eb-result + .eb-result { border-inline-start: 1px solid var(--eb-line); }
.eb-result__icon { color: var(--eb-accent); }
.eb-result__icon .eb-icon { width: 40px; height: 40px; }
.eb-result__num { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); font-weight: 700; line-height: 1.2; color: var(--eb-ink); }
.eb-result__label { font-size: 1rem; line-height: 1.5; color: var(--eb-ink-muted); }
@media (min-width: 1101px) { .eb-result__label { white-space: nowrap; } }

@media (max-width: 1100px) {
	.eb-results__row { flex-direction: column; align-items: stretch; }
	.eb-results__cta { order: 0; align-self: center; }
	.eb-results__list .eb-result:first-child { border-inline-start: 0; }
}
@media (max-width: 960px) {
	.eb-data__grid { grid-template-columns: 1fr; }
	.eb-data__visual { order: -1; margin-inline: calc(-1 * var(--eb-gutter)); }
	.eb-data__band { background-image: url(../img/data/data-bg-900.webp); padding-top: 16px; }
}
@media (max-width: 640px) {
	.eb-data__band { padding-bottom: 96px; }
	.eb-data__visual { margin-top: -8px; }
	.eb-data__title { margin-top: 6px; font-size: 1.75rem; }
	.eb-data__lead { margin-top: 10px; font-size: 1rem; line-height: 1.8; }
	.eb-data__features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
	.eb-insight { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; border-radius: 16px; }
	.eb-insight__icon { width: 40px; height: 40px; border-radius: 12px; }
	.eb-insight__icon .eb-icon { width: 22px; height: 22px; }
	.eb-insight__title { font-size: 1rem; }
	.eb-insight__text { margin-top: 4px; font-size: .8125rem; line-height: 1.65; }
	.eb-results { margin-top: -72px; padding: 22px 14px; border-radius: 22px; }
	.eb-results__title { font-size: 1.5rem; }
	.eb-results__lead { font-size: .9375rem; line-height: 1.7; }
	.eb-results__row { margin-top: 18px; gap: 18px; }
	.eb-results__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 14px; }
	.eb-result { grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; row-gap: 0; padding-inline: 10px; }
	.eb-result__icon { grid-row: span 2; }
	.eb-result:nth-child(3) { border-inline-start: 0; }
	.eb-result__icon .eb-icon { width: 28px; height: 28px; }
	.eb-result__num { font-size: 1.375rem; }
	.eb-result__label { font-size: .8125rem; line-height: 1.4; }
	.eb-results__cta { width: 100%; min-width: 0; }
}

/* ------------------------------------------------------------------ */
/* Motion (only on body.eb-motion, never for reduced-motion users)     */
/* ------------------------------------------------------------------ */

@media (prefers-reduced-motion: no-preference) {
	html:has(.eb-motion) { scroll-behavior: smooth; }

	@keyframes eb-rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
	@keyframes eb-pop { 0% { opacity: 0; transform: scale(.6); } 70% { opacity: 1; transform: scale(1.06); } 100% { opacity: 1; transform: none; } }

	/* 1. Hero intro on load */
	.eb-motion .eb-hero__title,
	.eb-motion .eb-hero__lead,
	.eb-motion .eb-hero__actions,
	.eb-motion .eb-hero__visual { animation: eb-rise 1.3s cubic-bezier(.2, .7, .2, 1) both; }
	.eb-motion .eb-hero__lead { animation-delay: .3s; }
	.eb-motion .eb-hero__actions { animation-delay: .6s; }
	.eb-motion .eb-hero__visual { animation-delay: .4s; animation-duration: 1.6s; }

	/* 6 + 8. Scroll reveal (hidden only once JS is running) */
	.eb-motion.eb-js .eb-reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i, 0) * 90ms); }
	.eb-motion.eb-js .eb-reveal.is-in { opacity: 1; transform: none; }
	.eb-motion.eb-js .eb-service__icon { transition: box-shadow .25s ease, background-color .25s ease; }
	.eb-motion .eb-service:hover .eb-service__icon { background: #FFE3EE; box-shadow: 0 0 0 6px rgba(224, 22, 90, .08), 0 10px 24px -8px rgba(224, 22, 90, .45); }

	/* 8. Steps: circle pops, connector draws toward the next step */
	.eb-motion.eb-js .eb-step.eb-reveal { transform: none; }
	.eb-motion.eb-js .eb-step.eb-reveal .eb-step__badge { opacity: 0; }
	.eb-motion.eb-js .eb-step.is-in .eb-step__badge { animation: eb-pop .55s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i, 0) * 260ms); }
	.eb-motion.eb-js .eb-step.eb-reveal::after { transform: scaleX(0); transform-origin: right center; transition: transform .45s ease-out; transition-delay: calc(var(--i, 0) * 260ms + 280ms); }
	.eb-motion.eb-js .eb-step.eb-reveal::before { opacity: 0; transition: opacity .2s ease; transition-delay: calc(var(--i, 0) * 260ms + 680ms); }
	.eb-motion.eb-js .eb-step.is-in::after { transform: none; }
	.eb-motion.eb-js .eb-step.is-in::before { opacity: 1; }
	@media (max-width: 640px) {
		.eb-motion.eb-js .eb-service.eb-reveal { transition-delay: 0s; }
	}
	@media (max-width: 900px) {
		.eb-motion.eb-js .eb-step.eb-reveal::after { transform: scaleY(0); transform-origin: center top; }
		.eb-motion.eb-js .eb-step.is-in::after { transform: none; }
	}
}

/* Final call to action */
.eb-cta { position: relative; padding-block: clamp(40px, 5vw, 72px) clamp(24px, 3vw, 40px); font-family: var(--eb-font); background: var(--eb-surface-soft); }
.eb-cta__card { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: center; gap: clamp(24px, 3vw, 40px); padding: clamp(28px, 4.5vw, 64px); border-radius: 32px; border: 1px solid #fff; overflow: clip; isolation: isolate;
	background:
		radial-gradient(38% 60% at 18% 30%, rgba(224, 22, 90, .10), transparent 70%),
		radial-gradient(30% 50% at 8% 90%, rgba(120, 110, 240, .10), transparent 70%),
		linear-gradient(135deg, #FFFFFF 0%, #FBF7FA 55%, #FFF4F8 100%);
	box-shadow: 0 30px 80px -40px rgba(21, 29, 62, .25); }
.eb-cta__card::before { content: ""; position: absolute; z-index: -1; inset-inline-end: -12%; top: -30%; width: 70%; aspect-ratio: 1; border-radius: 50%; border: 36px solid rgba(224, 22, 90, .06); }
.eb-cta__eyebrow { display: flex; align-items: center; justify-content: flex-end; gap: 14px; font-size: .8125rem; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--eb-accent); }
.eb-cta__eyebrow::before, .eb-cta__eyebrow::after { content: ""; width: 48px; height: 1.5px; background: currentColor; opacity: .7; }
.eb-cta__title { margin-top: 18px; font-size: clamp(2rem, 1.2rem + 2.2vw, 3.1rem); font-weight: 700; line-height: 1.35; color: var(--eb-ink); text-wrap: balance; }
.eb-cta__title .eb-accent { display: block; }
.eb-cta__lead { margin-top: 16px; max-width: 34em; font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); line-height: 1.85; color: var(--eb-ink-muted); }
.eb-cta__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.eb-cta__btn { min-height: 64px; padding-inline: 1.5rem 1.25rem; font-size: 1.125rem; border-radius: 16px; }
.eb-cta__btn-dot { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--eb-accent); }
.eb-btn--whatsapp { background: #1FA855; color: #fff; box-shadow: 0 12px 30px -12px rgba(22, 150, 72, .6); }
.eb-btn--whatsapp:hover { background: #178F47; color: #fff; }
.eb-icon--wa { width: 1.6em; height: 1.6em; }
.eb-cta .eb-btn:focus-visible, .eb-footer a:focus-visible, .eb-subscribe__btn:focus-visible { outline: 3px solid var(--eb-accent); outline-offset: 3px; }
.eb-cta__points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 36px; }
.eb-cta__point { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; background: rgba(255, 255, 255, .85); box-shadow: 0 10px 30px -18px rgba(21, 29, 62, .3); }
.eb-cta__point strong { display: block; font-size: .9375rem; white-space: nowrap; font-weight: 700; line-height: 1.4; color: var(--eb-ink); }
.eb-cta__point small { display: block; font-size: .8125rem; line-height: 1.5; color: var(--eb-ink-muted); }
.eb-cta__point-icon { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 50%; background: var(--eb-accent-tint); color: var(--eb-accent); }
.eb-cta__point-icon .eb-icon { width: 22px; height: 22px; }

.eb-cta__visual { position: relative; margin: 0; aspect-ratio: 5 / 4; }
.eb-cta__chart { position: absolute; inset: 8% 8% 12% 10%; display: flex; flex-direction: column; padding: 28px 28px 0; border-radius: 24px; background: rgba(255, 255, 255, .92); box-shadow: 0 40px 80px -40px rgba(21, 29, 62, .35), 0 0 0 1px rgba(21, 29, 62, .04); transform: perspective(1200px) rotateY(-10deg) rotateX(4deg); overflow: hidden; }
.eb-cta__chart-pill { width: 44px; height: 8px; border-radius: 8px; background: linear-gradient(90deg, #FF9EC0, #E0165A); }
.eb-cta__chart-title { margin-top: 20px; font-size: clamp(.9rem, .7rem + .5vw, 1.125rem); font-weight: 700; color: var(--eb-ink); }
.eb-cta__chart-line { width: 55%; height: 8px; margin-top: 12px; border-radius: 8px; background: #EEF0F6; }
.eb-cta__chart-line--short { width: 35%; margin-top: 8px; }
.eb-cta__graph { flex: 1; width: calc(100% + 28px); margin-top: 12px; margin-inline-start: -28px; min-height: 0; }
.eb-cta__float { position: absolute; display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 18px; background: #fff; box-shadow: 0 24px 50px -24px rgba(21, 29, 62, .35); }
.eb-cta__float small { display: block; font-size: .8125rem; font-weight: 500; line-height: 1.4; color: var(--eb-ink); }
.eb-cta__float bdi { display: block; font-size: clamp(1.25rem, 1rem + .8vw, 1.625rem); font-weight: 700; line-height: 1.2; color: #16A34A; }
.eb-cta__float-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--eb-accent-tint); color: var(--eb-accent); }
.eb-cta__float-icon .eb-icon { width: 24px; height: 24px; }
.eb-cta__float--growth { top: 0; inset-inline-start: 30%; }
.eb-cta__float--clients { bottom: 4%; inset-inline-end: 0; }
.eb-cta__float--conv { bottom: 14%; inset-inline-start: 0; }
.eb-cta__donut { width: 52px; height: 52px; flex: none; }

@media (prefers-reduced-motion: no-preference) {
	.eb-cta__float { animation: eb-cta-bob 6s ease-in-out infinite; }
	.eb-cta__float--clients { animation-delay: -2s; }
	.eb-cta__float--conv { animation-delay: -4s; }
	@keyframes eb-cta-bob { 50% { translate: 0 -8px; } }
}

@media (max-width: 1100px) {
	.eb-cta__points { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
	.eb-cta__card { grid-template-columns: 1fr; }
	.eb-cta__visual { order: -1; max-width: 560px; width: 100%; margin-inline: auto; }
	.eb-cta__points { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.eb-cta { padding-block: 32px; }
	.eb-cta__card { gap: 20px; padding: 20px 16px 24px; border-radius: 24px; }
	.eb-cta__eyebrow { font-size: .75rem; letter-spacing: .2em; }
	.eb-cta__eyebrow::before, .eb-cta__eyebrow::after { width: 28px; }
	.eb-cta__title { margin-top: 12px; font-size: 1.75rem; }
	.eb-cta__lead { font-size: 1rem; }
	.eb-cta__actions { gap: 10px; margin-top: 22px; }
	.eb-cta__btn { width: 100%; min-height: 56px; font-size: 1.0625rem; }
	.eb-cta__btn-dot { width: 34px; height: 34px; }
	.eb-cta__points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
	.eb-cta__point { flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; text-align: center; }
	.eb-cta__point strong { font-size: .8125rem; white-space: normal; }
	.eb-cta__point small { display: none; }
	.eb-cta__point-icon { width: 36px; height: 36px; }
	.eb-cta__point-icon .eb-icon { width: 18px; height: 18px; }
	.eb-cta__chart { inset: 10% 6% 14% 8%; padding: 16px 16px 0; border-radius: 18px; }
	.eb-cta__chart-title { margin-top: 12px; }
	.eb-cta__chart-line { height: 6px; margin-top: 8px; }
	.eb-cta__graph { width: calc(100% + 16px); margin-inline-start: -16px; }
	.eb-cta__float { gap: 8px; padding: 8px 12px; border-radius: 14px; }
	.eb-cta__float small { font-size: .6875rem; }
	.eb-cta__float bdi { font-size: 1.0625rem; }
	.eb-cta__float-icon { width: 32px; height: 32px; }
	.eb-cta__float-icon .eb-icon { width: 18px; height: 18px; }
	.eb-cta__donut { width: 34px; height: 34px; }
}

/* Footer (self-contained, also used under the theme on inner pages) */
.eb-footer { padding-top: clamp(40px, 5vw, 64px); background: var(--eb-surface-soft); color: var(--eb-ink); font-family: var(--eb-font); font-size: 1rem; line-height: 1.8; }
.eb-footer *, .eb-footer *::before, .eb-footer *::after { box-sizing: border-box; }
.eb-footer :where(h2, p, ul) { margin: 0; padding: 0; }
.eb-footer ul { list-style: none; }
.eb-footer a { color: inherit; text-decoration: none; transition: color .2s ease; }
.eb-footer a:hover { color: var(--eb-accent); }
.eb-footer__grid { display: grid; grid-template-columns: 1.2fr .9fr .9fr 1.3fr; grid-template-areas: "news links services brand"; gap: clamp(24px, 4vw, 64px); padding-bottom: 36px; }
.eb-footer__brand { grid-area: brand; }
.eb-footer__col--services { grid-area: services; }
.eb-footer__col--links { grid-area: links; }
.eb-footer__news { grid-area: news; }
.eb-logo--ink { color: var(--eb-ink); }
.eb-logo--ink .eb-logo__tag { color: var(--eb-ink-muted); }
.eb-footer__about { margin-top: 18px; max-width: 30em; font-size: .9375rem; line-height: 1.85; color: var(--eb-ink-muted); }
.eb-footer__contact { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-top: 16px; font-weight: 500; }
.eb-footer__contact li { display: inline-flex; align-items: center; gap: 8px; }
.eb-footer__contact .eb-icon--wa { width: 20px; height: 20px; color: #1FA855; }
.eb-footer__social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.eb-footer__title { font-size: 1.125rem; font-weight: 700; line-height: 1.4; color: var(--eb-ink); }
.eb-footer__col ul { display: grid; gap: 6px; margin-top: 16px; }
.eb-footer__col a { font-size: .9375rem; color: var(--eb-ink-muted); }
.eb-footer__col a:hover { color: var(--eb-accent); }
.eb-footer__news-text { margin-top: 12px; font-size: .9375rem; line-height: 1.8; color: var(--eb-ink-muted); }
.eb-subscribe { display: flex; align-items: center; gap: 8px; margin-top: 18px; padding: 6px; padding-inline-start: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--eb-line); transition: border-color .2s ease, box-shadow .2s ease; }
.eb-subscribe:focus-within { border-color: var(--eb-accent); box-shadow: 0 0 0 3px rgba(224, 22, 90, .15); }
.eb-subscribe__input { flex: 1; min-width: 0; height: 48px; border: 0; background: transparent; font: inherit; font-size: 1rem; color: var(--eb-ink); outline: none; }
.eb-subscribe__input::placeholder { color: #8A91AD; }
.eb-subscribe__btn { display: grid; place-items: center; width: 48px; height: 48px; flex: none; border: 0; border-radius: 50%; background: var(--eb-accent); color: #fff; cursor: pointer; transition: background-color .2s ease; }
.eb-subscribe__btn:hover { background: var(--eb-accent-hover); }
.eb-subscribe__msg { margin-top: 10px; font-size: .9375rem; font-weight: 500; color: #15803D; }
.eb-subscribe__msg--err { color: #B91C1C; }
.eb-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 20px 28px; border-top: 1px solid var(--eb-line); font-size: .875rem; color: var(--eb-ink-muted); }
.eb-site-footer .eb-footer { margin-top: 0; }

@media (max-width: 1100px) {
	.eb-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "brand news" "links services"; }
}
@media (max-width: 640px) {
	.eb-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "brand brand" "links services" "news news"; gap: 28px 16px; padding-bottom: 28px; }
	.eb-footer__col ul { margin-top: 10px; gap: 2px; }
	.eb-footer__col a { display: inline-block; padding-block: 5px; }
	.eb-footer__bottom { justify-content: center; text-align: center; }
}

/* ------------------------------------------------------------------ */
/* About page hero                                                     */
/* ------------------------------------------------------------------ */

.eb-page-hero { padding-block: calc(96px + clamp(24px, 4vw, 56px)) clamp(88px, 9vw, 128px); }
.eb-page-hero::after { content: ""; position: absolute; z-index: 1; inset-inline: -10%; bottom: -1px; height: clamp(40px, 6vw, 90px); background: var(--eb-surface); border-radius: 50% 50% 0 0 / 100% 100% 0 0; }
.eb-page-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); }
.eb-page-hero__eyebrow { font-size: .8125rem; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--eb-accent-on-night); text-align: end; }
.eb-page-hero__title { margin-top: 10px; font-size: clamp(2.6rem, 1.6rem + 3.4vw, 4.5rem); font-weight: 700; line-height: 1.2; color: #fff; }
.eb-page-hero__tagline { margin-top: 18px; font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.75rem); font-weight: 700; line-height: 1.45; color: #fff; text-wrap: balance; }
.eb-page-hero__tagline .eb-hero__accent { display: block; }
.eb-page-hero__visual { z-index: 2; container-type: inline-size; }
.eb-page-hero__cards { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; pointer-events: none; }
/* Card sizes follow the picture's width (cqi), so they stay over the same spots at every screen size. */
.eb-page-hero__card { position: absolute; display: flex; align-items: center; gap: 2cqi; padding: 1.8cqi 2.6cqi; border-radius: 2.6cqi; background: linear-gradient(135deg, rgba(58, 48, 120, .78), rgba(26, 24, 74, .72)); border: 1px solid rgba(255, 255, 255, .22); box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; font-size: max(11px, 2.45cqi); font-weight: 700; line-height: 1.5; }
.eb-page-hero__card-icon { display: grid; place-items: center; flex: none; color: var(--eb-accent-on-night); }
.eb-page-hero__card-icon .eb-icon { width: max(18px, 5.4cqi); height: max(18px, 5.4cqi); }
.eb-page-hero__card--data { left: 17%; top: 5%; width: 31%; min-height: 19%; rotate: -4deg; }
.eb-page-hero__card--results { left: 71%; top: 11.5%; width: 27%; min-height: 20%; rotate: 4deg; }
.eb-page-hero__card--growth { left: 9.5%; top: 54%; width: 29%; min-height: 22%; rotate: -11deg; }

@media (prefers-reduced-motion: no-preference) {
	.eb-motion .eb-page-hero__card { animation: eb-bob 5s ease-in-out infinite alternate; }
	.eb-motion .eb-page-hero__card--results { animation-delay: -1.7s; }
	.eb-motion .eb-page-hero__card--growth { animation-delay: -3.4s; }
	.eb-motion .eb-page-hero__eyebrow,
	.eb-motion .eb-page-hero__title,
	.eb-motion .eb-page-hero__tagline { animation: eb-rise 1.3s cubic-bezier(.2, .7, .2, 1) both; }
	.eb-motion .eb-page-hero__tagline { animation-delay: .15s; }
}

@media (max-width: 960px) {
	.eb-page-hero { padding-top: calc(76px + 24px); }
	.eb-page-hero__grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------------- */
/* Homepage hero floating cards (same look as the About hero cards)          */
/* ------------------------------------------------------------------------- */

.eb-hero__visual:has(.eb-hero__cards) { container-type: inline-size; }
.eb-hero__cards { position: absolute; inset: 0; z-index: 2; margin: 0; padding: 0; list-style: none; pointer-events: none; }
.eb-hero__card { width: max-content; padding: 1.6cqi 2.4cqi; gap: 1.8cqi; }
.eb-hero__card .eb-page-hero__card-icon .eb-icon { width: max(16px, 4.6cqi); height: max(16px, 4.6cqi); }
.eb-hero__card-body { display: grid; line-height: 1.35; }
.eb-hero__card-body strong { font-size: max(12px, 2.9cqi); font-weight: 700; }
.eb-hero__card-body span { font-size: max(10px, 1.9cqi); font-weight: 500; color: rgba(255, 255, 255, .78); }
.eb-hero__card--roi { left: 6.5%; top: 4%; rotate: -4deg; }
.eb-hero__card--ads { left: 47%; top: 3.5%; rotate: 3deg; }
.eb-hero__card--leads { left: 2%; top: 42%; rotate: -6deg; }
.eb-hero__card--social { right: 2%; top: 76%; rotate: 4deg; }

@media (prefers-reduced-motion: no-preference) {
	.eb-motion .eb-hero__card--ads { animation-delay: -1.2s; }
	.eb-motion .eb-hero__card--leads { animation-delay: -2.5s; }
	.eb-motion .eb-hero__card--social { animation-delay: -3.8s; }
}

@media (max-width: 960px) {
	.eb-hero__card--leads { left: 4%; }
}

/* ------------------------------------------------------------------------- */
/* About page: story, stats, mission and vision                              */
/* ------------------------------------------------------------------------- */

.eb-story { position: relative; padding-block: clamp(56px, 7vw, 96px); font-family: var(--eb-font); background: radial-gradient(60% 50% at 0% 20%, rgba(224, 22, 90, .06), transparent 70%), radial-gradient(50% 45% at 100% 75%, rgba(80, 90, 220, .07), transparent 70%), var(--eb-surface); overflow: hidden; }
.eb-story__top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.eb-story__eyebrow { color: var(--eb-ink-muted); text-align: end; }
.eb-story__eyebrow span { color: var(--eb-accent); }
.eb-story__title { margin-top: 8px; font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem); font-weight: 700; line-height: 1.3; color: var(--eb-ink); }
.eb-story__lead { margin-top: 16px; font-size: clamp(1.0625rem, 1rem + .3vw, 1.1875rem); line-height: 2; color: var(--eb-ink-muted); }
.eb-story__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.eb-story__stat { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 28px 14px; text-align: center; background: var(--eb-surface); border: 1px solid var(--eb-line); border-radius: var(--eb-radius-card); box-shadow: 0 18px 40px -28px rgba(21, 29, 62, .25); }
.eb-story__stat-icon { color: var(--eb-accent); margin-bottom: 8px; }
.eb-story__stat-icon .eb-icon { width: 48px; height: 48px; }
.eb-story__stat strong { font-size: 1.375rem; font-weight: 700; color: var(--eb-ink); }
.eb-story__stat span:last-child { font-size: 1rem; line-height: 1.7; color: var(--eb-ink-muted); }

.eb-story__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: clamp(40px, 5vw, 72px); }
.eb-story__card { position: relative; display: flex; align-items: flex-end; min-height: 300px; overflow: hidden; background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(246, 247, 251, .92)); border: 1px solid var(--eb-line); border-radius: var(--eb-radius-card); box-shadow: 0 24px 50px -34px rgba(21, 29, 62, .35); }
.eb-story__card-body { flex: 1; position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 20px; align-items: center; padding: clamp(28px, 3vw, 40px); align-self: flex-start; }
.eb-story__card-icon { grid-row: span 2; align-self: start; display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #2c3470, var(--eb-ink) 70%); color: #fff; box-shadow: 0 16px 30px -14px rgba(21, 29, 62, .6); }
.eb-story__card-icon .eb-icon { width: 36px; height: 36px; }
.eb-story__card h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 700; color: var(--eb-ink); }
.eb-story__card p { margin-top: 12px; font-size: 1.0625rem; line-height: 1.95; color: var(--eb-ink-muted); max-width: 26em; }
.eb-story__art { flex: none; align-self: stretch; }
.eb-story__art--plane { width: 24%; align-self: flex-start; margin-top: 28px; margin-inline-start: 16px; margin-inline-end: -12px; }
.eb-story__art--mountain { position: absolute; bottom: 0; inset-inline-end: 0; width: 58%; height: auto; opacity: .95; }
.eb-story__card--vision .eb-story__card-body { max-width: 72%; }

@media (prefers-reduced-motion: no-preference) {
	.eb-motion .eb-story__art--plane { animation: eb-bob 4s ease-in-out infinite alternate; }
}

@media (max-width: 960px) {
	.eb-story__top, .eb-story__cards { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
	.eb-story__stats { gap: 10px; }
	.eb-story__stat { padding: 18px 8px; }
	.eb-story__stat-icon .eb-icon { width: 34px; height: 34px; }
	.eb-story__stat strong { font-size: 1rem; }
	.eb-story__stat span:last-child { font-size: .8125rem; }
	.eb-story__card { flex-direction: column; align-items: stretch; min-height: 0; }
	.eb-story__card-body { column-gap: 14px; padding: 24px 20px; }
	.eb-story__card-icon { width: 60px; height: 60px; }
	.eb-story__card-icon .eb-icon { width: 26px; height: 26px; }
	.eb-story__art--plane { position: absolute; top: 0; inset-inline-end: 0; width: 38%; margin: 0; opacity: .35; }
	.eb-story__card--vision .eb-story__card-body { max-width: none; padding-bottom: 120px; }
	.eb-story__art--mountain { width: 70%; }
}

/* Footer on phones: newsletter first, then quick links and services as two tidy cards. */
@media (max-width: 640px) {
	.eb-footer__grid { grid-template-areas: "brand brand" "news news" "links services"; gap: 20px 12px; }
	.eb-footer__news { padding: 20px 18px; background: var(--eb-surface); border: 1px solid var(--eb-line); border-radius: var(--eb-radius-card); }
	.eb-footer__col { padding: 18px 14px 12px; background: var(--eb-surface); border: 1px solid var(--eb-line); border-radius: var(--eb-radius-card); }
	.eb-footer__title { font-size: 1.0625rem; }
	.eb-footer__col .eb-footer__title { padding-bottom: 10px; border-bottom: 2px solid var(--eb-line); position: relative; }
	.eb-footer__col .eb-footer__title::after { content: ""; position: absolute; inset-inline-start: 0; bottom: -2px; width: 28px; height: 2px; background: var(--eb-accent); }
	.eb-footer__col ul { margin-top: 8px; gap: 0; }
	.eb-footer__col li + li { border-top: 1px solid var(--eb-line); }
	.eb-footer__col a { display: flex; align-items: center; gap: 8px; min-height: 44px; padding-block: 8px; font-size: .875rem; line-height: 1.5; }
	.eb-footer__col a::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--eb-accent); opacity: .7; }
}
