/* eMac Media Infographics. Scoped to .emm-ig with !important for Elementor. */

.emm-ig {
	--emm-black: #0C0C0C;
	--emm-white: #FFFFFF;
	--emm-orange: #FF5634;
	--emm-blue: #245BFF;
	--emm-silver: #A6A6A6;
	--emm-light: #F5F5F7;
	--emm-ink: #1A1A1A;
	--emm-muted: #6B6B6B;
	--emm-line: #E4E4E8;
	--emm-head: 'Poppins', Arial, Helvetica, sans-serif;
	--emm-body: 'Inter', Arial, Helvetica, sans-serif;
	font-family: var(--emm-body) !important;
	font-size: 17px !important;
	line-height: 1.6 !important;
	color: var(--emm-ink) !important;
	-webkit-font-smoothing: antialiased !important;
}
.emm-ig *, .emm-ig *::before, .emm-ig *::after { box-sizing: border-box !important; }
:where(.emm-ig) :where(h1, h2, h3) {
	font-family: var(--emm-head) !important;
	color: var(--emm-black) !important;
	margin: 0 !important;
	padding: 0 !important;
	letter-spacing: -0.015em !important;
	text-transform: none !important;
}
:where(.emm-ig) :where(p) { margin: 0 0 1em !important; }
:where(.emm-ig) :where(a) { color: var(--emm-blue) !important; text-decoration: none !important; }
:where(.emm-ig) :where(a:hover) { text-decoration: underline !important; }
:where(.emm-ig) :where(img) { max-width: 100% !important; height: auto !important; }
.emm-ig :focus-visible { outline: 3px solid var(--emm-orange) !important; outline-offset: 3px !important; }
.emm-ig-sr {
	position: absolute !important; width: 1px !important; height: 1px !important;
	padding: 0 !important; margin: -1px !important; overflow: hidden !important;
	clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}

/* Layout */
.emm-ig-wrap { max-width: 1080px !important; margin: 0 auto !important; padding: 32px 20px 72px !important; }
.emm-ig-narrow { max-width: 780px !important; margin-left: auto !important; margin-right: auto !important; }
.emm-ig-section { margin-top: 64px !important; }
.emm-ig-h2 { font-size: 26px !important; line-height: 1.25 !important; font-weight: 600 !important; margin-bottom: 20px !important; }

/* Breadcrumbs */
.emm-ig-crumbs {
	display: flex !important; flex-wrap: wrap !important; gap: 8px !important;
	font-size: 14px !important; color: var(--emm-muted) !important; margin-bottom: 28px !important;
}
.emm-ig-crumbs a { color: var(--emm-muted) !important; }
.emm-ig-crumbs a:hover { color: var(--emm-black) !important; }
.emm-ig-crumb-sep { color: var(--emm-silver) !important; }
.emm-ig-crumbs [aria-current] { color: var(--emm-ink) !important; }

/* Tags */
.emm-ig-tag {
	display: inline-block !important;
	font-family: var(--emm-head) !important; font-size: 13px !important; font-weight: 600 !important;
	line-height: 1 !important; color: var(--emm-orange) !important;
	background: rgba(255, 86, 52, 0.1) !important;
	padding: 7px 12px !important; border-radius: 999px !important;
}
a.emm-ig-tag:hover { background: rgba(255, 86, 52, 0.18) !important; text-decoration: none !important; }
.emm-ig-tag--light { color: var(--emm-white) !important; background: rgba(255, 255, 255, 0.14) !important; }

/* Header */
.emm-ig-head { max-width: 780px !important; margin: 0 auto !important; text-align: left !important; }
.emm-ig-head-meta { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 10px 14px !important; }
.emm-ig-date { font-size: 14px !important; color: var(--emm-muted) !important; }
.emm-ig-title {
	font-size: clamp(32px, 4.6vw, 50px) !important; line-height: 1.1 !important;
	font-weight: 700 !important; margin: 18px 0 18px !important;
}
.emm-ig-summary p { font-size: 19px !important; line-height: 1.6 !important; color: #3B3B3B !important; }
.emm-ig-head-actions { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 14px 24px !important; margin-top: 8px !important; }
.emm-ig-link {
	font-family: var(--emm-head) !important; font-weight: 600 !important; font-size: 15px !important;
	color: var(--emm-blue) !important; background: none !important; border: 0 !important; padding: 0 !important; cursor: pointer !important;
}

/* Buttons */
.emm-ig-btn {
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	font-family: var(--emm-head) !important; font-weight: 600 !important; font-size: 15px !important; line-height: 1.2 !important;
	padding: 13px 22px !important; border-radius: 10px !important; border: 2px solid transparent !important;
	cursor: pointer !important; text-decoration: none !important; transition: background-color .15s ease, color .15s ease, border-color .15s ease !important;
}
.emm-ig-btn:hover { text-decoration: none !important; }
.emm-ig-btn--primary { background: var(--emm-orange) !important; color: var(--emm-white) !important; border-color: var(--emm-orange) !important; }
.emm-ig-btn--primary:hover { background: #E8452A !important; border-color: #E8452A !important; color: var(--emm-white) !important; }
.emm-ig-btn--ghost { background: transparent !important; color: var(--emm-black) !important; border-color: var(--emm-black) !important; }
.emm-ig-btn--ghost:hover { background: var(--emm-black) !important; color: var(--emm-white) !important; }
.emm-ig-btn[hidden] { display: none !important; }

/* Main visual */
.emm-ig-visual {
	max-width: 1040px !important; margin: 48px auto 0 !important; padding: 20px !important;
	background: var(--emm-light) !important; border-radius: 18px !important;
}
.emm-ig-zoom {
	display: block !important; position: relative !important; width: 100% !important;
	padding: 0 !important; margin: 0 !important; border: 0 !important; background: none !important;
	cursor: zoom-in !important; border-radius: 10px !important; overflow: hidden !important;
}
.emm-ig-visual-img { display: block !important; width: 100% !important; max-width: 1000px !important; margin: 0 auto !important; }
.emm-ig-zoom-hint {
	position: absolute !important; right: 14px !important; bottom: 14px !important;
	font-family: var(--emm-head) !important; font-size: 13px !important; font-weight: 600 !important;
	color: var(--emm-white) !important; background: rgba(12, 12, 12, 0.82) !important;
	padding: 8px 12px !important; border-radius: 8px !important; pointer-events: none !important;
}

/* Stats */
.emm-ig-stats {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
	display: grid !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important; gap: 14px !important;
}
.emm-ig-stat {
	margin: 0 !important; padding: 26px 22px !important; background: var(--emm-black) !important;
	border-radius: 14px !important; display: flex !important; flex-direction: column !important; gap: 8px !important;
	border-top: 3px solid var(--emm-orange) !important;
}
.emm-ig-stat-value {
	font-family: var(--emm-head) !important; font-weight: 700 !important; font-size: 40px !important;
	line-height: 1 !important; color: var(--emm-orange) !important; letter-spacing: -0.02em !important;
}
.emm-ig-stat-label { font-size: 15px !important; line-height: 1.45 !important; color: #D6D6D9 !important; }

/* Share and embed */
.emm-ig-share-top { display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; margin-bottom: 20px !important; }
.emm-ig-share-top .emm-ig-h2 { margin-bottom: 0 !important; }
.emm-ig-share-btns { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.emm-ig-share-btn {
	display: inline-flex !important; align-items: center !important;
	font-family: var(--emm-head) !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1 !important;
	color: var(--emm-black) !important; background: var(--emm-white) !important;
	border: 1px solid var(--emm-line) !important; border-radius: 999px !important;
	padding: 11px 16px !important; cursor: pointer !important; transition: border-color .15s ease !important;
}
.emm-ig-share-btn:hover { border-color: var(--emm-black) !important; text-decoration: none !important; color: var(--emm-black) !important; }
.emm-ig-embed { background: var(--emm-black) !important; border-radius: 18px !important; padding: 28px !important; color: #D6D6D9 !important; }
.emm-ig-embed-intro { color: #D6D6D9 !important; font-size: 16px !important; }
.emm-ig-embed-controls { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 12px !important; }
.emm-ig-embed-controls label { font-family: var(--emm-head) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--emm-white) !important; }
.emm-ig-embed-width {
	font-family: var(--emm-body) !important; font-size: 14px !important; color: var(--emm-white) !important;
	background: var(--emm-ink) !important; border: 1px solid #3A3A3A !important; border-radius: 8px !important;
	padding: 8px 12px !important; height: auto !important; width: auto !important;
}
.emm-ig-embed-code {
	display: block !important; width: 100% !important; min-height: 130px !important; resize: vertical !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; font-size: 13px !important; line-height: 1.55 !important;
	color: #F5F5F7 !important; background: var(--emm-ink) !important;
	border: 1px solid #3A3A3A !important; border-radius: 10px !important; padding: 14px !important; margin: 0 0 16px !important;
}
.emm-ig-embed-code:focus { border-color: var(--emm-orange) !important; }

/* Details: text version and FAQs */
.emm-ig-details { border: 1px solid var(--emm-line) !important; border-radius: 14px !important; background: var(--emm-white) !important; }
.emm-ig-details + .emm-ig-details { margin-top: 10px !important; }
.emm-ig-details summary {
	list-style: none !important; cursor: pointer !important; display: flex !important; align-items: center !important;
	justify-content: space-between !important; gap: 16px !important; padding: 20px 24px !important;
}
.emm-ig-details summary::-webkit-details-marker { display: none !important; }
.emm-ig-details summary::after {
	content: '+' !important; flex: none !important; font-family: var(--emm-head) !important; font-size: 24px !important;
	font-weight: 500 !important; line-height: 1 !important; color: var(--emm-orange) !important; transition: transform .2s ease !important;
}
.emm-ig-details[open] summary::after { transform: rotate(45deg) !important; }
.emm-ig-details-title { font-size: 19px !important; font-weight: 600 !important; line-height: 1.35 !important; }
.emm-ig-faq .emm-ig-details-title { font-size: 17px !important; }
.emm-ig-prose { padding: 0 24px 24px !important; }
.emm-ig-prose h2, .emm-ig-prose h3, .emm-ig-prose h4 { margin: 1.4em 0 .5em !important; font-size: 19px !important; }
.emm-ig-prose ul, .emm-ig-prose ol { margin: 0 0 1em 1.3em !important; padding: 0 !important; }
.emm-ig-prose li { margin-bottom: .35em !important; }

/* Sources */
.emm-ig-sources { margin: 0 0 0 1.3em !important; padding: 0 !important; font-size: 15px !important; color: var(--emm-muted) !important; }
.emm-ig-sources li { margin-bottom: 8px !important; padding-left: 4px !important; word-break: break-word !important; }

/* Related */
.emm-ig-related { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important; gap: 18px !important; }
.emm-ig-rel {
	display: flex !important; flex-direction: column !important; overflow: hidden !important;
	border: 1px solid var(--emm-line) !important; border-radius: 16px !important; background: var(--emm-white) !important;
	color: var(--emm-ink) !important; transition: border-color .15s ease !important;
}
.emm-ig-rel:hover { border-color: var(--emm-black) !important; text-decoration: none !important; }
.emm-ig-rel-thumb { display: block !important; aspect-ratio: 16 / 9 !important; overflow: hidden !important; background: var(--emm-light) !important; }
.emm-ig-rel-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.emm-ig-rel-body { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; padding: 22px !important; flex: 1 !important; }
.emm-ig-rel-title { font-family: var(--emm-head) !important; font-size: 20px !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--emm-black) !important; }
.emm-ig-rel-text { font-size: 15px !important; color: var(--emm-muted) !important; }
.emm-ig-rel--service { background: var(--emm-blue) !important; border-color: var(--emm-blue) !important; }
.emm-ig-rel--service:hover { border-color: var(--emm-black) !important; }
.emm-ig-rel--service .emm-ig-rel-title { color: var(--emm-white) !important; font-size: 24px !important; }
.emm-ig-rel--service .emm-ig-rel-text { color: rgba(255, 255, 255, 0.85) !important; }
.emm-ig-rel-cta { margin-top: auto !important; font-family: var(--emm-head) !important; font-weight: 600 !important; font-size: 15px !important; color: var(--emm-white) !important; border-bottom: 2px solid var(--emm-orange) !important; padding-bottom: 2px !important; }

/* Grid and cards (hub + more infographics) */
.emm-ig-more-head { display: flex !important; align-items: baseline !important; justify-content: space-between !important; gap: 16px !important; }
.emm-ig-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; gap: 24px !important; }
.emm-ig-card {
	display: flex !important; flex-direction: column !important; overflow: hidden !important;
	background: var(--emm-white) !important; border: 1px solid var(--emm-line) !important; border-radius: 16px !important;
	color: var(--emm-ink) !important; transition: border-color .15s ease !important;
}
.emm-ig-card:hover { border-color: var(--emm-black) !important; text-decoration: none !important; }
.emm-ig-card.is-hidden { display: none !important; }
.emm-ig-card-thumb { display: block !important; aspect-ratio: 4 / 5 !important; overflow: hidden !important; background: var(--emm-light) !important; }
.emm-ig-card-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; display: block !important; transition: transform .4s ease !important; }
.emm-ig-card:hover .emm-ig-card-thumb img { transform: scale(1.03) !important; }
.emm-ig-card-body { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; padding: 18px 20px 22px !important; }
.emm-ig .emm-ig-card-title { font-size: 18px !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--emm-black) !important; }
.emm-ig-card-date { font-size: 13px !important; color: var(--emm-muted) !important; }

/* Hub */
.emm-ig-hub-head { max-width: 780px !important; margin-bottom: 32px !important; }
.emm-ig-hub-head .emm-ig-title { margin-top: 0 !important; }
.emm-ig-hub-intro { font-size: 19px !important; color: #3B3B3B !important; }
.emm-ig-filters { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-bottom: 28px !important; }
.emm-ig-filter {
	font-family: var(--emm-head) !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1 !important;
	color: var(--emm-black) !important; background: var(--emm-white) !important;
	border: 1px solid var(--emm-line) !important; border-radius: 999px !important; padding: 11px 18px !important; cursor: pointer !important;
}
.emm-ig-filter:hover { border-color: var(--emm-black) !important; }
.emm-ig-filter[aria-pressed="true"] { background: var(--emm-black) !important; color: var(--emm-white) !important; border-color: var(--emm-black) !important; }
.emm-ig-empty { font-size: 17px !important; color: var(--emm-muted) !important; padding: 40px 0 !important; }
.emm-ig-empty[hidden] { display: none !important; }
.emm-ig-more-wrap { display: flex !important; justify-content: center !important; margin-top: 36px !important; }

/* CTA */
.emm-ig-cta { background: var(--emm-black) !important; padding: 80px 20px !important; }
.emm-ig-cta-inner { max-width: 1080px !important; margin: 0 auto !important; display: grid !important; gap: 40px !important; align-items: start !important; }
.emm-ig-cta--form .emm-ig-cta-inner { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) !important; }
.emm-ig .emm-ig-cta-title { font-size: clamp(30px, 3.6vw, 42px) !important; line-height: 1.12 !important; font-weight: 700 !important; color: var(--emm-white) !important; margin-bottom: 18px !important; }
.emm-ig-cta-copy { border-left: 4px solid var(--emm-orange) !important; padding-left: 24px !important; }
.emm-ig-cta-text { font-size: 18px !important; color: #D6D6D9 !important; margin-bottom: 26px !important; }
.emm-ig-cta-form { background: var(--emm-white) !important; border-radius: 16px !important; padding: 12px !important; }

/* Lightbox */
.emm-ig-lightbox { position: fixed !important; inset: 0 !important; z-index: 999999 !important; background: rgba(12, 12, 12, 0.95) !important; }
.emm-ig-lightbox[hidden] { display: none !important; }
.emm-ig-lb-bar { position: fixed !important; top: 14px !important; right: 14px !important; z-index: 2 !important; display: flex !important; gap: 8px !important; }
.emm-ig-lb-btn {
	font-family: var(--emm-head) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1 !important;
	color: var(--emm-white) !important; background: rgba(255, 255, 255, 0.12) !important;
	border: 1px solid rgba(255, 255, 255, 0.24) !important; border-radius: 8px !important; padding: 11px 16px !important; cursor: pointer !important;
}
.emm-ig-lb-btn:hover { background: rgba(255, 255, 255, 0.22) !important; }
.emm-ig-lb-close { background: var(--emm-orange) !important; border-color: var(--emm-orange) !important; }
.emm-ig-lb-close:hover { background: #E8452A !important; }
.emm-ig-lb-scroll { height: 100% !important; overflow: auto !important; padding: 68px 16px 40px !important; -webkit-overflow-scrolling: touch !important; }
.emm-ig-lb-img { display: block !important; margin: 0 auto !important; width: auto !important; max-width: min(1000px, 100%) !important; height: auto !important; }
.emm-ig-lightbox.is-actual .emm-ig-lb-img { max-width: none !important; }
body.emm-ig-lock { overflow: hidden !important; }

/* Responsive */
@media (max-width: 900px) {
	.emm-ig-cta--form .emm-ig-cta-inner { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
	.emm-ig { font-size: 16px !important; }
	.emm-ig-wrap { padding: 20px 16px 56px !important; }
	.emm-ig-section { margin-top: 48px !important; }
	.emm-ig-h2 { font-size: 22px !important; }
	.emm-ig-summary p, .emm-ig-hub-intro { font-size: 17px !important; }
	.emm-ig-visual { padding: 8px !important; border-radius: 12px !important; margin-top: 32px !important; }
	.emm-ig-zoom-hint { font-size: 12px !important; right: 8px !important; bottom: 8px !important; }
	.emm-ig-stat-value { font-size: 34px !important; }
	.emm-ig-embed { padding: 20px !important; }
	.emm-ig-embed-copy { width: 100% !important; }
	.emm-ig-details summary { padding: 18px !important; }
	.emm-ig-prose { padding: 0 18px 18px !important; }
	.emm-ig-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
	.emm-ig-card-body { padding: 14px !important; }
	.emm-ig .emm-ig-card-title { font-size: 15px !important; }
	.emm-ig-cta { padding: 56px 16px !important; }
	.emm-ig-cta-copy { padding-left: 18px !important; }
	.emm-ig-cta-form { padding: 6px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.emm-ig *, .emm-ig *::before, .emm-ig *::after { transition: none !important; animation: none !important; }
	.emm-ig-card:hover .emm-ig-card-thumb img { transform: none !important; }
}
