/*
	Theme Name: Atlas Growth (He`llo Elementor Child)
	Theme URI: atlasgrowthmarketing.com
	Description: Child theme of Hello Elementor for the Atlas Growth Marketing site. Holds brand-level CSS the Elementor kit does not cover (kicker labels, pill links, gradient backdrops, focus styles).
	Author: Justin Gillman
	Author URI: atlasgrowthmarketing.com
	Template: hello-elementor
	Version: 1.0.13
	Text Domain: hello-elementor-child
*/

:root {
	--atlas-primary:   #232020;
	--atlas-secondary: #bde8d1;
	--atlas-text:      #17211f;
	--atlas-accent:    #ff6f61;
	--atlas-linen:     #fffaf2;
	--atlas-cream:     #f7f1e8;
	--atlas-mint:      #bde8d1;
	--atlas-gold:      #e6b94a;
	--atlas-muted:     #64716e;
}

html,
body {
	overflow-x: clip;
}

/* ---------- Hero: full-bleed flex-row layout ---------- */

/* Hero outer: force the flex-direction and kill the default side padding.
   Elementor's e-parent containers default to column even when the
   --flex-direction CSS var says row, because the var only feeds a child
   rule that sometimes loses specificity. Direct override wins reliably. */
.atlas-home-hero.e-con,
.atlas-home-hero.e-con.e-parent {
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	padding: 0 !important;
	align-items: center !important;
	min-height: 85vh;
}

/* Left text col: responsive left padding that aligns with the site grid.
   The formula: (viewport - 1390 container) / 2 + 28px (outer pad) → or
   at least 28px so it never collapses on narrow viewports. */
.atlas-home-hero .atlas-hero-copy {
	flex: 0 0 55%;
	max-width: 55%;
	padding: 110px 60px 110px max(28px, calc((100vw - 1390px) / 2 + 28px));
	box-sizing: border-box;
}

/* Right image col: stretches to the full hero height, zero right padding
   so the image is flush with the viewport edge. */
.atlas-home-hero .atlas-hero-image-col {
	flex: 1 1 auto;
	align-self: stretch;
	overflow: hidden;
	padding: 0 !important;
}
/* Elementor adds 20px padding to .e-con-inner — zero it out for the image col */
.atlas-home-hero .atlas-hero-image-col > .e-con-inner {
	padding: 0 !important;
	height: 100%;
}
.atlas-home-hero .atlas-hero-image-col .elementor-widget-image,
.atlas-home-hero .atlas-hero-image-col .elementor-widget-container {
	width: 100%;
	height: 100%;
	display: flex;
}
.atlas-home-hero .atlas-hero-portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* ---------- Kicker label used above headlines ---------- */
.atlas-kicker,
.atlas-kicker .elementor-heading-title {
	font-family: "Space Grotesk", sans-serif;
	font-weight: 600;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--atlas-primary);
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
}
.atlas-kicker .elementor-heading-title::before {
	content: "";
	width: 28px;
	height: 1px;
	background: currentColor;
	display: inline-block;
}

/* Kicker on dark sections flips to mint */
.atlas-on-dark .atlas-kicker,
.atlas-on-dark .atlas-kicker .elementor-heading-title {
	color: var(--atlas-mint);
}

/* ---------- Hero copy lede ---------- */
.atlas-home-hero-lede {
	max-width: 56ch;
	color: var(--atlas-muted);
	font-size: 1.125rem;
	line-height: 1.6;
}

/* ---------- Service tag cloud ---------- */
.atlas-service-tags .elementor-button {
	background: transparent;
	border: 1px solid rgba(35, 32, 32, 0.18);
	color: var(--atlas-primary);
	border-radius: 999px;
	padding: 0.55rem 1.1rem;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 500;
	font-size: 0.92rem;
	letter-spacing: 0.01em;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}
.atlas-service-tags .elementor-button:hover {
	background: var(--atlas-primary);
	color: var(--atlas-linen);
	border-color: var(--atlas-primary);
}

/* ---------- Numbered step badge ---------- */
.atlas-step-number .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--atlas-primary);
	color: var(--atlas-linen);
	font-size: 1.05rem;
	font-weight: 700;
}

/* ---------- Subtle ruled divider between sections ---------- */
.atlas-rule { border-top: 1px solid rgba(35, 32, 32, 0.12); }

/* ---------- Footer ---------- */
.atlas-footer .atlas-footer-heading,
.atlas-footer .atlas-footer-heading .elementor-heading-title {
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 600;
}

/* Force every text colour inside the dark footer back to linen so we
   don't rely on the kit's body text colour (which is dark on light). */
.atlas-footer,
.atlas-footer .elementor-heading-title,
.atlas-footer .elementor-icon-list-text,
.atlas-footer .elementor-text-editor,
.atlas-footer .elementor-text-editor * {
	color: var(--atlas-linen);
}

.atlas-footer .atlas-footer-list .elementor-icon-list-item,
.atlas-footer .atlas-footer-legal-list .elementor-icon-list-item {
	padding-block: 4px;
}

/* Elementor inlines `--e-icon-list-text-color` from the widget's `text_color`
   setting onto the widget root, and `--e-icon-list-icon-color` for icons.
   Override both at the wrapper level so the dark-section variant always
   reads correctly without us having to alter the kit defaults. */
.atlas-footer .elementor-widget-icon-list {
	--e-icon-list-text-color: var(--atlas-linen);
	--e-icon-list-icon-color: var(--atlas-accent);
}
.atlas-footer .atlas-footer-list .elementor-icon-list-text {
	font-size: 0.95rem;
	color: var(--atlas-linen) !important;
	opacity: 0.85;
	transition: opacity 160ms ease;
}
.atlas-footer .atlas-footer-list a:hover .elementor-icon-list-text {
	opacity: 1;
}
.atlas-footer .atlas-footer-list .elementor-icon-list-icon svg,
.atlas-footer .atlas-footer-list .elementor-icon-list-icon i {
	color: var(--atlas-accent) !important;
	fill: var(--atlas-accent) !important;
}
.atlas-footer .atlas-footer-legal-list .elementor-icon-list-text {
	color: var(--atlas-linen) !important;
}

/* Social icons — flat icons in linen, no chip behind */
.atlas-footer .elementor-social-icons-wrapper {
	gap: 10px;
	margin-top: 4px;
}
.atlas-footer .elementor-social-icon {
	background: transparent !important;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 250, 242, 0.22);
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 160ms ease, border-color 160ms ease;
}
.atlas-footer .elementor-social-icon i,
.atlas-footer .elementor-social-icon svg {
	color: var(--atlas-linen) !important;
	fill: var(--atlas-linen) !important;
	font-size: 16px;
}
.atlas-footer .elementor-social-icon:hover {
	background: rgba(255, 250, 242, 0.08) !important;
	border-color: rgba(255, 250, 242, 0.45);
}

/* Legal strip — inline icon list with dot separators */
.atlas-footer .atlas-footer-legal-list .elementor-icon-list-items {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}
.atlas-footer .atlas-footer-legal-list .elementor-icon-list-item {
	padding: 0;
}
.atlas-footer .atlas-footer-legal-list .elementor-icon-list-icon {
	display: none; /* hide the literal dot — the gap is enough */
}
.atlas-footer .atlas-footer-legal-list .elementor-icon-list-text {
	font-size: 0.86rem;
	opacity: 0.78;
}

.atlas-footer .atlas-footer-smallprint p {
	margin: 0;
	font-size: 0.86rem;
	opacity: 0.78;
}

/* Force footer body text + headings to read on the dark primary bg */
.atlas-footer p,
.atlas-footer li,
.atlas-footer strong {
	color: var(--atlas-linen);
}
.atlas-footer p { opacity: 0.85; }

.atlas-footer .atlas-footer-main,
.atlas-footer .atlas-footer-legal {
	width: 100%;
}

.atlas-footer .atlas-footer-brand,
.atlas-footer .atlas-footer-col,
.atlas-footer .atlas-footer-legal > .e-con {
	min-width: 0;
}

.atlas-footer .atlas-footer-brand p,
.atlas-footer .atlas-footer-col p {
	max-width: 34ch;
}

/* ---------- Footer link styles ---------- */
.atlas-footer a {
	color: var(--atlas-linen);
	opacity: 0.78;
	text-decoration: none;
	transition: opacity 160ms ease;
	overflow-wrap: anywhere;
}
.atlas-footer a:hover { opacity: 1; }

/* ---------- Service pages: SEO ---------- */
.elementor-13 .atlas-service-hero,
.elementor-13 .atlas-service-what,
.elementor-13 .atlas-service-method,
.elementor-13 .atlas-service-proof,
.elementor-13 .atlas-service-comparison,
.elementor-13 .atlas-service-spotlight,
.elementor-13 .atlas-service-final-cta {
	overflow: hidden;
}

.elementor-13 .elementor-element-1517f191,
.elementor-13 .elementor-element-d39c7ef6,
.elementor-13 .elementor-element-2c702cf2,
.elementor-13 .elementor-element-b8fc989b,
.elementor-13 .elementor-element-791591ab,
.elementor-13 .elementor-element-72de1c93,
.elementor-13 .elementor-element-3dd1165e {
	width: 100%;
}

.elementor-13 .atlas-service-hero {
	min-height: 760px;
}

.elementor-13 .elementor-element-78b84507,
.elementor-13 .elementor-element-23a1d7a2,
.elementor-13 .elementor-element-87c1e1a3,
.elementor-13 .elementor-element-badc3fcc,
.elementor-13 .elementor-element-9cc83927,
.elementor-13 .elementor-element-ce81d3d6 {
	min-width: 0;
}

.elementor-13 .elementor-element-18127b97,
.elementor-13 .elementor-element-a13e7414,
.elementor-13 .elementor-element-4342b82f,
.elementor-13 .elementor-element-83aa3917,
.elementor-13 .elementor-element-9ae952f6,
.elementor-13 .elementor-element-6181927e,
.elementor-13 .elementor-element-db5dad09,
.elementor-13 .elementor-element-c95792ff,
.elementor-13 .elementor-element-196f1260,
.elementor-13 .elementor-element-90353460,
.elementor-13 .elementor-element-1a94eaf5 {
	min-width: 0;
}

.elementor-13 .elementor-element-11d0e273 .elementor-heading-title {
	max-width: 10.5ch;
	font-size: clamp(4rem, 6.6vw, 6.8rem);
	line-height: 0.98;
}

.elementor-13 .atlas-service-hero .atlas-home-hero-lede {
	max-width: 62ch;
}

.elementor-13 .elementor-element-a13e7414 {
	position: relative;
}

.elementor-13 .elementor-element-a13e7414::before {
	content: "";
	position: absolute;
	inset: -18px -18px auto auto;
	width: 42%;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 111, 97, 0.32);
	border-radius: 999px;
}

.elementor-13 .elementor-element-a13e7414::after {
	content: "";
	position: absolute;
	inset: auto auto -22px -22px;
	width: 56%;
	aspect-ratio: 1;
	background: var(--atlas-mint);
	border-radius: 999px;
	opacity: 0.32;
}

.elementor-13 .atlas-hero-portrait,
.elementor-13 .atlas-method-image {
	position: relative;
	z-index: 1;
}

.elementor-13 .atlas-hero-portrait img,
.elementor-13 .atlas-method-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0 24px 70px -42px rgba(35, 32, 32, 0.7);
}

.elementor-13 .atlas-method-image img {
	aspect-ratio: 16 / 11;
}

.elementor-13 .elementor-element-7c874fa4,
.elementor-13 .elementor-element-e811739d {
	--e-con-grid-template-columns: repeat(4, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-13 .elementor-element-e811739d {
	--e-con-grid-template-columns: repeat(3, minmax(0, 1fr));
}

.elementor-13 .elementor-element-7c874fa4 > *,
.elementor-13 .elementor-element-e811739d > * {
	min-width: 0;
}

.elementor-13 .atlas-card,
.elementor-13 .elementor-element-42796b67,
.elementor-13 .elementor-element-b62b5dbc,
.elementor-13 .elementor-element-3a5e1384 {
	border: 1px solid rgba(35, 32, 32, 0.11);
	border-radius: 8px;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.elementor-13 .elementor-widget-icon-box.atlas-card {
	padding: 30px;
	background: rgba(255, 250, 242, 0.72);
}

.elementor-13 .atlas-card:hover,
.elementor-13 .elementor-element-42796b67:hover,
.elementor-13 .elementor-element-b62b5dbc:hover,
.elementor-13 .elementor-element-3a5e1384:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 111, 97, 0.42);
	box-shadow: 0 20px 52px -34px rgba(35, 32, 32, 0.45);
}

.elementor-13 .elementor-element-42796b67,
.elementor-13 .elementor-element-b62b5dbc,
.elementor-13 .elementor-element-3a5e1384 {
	padding: 34px 24px;
	background: rgba(255, 250, 242, 0.94);
}

.elementor-13 .elementor-counter-number-wrapper {
	font-size: clamp(3rem, 5vw, 5.4rem);
	line-height: 1;
}

.elementor-13 .elementor-element-196f1260,
.elementor-13 .elementor-element-90353460 {
	min-height: 100%;
}

.elementor-13 .atlas-service-spotlight .elementor-testimonial {
	padding: clamp(32px, 5vw, 64px);
	background: var(--atlas-linen);
	border: 1px solid rgba(35, 32, 32, 0.12);
	border-radius: 8px;
}

.elementor-13 .atlas-service-final-cta .elementor-button {
	background: var(--atlas-linen) !important;
	color: var(--atlas-primary) !important;
}

/* ---------- Service pages: Google Ads ---------- */
.elementor-14 .atlas-service-hero,
.elementor-14 .atlas-service-what,
.elementor-14 .atlas-service-method,
.elementor-14 .atlas-service-proof,
.elementor-14 .atlas-service-comparison,
.elementor-14 .atlas-service-spotlight,
.elementor-14 .atlas-service-final-cta {
	overflow: hidden;
}

.elementor-14 .elementor-element-3de6689f,
.elementor-14 .elementor-element-fe208003,
.elementor-14 .elementor-element-70ff040d,
.elementor-14 .elementor-element-0e992596,
.elementor-14 .elementor-element-cc4dc704,
.elementor-14 .elementor-element-7a52f7b4,
.elementor-14 .elementor-element-3f8f1a15 {
	width: 100%;
}

.elementor-14 .atlas-service-hero {
	min-height: 760px;
}

.elementor-14 .atlas-google-hero-row,
.elementor-14 .atlas-google-method-row,
.elementor-14 .atlas-google-comparison-row,
.elementor-14 .atlas-google-final-actions {
	min-width: 0;
}

.elementor-14 .atlas-google-hero-copy,
.elementor-14 .atlas-google-hero-media,
.elementor-14 .elementor-element-8ca4780e,
.elementor-14 .elementor-element-aec05091,
.elementor-14 .elementor-element-94635006,
.elementor-14 .elementor-element-04ef90e1,
.elementor-14 .elementor-element-c62d220b,
.elementor-14 .elementor-element-92639942,
.elementor-14 .elementor-element-2e8cdce9,
.elementor-14 .elementor-element-38faa389,
.elementor-14 .elementor-element-9cc16455 {
	min-width: 0;
}

.elementor-14 .elementor-element-6469f07e .elementor-heading-title {
	max-width: 11.5ch;
	font-size: clamp(4rem, 6.2vw, 6.5rem);
	line-height: 0.98;
}

.elementor-14 .atlas-service-hero .atlas-home-hero-lede {
	max-width: 64ch;
}

.elementor-14 .atlas-google-hero-media {
	position: relative;
}

.elementor-14 .atlas-google-hero-media::before {
	content: "";
	position: absolute;
	inset: -22px -14px auto auto;
	width: 48%;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 111, 97, 0.34);
	border-radius: 999px;
}

.elementor-14 .atlas-google-hero-media::after {
	content: "";
	position: absolute;
	inset: auto auto -26px -22px;
	width: 58%;
	aspect-ratio: 1;
	background: var(--atlas-gold);
	border-radius: 999px;
	opacity: 0.22;
}

.elementor-14 .atlas-hero-portrait,
.elementor-14 .atlas-method-image {
	position: relative;
	z-index: 1;
}

.elementor-14 .atlas-hero-portrait img,
.elementor-14 .atlas-method-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0 24px 70px -42px rgba(35, 32, 32, 0.7);
}

.elementor-14 .atlas-method-image img {
	aspect-ratio: 16 / 11;
}

.elementor-14 .atlas-google-channels-grid {
	--e-con-grid-template-columns: repeat(4, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-14 .atlas-google-proof-grid {
	--e-con-grid-template-columns: repeat(3, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-14 .atlas-google-channels-grid > *,
.elementor-14 .atlas-google-proof-grid > * {
	min-width: 0;
}

.elementor-14 .atlas-card,
.elementor-14 .elementor-element-b9d4b9f7,
.elementor-14 .elementor-element-e54e2481,
.elementor-14 .elementor-element-879a4a45 {
	border: 1px solid rgba(35, 32, 32, 0.11);
	border-radius: 8px;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.elementor-14 .elementor-widget-icon-box.atlas-card {
	padding: 30px;
	background: rgba(255, 250, 242, 0.72);
}

.elementor-14 .atlas-card:hover,
.elementor-14 .elementor-element-b9d4b9f7:hover,
.elementor-14 .elementor-element-e54e2481:hover,
.elementor-14 .elementor-element-879a4a45:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 111, 97, 0.42);
	box-shadow: 0 20px 52px -34px rgba(35, 32, 32, 0.45);
}

.elementor-14 .elementor-element-b9d4b9f7,
.elementor-14 .elementor-element-e54e2481,
.elementor-14 .elementor-element-879a4a45 {
	padding: 34px 24px;
	background: rgba(255, 250, 242, 0.94);
}

.elementor-14 .elementor-counter-number-wrapper {
	font-size: clamp(3rem, 5vw, 5.4rem);
	line-height: 1;
}

.elementor-14 .elementor-element-2e8cdce9,
.elementor-14 .elementor-element-38faa389 {
	min-height: 100%;
}

.elementor-14 .atlas-service-spotlight .elementor-testimonial {
	padding: clamp(32px, 5vw, 64px);
	background: var(--atlas-linen);
	border: 1px solid rgba(35, 32, 32, 0.12);
	border-radius: 8px;
}

.elementor-14 .atlas-service-final-cta .elementor-button {
	background: var(--atlas-linen) !important;
	color: var(--atlas-primary) !important;
}

.elementor-14 .atlas-google-actions,
.elementor-14 .elementor-element-94f46ee7 {
	justify-content: flex-start !important;
	align-items: center !important;
}

.elementor-14 .atlas-google-actions > .e-con,
.elementor-14 .elementor-element-94f46ee7 > .e-con {
	width: auto !important;
	max-width: max-content !important;
	flex: 0 0 auto !important;
}

.elementor-14 .atlas-google-actions .elementor-button,
.elementor-14 .elementor-element-94f46ee7 .elementor-button {
	width: auto;
}

.elementor-13 .atlas-seo-actions,
.elementor-13 .elementor-element-c8e34c1c {
	justify-content: flex-start !important;
	align-items: center !important;
}

.elementor-13 .atlas-seo-actions > .e-con,
.elementor-13 .elementor-element-c8e34c1c > .e-con {
	width: auto !important;
	max-width: max-content !important;
	flex: 0 0 auto !important;
}

.elementor-13 .atlas-seo-actions .elementor-button,
.elementor-13 .elementor-element-c8e34c1c .elementor-button {
	width: auto;
}

/* ---------- Service pages: Meta Ads ---------- */
.elementor-15 .atlas-service-hero,
.elementor-15 .atlas-service-what,
.elementor-15 .atlas-service-method,
.elementor-15 .atlas-service-proof,
.elementor-15 .atlas-service-comparison,
.elementor-15 .atlas-service-spotlight,
.elementor-15 .atlas-service-final-cta {
	overflow: hidden;
}

.elementor-15 .elementor-element-021f89bb,
.elementor-15 .elementor-element-0f345527,
.elementor-15 .elementor-element-4535ae21,
.elementor-15 .elementor-element-bc83a1fc,
.elementor-15 .elementor-element-2769eee7,
.elementor-15 .elementor-element-a1d8d9b2,
.elementor-15 .elementor-element-4bbda38a {
	width: 100%;
}

.elementor-15 .atlas-service-hero {
	min-height: 760px;
}

.elementor-15 .atlas-meta-hero-row,
.elementor-15 .atlas-meta-method-row,
.elementor-15 .atlas-meta-comparison-row,
.elementor-15 .atlas-meta-final-actions {
	min-width: 0;
}

.elementor-15 .atlas-meta-hero-copy,
.elementor-15 .atlas-meta-hero-media,
.elementor-15 .elementor-element-ce751b03,
.elementor-15 .elementor-element-7f42e313,
.elementor-15 .elementor-element-bd1ed1f3,
.elementor-15 .elementor-element-d023de80,
.elementor-15 .elementor-element-c8441d3c,
.elementor-15 .elementor-element-795cb49d,
.elementor-15 .elementor-element-9d9657bd,
.elementor-15 .elementor-element-944d8a28,
.elementor-15 .elementor-element-a0c115ad {
	min-width: 0;
}

.elementor-15 .elementor-element-75e6af2a .elementor-heading-title {
	max-width: 11.5ch;
	font-size: clamp(4rem, 6.2vw, 6.5rem);
	line-height: 0.98;
}

.elementor-15 .atlas-service-hero .atlas-home-hero-lede {
	max-width: 64ch;
}

.elementor-15 .atlas-meta-hero-media {
	position: relative;
}

.elementor-15 .atlas-hero-portrait,
.elementor-15 .atlas-method-image {
	position: relative;
	z-index: 1;
}

.elementor-15 .atlas-hero-portrait img,
.elementor-15 .atlas-method-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0 24px 70px -42px rgba(35, 32, 32, 0.7);
}

.elementor-15 .atlas-method-image img {
	aspect-ratio: 16 / 11;
}

.elementor-15 .atlas-meta-channels-grid {
	--e-con-grid-template-columns: repeat(4, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-15 .atlas-meta-proof-grid {
	--e-con-grid-template-columns: repeat(3, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-15 .atlas-meta-channels-grid > *,
.elementor-15 .atlas-meta-proof-grid > * {
	min-width: 0;
}

.elementor-15 .atlas-card,
.elementor-15 .elementor-element-9d9657bd,
.elementor-15 .elementor-element-944d8a28 {
	border: 1px solid rgba(35, 32, 32, 0.11);
	border-radius: 8px;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.elementor-15 .elementor-widget-icon-box.atlas-card {
	padding: 30px;
	background: rgba(255, 250, 242, 0.72);
}

.elementor-15 .atlas-card:hover,
.elementor-15 .elementor-element-9d9657bd:hover,
.elementor-15 .elementor-element-944d8a28:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 111, 97, 0.42);
	box-shadow: 0 20px 52px -34px rgba(35, 32, 32, 0.45);
}

.elementor-15 .elementor-element-9d9657bd,
.elementor-15 .elementor-element-944d8a28 {
	padding: 34px 24px;
	background: rgba(255, 250, 242, 0.94);
}

.elementor-15 .elementor-counter-number-wrapper {
	font-size: clamp(3rem, 5vw, 5.4rem);
	line-height: 1;
}

.elementor-15 .elementor-element-9d9657bd,
.elementor-15 .elementor-element-944d8a28 {
	min-height: 100%;
}

.elementor-15 .atlas-service-spotlight .elementor-testimonial {
	padding: clamp(32px, 5vw, 64px);
	background: var(--atlas-linen);
	border: 1px solid rgba(35, 32, 32, 0.12);
	border-radius: 8px;
}

.elementor-15 .atlas-service-final-cta .elementor-button {
	background: var(--atlas-linen) !important;
	color: var(--atlas-primary) !important;
}

.elementor-15 .atlas-meta-actions,
.elementor-15 .elementor-element-e2ebd054 {
	justify-content: flex-start !important;
	align-items: center !important;
}

.elementor-15 .atlas-meta-actions > .e-con,
.elementor-15 .elementor-element-e2ebd054 > .e-con {
	width: auto !important;
	max-width: max-content !important;
	flex: 0 0 auto !important;
}

.elementor-15 .atlas-meta-actions .elementor-button,
.elementor-15 .elementor-element-e2ebd054 .elementor-button {
	width: auto;
}

/* ---------- Contact page ---------- */
.elementor-16 .atlas-contact-hero,
.elementor-16 .atlas-contact-faq,
.elementor-16 .atlas-contact-trust {
	overflow: hidden;
}

.elementor-16 .elementor-element-5f6550ea,
.elementor-16 .elementor-element-5ecdf192,
.elementor-16 .elementor-element-0cd58613 {
	width: 100%;
}

.elementor-16 .atlas-contact-hero-row,
.elementor-16 .atlas-contact-copy,
.elementor-16 .atlas-contact-form-card,
.elementor-16 .atlas-contact-faq-grid {
	min-width: 0;
}

.elementor-16 .elementor-element-811c2b4a .elementor-heading-title {
	max-width: 12ch;
	font-size: clamp(4rem, 6.2vw, 6.5rem);
	line-height: 0.98;
}

.elementor-16 .atlas-contact-copy .elementor-widget-text-editor {
	max-width: 62ch;
}

.elementor-16 .elementor-element-a70a55de,
.elementor-16 .elementor-element-a70a55de p,
.elementor-16 .elementor-icon-list-text {
	overflow-wrap: anywhere;
}

.elementor-16 .atlas-contact-form-card,
.elementor-16 .elementor-widget-icon-box.atlas-card {
	border: 1px solid rgba(35, 32, 32, 0.11);
	border-radius: 8px;
}

.elementor-16 .atlas-contact-form-card {
	box-shadow: 0 24px 70px -48px rgba(35, 32, 32, 0.7);
}

.elementor-16 .atlas-contact-form-card .elementor-field,
.elementor-16 .atlas-contact-form-card textarea,
.elementor-16 .atlas-contact-form-card select {
	border: 1px solid rgba(35, 32, 32, 0.16);
	border-radius: 8px;
	min-height: 48px;
}

.elementor-16 .atlas-contact-form-card textarea {
	min-height: 142px;
}

.elementor-16 .atlas-contact-form-card .elementor-field:focus,
.elementor-16 .atlas-contact-form-card textarea:focus,
.elementor-16 .atlas-contact-form-card select:focus {
	border-color: rgba(255, 111, 97, 0.72);
	box-shadow: 0 0 0 3px rgba(255, 111, 97, 0.12);
}

.elementor-16 .atlas-contact-faq-grid {
	--e-con-grid-template-columns: repeat(2, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-16 .atlas-contact-faq-grid > * {
	min-width: 0;
}

.elementor-16 .elementor-widget-icon-box.atlas-card {
	padding: 30px;
	background: rgba(255, 250, 242, 0.72);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.elementor-16 .elementor-widget-icon-box.atlas-card:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 111, 97, 0.42);
	box-shadow: 0 20px 52px -34px rgba(35, 32, 32, 0.45);
}

.elementor-16 .atlas-contact-trust .atlas-on-dark {
	padding: clamp(34px, 5vw, 64px);
	border: 1px solid rgba(255, 250, 242, 0.18);
	border-radius: 8px;
}

/* ---------- Blog page ---------- */
.elementor-17 .atlas-blog-hero,
.elementor-17 .atlas-blog-featured,
.elementor-17 .atlas-blog-grid-section,
.elementor-17 .atlas-blog-newsletter {
	overflow: hidden;
}

.elementor-17 .atlas-blog-hero-copy,
.elementor-17 .atlas-blog-hero-panel,
.elementor-17 .atlas-blog-featured-row,
.elementor-17 .atlas-blog-featured-media,
.elementor-17 .atlas-blog-featured-copy,
.elementor-17 .atlas-blog-newsletter-card {
	min-width: 0;
}

.elementor-17 .atlas-blog-hero-row {
	min-width: 0;
	flex-direction: row !important;
	align-items: center !important;
}

.elementor-17 .elementor-element-d23e0bd5 .elementor-heading-title {
	max-width: 12ch;
	font-size: clamp(4rem, 6vw, 6.4rem);
	line-height: 0.98;
}

.elementor-17 .atlas-blog-hero-copy .atlas-home-hero-lede {
	max-width: 66ch;
}

.elementor-17 .atlas-blog-hero-panel {
	position: relative;
	box-shadow: 0 24px 70px -48px rgba(35, 32, 32, 0.65);
}

.elementor-17 .atlas-blog-hero-panel::before {
	content: "";
	position: absolute;
	inset: -18px -18px auto auto;
	width: 42%;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 111, 97, 0.34);
	border-radius: 999px;
	pointer-events: none;
}

.elementor-17 .atlas-blog-hero-panel .elementor-widget {
	position: relative;
	z-index: 1;
}

.elementor-17 .atlas-blog-hero-panel h3 {
	font-size: clamp(1.8rem, 2.6vw, 2.65rem);
	line-height: 1.05;
}

.elementor-17 .atlas-blog-content .elementor-widget-posts {
	width: 100%;
}

.elementor-17 .atlas-featured-image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 8px;
}

.elementor-17 .atlas-blog-posts .elementor-post {
	min-width: 0;
}

.elementor-17 .atlas-blog-posts .elementor-post__card {
	border: 1px solid rgba(35, 32, 32, 0.11);
	border-radius: 8px;
	overflow: hidden;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.elementor-17 .atlas-blog-posts .elementor-post__card:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 111, 97, 0.42);
	box-shadow: 0 20px 52px -34px rgba(35, 32, 32, 0.45);
}

.elementor-17 .atlas-blog-posts .elementor-post__title,
.elementor-17 .atlas-blog-posts .elementor-post__excerpt {
	overflow-wrap: anywhere;
}

.elementor-17 .atlas-blog-newsletter-form .elementor-field,
.elementor-17 .atlas-blog-newsletter-form .elementor-button {
	border-radius: 8px;
	min-height: 48px;
}

/* ---------- Single post template ---------- */
.elementor-57 .atlas-page-hero-section,
.elementor-57 .atlas-section,
.elementor-57 .atlas-article-next {
	overflow: hidden;
}

.elementor-57 .atlas-page-hero-section .elementor-container,
.elementor-57 .atlas-section .elementor-container,
.elementor-57 .atlas-article-next .elementor-container {
	max-width: 1390px;
}

.elementor-57 .atlas-page-hero .elementor-widget-theme-post-title .elementor-heading-title {
	max-width: 16ch;
	font-size: clamp(3.4rem, 5.6vw, 5.4rem);
	line-height: 0.98;
}

.elementor-57 .atlas-single-hero .elementor-container {
	justify-content: center;
}

.elementor-57 .atlas-single-hero-copy {
	max-width: 980px;
}

.elementor-57 .atlas-single-meta-line .elementor-post-info {
	gap: 12px 22px;
}

.elementor-57 .atlas-single-back-link .elementor-button {
	background: transparent !important;
	border: 1px solid rgba(35, 32, 32, 0.2);
	color: var(--atlas-primary) !important;
}

.elementor-57 .atlas-mini-card {
	padding: clamp(22px, 3vw, 34px);
	background: rgba(255, 250, 242, 0.84);
	border: 1px solid rgba(35, 32, 32, 0.12);
	border-radius: 8px;
}

.elementor-57 .atlas-article-body .elementor-widget-theme-post-featured-image img {
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0 24px 70px -48px rgba(35, 32, 32, 0.65);
}

.elementor-57 .atlas-article-body .elementor-widget-theme-post-content {
	max-width: 76ch;
	margin-inline: auto;
}

.elementor-57 .atlas-single-content-section .elementor-container,
.elementor-57 .atlas-single-content-column {
	max-width: 980px;
	margin-inline: auto;
}

.elementor-57 .atlas-article-related {
	padding-top: clamp(68px, 9vw, 112px);
	padding-bottom: clamp(68px, 9vw, 112px);
}

.elementor-57 .atlas-related-posts .elementor-posts-container {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.elementor-57 .atlas-related-posts .elementor-post {
	min-width: 0;
}

.elementor-57 .atlas-related-posts .elementor-post__card {
	border: 1px solid rgba(35, 32, 32, 0.11);
	border-radius: 8px;
	overflow: hidden;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.elementor-57 .atlas-related-posts .elementor-post__card:hover {
	transform: translateY(-3px);
	border-color: rgba(255, 111, 97, 0.42);
	box-shadow: 0 20px 52px -34px rgba(35, 32, 32, 0.45);
}

.elementor-57 .atlas-related-posts .elementor-post__title,
.elementor-57 .atlas-related-posts .elementor-post__excerpt {
	overflow-wrap: anywhere;
}

/* ---------- Header sticky polish ---------- */
.atlas-header {
	backdrop-filter: saturate(160%) blur(6px);
	background: rgba(255, 250, 242, 0.86);
	border-bottom: 1px solid rgba(35, 32, 32, 0.08);
}

.atlas-header > .e-con-inner,
.atlas-header .elementor-element-db84a402 {
	width: 100%;
	max-width: 1390px;
	margin-inline: auto;
}

.atlas-header .atlas-wordmark a {
	color: var(--atlas-primary);
	text-decoration: none;
}

.atlas-header .atlas-nav .elementor-menu-toggle {
	border-radius: 8px;
	color: var(--atlas-primary);
	padding: 8px;
}

.atlas-header .atlas-nav .elementor-menu-toggle:hover,
.atlas-header .atlas-nav .elementor-menu-toggle.elementor-active {
	background: rgba(35, 32, 32, 0.08);
}

.atlas-header .atlas-nav .elementor-nav-menu--dropdown {
	background: var(--atlas-linen);
	border: 1px solid rgba(35, 32, 32, 0.12);
	border-radius: 8px;
	box-shadow: 0 18px 42px -28px rgba(35, 32, 32, 0.5);
	overflow: hidden;
}

.atlas-header .atlas-nav .elementor-nav-menu--dropdown .elementor-item {
	color: var(--atlas-primary);
	font-family: "Space Grotesk", sans-serif;
	font-weight: 600;
	justify-content: flex-start;
	padding: 14px 18px;
}

.atlas-header .atlas-nav .elementor-nav-menu--dropdown .elementor-item:hover,
.atlas-header .atlas-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
	background: rgba(35, 32, 32, 0.06);
	color: var(--atlas-accent);
}

/* ---------- Elementor responsive layout safeguards ---------- */
.elementor-12 .elementor-element.elementor-element-e263976b,
.elementor-12 .elementor-element.elementor-element-faed1da5,
.elementor-12 .elementor-element.elementor-element-2a6903e1,
.elementor-12 .elementor-element.elementor-element-36773ea1,
.elementor-12 .elementor-element.elementor-element-d6caf760 {
	--e-con-grid-template-columns: repeat(3, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-12 .elementor-element.elementor-element-228c1029,
.elementor-12 .elementor-element.elementor-element-227c97bf {
	--e-con-grid-template-columns: repeat(4, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-12 .elementor-element.elementor-element-12e4dc5b {
	--e-con-grid-template-columns: repeat(5, minmax(0, 1fr));
	--e-con-grid-template-rows: auto;
}

.elementor-12 .elementor-element.elementor-element-e263976b > *,
.elementor-12 .elementor-element.elementor-element-228c1029 > *,
.elementor-12 .elementor-element.elementor-element-faed1da5 > *,
.elementor-12 .elementor-element.elementor-element-12e4dc5b > *,
.elementor-12 .elementor-element.elementor-element-2a6903e1 > *,
.elementor-12 .elementor-element.elementor-element-36773ea1 > *,
.elementor-12 .elementor-element.elementor-element-d6caf760 > *,
.elementor-12 .elementor-element.elementor-element-227c97bf > * {
	min-width: 0;
}

/* ---------- Card hover for service / value props ---------- */
.atlas-card.e-con {
	transition: transform 200ms ease, box-shadow 200ms ease;
}
.atlas-card.e-con:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 40px -22px rgba(35, 32, 32, 0.35);
}

@media (max-width: 1024px) {
	.atlas-header.e-con,
	.atlas-header.e-con.e-parent {
		padding: 14px 22px !important;
	}

	.atlas-header .elementor-element-db84a402 {
		position: relative;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 16px !important;
	}

	.atlas-header .elementor-element-4fc5de2e {
		flex: 1 1 auto !important;
		width: auto !important;
		min-width: 0;
	}

	.atlas-header .atlas-wordmark .elementor-heading-title {
		font-size: clamp(1.05rem, 4vw, 1.35rem);
		line-height: 1.15;
		white-space: nowrap;
	}

	.atlas-header .elementor-element-f5d51cb9 {
		align-items: flex-end !important;
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 44px;
	}

	.atlas-header .atlas-nav {
		width: auto !important;
		min-width: 44px;
	}

	.atlas-header .atlas-nav .elementor-menu-toggle {
		margin: 0 !important;
		width: 44px;
		height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.atlas-header .atlas-nav .elementor-nav-menu--dropdown {
		position: absolute;
		top: calc(100% + 10px);
		right: 0;
		left: auto;
		width: min(320px, calc(100vw - 44px)) !important;
		min-width: 0 !important;
		z-index: 101;
	}

	.atlas-header .elementor-element-59e5bcdf,
	.atlas-header .atlas-nav-cta {
		display: none !important;
	}

	.atlas-footer.e-con,
	.atlas-footer.e-con.e-parent {
		padding: 72px 28px !important;
	}

	.atlas-footer .atlas-footer-main.e-con {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: flex-start !important;
		gap: 36px 28px !important;
	}

	.atlas-footer .atlas-footer-brand.e-con {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.atlas-footer .atlas-footer-col.e-con {
		width: calc((100% - 56px) / 3) !important;
		max-width: calc((100% - 56px) / 3) !important;
		flex: 1 1 calc((100% - 56px) / 3) !important;
	}

	.atlas-footer .atlas-footer-legal.e-con {
		flex-wrap: wrap !important;
		align-items: flex-start !important;
	}

	.atlas-footer .atlas-footer-legal > .e-con {
		width: 100% !important;
		max-width: 100% !important;
		align-items: flex-start !important;
	}

	.elementor-12 .elementor-element.elementor-element-dccd9218,
	.elementor-12 .elementor-element.elementor-element-73c88b4c {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
	}

	.elementor-12 .elementor-element.elementor-element-171d28eb,
	.elementor-12 .elementor-element.elementor-element-84472349,
	.elementor-12 .elementor-element.elementor-element-07747c4f,
	.elementor-12 .elementor-element.elementor-element-a97e6584 {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-12 .elementor-element.elementor-element-e263976b,
	.elementor-12 .elementor-element.elementor-element-228c1029,
	.elementor-12 .elementor-element.elementor-element-faed1da5,
	.elementor-12 .elementor-element.elementor-element-12e4dc5b,
	.elementor-12 .elementor-element.elementor-element-2a6903e1,
	.elementor-12 .elementor-element.elementor-element-36773ea1,
	.elementor-12 .elementor-element.elementor-element-d6caf760,
	.elementor-12 .elementor-element.elementor-element-227c97bf {
		--e-con-grid-template-columns: repeat(2, minmax(0, 1fr));
		--e-con-grid-template-rows: auto;
	}

	.elementor-13 .atlas-service-hero {
		min-height: auto;
	}

	.elementor-13 .elementor-element-78b84507,
	.elementor-13 .elementor-element-23a1d7a2,
	.elementor-13 .elementor-element-87c1e1a3,
	.elementor-13 .elementor-element-badc3fcc,
	.elementor-13 .elementor-element-9cc83927 {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
	}

	.elementor-13 .elementor-element-18127b97,
	.elementor-13 .elementor-element-a13e7414,
	.elementor-13 .elementor-element-4342b82f,
	.elementor-13 .elementor-element-83aa3917,
	.elementor-13 .elementor-element-9ae952f6,
	.elementor-13 .elementor-element-6181927e,
	.elementor-13 .elementor-element-db5dad09,
	.elementor-13 .elementor-element-c95792ff,
	.elementor-13 .elementor-element-196f1260,
	.elementor-13 .elementor-element-90353460 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	.elementor-13 .elementor-element-18127b97 > .elementor-widget,
	.elementor-13 .elementor-element-18127b97 > .e-con {
		width: 100%;
	}

	.elementor-13 .elementor-element-7c874fa4,
	.elementor-13 .elementor-element-e811739d {
		--e-con-grid-template-columns: repeat(2, minmax(0, 1fr));
		--e-con-grid-template-rows: auto;
	}

	.elementor-14 .atlas-service-hero {
		min-height: auto;
	}

	.elementor-14 .atlas-google-hero-row,
	.elementor-14 .atlas-google-method-row,
	.elementor-14 .atlas-google-comparison-row {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
	}

	.elementor-14 .atlas-google-hero-copy,
	.elementor-14 .atlas-google-hero-media,
	.elementor-14 .elementor-element-8ca4780e,
	.elementor-14 .elementor-element-aec05091,
	.elementor-14 .elementor-element-94635006,
	.elementor-14 .elementor-element-04ef90e1,
	.elementor-14 .elementor-element-c62d220b,
	.elementor-14 .elementor-element-92639942,
	.elementor-14 .elementor-element-2e8cdce9,
	.elementor-14 .elementor-element-38faa389 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	.elementor-14 .atlas-google-hero-copy > .elementor-widget,
	.elementor-14 .atlas-google-hero-copy > .e-con {
		width: 100%;
	}

	.elementor-14 .atlas-google-channels-grid,
	.elementor-14 .atlas-google-proof-grid {
		--e-con-grid-template-columns: repeat(2, minmax(0, 1fr));
		--e-con-grid-template-rows: auto;
	}

	.elementor-15 .atlas-service-hero {
		min-height: auto;
	}

	.elementor-15 .atlas-meta-hero-row,
	.elementor-15 .atlas-meta-method-row,
	.elementor-15 .atlas-meta-comparison-row {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
	}

	.elementor-15 .atlas-meta-hero-copy,
	.elementor-15 .atlas-meta-hero-media,
	.elementor-15 .elementor-element-ce751b03,
	.elementor-15 .elementor-element-7f42e313,
	.elementor-15 .elementor-element-bd1ed1f3,
	.elementor-15 .elementor-element-d023de80,
	.elementor-15 .elementor-element-c8441d3c,
	.elementor-15 .elementor-element-795cb49d,
	.elementor-15 .elementor-element-9d9657bd,
	.elementor-15 .elementor-element-944d8a28 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	.elementor-15 .atlas-meta-hero-copy > .elementor-widget,
	.elementor-15 .atlas-meta-hero-copy > .e-con {
		width: 100%;
	}

	.elementor-15 .atlas-meta-channels-grid,
	.elementor-15 .atlas-meta-proof-grid {
		--e-con-grid-template-columns: repeat(2, minmax(0, 1fr));
		--e-con-grid-template-rows: auto;
	}

	.elementor-16 .atlas-contact-hero-row {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
	}

	.elementor-16 .atlas-contact-copy,
	.elementor-16 .atlas-contact-form-card {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	.elementor-17 .atlas-blog-hero-row {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.elementor-17 .atlas-blog-hero-copy,
	.elementor-17 .atlas-blog-hero-panel {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-57 .atlas-page-hero-section .elementor-container {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}

	.elementor-57 .atlas-page-hero,
	.elementor-57 .atlas-mini-card {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-57 .atlas-related-posts .elementor-posts-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 767px) {
	.atlas-header.e-con,
	.atlas-header.e-con.e-parent {
		padding: 12px 16px !important;
	}

	.atlas-home-hero.e-con,
	.atlas-home-hero.e-con.e-parent {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		min-height: auto;
	}

	.atlas-home-hero .atlas-hero-copy {
		flex: 0 0 auto;
		max-width: 100%;
		width: 100%;
		padding: 72px 22px 42px;
	}

	.atlas-home-hero .atlas-hero-image-col {
		width: 100%;
		min-height: 360px;
	}

	.atlas-home-hero .atlas-hero-portrait img {
		min-height: 360px;
	}

	.elementor-12 .elementor-element.elementor-element-36116ca0 {
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100%;
	}

	.elementor-12 .elementor-element.elementor-element-36116ca0 .elementor-widget-button,
	.elementor-12 .elementor-element.elementor-element-36116ca0 .elementor-button {
		width: 100%;
	}

	.elementor-12 .e-con.e-parent:not(.atlas-home-hero) {
		padding-top: clamp(56px, 14vw, 76px) !important;
		padding-bottom: clamp(56px, 14vw, 76px) !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.elementor-12 .elementor-element.elementor-element-84472349,
	.elementor-12 .elementor-element.elementor-element-2e6f2fc0,
	.elementor-12 .elementor-element.elementor-element-4b4a9d64,
	.elementor-12 .elementor-element.elementor-element-8ca0882a {
		padding: 28px 22px !important;
	}

	.elementor-12 .atlas-social-proof .elementor-element-affb381f {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.elementor-12 .atlas-social-proof .elementor-element-088a3c55,
	.elementor-12 .atlas-social-proof .elementor-element-33f17d2f,
	.elementor-12 .atlas-social-proof .atlas-muted-line,
	.elementor-12 .atlas-social-proof .atlas-muted-line p {
		width: 100% !important;
		max-width: 100% !important;
		text-align: center;
	}

	.atlas-footer.e-con,
	.atlas-footer.e-con.e-parent {
		padding: 56px 22px !important;
	}

	.atlas-footer .atlas-footer-main.e-con,
	.atlas-footer .atlas-footer-legal.e-con {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		gap: 34px !important;
	}

	.atlas-footer .atlas-footer-brand.e-con,
	.atlas-footer .atlas-footer-col.e-con,
	.atlas-footer .atlas-footer-legal > .e-con {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
		align-items: flex-start !important;
	}

	.atlas-footer .atlas-footer-brand .elementor-heading-title {
		max-width: 12ch;
		font-size: clamp(2rem, 13vw, 3.1rem);
		line-height: 1.05;
	}

	.atlas-footer .atlas-footer-list .elementor-icon-list-text,
	.atlas-footer .atlas-footer-col p,
	.atlas-footer .atlas-footer-smallprint p {
		font-size: 0.95rem;
		line-height: 1.55;
	}

	.atlas-footer .atlas-footer-legal-list .elementor-icon-list-items {
		gap: 12px 18px;
	}

	.elementor-12 .elementor-form .elementor-column.elementor-col-50 {
		width: 100%;
	}

	.elementor-12 .elementor-element.elementor-element-e263976b,
	.elementor-12 .elementor-element.elementor-element-228c1029,
	.elementor-12 .elementor-element.elementor-element-faed1da5,
	.elementor-12 .elementor-element.elementor-element-12e4dc5b,
	.elementor-12 .elementor-element.elementor-element-2a6903e1,
	.elementor-12 .elementor-element.elementor-element-36773ea1,
	.elementor-12 .elementor-element.elementor-element-d6caf760,
	.elementor-12 .elementor-element.elementor-element-227c97bf {
		--e-con-grid-template-columns: minmax(0, 1fr);
		--e-con-grid-template-rows: auto;
	}

	.elementor-13 .atlas-service-hero,
	.elementor-13 .atlas-service-what,
	.elementor-13 .atlas-service-method,
	.elementor-13 .atlas-service-proof,
	.elementor-13 .atlas-service-comparison,
	.elementor-13 .atlas-service-spotlight,
	.elementor-13 .atlas-service-final-cta {
		padding: 64px 22px !important;
	}

	.elementor-13 .elementor-element-78b84507,
	.elementor-13 .elementor-element-23a1d7a2,
	.elementor-13 .elementor-element-87c1e1a3,
	.elementor-13 .elementor-element-badc3fcc,
	.elementor-13 .elementor-element-9cc83927,
	.elementor-13 .elementor-element-ce81d3d6,
	.elementor-13 .elementor-element-c8e34c1c {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
		gap: 26px !important;
	}

	.elementor-13 .atlas-seo-actions > .e-con,
	.elementor-13 .elementor-element-c8e34c1c > .e-con {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	.elementor-13 .elementor-element-11d0e273 .elementor-heading-title {
		max-width: 100%;
		font-size: clamp(2.65rem, 10vw, 3.45rem);
		line-height: 1.04;
	}

	.elementor-13 .atlas-kicker,
	.elementor-13 .atlas-kicker .elementor-heading-title {
		font-size: 0.7rem;
		line-height: 1.35;
		letter-spacing: 0.14em;
	}

	.elementor-13 .elementor-widget-icon-box.atlas-card,
	.elementor-13 .elementor-element-196f1260,
	.elementor-13 .elementor-element-90353460,
	.elementor-13 .atlas-service-spotlight .elementor-testimonial {
		padding: 26px 22px !important;
	}

	.elementor-13 .elementor-element-7c874fa4,
	.elementor-13 .elementor-element-e811739d {
		--e-con-grid-template-columns: minmax(0, 1fr);
		--e-con-grid-template-rows: auto;
	}

	.elementor-13 .atlas-hero-portrait img,
	.elementor-13 .atlas-method-image img {
		aspect-ratio: 4 / 3;
	}

	.elementor-13 .elementor-button {
		width: 100%;
	}

	.elementor-14 .atlas-service-hero,
	.elementor-14 .atlas-service-what,
	.elementor-14 .atlas-service-method,
	.elementor-14 .atlas-service-proof,
	.elementor-14 .atlas-service-comparison,
	.elementor-14 .atlas-service-spotlight,
	.elementor-14 .atlas-service-final-cta {
		padding: 64px 22px !important;
	}

	.elementor-14 .atlas-google-hero-row,
	.elementor-14 .atlas-google-method-row,
	.elementor-14 .atlas-google-comparison-row,
	.elementor-14 .atlas-google-final-actions,
	.elementor-14 .elementor-element-94f46ee7 {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
		gap: 26px !important;
	}

	.elementor-14 .elementor-element-6469f07e .elementor-heading-title {
		max-width: 100%;
		font-size: clamp(2.65rem, 10vw, 3.45rem);
		line-height: 1.04;
	}

	.elementor-14 .atlas-google-actions > .e-con,
	.elementor-14 .elementor-element-94f46ee7 > .e-con {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	.elementor-14 .elementor-widget-icon-box.atlas-card,
	.elementor-14 .elementor-element-2e8cdce9,
	.elementor-14 .elementor-element-38faa389,
	.elementor-14 .atlas-service-spotlight .elementor-testimonial {
		padding: 26px 22px !important;
	}

	.elementor-14 .atlas-google-channels-grid,
	.elementor-14 .atlas-google-proof-grid {
		--e-con-grid-template-columns: minmax(0, 1fr);
		--e-con-grid-template-rows: auto;
	}

	.elementor-14 .atlas-hero-portrait img,
	.elementor-14 .atlas-method-image img {
		aspect-ratio: 4 / 3;
	}

	.elementor-14 .elementor-button {
		width: 100%;
	}

	.elementor-15 .atlas-service-hero,
	.elementor-15 .atlas-service-what,
	.elementor-15 .atlas-service-method,
	.elementor-15 .atlas-service-proof,
	.elementor-15 .atlas-service-comparison,
	.elementor-15 .atlas-service-spotlight,
	.elementor-15 .atlas-service-final-cta {
		padding: 64px 22px !important;
	}

	.elementor-15 .atlas-meta-hero-row,
	.elementor-15 .atlas-meta-method-row,
	.elementor-15 .atlas-meta-comparison-row,
	.elementor-15 .atlas-meta-final-actions,
	.elementor-15 .elementor-element-e2ebd054 {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
		gap: 26px !important;
	}

	.elementor-15 .elementor-element-75e6af2a .elementor-heading-title {
		max-width: 100%;
		font-size: clamp(2.65rem, 10vw, 3.45rem);
		line-height: 1.04;
	}

	.elementor-15 .atlas-meta-actions > .e-con,
	.elementor-15 .elementor-element-e2ebd054 > .e-con {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	.elementor-15 .elementor-widget-icon-box.atlas-card,
	.elementor-15 .elementor-element-9d9657bd,
	.elementor-15 .elementor-element-944d8a28,
	.elementor-15 .atlas-service-spotlight .elementor-testimonial {
		padding: 26px 22px !important;
	}

	.elementor-15 .atlas-meta-channels-grid,
	.elementor-15 .atlas-meta-proof-grid {
		--e-con-grid-template-columns: minmax(0, 1fr);
		--e-con-grid-template-rows: auto;
	}

	.elementor-15 .atlas-hero-portrait img,
	.elementor-15 .atlas-method-image img {
		aspect-ratio: 4 / 3;
	}

	.elementor-15 .elementor-button {
		width: 100%;
	}

	.elementor-16 .atlas-contact-hero,
	.elementor-16 .atlas-contact-faq,
	.elementor-16 .atlas-contact-trust {
		padding: 64px 22px !important;
	}

	.elementor-16 .atlas-contact-hero-row {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
		gap: 30px !important;
	}

	.elementor-16 .elementor-element-811c2b4a .elementor-heading-title {
		max-width: 100%;
		font-size: clamp(2.65rem, 10vw, 3.45rem);
		line-height: 1.04;
	}

	.elementor-16 .atlas-contact-form-card,
	.elementor-16 .elementor-widget-icon-box.atlas-card,
	.elementor-16 .atlas-contact-trust .atlas-on-dark {
		padding: 26px 22px !important;
	}

	.elementor-16 .atlas-contact-faq-grid {
		--e-con-grid-template-columns: minmax(0, 1fr);
		--e-con-grid-template-rows: auto;
	}

	.elementor-16 .elementor-form .elementor-column,
	.elementor-16 .elementor-form .elementor-field-group,
	.elementor-16 .elementor-form .elementor-button {
		width: 100% !important;
	}

	.elementor-17 .elementor-element-d23e0bd5 .elementor-heading-title {
		max-width: 100%;
		font-size: clamp(2.65rem, 10vw, 3.45rem);
		line-height: 1.04;
	}

	.elementor-17 .atlas-blog-hero-panel {
		padding: 26px 22px !important;
	}

	.elementor-57 .atlas-page-hero-section,
	.elementor-57 .atlas-section,
	.elementor-57 .atlas-article-next {
		padding-left: 22px !important;
		padding-right: 22px !important;
	}

	.elementor-57 .atlas-page-hero .elementor-widget-theme-post-title .elementor-heading-title {
		max-width: 100%;
		font-size: clamp(2.3rem, 10vw, 3.2rem);
		line-height: 1.04;
	}

	.elementor-57 .atlas-mini-card {
		margin-top: 18px;
		padding: 22px !important;
	}

	.elementor-57 .atlas-article-body .elementor-widget-theme-post-featured-image img {
		aspect-ratio: 4 / 3;
	}

	.elementor-57 .atlas-related-posts .elementor-posts-container {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Accessibility: visible focus on Elementor buttons ---------- */
.elementor-button:focus-visible,
.elementor-nav-menu a:focus-visible {
	outline: 2px solid var(--atlas-accent);
	outline-offset: 3px;
}

/* ---------- Capabilities marquee ---------- */
@keyframes atlas-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* Outer clip + edge fade */
.atlas-marquee-wrap {
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	contain: paint;
	/* Soft fade on left and right edges */
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0%,
		black 8%,
		black 92%,
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0%,
		black 8%,
		black 92%,
		transparent 100%
	);
}

/* The scrolling track — content duplicated for seamless loop */
.atlas-marquee-track {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	max-width: none;
	gap: 12px;
	animation: atlas-marquee 38s linear infinite;
	will-change: transform;
}
.atlas-marquee-track:hover {
	animation-play-state: paused;
}

/* Individual pill tags */
.atlas-marquee-tag {
	display: inline-flex;
	align-items: center;
	padding: 9px 22px;
	border: 1px solid rgba(35, 32, 32, 0.2);
	border-radius: 999px;
	background: transparent;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 500;
	font-size: 0.9rem;
	color: var(--atlas-primary);
	white-space: nowrap;
	text-decoration: none;
	transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
	cursor: default;
}
.atlas-marquee-tag:hover {
	background: var(--atlas-primary);
	color: var(--atlas-linen);
	border-color: var(--atlas-primary);
}

/* ============================================================
   Blog single-post hero -> charcoal banner  (added 2026-06-03)
   Section .atlas-blog-hero becomes a full-width charcoal band
   with reversed light text. Background tracks --atlas-primary,
   so it stays in sync with the Elementor global Primary colour.
   ============================================================ */
.elementor-57 .atlas-blog-hero {
	background: var(--atlas-primary);
	padding-top: clamp(104px, 13vw, 168px);
	padding-bottom: clamp(56px, 7vw, 92px);
	margin-bottom: clamp(40px, 6vw, 72px);
}
.elementor-57 .atlas-blog-hero .elementor-widget-theme-post-title .elementor-heading-title,
.elementor-57 .atlas-blog-hero .elementor-widget-theme-post-excerpt,
.elementor-57 .atlas-blog-hero .elementor-widget-theme-post-excerpt *,
.elementor-57 .atlas-blog-hero .elementor-post-info,
.elementor-57 .atlas-blog-hero .elementor-post-info .elementor-post-info__item,
.elementor-57 .atlas-blog-hero .elementor-post-info .elementor-post-info__item a {
	color: var(--atlas-linen) !important;
}
.elementor-57 .atlas-blog-hero .atlas-kicker,
.elementor-57 .atlas-blog-hero .atlas-kicker .elementor-heading-title {
	color: var(--atlas-mint) !important;
}
.elementor-57 .atlas-blog-hero .atlas-single-back-link .elementor-button {
	background: rgba(255, 250, 242, 0.08) !important;
	border: 1px solid rgba(255, 250, 242, 0.38) !important;
	color: var(--atlas-linen) !important;
}
.elementor-57 .atlas-blog-hero .atlas-single-back-link .elementor-button:hover {
	background: var(--atlas-linen) !important;
	color: var(--atlas-primary) !important;
}
