/*!
 * MA Experience: design system for ahmadlocalseo.com
 * Scope: .ma-* (home composition) and .als-* (inner pages), plus light
 * Kadence header/footer/form polish. Colours come from the Kadence
 * global palette where possible so the Customizer stays the source of truth.
 */

:root {
	--ma-obsidian: #080B10;
	--ma-ink: #0C121B;
	--ma-navy: #101A2A;
	--ma-surface: #172333;
	--ma-silver: #D7DDE5;
	--ma-white: #F2F5F8;
	--ma-mute: #909BAA;
	--ma-teal: #64E0D0;
	--ma-teal-ink: #05201C;
	--ma-line: rgba(215, 221, 229, .11);
	--ma-line-strong: rgba(215, 221, 229, .22);
	--ma-serif: var(--global-heading-font-family, "Instrument Serif"), "Iowan Old Style", Georgia, serif;
	--ma-ease: cubic-bezier(.2, .7, .2, 1);
	--ma-wide: 1240px;
	--ma-gutter: clamp(20px, 4vw, 48px);
}

/* ---------- Base ---------- */
body { background: var(--ma-obsidian); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { background: rgba(100, 224, 208, .28); color: var(--ma-white); }
.site, .content-bg, .site-container { background: transparent; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
.entry-content a:not(.wp-block-button__link) { color: var(--ma-teal); }
.entry-content a:not(.wp-block-button__link):hover { color: var(--ma-white); }
.entry-content ul li::marker { color: var(--ma-teal); }
h1 em, h2 em, .ma-statement__text em { font-style: italic; }
:focus-visible { outline: 2px solid var(--ma-teal); outline-offset: 3px; border-radius: 4px; }

/* ---------- Header ---------- */
#masthead .site-main-header-wrap .site-header-row-container-inner {
	background: rgba(8, 11, 16, .72);
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	backdrop-filter: saturate(140%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color .4s var(--ma-ease), background-color .4s var(--ma-ease);
}
.ma-scrolled #masthead .site-main-header-wrap .site-header-row-container-inner { border-bottom-color: var(--ma-line); background: rgba(8, 11, 16, .86); }
#masthead .site-branding .site-title { font-family: Inter, system-ui, sans-serif; font-weight: 500; letter-spacing: .01em; color: var(--ma-white); }
#masthead .site-branding .brand { gap: 12px; }
.header-navigation .menu > li > a { font-size: 14px; letter-spacing: .02em; position: relative; }
.header-navigation .menu > li > a::after {
	content: ""; position: absolute; left: 1em; right: 1em; bottom: .7em; height: 1px;
	background: var(--ma-teal); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ma-ease);
}
.header-navigation .menu > li > a:hover::after,
.header-navigation .menu > li.current-menu-item > a::after { transform: scaleX(1); }
.header-navigation .sub-menu { background: var(--ma-navy) !important; border: 1px solid var(--ma-line); border-radius: 12px; padding: 8px 0; box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .7); }
.header-navigation .sub-menu a { font-size: 14px; }
#masthead .header-button {
	background: transparent; color: var(--ma-teal); border: 1px solid rgba(100, 224, 208, .55);
	border-radius: 999px; padding: .55em 1.15em; font-size: 14px; font-weight: 500; letter-spacing: .01em;
	transition: background-color .35s var(--ma-ease), color .35s var(--ma-ease), border-color .35s var(--ma-ease);
}
#masthead .header-button:hover { background: var(--ma-teal); color: var(--ma-teal-ink); border-color: var(--ma-teal); }
#mobile-drawer .drawer-inner { background: var(--ma-obsidian); }
#mobile-drawer .mobile-navigation a { font-family: var(--ma-serif); font-size: 26px; padding-block: .45em; }

/* ---------- Buttons ---------- */
.wp-block-button__link {
	border-radius: 999px; background: var(--ma-teal); color: var(--ma-teal-ink);
	font-weight: 600; font-size: 15px; letter-spacing: .01em; padding: 1em 1.6em;
	border: 1px solid var(--ma-teal);
	transition: transform .35s var(--ma-ease), box-shadow .35s var(--ma-ease), background-color .35s var(--ma-ease), color .35s var(--ma-ease), border-color .35s var(--ma-ease);
}
.wp-block-button__link:hover, .wp-block-button__link:focus-visible {
	background: #8DEBDF; border-color: #8DEBDF; color: var(--ma-teal-ink);
	transform: translateY(-1px); box-shadow: 0 14px 34px -14px rgba(100, 224, 208, .6);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--ma-white); border: 1px solid var(--ma-line-strong);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--ma-teal); color: var(--ma-teal); box-shadow: none; }
.wp-block-buttons { gap: 12px; }

/* ---------- Shared section system ---------- */
.ma-sec, .als-section {
	padding: clamp(80px, 10vw, 150px) var(--ma-gutter) !important;
	margin: 0 !important; position: relative; box-sizing: border-box;
}
.ma-kicker, .als-eyebrow {
	display: flex; align-items: center; gap: 14px;
	font-family: Inter, system-ui, sans-serif; font-size: 12px; font-weight: 500;
	letter-spacing: .2em; text-transform: uppercase; color: var(--ma-mute); margin-bottom: 1.5rem !important;
}
.ma-kicker::before, .als-eyebrow::before { content: ""; width: 32px; height: 1px; background: var(--ma-teal); flex: none; }
.ma-sec h2, .als-section h2 {
	font-size: clamp(2.25rem, 4.6vw, 4rem); line-height: 1.04; letter-spacing: -.015em; font-weight: 400;
	margin-bottom: 1.25rem; text-wrap: balance;
}
.ma-sec h2 em, .als-section h2 em { color: var(--ma-teal); }
.ma-intro { color: var(--ma-mute); max-width: 54ch; font-size: 1.0625rem; }
.ma-sec--ink, .als-section--alt { background: var(--ma-ink); border-block: 1px solid var(--ma-line); }

/* ---------- Hero (home) ---------- */
.ma-hero {
	min-height: calc(100svh - 76px); display: flex; flex-direction: column; justify-content: center;
	padding: clamp(56px, 8vw, 110px) var(--ma-gutter) clamp(40px, 5vw, 64px) !important;
	margin: 0 !important; position: relative; overflow: hidden; isolation: isolate;
	background:
		radial-gradient(900px 620px at 78% 42%, rgba(100, 224, 208, .10), transparent 62%),
		radial-gradient(1100px 760px at 8% 110%, rgba(23, 35, 51, .95), transparent 70%),
		linear-gradient(180deg, var(--ma-obsidian), #0A0F17);
}
.ma-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image:
		linear-gradient(rgba(215, 221, 229, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(215, 221, 229, .045) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: radial-gradient(ellipse 70% 60% at 60% 45%, #000 20%, transparent 75%);
	mask-image: radial-gradient(ellipse 70% 60% at 60% 45%, #000 20%, transparent 75%);
}
.ma-hero > * { max-width: var(--ma-wide); width: 100%; }
.ma-hero__cols { align-items: center !important; gap: clamp(24px, 4vw, 64px) !important; margin: 0 auto !important; }
.ma-hero .ma-kicker { color: var(--ma-silver); }
.ma-hero .ma-kicker strong { color: var(--ma-white); font-weight: 600; letter-spacing: .2em; white-space: nowrap; }
.ma-hero .ma-kicker { flex-wrap: wrap; row-gap: 8px; }
.ma-hero h1 {
	font-size: clamp(3rem, 7vw, 6.75rem); line-height: .98; letter-spacing: -.025em; font-weight: 400;
	color: var(--ma-white); margin: 0 0 1.75rem; text-wrap: balance;
}
.ma-hero h1 em {
	background: linear-gradient(100deg, #EEF2F6 0%, #AFC0CF 38%, var(--ma-teal) 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .06em;
}
.ma-hero h1 em .ma-w { margin-right: -.04em; }
.ma-lead { font-size: clamp(1.0625rem, 1.4vw, 1.25rem); line-height: 1.6; color: var(--ma-silver); max-width: 34rem; margin-bottom: 2.25rem; }
.ma-hero .wp-block-buttons { margin-bottom: 0; }

.ma-meta {
	list-style: none; margin: clamp(48px, 7vw, 88px) auto 0 !important; padding: 26px 0 0 !important;
	border-top: 1px solid var(--ma-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
	font-size: 14px; color: var(--ma-silver);
}
.ma-meta li { margin: 0; }
.ma-meta li span { display: block; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ma-mute); margin-bottom: 6px; }

/* Word reveal */
.ma-w { display: inline-block; overflow: hidden; vertical-align: top; padding: 0 .14em .1em 0; margin: 0 -.14em -.1em 0; }
.ma-w > span { display: inline-block; transform: translateY(105%); transition: transform 1.1s var(--ma-ease); }
.ma-loaded .ma-w > span { transform: none; }
.ma-js:not(.ma-reduced) .ma-hero .ma-kicker,
.ma-js:not(.ma-reduced) .ma-hero .ma-lead,
.ma-js:not(.ma-reduced) .ma-hero .wp-block-buttons,
.ma-js:not(.ma-reduced) .ma-hero .ma-meta,
.ma-js:not(.ma-reduced) .ma-visual { opacity: 0; transform: translateY(14px); transition: opacity 1s var(--ma-ease), transform 1s var(--ma-ease); }
.ma-js:not(.ma-reduced) .ma-visual { transform: scale(.96); transition-duration: 1.6s; }
.ma-loaded .ma-hero .ma-kicker { opacity: 1 !important; transform: none !important; }
.ma-loaded .ma-hero .ma-lead { opacity: 1 !important; transform: none !important; transition-delay: .55s !important; }
.ma-loaded .ma-hero .wp-block-buttons { opacity: 1 !important; transform: none !important; transition-delay: .7s !important; }
.ma-loaded .ma-hero .ma-meta { opacity: 1 !important; transform: none !important; transition-delay: .9s !important; }
.ma-loaded .ma-visual { opacity: 1 !important; transform: none !important; transition-delay: .25s !important; }

/* ---------- Hero visual: orbital map composition ---------- */
.ma-visual { position: relative; width: 100%; max-width: 560px; aspect-ratio: 1 / 1; margin-inline: auto; perspective: 1400px; }
.ma-visual__stage {
	position: absolute; inset: 0; transform-style: preserve-3d;
	transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
}
.ma-plane {
	position: absolute; inset: 6%; border-radius: 50%;
	transform: rotateX(64deg) translateZ(-70px);
	background-image:
		linear-gradient(rgba(215, 221, 229, .12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(215, 221, 229, .12) 1px, transparent 1px);
	background-size: 34px 34px;
	-webkit-mask-image: radial-gradient(circle, #000 25%, transparent 70%);
	mask-image: radial-gradient(circle, #000 25%, transparent 70%);
}
.ma-ring {
	position: absolute; inset: var(--inset); border-radius: 50%;
	border: 1px solid rgba(215, 221, 229, .2); transform-style: preserve-3d;
	transform: rotateX(66deg) rotateZ(var(--z, 0deg));
	animation: ma-orbit var(--dur, 60s) linear infinite;
}
.ma-ring--1 { --inset: 2%; --dur: 90s; }
.ma-ring--2 { --inset: 14%; --dur: 55s; border-color: rgba(100, 224, 208, .38); animation-direction: reverse; }
.ma-ring--3 { --inset: 27%; --dur: 40s; border-style: dashed; border-color: rgba(215, 221, 229, .16); }
.ma-ring i {
	position: absolute; top: -4px; left: calc(50% - 4px); width: 8px; height: 8px; border-radius: 50%;
	background: var(--ma-silver); box-shadow: 0 0 0 4px rgba(215, 221, 229, .08);
}
.ma-ring--2 i { background: var(--ma-teal); box-shadow: 0 0 0 5px rgba(100, 224, 208, .14), 0 0 18px rgba(100, 224, 208, .55); }
.ma-ring i + i { top: auto; bottom: -4px; opacity: .55; }
@keyframes ma-orbit { to { transform: rotateX(66deg) rotateZ(360deg); } }
.is-paused .ma-ring { animation-play-state: paused; }

.ma-core {
	position: absolute; left: 50%; top: 50%; width: 36%; aspect-ratio: 1 / 1; border-radius: 50%;
	transform: translate(-50%, -50%) translate3d(var(--px, 0), var(--py, 0), 80px);
	display: grid; place-items: center;
	background:
		radial-gradient(circle at 32% 24%, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 46%),
		linear-gradient(160deg, #1D2C44 0%, #0C121B 70%);
	border: 1px solid rgba(215, 221, 229, .2);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .14),
		inset 0 -20px 40px rgba(0, 0, 0, .35),
		0 40px 90px -30px rgba(0, 0, 0, .9),
		0 0 80px -20px rgba(100, 224, 208, .35);
}
.ma-core svg { width: 46%; height: auto; overflow: visible; }
.ma-core::after {
	content: ""; position: absolute; inset: -14%; border-radius: 50%;
	border: 1px solid rgba(100, 224, 208, .18);
}
.ma-beam {
	position: absolute; left: 50%; top: 50%; width: 1px; height: 34%;
	background: linear-gradient(180deg, rgba(100, 224, 208, .7), rgba(100, 224, 208, 0));
	transform: translateZ(40px);
}
.ma-tag {
	position: absolute; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--ma-silver);
	padding: 7px 12px; border: 1px solid var(--ma-line-strong); border-radius: 999px;
	background: rgba(12, 18, 27, .72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	transform: translate3d(calc(var(--px, 0px) * -.6), calc(var(--py, 0px) * -.6), 120px); white-space: nowrap;
}
.ma-tag::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--ma-teal); margin-right: 8px; vertical-align: 1px; }
.ma-tag--a { left: 2%; top: 22%; }
.ma-tag--b { right: 0; top: 46%; }
.ma-tag--c { left: 14%; bottom: 14%; }

/* ---------- Statement ---------- */
.ma-statement__cols { gap: clamp(24px, 5vw, 80px) !important; margin: 0 auto !important; }
.ma-statement__text {
	font-family: var(--ma-serif); font-size: clamp(1.75rem, 3.3vw, 3rem); line-height: 1.18;
	letter-spacing: -.01em; color: var(--ma-white); margin: 0 0 1.5rem;
}
.ma-statement__text em { color: var(--ma-teal); }
.ma-statement .ma-intro { margin-top: 0; }

/* ---------- Services (editorial index) ---------- */
.ma-svc-head { margin: 0 auto clamp(40px, 5vw, 72px) !important; gap: clamp(24px, 5vw, 80px) !important; align-items: flex-end !important; }
.ma-svc-list { margin: 0 auto !important; border-bottom: 1px solid var(--ma-line); }
.ma-svc {
	position: relative; margin: 0 !important; padding: clamp(26px, 3vw, 40px) 0 !important;
	border-top: 1px solid var(--ma-line); gap: clamp(16px, 3vw, 48px) !important; align-items: baseline !important;
	transition: background-color .5s var(--ma-ease);
}
.ma-svc::before {
	content: ""; position: absolute; left: 0; top: -1px; height: 1px; width: 100%;
	background: linear-gradient(90deg, var(--ma-teal), rgba(100, 224, 208, 0));
	transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ma-ease);
}
.ma-svc:hover::before, .ma-svc:focus-within::before { transform: scaleX(1); }
.ma-svc__num { font-size: 13px; letter-spacing: .14em; color: var(--ma-mute); margin: 0; font-variant-numeric: tabular-nums; }
.ma-svc__title { font-family: var(--ma-serif); font-weight: 400; font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.08; margin: 0; letter-spacing: -.01em; }
.ma-svc__title a { color: var(--ma-white) !important; text-decoration: none; display: inline-flex; align-items: baseline; gap: .4em; transition: color .35s var(--ma-ease), transform .5s var(--ma-ease); }
.ma-svc__title a::after { content: "\2197"; font-family: Inter, system-ui, sans-serif; font-size: .45em; color: var(--ma-teal); opacity: 0; transform: translate(-6px, 4px); transition: opacity .35s var(--ma-ease), transform .5s var(--ma-ease); }
.ma-svc:hover .ma-svc__title a, .ma-svc__title a:focus-visible { color: var(--ma-teal) !important; transform: translateX(6px); }
.ma-svc:hover .ma-svc__title a::after, .ma-svc__title a:focus-visible::after { opacity: 1; transform: none; }
.ma-svc__desc { color: var(--ma-mute); margin: 0 0 .6rem; max-width: 46ch; }
.ma-svc__tags { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ma-silver); margin: 0; opacity: .8; }

/* ---------- Process (connected sequence) ---------- */
.ma-steps {
	list-style: none; counter-reset: ma; padding: 0 !important; margin: clamp(40px, 5vw, 72px) auto 0 !important;
	display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; position: relative;
}
.ma-steps::before {
	content: ""; position: absolute; left: 0; right: 0; top: 28px; height: 1px; background: var(--ma-line);
}
.ma-steps::after {
	content: ""; position: absolute; left: 0; right: 0; top: 28px; height: 1px;
	background: linear-gradient(90deg, var(--ma-teal), rgba(100, 224, 208, .2));
	transform: scaleX(0); transform-origin: left; transition: transform 1.8s var(--ma-ease);
}
.ma-steps.is-drawn::after { transform: scaleX(1); }
.ma-steps > li { counter-increment: ma; position: relative; padding-top: 64px; margin: 0; color: var(--ma-mute); font-size: 15px; line-height: 1.6; }
.ma-steps > li::before {
	content: counter(ma, decimal-leading-zero); position: absolute; top: 0; left: 0;
	font-family: var(--ma-serif); font-size: 2.4rem; line-height: 1; color: var(--ma-white);
	background: var(--ma-ink); padding-right: 14px;
}
.ma-steps > li::after {
	content: ""; position: absolute; top: 24px; right: 0; width: 9px; height: 9px; border-radius: 50%;
	border: 1px solid var(--ma-teal); background: var(--ma-ink);
}
.ma-steps > li strong { display: block; font-family: Inter, system-ui, sans-serif; font-weight: 500; color: var(--ma-white); font-size: 1.0625rem; margin-bottom: .5rem; }

/* ---------- Work / proof ---------- */
.ma-work__cols { gap: clamp(32px, 6vw, 96px) !important; align-items: center !important; margin: 0 auto !important; }
.ma-work__visual { position: relative; aspect-ratio: 5 / 4; max-width: 560px; }
.ma-doc {
	position: absolute; width: 74%; aspect-ratio: 3 / 4; border-radius: 14px; padding: 7% 7%;
	background: linear-gradient(170deg, #1A2739, #0E1622); border: 1px solid var(--ma-line-strong);
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .9); transition: transform .9s var(--ma-ease);
	display: flex; flex-direction: column; gap: 10px; box-sizing: border-box;
}
.ma-doc b { font-family: Inter, system-ui, sans-serif; font-size: 11px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--ma-teal); }
.ma-doc em { font-family: var(--ma-serif); font-style: normal; font-size: clamp(1.25rem, 2vw, 1.6rem); color: var(--ma-white); line-height: 1.15; }
.ma-doc i { display: block; height: 6px; border-radius: 3px; background: rgba(215, 221, 229, .1); }
.ma-doc i:nth-of-type(2n) { width: 82%; } .ma-doc i:nth-of-type(3n) { width: 64%; }
.ma-doc--1 { left: 6%; top: 10%; transform: rotate(-6deg); opacity: .5; }
.ma-doc--1 > *, .ma-doc--2 > * { visibility: hidden; }
.ma-doc--2 { left: 16%; top: 4%; transform: rotate(-2deg); opacity: .8; }
.ma-doc--3 { left: 26%; top: 0; width: 70%; transform: rotate(2.5deg); }
.ma-work__visual:hover .ma-doc--1 { transform: rotate(-9deg) translateX(-10px); }
.ma-work__visual:hover .ma-doc--3 { transform: rotate(4deg) translateX(10px); }
.ma-checklist { list-style: none; padding: 0 !important; margin: 1.5rem 0 2rem !important; border-top: 1px solid var(--ma-line); }
.ma-checklist li { padding: 14px 0 14px 30px; border-bottom: 1px solid var(--ma-line); position: relative; margin: 0; color: var(--ma-silver); }
.ma-checklist li::before { content: ""; position: absolute; left: 0; top: 23px; width: 14px; height: 1px; background: var(--ma-teal); }

/* ---------- Principles ---------- */
.ma-principles__cols { gap: clamp(32px, 6vw, 96px) !important; margin: 0 auto !important; align-items: flex-start !important; }
.ma-principle { border-top: 1px solid var(--ma-line); padding: 26px 0 8px; margin: 0 !important; }
.ma-principle h3 { font-family: Inter, system-ui, sans-serif; font-weight: 500; font-size: 1.125rem; margin: 0 0 .5rem; color: var(--ma-white); }
.ma-principle p { color: var(--ma-mute); margin: 0; }

/* ---------- FAQ ---------- */
.ma-faq, .als-faq { border: 0 !important; border-bottom: 1px solid var(--ma-line) !important; border-radius: 0 !important; background: none !important; margin: 0 !important; padding: 0 !important; }
.ma-faq:first-of-type, .als-faq:first-of-type { border-top: 1px solid var(--ma-line) !important; }
.ma-faq summary, .als-faq summary {
	list-style: none; cursor: pointer; position: relative; padding: 26px 56px 26px 0 !important;
	font-family: var(--ma-serif); font-weight: 400; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.25; color: var(--ma-white) !important;
	transition: color .3s var(--ma-ease);
}
.ma-faq summary::-webkit-details-marker, .als-faq summary::-webkit-details-marker { display: none; }
.ma-faq summary::after, .als-faq summary::after {
	content: ""; position: absolute; right: 6px; top: 50%; width: 16px; height: 16px; margin-top: -8px;
	background:
		linear-gradient(var(--ma-teal), var(--ma-teal)) center / 16px 1px no-repeat,
		linear-gradient(var(--ma-teal), var(--ma-teal)) center / 1px 16px no-repeat;
	transition: transform .45s var(--ma-ease);
}
.ma-faq[open] summary::after, .als-faq[open] summary::after { transform: rotate(45deg); }
.ma-faq summary:hover, .als-faq summary:hover { color: var(--ma-teal) !important; }
.ma-faq > p, .als-faq > p { color: var(--ma-mute); padding: 0 56px 28px 0 !important; margin: 0 !important; max-width: 70ch; }

/* ---------- Contact ---------- */
.ma-contact { background: radial-gradient(800px 500px at 85% 20%, rgba(100, 224, 208, .08), transparent 60%), var(--ma-ink); border-top: 1px solid var(--ma-line); }
.ma-contact__cols { gap: clamp(32px, 6vw, 96px) !important; margin: 0 auto !important; align-items: flex-start !important; }
.ma-contact h2 { font-size: clamp(2.5rem, 5.4vw, 4.75rem); }
.ma-panel, .als-form-card {
	background: linear-gradient(180deg, rgba(23, 35, 51, .72), rgba(16, 26, 42, .55)) !important;
	border: 1px solid var(--ma-line-strong) !important; border-radius: 22px !important;
	padding: clamp(24px, 3.4vw, 44px) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 40px 100px -50px rgba(0, 0, 0, .9);
}
.ma-direct { font-size: 15px; color: var(--ma-mute); }

/* Kadence advanced form */
.kb-advanced-form label, .kb-advanced-form .kb-adv-form-label { color: var(--ma-silver); font-size: 14px; font-weight: 500; }
.kb-advanced-form input[type="text"], .kb-advanced-form input[type="email"], .kb-advanced-form input[type="tel"],
.kb-advanced-form select, .kb-advanced-form textarea {
	background: rgba(8, 11, 16, .65) !important; border: 1px solid rgba(215, 221, 229, .16) !important; color: var(--ma-white) !important;
	border-radius: 12px !important; padding: 14px 16px !important; font-size: 16px !important;
	transition: border-color .3s var(--ma-ease), box-shadow .3s var(--ma-ease);
}
.kb-advanced-form input::placeholder, .kb-advanced-form textarea::placeholder { color: #6F7A89; }
.kb-advanced-form input:focus, .kb-advanced-form select:focus, .kb-advanced-form textarea:focus {
	border-color: var(--ma-teal) !important; box-shadow: 0 0 0 3px rgba(100, 224, 208, .18) !important; outline: none;
}
.kb-advanced-form button[type="submit"], .kb-advanced-form .kb-submit-field .kb-button {
	background: var(--ma-teal) !important; color: var(--ma-teal-ink) !important; border: 0 !important; border-radius: 999px !important;
	padding: 1em 1.8em !important; font-weight: 600 !important; font-size: 15px !important; cursor: pointer;
	transition: transform .35s var(--ma-ease), box-shadow .35s var(--ma-ease), background-color .35s var(--ma-ease);
}
.kb-advanced-form button[type="submit"]:hover { background: #8DEBDF !important; transform: translateY(-1px); box-shadow: 0 14px 34px -14px rgba(100, 224, 208, .6); }
.kb-adv-form-message, .kb-adv-form-success { border-radius: 12px; }

/* ---------- Inner pages (.als-*) ---------- */
.als-hero {
	padding: clamp(96px, 12vw, 180px) var(--ma-gutter) clamp(64px, 8vw, 110px) !important; margin: 0 !important; position: relative; overflow: hidden; isolation: isolate;
	background: radial-gradient(900px 560px at 85% 0%, rgba(100, 224, 208, .09), transparent 60%), linear-gradient(180deg, #0A0F17, var(--ma-obsidian));
	border-bottom: 1px solid var(--ma-line);
}
.als-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image: linear-gradient(rgba(215, 221, 229, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(215, 221, 229, .04) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: radial-gradient(ellipse 60% 80% at 80% 0%, #000 10%, transparent 70%);
	mask-image: radial-gradient(ellipse 60% 80% at 80% 0%, #000 10%, transparent 70%);
}
.als-hero h1 { font-size: clamp(2.75rem, 6.4vw, 5.75rem); line-height: 1; letter-spacing: -.025em; font-weight: 400; color: var(--ma-white); margin-bottom: 1.5rem; text-wrap: balance; }
.als-hero .als-lead { font-size: clamp(1.0625rem, 1.4vw, 1.25rem); line-height: 1.6; color: var(--ma-silver); max-width: 1140px !important; padding-right: max(0px, 100% - 42rem); }
.als-hero .als-note { color: var(--ma-mute); }
.als-section h3 { font-weight: 500; }
.als-grid { gap: 20px !important; margin-top: 2rem; }
.als-grid + .als-grid { margin-top: 20px; }
.als-card {
	height: 100%; box-sizing: border-box; padding: clamp(24px, 2.6vw, 34px) !important; border-radius: 18px;
	background: linear-gradient(180deg, rgba(23, 35, 51, .6), rgba(16, 26, 42, .25));
	border: 1px solid var(--ma-line);
	transition: border-color .45s var(--ma-ease), transform .45s var(--ma-ease), background-color .45s var(--ma-ease);
}
.als-card:hover { border-color: rgba(100, 224, 208, .35); transform: translateY(-2px); }
.als-card > *:first-child { margin-top: 0; } .als-card > *:last-child { margin-bottom: 0; }
.als-card h3 { font-size: 1.1875rem; color: var(--ma-white); margin-bottom: .6rem; }
.als-card p { color: var(--ma-mute); }
.als-card-link a { color: var(--ma-teal) !important; font-weight: 500; text-decoration: none; }
.als-card-link a::after { content: " \2192"; transition: margin .3s var(--ma-ease); }
.als-card-link a:hover::after { margin-left: 4px; }
.als-step-num { font-family: var(--ma-serif); font-size: 2rem !important; line-height: 1; color: var(--ma-teal) !important; margin-bottom: 1rem !important; }
.als-steps { counter-reset: als; list-style: none; padding-left: 0 !important; border-top: 1px solid var(--ma-line); }
.als-steps li { counter-increment: als; position: relative; padding: 22px 0 22px 64px; border-bottom: 1px solid var(--ma-line); margin: 0; color: var(--ma-mute); }
.als-steps li strong { color: var(--ma-white); font-weight: 500; }
.als-steps li::before { content: counter(als, decimal-leading-zero); position: absolute; left: 0; top: 18px; font-family: var(--ma-serif); font-size: 1.75rem; color: var(--ma-teal); }
.als-cta { text-align: left; background: radial-gradient(700px 420px at 90% 10%, rgba(100, 224, 208, .1), transparent 60%), var(--ma-ink) !important; border-top: 1px solid var(--ma-line); }
.als-cta h2 { font-size: clamp(2.25rem, 4.8vw, 4rem); }
.als-cta p { color: var(--ma-mute); max-width: 52ch; }
.als-cta .wp-block-buttons { justify-content: flex-start; }
.als-small, .als-note { font-size: .875rem; color: var(--ma-mute); }
.als-h3 { font-family: Inter, system-ui, sans-serif !important; font-size: 1.25rem !important; font-weight: 500 !important; letter-spacing: 0 !important; }
.als-post-list li { border-bottom: 1px solid var(--ma-line); padding: 18px 0; }

/* ---------- Blog / Insights ---------- */
.loop-entry { background: linear-gradient(180deg, rgba(23, 35, 51, .55), rgba(16, 26, 42, .2)) !important; border: 1px solid var(--ma-line); border-radius: 18px; overflow: hidden; }
.loop-entry .entry-title { font-family: var(--ma-serif); font-weight: 400; font-size: 1.75rem; line-height: 1.15; }
.entry-hero .entry-header .entry-title, .single .entry-title { font-weight: 400; letter-spacing: -.015em; }
.single-post .entry-content-wrap { max-width: 760px; margin-inline: auto; }

/* ---------- Footer ---------- */
.site-footer { background: var(--ma-obsidian); border-top: 1px solid var(--ma-line); }
.site-footer, .site-footer .site-footer-wrap, .site-footer .site-top-footer-wrap, .site-footer .site-middle-footer-wrap, .site-footer .site-bottom-footer-wrap, .site-footer .site-footer-row-container-inner { background: var(--ma-obsidian) !important; }
.site-footer .footer-html, .site-footer .footer-html p { color: var(--ma-mute); font-size: 13px; letter-spacing: .02em; }
.site-footer .footer-html a { color: var(--ma-silver); }
.site-footer .footer-html a:hover { color: var(--ma-teal); }

/* ---------- Scroll reveals (only for elements the script marks) ---------- */
.ma-js .ma-r { opacity: 0; transform: translateY(22px); transition: opacity 1s var(--ma-ease), transform 1s var(--ma-ease); transition-delay: var(--ma-d, 0ms); }
.ma-js .ma-r.is-in { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.ma-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
	.ma-steps::before, .ma-steps::after, .ma-steps > li::after { display: none; }
	.ma-steps > li { padding-top: 56px; border-top: 1px solid var(--ma-line); }
	.ma-steps > li::before { top: 14px; background: none; }
}
@media (max-width: 781px) {
	.ma-hero { min-height: 0; }
	.ma-hero h1 { max-width: none; }
	.ma-visual { max-width: 340px; margin-top: 16px; }
	.ma-tag { font-size: 10px; padding: 6px 10px; }
	.ma-meta { grid-template-columns: 1fr; gap: 14px; }
	.ma-steps { grid-template-columns: 1fr; }
	.ma-svc { padding: 24px 0 !important; }
	.ma-svc .wp-block-column { flex-basis: 100% !important; }
	.ma-faq summary, .als-faq summary { padding-right: 44px !important; }
	.ma-faq > p, .als-faq > p { padding-right: 0 !important; }
	.ma-doc em { font-size: 1.1rem; }
	.wp-block-buttons .wp-block-button { width: auto; }
}

/* ---------- Archive / posts page header ---------- */
.entry-hero .entry-hero-container-inner { background: radial-gradient(900px 420px at 85% 0%, rgba(100, 224, 208, .08), transparent 60%), var(--ma-obsidian) !important; border-bottom: 1px solid var(--ma-line); }
.entry-hero .hero-section-overlay { display: none; }
.entry-hero .entry-header { min-height: 0 !important; padding: clamp(72px, 10vw, 140px) 0 clamp(40px, 5vw, 72px) !important; text-align: left !important; align-items: flex-start !important; }
.wp-site-blocks .entry-hero .archive-title { color: var(--ma-white) !important; }
.entry-hero .archive-title { font-family: var(--ma-serif); font-size: clamp(2.75rem, 6.4vw, 5.75rem); line-height: 1; letter-spacing: -.025em; font-weight: 400; color: var(--ma-white); margin: 0; }
.entry-hero .archive-description, .entry-hero .archive-description p { color: var(--ma-silver); max-width: 42rem; margin-top: 1.25rem; }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.ma-visual__stage { transform: none !important; }
}
