/*
Theme Name: Webmindex Custom Theme
Theme URI: https://webmindex.com
Author: Filip Haban
Author URI: https://webmindex.com
Description: Brza, čista WordPress tema za Webmindex — bez Elementora. Premium editorial monokromatski dizajn.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: webmindex
Tags: custom-menu, featured-images, portfolio, one-column, translation-ready
*/

/* ==========================================================================
   Webmindex — Editorial Design System (DESIGN.md)
   ========================================================================== */

:root {
	/* Colors */
	--color-pure-white: #ffffff;
	--color-ink-black: #000000;
	--color-obsidian: #1f1f1f;
	--color-graphite-wash: #333333;
	--color-slate: #666666;
	--color-steel: #808080;
	--color-fog: #999999;
	--color-pale-mist: #cccccc;
	--color-vapor: #e6e6e6;
	--color-ash: #f2f2f2;
	--light-bg: #FBFCFE;
	--page-bg: var(--light-bg);

	/* Typography */
	--font-sans: 'Inter Tight', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-display: var(--font-sans);
	--font-body: var(--font-sans);

	--text-caption: 10px;
	--leading-caption: 1.3;
	--text-body: 14px;
	--leading-body: 1.89;
	--text-body-lg: 16px;
	--leading-body-lg: 1.7;
	--text-subheading: 19px;
	--leading-subheading: 1.2;
	--text-heading-sm: 28px;
	--leading-heading-sm: 1.14;
	--text-heading: 35px;
	--leading-heading: 1.14;
	--text-heading-lg: 52px;
	--leading-heading-lg: 1;

	/* H1 — unified editorial weight (ref: Naše usluge) */
	--h1-font-weight: 600;

	/* H2 — unified editorial scale (ref: Naše usluge); mobile base 34px */
	--h2-font-family: 'Inter Tight', var(--font-sans), sans-serif;
	--h2-font-weight: 600;
	--h2-font-size: 34px;
	--h2-line-height: 1.12;
	--h2-letter-spacing: normal;

	--text-section-title: var(--h2-font-size);
	--section-title-max-width: min(100%, 1240px);
	--text-display: clamp(44px, 7vw, 90px);
	--leading-display: 1;

	/* Unified heading scale */
	--text-h1: clamp(52px, 7.8vw, 98px);
	--leading-h1: 1.02;
	--tracking-h1: -0.03em;

	--text-h2: var(--h2-font-size);
	--leading-h2: var(--h2-line-height);
	--tracking-h2: var(--h2-letter-spacing);

	--text-h3: clamp(32px, 3.6vw, 52px);
	--leading-h3: 1.08;
	--tracking-h3: -0.025em;

	--text-h4: clamp(28px, 3.2vw, 44px);
	--leading-h4: 1.1;
	--tracking-h4: -0.02em;

	--text-h5: clamp(22px, 2.2vw, 30px);
	--leading-h5: 1.22;
	--tracking-h5: -0.028em;

	--text-h6: clamp(18px, 1.75vw, 22px);
	--leading-h6: 1.35;
	--tracking-h6: -0.015em;

	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-body: 400;
	--font-weight-heading: 500;
	--font-weight-emphasis: 500;

	--tracking-meta: 0.019em;

	/* Spacing */
	--spacing-4: 4px;
	--spacing-8: 8px;
	--spacing-12: 12px;
	--spacing-16: 16px;
	--spacing-20: 20px;
	--spacing-24: 24px;
	--spacing-32: 32px;
	--spacing-48: 48px;
	--spacing-64: 64px;
	--spacing-80: 80px;
	--spacing-112: 112px;
	--spacing-128: 128px;

	/* Layout */
	--page-max-width: 1440px;
	--page-padding: 48px;
	--page-padding-mobile: 16px;
	--section-padding-y: clamp(80px, 8vw, 128px);
	--header-height: clamp(72px, 8vh, 88px);

	/* Stacking */
	--z-footer-reveal: 1;
	--z-page-content: 2;
	--z-header: 200;
	--z-mobile-panel: 300;

	/* Radius */
	--radius-card: 33.76px;
	--radius-button: 42.96px;
	/* Last light section → black footer transition (shared site-wide) */
	--wm-footer-content-radius: clamp(28px, 3.5vw, 40px);
	--wm-footer-content-radius-mobile: clamp(18px, 5vw, 24px);

	/* Motion */
	--ease-premium: cubic-bezier(0.16, 1, 0.3, 1);
	--motion-duration: 0.9s;
	--motion-duration-slow: 1.1s;
	--motion-reveal-distance: 32px;
}

@media (min-width: 769px) {
	:root {
		--h2-font-size: 68px;
		--h2-line-height: 1.02;
	}
}

@media (min-width: 1200px) {
	:root {
		--h2-font-size: 68px;
		--h2-line-height: 1.02;
	}
}

/* --------------------------------------------------------------------------
   Reset & Base
   -------------------------------------------------------------------------- */

*, *::before, *::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: auto;
	overflow-x: hidden;
	overflow-y: scroll;
	scrollbar-gutter: stable;
	-webkit-text-size-adjust: 100%;
}

html.lenis,
html.lenis body {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

body {
	margin: 0;
	font-family: var(--font-body);
	font-size: var(--text-body-lg);
	font-weight: var(--font-weight-body);
	line-height: var(--leading-body-lg);
	letter-spacing: var(--tracking-meta);
	color: var(--color-ink-black);
	background-color: var(--page-bg);
	-webkit-font-smoothing: antialiased;
}

button,
input,
textarea,
select {
	font-family: inherit;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, figure {
	margin: 0;
}

h1,
.wm-h1 {
	font-family: var(--font-display);
	font-size: var(--text-h1);
	font-weight: var(--h1-font-weight);
	line-height: var(--leading-h1);
	letter-spacing: var(--tracking-h1);
}

h2,
.wm-h2 {
	font-family: var(--h2-font-family);
	font-size: var(--h2-font-size);
	font-weight: var(--h2-font-weight);
	font-style: normal;
	line-height: var(--h2-line-height);
	letter-spacing: var(--h2-letter-spacing);
}

h3,
.wm-h3 {
	font-family: var(--font-display);
	font-size: var(--text-h3);
	font-weight: var(--font-weight-heading);
	line-height: var(--leading-h3);
	letter-spacing: var(--tracking-h3);
}

h4,
.wm-h4 {
	font-family: var(--font-display);
	font-size: var(--text-h4);
	font-weight: var(--font-weight-heading);
	line-height: var(--leading-h4);
	letter-spacing: var(--tracking-h4);
}

h5,
.wm-h5 {
	font-family: var(--font-display);
	font-size: var(--text-h5);
	font-weight: var(--font-weight-heading);
	line-height: var(--leading-h5);
	letter-spacing: var(--tracking-h5);
}

h6,
.wm-h6 {
	font-family: var(--font-display);
	font-size: var(--text-h6);
	font-weight: var(--font-weight-heading);
	line-height: var(--leading-h6);
	letter-spacing: var(--tracking-h6);
}

ul, ol {
	padding: 0;
	list-style: none;
}

button {
	font: inherit;
	color: inherit;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

::selection {
	background: var(--color-ink-black);
	color: var(--color-pure-white);
}

/* --------------------------------------------------------------------------
   Layout
   -------------------------------------------------------------------------- */

.wm-page-container {
	width: 100%;
	max-width: var(--page-max-width);
	margin-inline: auto;
	padding-inline: var(--page-padding);
}

.wm-main {
	display: block;
	min-height: 50vh;
}

.wm-section {
	padding-block: var(--section-padding-y);
}

.wm-section--ash {
	background: var(--color-ash);
}

.wm-section--dark {
	background: var(--color-obsidian);
	color: var(--color-pure-white);
	position: relative;
	isolation: isolate;
}

/* --------------------------------------------------------------------------
   Typography utilities
   -------------------------------------------------------------------------- */

.wm-eyebrow {
	display: block;
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-ink-black);
	margin-bottom: var(--spacing-32);
}

.wm-display {
	font-family: var(--font-display);
	font-size: var(--text-h1);
	font-weight: var(--h1-font-weight);
	line-height: var(--leading-h1);
	letter-spacing: var(--tracking-h1);
	color: var(--color-ink-black);
}

.wm-display__muted {
	font-style: italic;
	color: var(--color-fog);
}

.wm-heading {
	font-family: var(--font-display);
	font-size: var(--text-h2);
	font-weight: var(--font-weight-heading);
	line-height: var(--leading-h2);
	letter-spacing: var(--tracking-h2);
	color: var(--color-ink-black);
	max-width: var(--section-title-max-width);
}

.wm-body {
	font-size: var(--text-body-lg);
	line-height: var(--leading-body-lg);
	color: var(--color-ink-black);
	max-width: 42rem;
}

.wm-body--narrow {
	max-width: 24rem;
	font-size: var(--text-body);
	line-height: var(--leading-body);
}

.wm-muted {
	color: var(--color-slate);
}

.wm-scroll-indicator {
	display: inline-block;
	font-family: var(--font-display);
	font-size: var(--text-caption);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-fog);
}

.wm-scroll-indicator::before {
	content: '[ ';
	color: var(--color-pale-mist);
}

.wm-scroll-indicator::after {
	content: ' ]';
	color: var(--color-pale-mist);
}

/* --------------------------------------------------------------------------
   Links & CTAs
   -------------------------------------------------------------------------- */

.wm-link {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-8);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-ink-black);
	transition: color 0.2s ease;
}

.wm-link:hover {
	color: var(--color-slate);
}

.wm-link--light {
	color: var(--color-pure-white);
}

.wm-link--light:hover {
	color: var(--color-pale-mist);
}

.wm-link--pill {
	padding: 14px 28px;
	border: 1px solid var(--color-pure-white);
	border-radius: var(--radius-button);
	text-transform: uppercase;
}

.wm-link--pill:hover {
	background: var(--color-pure-white);
	color: var(--color-ink-black);
}

.wm-cta-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--spacing-24) var(--spacing-32);
}

/* Unified CTA — flatter pill primary + outline */
.wm-cta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--font-display);
	font-size: clamp(12px, 1vw, 14px);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1;
	color: var(--color-ink-black);
	text-decoration: none;
	box-sizing: border-box;
}

.wm-cta--secondary {
	background: none;
	border: none;
	padding: 4px 0;
	gap: var(--spacing-8);
	font-size: 11px;
	letter-spacing: var(--tracking-meta);
}

.wm-cta--ghost,
.wm-cta--ghost-dark {
	padding: 10px 28px;
	min-height: 42px;
	border-radius: 999px;
	background: transparent;
	box-sizing: border-box;
}

.wm-cta--ghost {
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: var(--color-pure-white);
}

.wm-cta--ghost-dark {
	border: 1px solid rgba(15, 17, 21, 0.18);
	color: var(--color-ink-black);
}

.wm-cta--primary,
.wm-cta--light {
	padding: 10px 28px;
	min-height: 42px;
	border-radius: 999px;
	border: 1px solid var(--color-ink-black);
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	box-shadow: none;
}

.wm-cta--light {
	border-color: var(--color-pure-white);
	background: var(--color-pure-white);
	color: var(--color-ink-black);
}

.wm-cta--sm {
	padding: 8px 20px;
	min-height: 38px;
	font-size: 12px;
	gap: 10px;
}

.wm-cta__icon {
	display: none;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.wm-header {
	position: sticky;
	top: 0;
	z-index: var(--z-header);
	background: transparent;
	border-bottom: none;
	opacity: 0;
	transition:
		opacity var(--motion-duration-slow) var(--ease-premium),
		border-color 0.5s var(--ease-premium);
}

.wm-header.is-page-loaded {
	opacity: 1;
}

.wm-header.is-scrolled {
	border-bottom: none;
	background: transparent;
}

.wm-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-32);
	height: var(--header-height);
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	padding-inline: 50px;
	transition: height 0.5s var(--ease-premium);
}

.wm-header.is-scrolled .wm-header__inner {
	height: clamp(56px, 7vh, 72px);
}

.wm-header__logo-img,
.wm-header .custom-logo-link img {
	display: block;
	height: 34px;
	width: auto;
	transition:
		height 0.5s var(--ease-premium),
		filter 0.45s ease,
		color 0.45s ease;
}

.wm-header__logo-svg {
	overflow: visible;
	color: var(--color-ink-black, #000000);
}

.wm-header.is-scrolled .wm-header__logo-img {
	height: 30px;
}

.wm-header__logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	line-height: 1;
}

.wm-header__logo-text {
	font-family: var(--font-display);
	font-size: 21px;
	font-weight: var(--font-weight-medium);
	letter-spacing: -0.01em;
	color: var(--color-ink-black);
	text-transform: lowercase;
	transition: color 0.45s ease;
}

.wm-header__end {
	display: flex;
	align-items: center;
	gap: var(--spacing-16);
	margin-left: auto;
}

.wm-header__nav-shell {
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding-block: 6px;
	padding-inline: 28px;
	background: rgba(242, 242, 242, 0.62);
	border: 1px solid #E3E3E3;
	border-radius: 999px;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	transition:
		background 0.45s ease,
		border-color 0.45s ease;
}

.wm-nav-indicator {
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: 0;
	width: 0;
	border-radius: 999px;
	background: #000000;
	pointer-events: none;
	z-index: 1;
	opacity: 0;
	transform: scaleX(1);
	transform-origin: center center;
	transition:
		left 420ms cubic-bezier(0.22, 1, 0.36, 1),
		width 420ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
		background-color 0.45s ease;
}

.wm-nav-indicator.is-ready {
	opacity: 1;
}

.wm-header__nav {
	display: block;
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	min-width: 0;
}

.wm-nav-menu {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: clamp(20px, 2.2vw, 34px);
	list-style: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.wm-nav-menu .menu-item {
	margin: 0;
	padding: 0;
}

.wm-nav-menu a {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	font-family: var(--font-display);
	font-size: clamp(12px, 1.05vw, 14px);
	font-weight: var(--font-weight-medium);
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-ink-black) !important;
	white-space: nowrap;
	padding: 11px 22px;
	border-radius: 999px;
	background: transparent !important;
	transition:
		color 0.45s ease,
		background-color 0.45s ease;
}

.wm-header__nav-shell .wm-nav-menu a.is-nav-pill-active {
	color: var(--color-pure-white) !important;
}

.wm-nav-menu .current-menu-item > a::after,
.wm-nav-menu .current_page_item > a::after,
.wm-nav-menu a.is-active::after {
	content: none;
}

@media (prefers-reduced-motion: reduce) {
	.wm-header__nav-shell,
	.wm-header__logo-img,
	.wm-header .custom-logo-link img,
	.wm-header__logo-text,
	.wm-header__burger,
	.wm-nav-indicator,
	.wm-nav-menu a,
	body.is-about-page .wm-header,
	body.is-about-page .wm-header__inner,
	body.is-services-page .wm-header,
	body.is-services-page .wm-header__inner {
		transition: none;
	}
}

.wm-header__burger {
	display: none;
	width: 32px;
	height: 32px;
	align-items: center;
	justify-content: center;
	transition: color 0.45s ease;
}

.wm-header__burger-icon {
	display: block;
}

/* Legacy header overrides */
body:is(.is-front-page, .is-home) .wm-header__inner,
body:is(.is-front-page, .is-home) .wm-header__desktop .wm-header__inner {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
}

body:is(.is-front-page, .is-home) .wm-header__nav-shell {
	background: rgba(242, 242, 242, 0.62) !important;
	border: 1px solid #E3E3E3 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	backdrop-filter: blur(14px) !important;
	-webkit-backdrop-filter: blur(14px) !important;
	padding-block: 6px !important;
	padding-inline: 28px !important;
}

body:is(.is-front-page, .is-home) .wm-header__actions .wm-cta {
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Services & contact — header on dark pages */
body.is-contact-page .wm-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: transparent !important;
	border-bottom: none !important;
}

body.is-contact-page .wm-header.is-scrolled {
	position: fixed;
	background: transparent !important;
	border-bottom: none !important;
}

body.is-contact-page .wm-header.is-scrolled .wm-header__logo-img {
	filter: none;
}

body.is-contact-page .wm-header.is-scrolled .wm-header__logo-text {
	color: var(--color-ink-black);
}

body.is-contact-page .wm-header.is-scrolled .wm-header__burger {
	color: var(--color-ink-black);
}

body.is-contact-page .wm-header.is-scrolled .wm-header__nav-shell {
	background: rgba(242, 242, 242, 0.62) !important;
	border: 1px solid #E3E3E3 !important;
	border-radius: 999px !important;
	backdrop-filter: blur(14px) !important;
	-webkit-backdrop-filter: blur(14px) !important;
	padding-block: 6px !important;
	padding-inline: 28px !important;
}

body.is-contact-page .wm-header.is-scrolled .wm-nav-menu a {
	color: var(--color-ink-black) !important;
}

body.is-contact-page .wm-header:not(.is-scrolled) .wm-nav-menu a {
	color: var(--color-pure-white) !important;
}

body.is-contact-page .wm-header:not(.is-scrolled) .wm-header__logo-img {
	filter: brightness(0) invert(1);
}

body.is-contact-page .wm-header:not(.is-scrolled) .wm-header__logo-text {
	color: var(--color-pure-white);
}

body.is-contact-page .wm-header:not(.is-scrolled) .wm-header__burger {
	color: var(--color-pure-white);
}

body.is-contact-page .wm-header:not(.is-scrolled) .wm-header__nav-shell {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

body.is-services-page .wm-main,
body.is-contact-page .wm-main {
	margin-top: 0;
}

/* Mobile panel — visual system lives in assets/css/mobile-nav.css (≤768px only) */
.wm-mobile-panel {
	display: none;
}

/* --------------------------------------------------------------------------
   Hero — editorial studio layout
   -------------------------------------------------------------------------- */

.wm-hero {
	position: relative;
	isolation: isolate;
	background: var(--light-bg);
	padding: clamp(96px, 9vw, 140px) 50px clamp(32px, 4vw, 48px);
	width: 100%;
	text-align: center;
	overflow: hidden;
}

.wm-hero__atmosphere {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: transparent;
}

.wm-hero__shape {
	position: absolute;
	display: block;
	pointer-events: none;
}

.wm-hero__shape--ring {
	top: 10%;
	left: 5%;
	width: clamp(150px, 15vw, 240px);
	height: clamp(150px, 15vw, 240px);
	border: 1px solid rgba(0, 0, 0, 0.09);
	border-radius: 50%;
}

.wm-hero__shape--rect {
	top: 16%;
	right: 10%;
	width: clamp(72px, 7vw, 110px);
	height: clamp(160px, 16vw, 240px);
	border: 1px solid rgba(0, 0, 0, 0.08);
	transform: rotate(14deg);
}

.wm-hero__shape--slash {
	top: 34%;
	right: 14%;
	width: clamp(140px, 14vw, 220px);
	height: 1px;
	background: rgba(0, 0, 0, 0.1);
	transform: rotate(-32deg);
	transform-origin: center;
}

.wm-hero__shape--corner {
	bottom: 16%;
	left: 7%;
	width: clamp(90px, 9vw, 140px);
	height: clamp(90px, 9vw, 140px);
	border-left: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.wm-hero__shape--dots {
	bottom: 28%;
	right: 18%;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.14);
	box-shadow:
		28px 0 0 rgba(0, 0, 0, 0.08),
		56px 0 0 rgba(0, 0, 0, 0.06),
		0 28px 0 rgba(0, 0, 0, 0.08),
		28px 28px 0 rgba(0, 0, 0, 0.1),
		56px 28px 0 rgba(0, 0, 0, 0.05);
}

.wm-hero__shape--arc {
	top: 52%;
	left: 12%;
	width: clamp(110px, 11vw, 180px);
	height: clamp(110px, 11vw, 180px);
	border: 1px solid transparent;
	border-top-color: rgba(0, 0, 0, 0.1);
	border-right-color: rgba(0, 0, 0, 0.1);
	border-radius: 50%;
	transform: rotate(18deg);
}

body:is(.is-front-page, .is-home) .wm-hero {
	margin-top: 0;
	padding-bottom: clamp(72px, 9vw, 112px);
}

body:is(.is-front-page, .is-home) .wm-hero__backdrop,
body:is(.is-front-page, .is-home) .wm-hero__backdrop-gradient,
body:is(.is-front-page, .is-home) .wm-hero__backdrop-grid,
body:is(.is-front-page, .is-home) .wm-hero__backdrop-fade {
	display: none !important;
}

.wm-hero__shell {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-hero__content {
	max-width: var(--section-title-max-width);
	margin-inline: auto;
}

.wm-hero__intro {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	gap: 14px;
	margin: 0 0 clamp(18px, 2.2vw, 28px);
	padding: 10px 16px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 999px;
	background: #fafbfc;
	font-family: var(--font-display);
	font-size: clamp(14px, 1.05vw, 16px);
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--color-ink-black);
	white-space: nowrap;
}

.wm-hero__trust-label {
	flex-shrink: 0;
}

.wm-hero__trust-stars {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	gap: 2px;
}

.wm-hero__trust-star {
	display: block;
	width: 13px;
	height: 13px;
	fill: #f5b301;
}

@media (max-width: 768px) {
	.wm-hero__intro {
		padding: 8px 12px;
		gap: 10px;
		font-size: 13px;
	}

	.wm-hero__trust-star {
		width: 11px;
		height: 11px;
	}
}

.wm-hero__title {
	font-family: var(--font-display);
	font-size: clamp(52px, 7.8vw, 98px);
	font-weight: var(--h1-font-weight);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-ink-black);
	max-width: 100%;
	margin: 0;
}

.wm-hero__title .reveal-line {
	display: block;
}

.wm-hero__title-muted {
	font-style: normal;
	font-weight: var(--font-weight-heading);
	color: var(--color-fog);
}

.wm-hero__text {
	max-width: min(100%, 640px);
	margin: clamp(20px, 2.4vw, 28px) auto 0;
	text-align: center;
}

.wm-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 2.5vw, 32px) clamp(32px, 4vw, 48px);
	margin-top: clamp(40px, 4.5vw, 56px);
}

.wm-hero__cta {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-display);
	font-size: clamp(12px, 1vw, 14px);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-ink-black);
	transition: opacity 0.3s var(--ease-premium);
}

.wm-hero__cta:hover {
	opacity: 0.72;
	color: var(--color-ink-black);
}

.wm-hero__cta--primary {
	padding: 10px 28px;
	min-height: 42px;
	gap: 12px;
	border: 1px solid var(--color-ink-black);
	border-radius: 999px;
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	line-height: 1;
	box-sizing: border-box;
}

.wm-hero__cta--primary:hover {
	opacity: 0.82;
	color: var(--color-pure-white);
}

.wm-hero__cta-arrow,
.wm-cta__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 0;
	transform: translateY(0.5px);
}

.wm-hero__cta-arrow svg,
.wm-cta__arrow svg {
	display: block;
	width: 22px;
	height: 22px;
}

/* Pill primary CTA — FAQ, pre-footer, and other editorial CTAs */
.wm-global-prefooter-cta .wm-hero__cta--primary,
.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary,
.wm-home-about .wm-hero__cta--primary {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-height: 42px;
	padding: 10px 28px;
	gap: 12px;
	border-radius: 999px;
	border: 1px solid var(--color-ink-black, #000000);
	background: var(--color-ink-black, #000000);
	color: var(--color-pure-white, #ffffff);
	opacity: 1;
	text-decoration: none;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.wm-global-prefooter-cta .wm-hero__cta--primary::before,
.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary::before,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary::before,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary::before,
.wm-home-about .wm-hero__cta--primary::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #ffffff;
	transform: translateX(-101%);
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 1;
}

.wm-global-prefooter-cta .wm-hero__cta--primary:hover::before,
.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary:hover::before,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary:hover::before,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary:hover::before,
.wm-home-about .wm-hero__cta--primary:hover::before {
	transform: translateX(0);
}

.wm-global-prefooter-cta .wm-hero__cta--primary:hover,
.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary:hover,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary:hover,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary:hover,
.wm-home-about .wm-hero__cta--primary:hover {
	opacity: 1;
	color: var(--color-pure-white, #ffffff);
	transform: translateY(-3px);
}

.wm-global-prefooter-cta .wm-hero__cta-label,
.wm-global-prefooter-cta .wm-hero__cta-arrow,
.is-services-page .wm-sp-faq__actions .wm-hero__cta-label,
.is-services-page .wm-sp-faq__actions .wm-hero__cta-arrow,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta-label,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta-arrow,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta-label,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta-arrow,
.wm-home-about .wm-hero__cta-label,
.wm-home-about .wm-hero__cta-arrow {
	position: relative;
	z-index: 2;
	transition:
		color 0.35s ease,
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.wm-global-prefooter-cta .wm-hero__cta--primary:hover .wm-hero__cta-label,
.wm-global-prefooter-cta .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary:hover .wm-hero__cta-label,
.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary:hover .wm-hero__cta-label,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary:hover .wm-hero__cta-label,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
.wm-home-about .wm-hero__cta--primary:hover .wm-hero__cta-label,
.wm-home-about .wm-hero__cta--primary:hover .wm-hero__cta-arrow {
	color: var(--color-ink-black, #000000);
}

.wm-global-prefooter-cta .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
.wm-home-about .wm-hero__cta--primary:hover .wm-hero__cta-arrow {
	transform: translateX(6px);
}

@media (prefers-reduced-motion: reduce) {
	.wm-global-prefooter-cta .wm-hero__cta--primary,
	.wm-global-prefooter-cta .wm-hero__cta--primary::before,
	.wm-global-prefooter-cta .wm-hero__cta-label,
	.wm-global-prefooter-cta .wm-hero__cta-arrow,
	.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary,
	.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary::before,
	.is-services-page .wm-sp-faq__actions .wm-hero__cta-label,
	.is-services-page .wm-sp-faq__actions .wm-hero__cta-arrow,
	.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary,
	.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary::before,
	.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta-label,
	.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta-arrow,
	body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary,
	body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary::before,
	body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta-label,
	body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta-arrow,
	.wm-home-about .wm-hero__cta--primary,
	.wm-home-about .wm-hero__cta--primary::before,
	.wm-home-about .wm-hero__cta-label,
	.wm-home-about .wm-hero__cta-arrow {
		transition: none;
	}

	.wm-global-prefooter-cta .wm-hero__cta--primary:hover,
	.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary:hover,
	.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary:hover,
	body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary:hover,
	.wm-home-about .wm-hero__cta--primary:hover {
		transform: none;
	}

	.wm-global-prefooter-cta .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
	.is-services-page .wm-sp-faq__actions .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
	.wm-sp-faq.wm-sp-faq--editorial .wm-sp-faq__actions .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
	body.is-partner-page .wm-home-services--partner-light .wm-home-services__title-aside .wm-hero__cta--primary:hover .wm-hero__cta-arrow,
	.wm-home-about .wm-hero__cta--primary:hover .wm-hero__cta-arrow {
		transform: none;
	}
}

.wm-hero__cta--secondary {
	padding: 16px 4px;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 1px;
}

/* Legacy hero overrides (main.css) */
body:is(.is-front-page, .is-home) .wm-hero__inner.wm-page-container {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	padding-inline: 50px;
	text-align: center;
}

body:is(.is-front-page, .is-home) .wm-hero__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	padding-inline: clamp(24px, 4vw, 50px);
	box-sizing: border-box;
}

body:is(.is-front-page, .is-home) .wm-hero__content {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding-inline: 0;
	box-sizing: border-box;
}

body:is(.is-front-page, .is-home) .wm-hero__intro {
	margin-bottom: clamp(16px, 2vw, 24px);
}

body:is(.is-front-page, .is-home) .wm-hero__title {
	width: min(calc(100% - 48px), 920px);
	margin-inline: auto;
	max-width: 100%;
	font-family: var(--font-display);
	font-size: clamp(40px, 3.6vw, 68px);
	font-weight: var(--h1-font-weight) !important;
	line-height: 1.12 !important;
	letter-spacing: -0.03em !important;
	text-align: center;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

body:is(.is-front-page, .is-home) .wm-hero__title-line {
	display: block;
	color: var(--color-ink-black);
	white-space: nowrap;
}

/* Tablet */
@media (max-width: 1199px) {
	body:is(.is-front-page, .is-home) .wm-hero__title {
		width: min(calc(100% - 40px), 720px);
		font-size: clamp(34px, 4.4vw, 52px);
		line-height: 1.14 !important;
		letter-spacing: -0.028em !important;
	}
}

@media (max-width: 1024px) {
	body:is(.is-front-page, .is-home) .wm-hero__title {
		width: min(calc(100% - 32px), 640px);
		font-size: clamp(32px, 5vw, 44px);
		line-height: 1.15 !important;
	}
}

body:is(.is-front-page, .is-home) .wm-hero__actions {
	justify-content: center;
}

body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	overflow: hidden;
	min-height: 42px;
	padding: 10px 28px;
	border-radius: 999px;
	border: 1px solid var(--color-ink-black);
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	opacity: 1;
	transition:
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #ffffff;
	transform: translateX(-101%);
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	z-index: 1;
}

body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary:hover::before {
	transform: translateX(0);
}

body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary:hover {
	opacity: 1;
	color: var(--color-pure-white);
	transform: translateY(-3px);
}

body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta-label,
body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta-arrow {
	position: relative;
	z-index: 2;
	transition:
		color 0.35s ease,
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary:hover .wm-hero__cta-label,
body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary:hover .wm-hero__cta-arrow {
	color: var(--color-ink-black);
}

body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary:hover .wm-hero__cta-arrow {
	transform: translateX(6px);
}

@media (prefers-reduced-motion: reduce) {
	body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary,
	body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary::before,
	body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta-label,
	body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta-arrow {
		transition: none;
	}

	body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary:hover {
		transform: none;
		box-shadow: none;
	}

	body:is(.is-front-page, .is-home) :is(.wm-hero__actions, .wm-results__actions) .wm-hero__cta--primary:hover .wm-hero__cta-arrow {
		transform: none;
	}
}

body:is(.is-front-page, .is-home) .wm-hero__text {
	width: min(calc(100% - 48px), 640px);
	max-width: 100%;
	margin: clamp(20px, 2.4vw, 28px) auto 0;
	text-align: center;
}

body:is(.is-front-page, .is-home) .wm-hero__subtitle {
	width: auto;
	max-width: 580px;
	margin-inline: auto;
	text-align: center;
}

/* --------------------------------------------------------------------------
   Trust strip
   -------------------------------------------------------------------------- */

.wm-trust {
	border-block: 1px solid var(--color-vapor);
}

.wm-trust__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.wm-trust__item {
	padding: var(--spacing-48) var(--spacing-32);
	border-right: 1px solid var(--color-vapor);
}

.wm-trust__item:last-child {
	border-right: none;
}

.wm-trust__value {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(28px, 3vw, 35px);
	font-weight: var(--font-weight-heading);
	line-height: 1;
	color: var(--color-ink-black);
	margin-bottom: var(--spacing-12);
}

.wm-trust__label {
	font-size: var(--text-body);
	line-height: 1.5;
	color: var(--color-slate);
}

/* --------------------------------------------------------------------------
   Portfolio preview
   -------------------------------------------------------------------------- */

.wm-portfolio-preview {
	background: var(--light-bg);
	padding: 0 50px clamp(80px, 8vw, 120px);
	width: 100%;
}

.wm-portfolio-preview__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-portfolio-preview__empty,
.wm-pt-grid__empty {
	font-family: var(--font-family);
	font-size: 16px;
	line-height: 1.6;
	color: var(--color-slate);
	margin: 0;
	padding: clamp(24px, 3vw, 40px) 0;
}

/* Editorial portfolio kartice — neutraliziraj legacy project-card stilove */
.wm-portfolio-item.wm-project-card {
	display: block;
	gap: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	border-radius: 0;
	overflow: visible;
}

.wm-portfolio-item .wm-project-card__media {
	aspect-ratio: unset;
	border: none;
	box-shadow: none;
	background: inherit;
}

.wm-portfolio-item:hover .wm-project-card__media img,
.wm-portfolio-item:hover .wm-project-card__media video {
	transform: none;
}

.wm-project-card {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.wm-project-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 0;
	overflow: hidden;
	background: var(--color-ash);
	border: 1px solid var(--color-vapor);
	box-shadow: none;
	cursor: pointer;
}

.wm-project-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: none;
	transition: transform 0.8s var(--ease-premium);
	will-change: transform;
}

.wm-project-card__media video,
.wm-project-card__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}

.wm-project-card:hover .wm-project-card__media img {
	transform: scale(1.03);
}

.wm-project-card__title a {
	transition: opacity 0.5s var(--ease-premium);
}

.wm-project-card:hover .wm-project-card__title a {
	opacity: 0.65;
}

.wm-project-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--color-ash);
	border-radius: 0;
}

.wm-project-card__placeholder svg {
	width: 32px;
	height: 32px;
	color: var(--color-steel);
	opacity: 0.5;
}

.wm-project-card__title {
	font-family: var(--font-display);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--color-ink-black);
}

.wm-project-card__category {
	font-size: var(--text-body);
	color: var(--color-slate);
	margin-top: var(--spacing-4);
}

body:is(.is-front-page, .is-home) .wm-portfolio,
body:is(.is-front-page, .is-home) .wm-portfolio__grid {
	margin-top: clamp(56px, 7vw, 96px);
	padding-top: 0;
}

body:is(.is-front-page, .is-home) .wm-project-card__frame,
body:is(.is-front-page, .is-home) .wm-project-card__media {
	border-radius: 0;
	box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   Services — dark editorial grid
   -------------------------------------------------------------------------- */

.wm-services--dark {
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	padding: 120px 50px 140px;
	width: 100%;
}

.wm-services__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-services__intro {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: clamp(48px, 8vw, 160px);
	margin-bottom: clamp(120px, 10vw, 160px);
	width: 100%;
}

.wm-services__heading {
	flex: 1 1 auto;
	max-width: var(--section-title-max-width);
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-pure-white);
}

.wm-services__heading-line {
	display: block;
}

.wm-services__aside {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	max-width: 420px;
}

.wm-services__intro-text {
	width: 100%;
	font-size: clamp(15px, 1.15vw, 17px);
	line-height: 1.7;
	color: var(--color-fog);
	margin: 0;
}

.wm-services__cta {
	display: inline-flex;
	align-items: center;
	margin-top: clamp(24px, 2.5vw, 32px);
	padding: 18px 28px;
	background: var(--color-pure-white);
	color: var(--color-ink-black);
	font-family: var(--font-display);
	font-size: clamp(12px, 1vw, 14px);
	font-weight: var(--font-weight-medium);
	line-height: 1;
	letter-spacing: 0.01em;
	border-radius: 8px;
	transition: opacity 0.2s ease;
}

.wm-services__cta:hover {
	opacity: 0.82;
	color: var(--color-ink-black);
}

.wm-services__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(28px, 3vw, 40px);
	width: 100%;
}

.wm-services__col {
	display: flex;
	flex-direction: column;
	min-width: 0;
	width: 100%;
}

.wm-services__num {
	display: block;
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-regular);
	letter-spacing: var(--tracking-meta);
	color: var(--color-steel);
	margin-bottom: var(--spacing-16);
	opacity: 0;
	transform: translateY(16px);
	transition:
		opacity var(--motion-duration) var(--ease-premium),
		transform var(--motion-duration) var(--ease-premium);
}

.wm-services__col.is-visible .wm-services__num {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.05s;
}

.wm-services__rule {
	display: block;
	width: 100%;
	height: 1px;
	background: var(--color-graphite-wash);
	margin-bottom: clamp(36px, 4vw, 56px);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--motion-duration) var(--ease-premium);
}

.wm-services__col.is-visible .wm-services__rule {
	transform: scaleX(1);
	transition-delay: 0.14s;
}

.wm-services__name {
	font-family: var(--font-display);
	font-size: clamp(28px, 2.4vw, 40px);
	font-weight: var(--font-weight-regular) !important;
	line-height: 1.05;
	color: var(--color-pure-white);
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity var(--motion-duration) var(--ease-premium),
		transform var(--motion-duration) var(--ease-premium);
}

.wm-services__col.is-visible .wm-services__name {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.28s;
}

.wm-services__name-line {
	display: block;
}

/* --------------------------------------------------------------------------
   Home services — interactive panel (RZLT-style)
   -------------------------------------------------------------------------- */

.wm-home-services {
	--wm-home-services-accent: #d97757;
	--wm-home-services-gutter: clamp(32px, 4vw, 50px);
	position: relative;
	padding: clamp(96px, 10vw, 140px) var(--wm-home-services-gutter);
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	overflow: hidden;
}

.wm-home-services__accent {
	position: absolute;
	top: clamp(32px, 4vw, 48px);
	right: var(--wm-home-services-gutter);
	z-index: 1;
	margin: 0;
	padding-top: 14px;
	padding-right: 14px;
	font-family: var(--font-family);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.42);
}

.wm-home-services__accent::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 42px;
	height: 42px;
	border-top: 1px solid rgba(217, 119, 87, 0.55);
	border-right: 1px solid rgba(217, 119, 87, 0.55);
	pointer-events: none;
}

.wm-home-services__shell {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: none;
}

body.is-front-page .wm-home-services__shell.wm-page-container {
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
	padding-inline: 0;
}

.wm-home-services__editorial {
	display: grid;
	grid-template-columns: minmax(140px, 0.2fr) minmax(0, 1fr) auto;
	align-items: start;
	gap: clamp(32px, 5vw, 80px);
	margin-bottom: clamp(48px, 6vw, 72px);
}

.wm-home-services__eyebrow {
	margin: 4px 0 0;
	font-family: var(--font-family);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.42);
}

.wm-home-services__lead {
	margin: 0;
	max-width: 36ch;
	font-family: var(--font-display);
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 500;
	line-height: 1.22;
	letter-spacing: -0.028em;
	color: var(--color-pure-white);
	text-wrap: balance;
}

.wm-home-services__header-aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 16px;
	padding-top: 2px;
	flex-shrink: 0;
}

.wm-home-services__header-aside .wm-cta--light,
.wm-home-services__header-aside .wm-cta--primary.wm-cta--light {
	gap: 12px;
	padding: 10px 24px;
	border-radius: 999px;
	background: var(--color-pure-white);
	color: var(--color-ink-black);
	font-family: var(--font-family);
	font-size: 14px;
	font-weight: var(--font-weight-heading);
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wm-home-services__header-aside .wm-cta--light:hover,
.wm-home-services__header-aside .wm-cta--primary.wm-cta--light:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(255, 255, 255, 0.12);
	color: var(--color-ink-black);
}

.wm-home-services__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
	gap: clamp(40px, 6vw, 96px);
	align-items: center;
	min-height: clamp(380px, 46vh, 520px);
}

.wm-home-services__detail {
	min-width: 0;
}

.wm-home-services__detail-panels {
	position: relative;
	min-height: clamp(220px, 28vh, 320px);
}

.wm-home-services__detail-panel {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.4s ease, visibility 0.4s ease;
}

.wm-home-services__detail-panel.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.wm-home-services__detail-label {
	margin: 0 0 clamp(20px, 2.5vw, 28px);
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.72);
}

.wm-home-services__detail-desc {
	margin: 0 0 clamp(20px, 2.5vw, 28px);
	max-width: 42ch;
	font-family: var(--font-display);
	font-size: clamp(18px, 1.75vw, 22px);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -0.02em;
	color: var(--color-pure-white);
}

.wm-home-services__detail-tags {
	margin: 0;
	max-width: 48ch;
	font-family: var(--font-family);
	font-size: clamp(13px, 1vw, 15px);
	font-weight: var(--font-weight-regular);
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.42);
}

.wm-home-services__detail-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: clamp(28px, 3vw, 40px);
	font-family: var(--font-family);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	transition: color 0.25s ease, gap 0.25s ease;
}

.wm-home-services__detail-link:hover {
	color: var(--color-pure-white);
	gap: 12px;
}

.wm-home-services__nav {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.wm-home-services__nav-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	padding: clamp(18px, 2.2vw, 26px) 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: transparent;
	cursor: pointer;
	text-align: left;
	color: rgba(255, 255, 255, 0.16);
	transition: color 0.35s ease;
}

.wm-home-services__nav-item:hover,
.wm-home-services__nav-item.is-active {
	color: var(--color-pure-white);
}

.wm-home-services__nav-item:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.5);
	outline-offset: 4px;
}

.wm-home-services__nav-name {
	font-family: var(--font-display);
	font-size: clamp(48px, 6.8vw, 80px);
	font-weight: 500;
	line-height: 0.92;
	letter-spacing: -0.04em;
}

.wm-home-services__nav-index {
	flex-shrink: 0;
	padding-top: 0.35em;
	font-family: var(--font-family);
	font-size: clamp(12px, 1vw, 14px);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.wm-home-services__brace {
	color: rgba(255, 255, 255, 0.18);
	transition: color 0.35s ease;
}

.wm-home-services__index-num {
	color: inherit;
	transition: color 0.35s ease;
}

.wm-home-services__nav-item:hover .wm-home-services__brace,
.wm-home-services__nav-item.is-active .wm-home-services__brace,
.wm-home-services__nav-item:hover .wm-home-services__index-num,
.wm-home-services__nav-item.is-active .wm-home-services__index-num {
	color: var(--wm-home-services-accent);
}

/* Homepage — B2B services layout, dark mode palette */
.wm-home-services--front {
	--wm-home-services-accent: var(--color-pure-white);
	--wm-home-services-gutter: 50px;
	--wm-home-services-sticky-top: calc(var(--header-height) + clamp(64px, 8vw, 112px));
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	padding: clamp(80px, 10vw, 128px) var(--wm-home-services-gutter);
	overflow: visible;
}

.wm-home-services--front .wm-home-services__shell {
	overflow: visible;
}

.wm-home-services--front .wm-home-services__title {
	margin: 0 0 clamp(48px, 6vw, 80px);
	max-width: min(60%, 26ch) !important;
	text-align: left;
	white-space: normal;
	text-wrap: balance;
	color: var(--color-pure-white);
}

.wm-home-services--front .wm-home-services__layout {
	grid-template-columns: minmax(0, 0.34fr) minmax(0, 0.66fr);
	gap: clamp(56px, 8vw, 128px);
	align-items: start;
	min-height: clamp(300px, 36vh, 400px);
}

.wm-home-services--front .wm-home-services__nav {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.wm-home-services--front .wm-home-services__nav-item {
	padding: clamp(28px, 3.4vw, 40px) 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.16);
}

.wm-home-services--front .wm-home-services__nav-item:hover,
.wm-home-services--front .wm-home-services__nav-item.is-active {
	color: var(--color-pure-white);
}

.wm-home-services--front .wm-home-services__nav-item:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.5);
	outline-offset: 4px;
}

.wm-home-services--front .wm-home-services__brace {
	color: rgba(255, 255, 255, 0.18);
}

.wm-home-services--front .wm-home-services__index-num {
	color: rgba(255, 255, 255, 0.32);
}

.wm-home-services--front .wm-home-services__nav-item:hover .wm-home-services__brace,
.wm-home-services--front .wm-home-services__nav-item.is-active .wm-home-services__brace,
.wm-home-services--front .wm-home-services__nav-item:hover .wm-home-services__index-num,
.wm-home-services--front .wm-home-services__nav-item.is-active .wm-home-services__index-num {
	color: var(--color-pure-white);
}

.wm-home-services--front .wm-home-services__detail-panels {
	min-height: 160px;
}

.wm-home-services--front .wm-home-services__detail-panel {
	transform: translateY(10px);
	transition:
		opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0.4s;
}

.wm-home-services--front .wm-home-services__detail-panel.is-active {
	transform: translateY(0);
}

.wm-home-services--front .wm-home-services__detail-label,
.wm-home-services--front .wm-home-services__detail-eyebrow {
	display: none;
}

.wm-home-services--front .wm-home-services__detail-desc {
	margin: 0 0 14px;
	max-width: 34ch;
	font-family: var(--font-display) !important;
	font-size: clamp(20px, 1.5vw, 22px) !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.01em !important;
	color: rgba(255, 255, 255, 0.92);
}

.wm-home-services--front .wm-home-services__detail-tags {
	margin: 0;
	max-width: 34ch;
	font-family: var(--font-family);
	font-size: 13px;
	font-weight: var(--font-weight-regular);
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.4);
}

@media (min-width: 1025px) {
	.wm-home-services--front .wm-home-services__detail {
		position: sticky;
		top: var(--wm-home-services-sticky-top);
		align-self: start;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {
	.wm-home-services--front {
		--wm-home-services-gutter: 32px;
	}

	.wm-home-services--front .wm-home-services__title {
		max-width: min(68%, 30ch) !important;
	}

	.wm-home-services--front .wm-home-services__layout {
		grid-template-columns: 1fr;
		gap: 40px;
		min-height: 0;
	}
}

/* Homepage — services close-up: inline hover thumb (Made by Shape style) */
.wm-home-services--front.wm-home-services--media {
	--wm-closeup-thumb: clamp(170px, 12.5vw, 190px);
	--wm-closeup-thumb-gap: clamp(18px, 1.6vw, 28px);
	--wm-closeup-list-inset: clamp(34%, 38vw, 40%);
}

.wm-home-services--front.wm-home-services--media .wm-home-services__title {
	max-width: min(52%, 18ch) !important;
}

.wm-home-services--front.wm-home-services--media .wm-home-services__layout,
.wm-home-services--media .wm-home-services__layout--media-inline {
	display: block;
	grid-template-columns: none;
	gap: 0;
	min-height: 0;
}

.wm-home-services--media .wm-home-services__nav {
	width: 100%;
	max-width: none;
	/* List starts ~35–40% into the section (title stays left) */
	padding-left: var(--wm-closeup-list-inset);
	box-sizing: border-box;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.wm-home-services--media .wm-home-services__nav-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(20px, 2.4vw, 40px);
	min-height: calc(var(--wm-closeup-thumb) + clamp(36px, 3vw, 52px));
	padding-block: clamp(28px, 3vw, 40px);
	text-decoration: none;
	color: inherit;
	box-sizing: border-box;
}

.wm-home-services--media .wm-home-services__nav-main {
	display: inline-flex;
	align-items: center;
	gap: 0;
	min-width: 0;
	flex: 1 1 auto;
	max-width: 100%;
}

.wm-home-services--media .wm-home-services__nav-thumb {
	display: block;
	flex: 0 0 auto;
	width: 0;
	height: var(--wm-closeup-thumb);
	margin: 0;
	overflow: hidden;
	opacity: 0;
	border-radius: 14px;
	transform: scale(0.92);
	transform-origin: left center;
	pointer-events: none;
	transition:
		width 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		opacity 0.3s ease,
		transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		margin-right 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.wm-home-services--media .wm-home-services__nav-item.is-hovered .wm-home-services__nav-thumb,
.wm-home-services--media .wm-home-services__nav-item:focus-visible .wm-home-services__nav-thumb {
	width: var(--wm-closeup-thumb);
	margin-right: var(--wm-closeup-thumb-gap);
	opacity: 1;
	transform: scale(1);
}

.wm-home-services--media .wm-home-services__nav-thumb-media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border: 0;
	border-radius: inherit;
	background: rgba(255, 255, 255, 0.08);
}

.wm-home-services--media .wm-home-services__nav-item.is-hovered,
.wm-home-services--media .wm-home-services__nav-item:focus-visible {
	color: var(--color-pure-white);
}

.wm-home-services--media .wm-home-services__nav-item.is-hovered .wm-home-services__brace,
.wm-home-services--media .wm-home-services__nav-item.is-hovered .wm-home-services__index-num,
.wm-home-services--media .wm-home-services__nav-item:focus-visible .wm-home-services__brace,
.wm-home-services--media .wm-home-services__nav-item:focus-visible .wm-home-services__index-num {
	color: var(--color-pure-white);
}

.wm-home-services--media .wm-home-services__nav-name {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	font-size: clamp(60px, 4.4vw, 68px) !important;
	font-weight: 500 !important;
	line-height: 1.02 !important;
	letter-spacing: -0.035em !important;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	transition: none;
}

.wm-home-services--media .wm-home-services__nav-index {
	flex: 0 0 auto;
	align-self: center;
	padding-top: 0;
	margin-left: auto;
}

@media (hover: hover) and (pointer: fine) {
	.wm-home-services--media .wm-home-services__nav-item:hover .wm-home-services__nav-thumb {
		width: var(--wm-closeup-thumb);
		margin-right: var(--wm-closeup-thumb-gap);
		opacity: 1;
		transform: scale(1);
	}
}

@media (min-width: 769px) and (max-width: 1199px) {
	.wm-home-services--front.wm-home-services--media {
		--wm-closeup-thumb: clamp(120px, 14vw, 150px);
		--wm-closeup-list-inset: clamp(18%, 24vw, 30%);
	}

	.wm-home-services--media .wm-home-services__nav-name {
		font-size: clamp(40px, 5.2vw, 52px) !important;
		line-height: 1.05 !important;
	}

	.wm-home-services--media .wm-home-services__nav-item {
		min-height: calc(var(--wm-closeup-thumb) + 28px);
		padding-block: clamp(22px, 2.6vw, 32px);
		gap: 16px;
	}
}

@media (max-width: 768px) {
	.wm-home-services--front.wm-home-services--media {
		--wm-closeup-thumb: clamp(72px, 20vw, 96px);
		--wm-closeup-thumb-gap: 12px;
		--wm-closeup-list-inset: 0;
	}

	.wm-home-services--front.wm-home-services--media .wm-home-services__title {
		max-width: none !important;
	}

	.wm-home-services--media .wm-home-services__nav {
		padding-left: 0;
	}

	.wm-home-services--media .wm-home-services__nav-item {
		min-height: calc(var(--wm-closeup-thumb) + 20px);
		padding-block: clamp(18px, 4.5vw, 26px);
		gap: 12px;
		align-items: center;
	}

	.wm-home-services--front.wm-home-services--media .wm-home-services__nav-name,
	.wm-home-services--media .wm-home-services__nav-name {
		font-size: clamp(28px, 7.2vw, 36px) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.03em !important;
		padding-right: 8px;
	}

	.wm-home-services--media .wm-home-services__nav-index {
		flex-shrink: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wm-home-services--media .wm-home-services__nav-thumb {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Clients — editorial logo grid
   -------------------------------------------------------------------------- */

.wm-clients {
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding: clamp(80px, 8vw, 120px) 50px clamp(56px, 7vw, 88px);
	width: 100%;
}

.wm-clients__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-clients__title {
	max-width: none;
	margin-bottom: clamp(40px, 4.5vw, 56px);
	font-family: var(--font-display);
	font-size: 20px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-ink-black);
}

.wm-clients__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(32px, 3.5vw, 56px) clamp(24px, 2.5vw, 40px);
	width: 100%;
}

.wm-clients__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 88px;
}

.wm-clients__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 152px;
	height: 56px;
	margin-inline: auto;
	padding-inline: 8px;
}

.wm-clients__logo img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.88;
	transition:
		opacity 0.35s ease,
		filter 0.35s ease;
}

.wm-clients__item:hover .wm-clients__logo img {
	opacity: 1;
	filter: grayscale(0%);
}

.wm-clients__fallback {
	font-family: var(--font-display);
	font-size: 13px;
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	text-align: center;
	color: var(--color-graphite-wash);
}

.wm-clients__footer {
	display: flex;
	justify-content: flex-end;
	margin-top: clamp(40px, 5vw, 64px);
}

.wm-clients__more {
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-slate);
	transition: opacity 0.2s ease;
}

.wm-clients__more:hover {
	opacity: 0.6;
	color: var(--color-slate);
}

.wm-clients--bordered {
	padding-top: clamp(40px, 5vw, 64px);
}

.wm-clients--bordered .wm-clients__grid {
	gap: 0;
}

.wm-clients--bordered .wm-clients__item {
	min-height: clamp(96px, 10vw, 128px);
	padding: clamp(24px, 3vw, 40px);
	border-right: 1px solid rgba(15, 17, 21, 0.08);
	border-bottom: 1px solid rgba(15, 17, 21, 0.08);
	box-sizing: border-box;
}

.wm-clients--bordered .wm-clients__item:nth-child(5n) {
	border-right: none;
}

.wm-clients--bordered .wm-clients__item:nth-last-child(-n + 5) {
	border-bottom: none;
}

/* --------------------------------------------------------------------------
   Homepage — short About intro (between clients + reviews)
   -------------------------------------------------------------------------- */

.wm-home-about {
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding: clamp(56px, 7vw, 96px) 50px;
	width: 100%;
	box-sizing: border-box;
}

.wm-home-about__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-home-about__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	align-items: start;
	gap: clamp(48px, 6vw, 96px);
	width: 100%;
}

.wm-home-about__text {
	margin: 0;
	max-width: none;
	font-family: var(--font-display);
	font-size: 38px;
	font-weight: var(--font-weight-regular);
	line-height: 1.12;
	letter-spacing: -0.025em;
	color: var(--color-ink-black);
	text-wrap: pretty;
}

.wm-home-about__aside {
	justify-self: end;
	align-self: start;
	flex-shrink: 0;
	padding-top: 6px;
}

@media (max-width: 1024px) {
	.wm-home-about {
		padding-inline: 32px;
	}

	.wm-home-about__layout {
		grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
		gap: clamp(32px, 4vw, 56px);
	}
}

@media (max-width: 768px) {
	.wm-home-about {
		padding: clamp(40px, 8vw, 56px) 16px;
	}

	.wm-home-about__layout {
		grid-template-columns: 1fr;
		gap: clamp(28px, 6vw, 36px);
	}

	.wm-home-about__text {
		max-width: none;
		font-size: 24px;
		line-height: 1.2;
	}

	.wm-home-about__aside {
		justify-self: start;
		padding-top: 0;
	}
}

.wm-clients--bordered .wm-clients__logo {
	max-width: min(100%, 152px);
}

/* --------------------------------------------------------------------------
   Results / statistics — editorial light section
   -------------------------------------------------------------------------- */

.wm-results {
	background: var(--light-bg);
	color: var(--color-ink-black);
	/* More air above; tighter gap into the black services section below */
	padding: clamp(96px, 10vw, 140px) 50px clamp(60px, 6vw, 90px);
	width: 100%;
	max-width: none;
	margin: 0;
	box-sizing: border-box;
}

.wm-results__shell {
	display: contents;
}

.wm-results__title {
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-ink-black);
	margin-bottom: clamp(56px, 7vw, 96px);
	max-width: var(--section-title-max-width);
}

.wm-results__grid {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	position: relative;
}

.wm-results__col {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 0 1 auto;
	width: auto;
	max-width: min(480px, 32%);
	min-width: 0;
	margin: 0;
	padding: 0;
	text-align: left;
	box-sizing: border-box;
}

/* Dividers at equal thirds across the full strip */
.wm-results__grid::before,
.wm-results__grid::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--color-vapor);
	pointer-events: none;
	z-index: 1;
}

.wm-results__grid::before {
	left: 33.333%;
}

.wm-results__grid::after {
	left: 66.666%;
}

.wm-results__col + .wm-results__col::before {
	display: none;
}

/* Front page: hard-kill any inherited container limits on this strip only */
body.is-front-page .wm-results,
body.is-front-page .wm-results__shell,
body.is-front-page .wm-results__grid {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

body.is-front-page .wm-results__shell {
	padding-inline: 0;
}

.wm-results__text {
	max-width: 420px;
	font-size: clamp(14px, 1.1vw, 16px);
	line-height: 1.75;
	color: var(--color-graphite-wash);
}

.wm-results__actions {
	margin-top: clamp(24px, 3vw, 40px);
}

.wm-results__value {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(118px, 10vw, 152px);
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: -0.06em;
	color: var(--color-ink-black);
	margin-bottom: clamp(18px, 2.2vw, 28px);
}

.wm-results__label {
	max-width: 100%;
	width: auto;
	font-family: var(--font-display) !important;
	font-size: clamp(15px, 1vw, 17px) !important;
	font-weight: var(--font-weight-regular) !important;
	line-height: 1.55 !important;
	letter-spacing: normal !important;
	text-transform: none;
	color: #666666;
}

.wm-results--stats-only {
	padding-top: clamp(40px, 5vw, 64px);
}

.wm-results--stats-only .wm-results__value {
	font-size: clamp(118px, 10vw, 152px);
	font-weight: 400;
	margin-bottom: clamp(18px, 2.2vw, 28px);
}

.wm-results--stats-only .wm-results__label {
	max-width: 100%;
	font-size: clamp(15px, 1vw, 17px);
	line-height: 1.55;
}

/* --------------------------------------------------------------------------
   Testimonials — editorial 4-column grid
   -------------------------------------------------------------------------- */

.wm-testimonials {
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding: clamp(80px, 8.5vw, 120px) 50px;
	width: 100%;
}

.wm-testimonials__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-testimonials__intro {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: clamp(32px, 5vw, 80px);
	margin-bottom: clamp(64px, 7vw, 96px);
	width: 100%;
}

.wm-testimonials__title {
	flex: 1 1 auto;
	max-width: var(--section-title-max-width);
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-ink-black);
}

.wm-testimonials__title-line {
	display: block;
}

.wm-testimonials__title-line--muted {
	color: var(--color-fog);
}

.wm-testimonials__cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: 16px 24px;
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	font-family: var(--font-display);
	font-size: clamp(11px, 0.95vw, 13px);
	font-weight: var(--font-weight-medium);
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-radius: 0;
	box-shadow: none;
	transition: opacity 0.2s ease;
	white-space: nowrap;
}

.wm-testimonials__cta:hover {
	opacity: 0.82;
	color: var(--color-pure-white);
}

.wm-testimonials__intro-aside {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2vw, 24px);
	flex: 0 0 auto;
}

.wm-testimonials__controls {
	display: flex;
	align-items: center;
	gap: 8px;
}

.wm-testimonials__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid var(--color-vapor);
	background: transparent;
	color: var(--color-ink-black);
	font-family: var(--font-display);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.2s ease, opacity 0.2s ease;
}

.wm-testimonials__arrow:hover {
	border-color: var(--color-ink-black);
}

.wm-testimonials__arrow:focus-visible {
	outline: 2px solid var(--color-ink-black);
	outline-offset: 2px;
}

.wm-testimonials--slider {
	--wm-testimonials-gap: clamp(24px, 2.5vw, 40px);
}

.wm-testimonials--slider .wm-testimonials__grid {
	display: flex;
	flex-wrap: nowrap;
	gap: var(--wm-testimonials-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	width: 100%;
	align-items: stretch;
}

.wm-testimonials--slider .wm-testimonials__grid::-webkit-scrollbar {
	display: none;
}

.wm-testimonials--slider .wm-testimonials__grid:focus-visible {
	outline: 2px solid var(--color-ink-black);
	outline-offset: 4px;
}

.wm-testimonials--slider .wm-testimonials__item {
	flex: 0 0 calc((100% - (2 * var(--wm-testimonials-gap))) / 2.5);
	scroll-snap-align: start;
	min-width: 0;
	border: 1px solid var(--color-vapor);
	padding: clamp(32px, 3.5vw, 48px);
	background: transparent;
	box-sizing: border-box;
}

/* Homepage — editorial quote slider */
.wm-testimonials--quote {
	--wm-testimonials-quote-gap: clamp(20px, 2vw, 28px);
	--wm-testimonials-quote-gutter: clamp(32px, 4vw, 50px);
	padding: 0 0 clamp(32px, 4vw, 48px) var(--wm-testimonials-quote-gutter);
	overflow: visible;
}

/* Homepage — editorial quote strip (minimal) */
.wm-testimonials-editorial {
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding: clamp(24px, 3vw, 40px) 50px clamp(80px, 8vw, 120px);
	width: 100%;
}

.wm-testimonials-editorial__shell {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-testimonials-editorial__controls {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: clamp(12px, 1.5vw, 20px);
}

.wm-testimonials-editorial__viewport {
	min-width: 0;
	overflow: hidden;
}

.wm-testimonials-editorial__track {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	width: 100%;
}

.wm-testimonials-editorial__track::-webkit-scrollbar {
	display: none;
}

.wm-testimonials-editorial__track:focus-visible {
	outline: 2px solid rgba(0, 0, 0, 0.2);
	outline-offset: 4px;
	border-radius: 4px;
}

.wm-testimonials-editorial__slide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	min-width: 0;
	padding-right: clamp(72px, 9vw, 120px);
	box-sizing: border-box;
}

.wm-testimonials-editorial__quote {
	margin: 0;
	padding: 0;
	border: 0;
	max-width: min(100%, 920px);
}

.wm-testimonials-editorial__quote p {
	margin: 0;
	font-family: var(--font-family);
	font-size: 44px;
	font-weight: var(--font-weight-medium);
	line-height: 1.35;
	letter-spacing: -0.025em;
	color: var(--color-ink-black);
}

.wm-testimonials-editorial__mark {
	display: inline;
}

.wm-testimonials-editorial__mark--close {
	margin-left: 0.06em;
}

.wm-testimonials-editorial__author {
	margin-top: clamp(40px, 5vw, 60px);
}

.wm-testimonials-editorial__name {
	display: block;
	font-family: var(--font-family);
	font-size: clamp(16px, 1.4vw, 18px);
	font-weight: var(--font-weight-heading);
	font-style: normal;
	line-height: 1.35;
	color: var(--color-ink-black);
}

.wm-testimonials-editorial__meta {
	margin: 6px 0 0;
	font-family: var(--font-family);
	font-size: clamp(15px, 1.2vw, 17px);
	font-weight: var(--font-weight-regular);
	line-height: 1.45;
	color: #8a919a;
}

.wm-testimonials-editorial--inline .wm-testimonials-editorial__controls {
	position: absolute;
	top: 0;
	right: 0;
	flex-shrink: 0;
}

.wm-testimonials-editorial--inline .wm-testimonials-editorial__viewport {
	width: 100%;
	padding-top: clamp(56px, 6vw, 72px);
}

.wm-testimonials-editorial--inline .wm-testimonials-editorial__track {
	gap: clamp(32px, 3.5vw, 56px);
}

.wm-testimonials-editorial--inline .wm-testimonials-editorial__slide {
	flex: 0 0 calc((100% - clamp(32px, 3.5vw, 56px)) / 2);
	padding-right: 0;
	scroll-snap-align: start;
}

.wm-testimonials-editorial--inline .wm-testimonials-editorial__quote {
	max-width: 100%;
}

.wm-testimonials-editorial--inline .wm-testimonials-editorial__quote p {
	font-size: clamp(26px, 2.4vw, 36px);
	line-height: 1.34;
}

.wm-testimonials-editorial--inline .wm-testimonials-editorial__author {
	margin-top: clamp(28px, 3.5vw, 40px);
}

.wm-testimonials--quote .wm-testimonials__editorial {
	margin-bottom: clamp(8px, 1vw, 14px);
	padding-right: var(--wm-testimonials-quote-gutter);
}

.wm-testimonials--quote .wm-testimonials__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(12px, 1.5vw, 18px);
	min-width: 0;
}

.wm-testimonials--quote .wm-testimonials__eyebrow {
	margin: 0;
	font-family: var(--font-family);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8a919a;
}

.wm-testimonials--quote .wm-testimonials__title {
	margin: 0;
	max-width: none;
	font-family: var(--font-display);
	font-size: clamp(44px, 5vw, 72px);
	font-weight: 600 !important;
	line-height: 1.02;
	letter-spacing: -0.03em;
	text-align: left;
	color: var(--color-ink-black);
}

.wm-testimonials--quote .wm-testimonials__lead {
	margin: 0;
	max-width: 36ch;
	font-family: var(--font-display);
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -0.028em;
	color: var(--color-ink-black);
	text-wrap: balance;
}

.wm-testimonials--quote .wm-testimonials__header-aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 16px;
	padding-top: 2px;
	flex-shrink: 0;
}

.wm-testimonials--quote .wm-testimonials__header-aside .wm-cta--primary {
	gap: 12px;
	padding: 10px 24px;
	border-radius: 999px;
	background: #1f1d1d;
	color: #ffffff;
	font-family: var(--font-family);
	font-size: 14px;
	font-weight: var(--font-weight-heading);
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wm-testimonials--quote .wm-testimonials__header-aside .wm-cta--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(15, 17, 21, 0.14);
	color: #ffffff;
}

.wm-testimonials--quote .wm-testimonials__stage {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: clamp(10px, 1.2vw, 14px);
	width: 100%;
}

.wm-testimonials--quote .wm-testimonials__controls--quote {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(12px, 1.5vw, 20px);
	padding-right: var(--wm-testimonials-quote-gutter);
}

.wm-testimonials--quote .wm-testimonials__bleed {
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: var(--wm-testimonials-quote-gutter);
	padding-right: 0;
	box-sizing: border-box;
	overflow: visible;
}

.wm-testimonials--quote .wm-testimonials__viewport {
	position: relative;
	min-width: 0;
	overflow: hidden;
}

.wm-testimonials--quote .wm-testimonials__viewport::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: clamp(72px, 10vw, 140px);
	pointer-events: none;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.72) 42%,
		var(--color-pure-white) 100%
	);
	z-index: 1;
}

.wm-testimonials--quote .wm-testimonials__track {
	display: flex;
	flex-wrap: nowrap;
	gap: var(--wm-testimonials-quote-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	width: 100%;
	padding-bottom: 2px;
	padding-right: var(--wm-testimonials-quote-gutter);
}

.wm-testimonials--quote .wm-testimonials__track::-webkit-scrollbar {
	display: none;
}

.wm-testimonials--quote .wm-testimonials__track:focus-visible {
	outline: 2px solid rgba(0, 0, 0, 0.2);
	outline-offset: 4px;
	border-radius: 4px;
}

.wm-testimonials--quote .wm-testimonials__slide {
	flex: 0 0 min(720px, calc((100% - var(--wm-testimonials-quote-gap)) / 1.2));
	scroll-snap-align: start;
	min-width: 0;
	min-height: clamp(280px, 28vw, 360px);
	margin: 0;
	padding: clamp(28px, 3vw, 36px);
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 22px;
	background: #fafafa;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 2.5vw, 28px);
}

.wm-testimonials--quote .wm-testimonials__card-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.wm-testimonials--quote .wm-testimonials__card-author {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.wm-testimonials--quote .wm-testimonials__card-avatar {
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	object-fit: cover;
}

.wm-testimonials--quote .wm-testimonials__card-avatar--initials {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.06);
	font-family: var(--font-display);
	font-size: 15px;
	font-weight: var(--font-weight-heading);
	letter-spacing: 0.04em;
	color: #5f636b;
}

.wm-testimonials--quote .wm-testimonials__card-avatar--quote {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: auto;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	color: #8f959e;
}

.wm-testimonials--quote .wm-testimonials__card-avatar--quote svg {
	display: block;
	width: 28px;
	height: 20px;
}

.wm-testimonials--quote .wm-testimonials__card-identity {
	min-width: 0;
}

.wm-testimonials--quote .wm-testimonials__card-logo {
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	max-width: 130px;
	margin-left: auto;
}

.wm-testimonials--quote .wm-testimonials__card-logo img {
	display: block;
	max-height: 32px;
	max-width: 120px;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: top right;
}

.wm-testimonials--quote .wm-testimonials__card-logo-fallback {
	font-family: var(--font-family);
	font-size: 13px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	color: #5f6673;
	text-align: right;
}

.wm-testimonials--quote .wm-testimonials__statement {
	margin: clamp(16px, 2vw, 28px) 0 0;
	padding: 0;
	border: 0;
	flex: 1 1 auto;
}

.wm-testimonials--quote .wm-testimonials__statement p {
	margin: 0;
	max-width: 42ch;
	font-family: var(--font-family);
	font-size: clamp(18px, 1.8vw, 22px);
	font-weight: var(--font-weight-regular);
	line-height: 1.55;
	letter-spacing: -0.015em;
	color: #1a1a1a;
}

.wm-testimonials--quote .wm-testimonials__mark {
	display: inline;
}

.wm-testimonials--quote .wm-testimonials__mark--close {
	margin-left: 0.08em;
}

.wm-testimonials--quote .wm-testimonials__name {
	display: block;
	font-family: var(--font-display);
	font-size: 18px;
	font-weight: var(--font-weight-heading);
	font-style: normal;
	line-height: 1.25;
	color: var(--color-ink-black);
}

.wm-testimonials--quote .wm-testimonials__role {
	margin: 4px 0 0;
	font-family: var(--font-family);
	font-size: 14px;
	font-weight: var(--font-weight-regular);
	line-height: 1.45;
	color: #5f6673;
}

.wm-testimonials--quote .wm-testimonials__card-foot {
	margin-top: auto;
	padding-top: clamp(20px, 2vw, 24px);
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.wm-testimonials--quote .wm-testimonials__stats {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(24px, 4vw, 48px);
}

.wm-testimonials--quote .wm-testimonials__stat {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.wm-testimonials--quote .wm-testimonials__stat-value {
	font-family: var(--font-display);
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: var(--font-weight-heading);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--color-ink-black);
}

.wm-testimonials--quote .wm-testimonials__stat-label {
	font-family: var(--font-family);
	font-size: 13px;
	line-height: 1.4;
	color: #8a919a;
}

:is(.wm-testimonials--quote, .wm-testimonials-editorial) .wm-testimonials__arrow--quote {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: none;
	border-radius: 60px;
	background: var(--color-ink-black);
	font-size: 16px;
	line-height: 1;
	color: var(--color-pure-white);
	opacity: 1;
	transition: background-color 0.25s ease, transform 0.25s ease;
}

:is(.wm-testimonials--quote, .wm-testimonials-editorial) .wm-testimonials__arrow--quote:hover {
	background: #2a2a2a;
	opacity: 1;
}

.wm-testimonials--grid .wm-testimonials__grid,
.wm-testimonials--dark .wm-testimonials__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(24px, 2.5vw, 40px);
	width: 100%;
	align-items: stretch;
}

.wm-testimonials__grid {
	width: 100%;
}

.wm-testimonials__item {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100%;
}

.wm-testimonials__num,
.wm-testimonials__logo,
.wm-testimonials__quote,
.wm-testimonials__author {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity var(--motion-duration) var(--ease-premium),
		transform var(--motion-duration) var(--ease-premium);
}

.wm-testimonials__rule {
	display: block;
	width: 100%;
	height: 1px;
	background: var(--color-vapor);
	margin-bottom: clamp(32px, 3.5vw, 56px);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--motion-duration) var(--ease-premium);
}

.wm-testimonials__item.is-visible .wm-testimonials__num {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.05s;
}

.wm-testimonials__item.is-visible .wm-testimonials__rule {
	transform: scaleX(1);
	transition-delay: 0.12s;
}

.wm-testimonials__item.is-visible .wm-testimonials__logo {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.26s;
}

.wm-testimonials__item.is-visible .wm-testimonials__quote {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.4s;
}

.wm-testimonials__item.is-visible .wm-testimonials__author {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.54s;
}

.wm-testimonials__num {
	display: block;
	margin-bottom: var(--spacing-12);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-regular);
	letter-spacing: var(--tracking-meta);
	color: var(--color-fog);
}

.wm-testimonials__logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 48px;
	margin-bottom: clamp(28px, 3vw, 40px);
	padding-right: var(--spacing-8);
}

.wm-testimonials__logo img {
	display: block;
	max-width: min(132px, 100%);
	max-height: 44px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(100%) brightness(0);
	opacity: 0.72;
}

.wm-testimonials__logo-fallback {
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	color: var(--color-steel);
}

.wm-testimonials__quote {
	margin: 0;
	padding: 0;
	border: 0;
}

.wm-testimonials__quote p {
	max-width: 34ch;
	font-size: clamp(16px, 1.1vw, 18px);
	line-height: 1.7;
	color: var(--color-graphite-wash);
}

.wm-testimonials__author {
	display: flex;
	align-items: center;
	gap: var(--spacing-16);
	margin-top: auto;
	padding-top: clamp(32px, 4vw, 48px);
}

.wm-testimonials--slider .wm-testimonials__author {
	padding-top: clamp(24px, 3vw, 32px);
}

.wm-testimonials__avatar {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	filter: grayscale(100%);
}

.wm-testimonials__avatar--initials {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-ash);
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: var(--font-weight-medium);
	color: var(--color-steel);
}

.wm-testimonials__identity {
	min-width: 0;
}

.wm-testimonials__name {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(18px, 1.25vw, 20px);
	font-weight: var(--font-weight-heading);
	font-style: normal;
	line-height: 1.2;
	color: var(--color-ink-black);
}

.wm-testimonials__role {
	margin: var(--spacing-4) 0 0;
	font-family: var(--font-display);
	font-size: clamp(11px, 0.85vw, 13px);
	font-weight: var(--font-weight-regular);
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #777777;
}

/* Testimonials — dark variant (about page) */
.wm-testimonials--dark {
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	padding-top: 0;
}

body.is-about-page .wm-ab-stats {
	background: var(--light-bg, #FBFCFE);
	color: var(--color-ink-black, #0f1115);
	padding-top: clamp(72px, 7.5vw, 112px);
	padding-bottom: clamp(72px, 8vw, 110px);
}

body.is-about-page .wm-testimonials-editorial--about {
	padding: clamp(48px, 6vw, 72px) 50px clamp(80px, 8vw, 120px);
}

.wm-testimonials--dark .wm-testimonials__title {
	color: var(--color-pure-white);
}

.wm-testimonials--dark .wm-testimonials__title-line--muted {
	color: var(--color-steel);
}

.wm-testimonials--dark .wm-testimonials__cta {
	background: var(--color-pure-white);
	color: var(--color-ink-black);
}

.wm-testimonials--dark .wm-testimonials__cta:hover {
	color: var(--color-ink-black);
	opacity: 0.82;
}

.wm-testimonials--dark .wm-testimonials__rule {
	background: rgba(255, 255, 255, 0.1);
}

.wm-testimonials--dark .wm-testimonials__num {
	color: var(--color-steel);
}

.wm-testimonials--dark .wm-testimonials__logo img {
	filter: grayscale(100%) brightness(0) invert(1);
	opacity: 0.72;
}

.wm-testimonials--dark .wm-testimonials__logo-fallback {
	color: rgba(255, 255, 255, 0.55);
}

.wm-testimonials--dark .wm-testimonials__quote p {
	color: rgba(255, 255, 255, 0.55);
}

.wm-testimonials--dark .wm-testimonials__name {
	color: var(--color-pure-white);
}

.wm-testimonials--dark .wm-testimonials__role {
	color: rgba(255, 255, 255, 0.45);
}

.wm-testimonials--dark .wm-testimonials__avatar--initials {
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.7);
}

/* --------------------------------------------------------------------------
   FAQ — editorial 2-column accordion
   -------------------------------------------------------------------------- */

.wm-faq {
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding: clamp(96px, 9vw, 140px) 50px;
	width: 100%;
}

.wm-faq__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-faq__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.36fr) minmax(0, 1fr);
	gap: clamp(48px, 6vw, 120px);
	align-items: start;
	width: 100%;
}

.wm-faq__head {
	position: sticky;
	top: calc(var(--header-height) + clamp(16px, 2vw, 32px));
	align-self: start;
	z-index: 2;
	background: transparent;
	padding-bottom: clamp(16px, 2vw, 24px);
}

.wm-faq__title {
	display: flex;
	flex-direction: column;
	gap: clamp(12px, 1.5vw, 20px);
	margin: 0;
}

.wm-faq__title-main {
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-ink-black);
}

.wm-faq__title-sub {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.wm-faq__title-sub-line {
	font-family: var(--font-display);
	font-size: clamp(15px, 1.25vw, 19px);
	font-weight: var(--font-weight-regular);
	line-height: 1.25;
	letter-spacing: var(--tracking-meta);
	text-transform: lowercase;
	color: var(--color-fog);
}

.wm-faq__list {
	display: flex;
	flex-direction: column;
	width: 100%;
	border-top: 1px solid var(--color-vapor);
	position: relative;
	z-index: 1;
	background: transparent;
}

.wm-faq__item {
	border-bottom: 1px solid var(--color-vapor);
	background: transparent;
}

.wm-faq__question {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: clamp(24px, 3vw, 48px);
	width: 100%;
	padding: clamp(28px, 3vw, 40px) 0;
	background: none;
	border: 0;
	text-align: left;
	cursor: pointer;
	color: var(--color-ink-black);
}

.wm-faq__question-main {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(12px, 1.5vw, 18px);
	min-width: 0;
}

.wm-faq__question-num {
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-regular);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	color: var(--color-steel);
}

.wm-faq__question-text {
	font-family: var(--font-display);
	font-size: clamp(20px, 2vw, 28px);
	font-weight: var(--font-weight-medium);
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--color-ink-black);
}

.wm-faq__icon {
	position: relative;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	margin-top: clamp(18px, 2vw, 24px);
}

.wm-faq__icon-line {
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--color-ink-black);
	transform: translate(-50%, -50%);
}

.wm-faq__icon-line--h {
	width: 14px;
	height: 1px;
}

.wm-faq__icon-line--v {
	width: 1px;
	height: 14px;
	transition: opacity 0.45s var(--ease-premium), transform 0.45s var(--ease-premium);
}

.wm-faq__item.active .wm-faq__icon-line--v {
	opacity: 0;
	transform: translate(-50%, -50%) scaleY(0);
}

.wm-faq__answer.faq-answer {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition:
		max-height 0.85s var(--ease-premium),
		opacity 0.55s var(--ease-premium);
}

.wm-faq__item.active .wm-faq__answer.faq-answer {
	opacity: 1;
}

.wm-faq__answer-inner {
	padding: 0 0 clamp(28px, 3vw, 40px);
	max-width: 720px;
}

.wm-faq__answer-inner p {
	margin: 0;
	font-size: clamp(15px, 1.1vw, 17px);
	line-height: 1.75;
	color: var(--color-slate);
}

/* --------------------------------------------------------------------------
   Process timeline
   -------------------------------------------------------------------------- */

.wm-process__header {
	margin-bottom: var(--spacing-64);
	max-width: 32rem;
}

.wm-process__timeline {
	position: relative;
	padding-left: var(--spacing-48);
}

.wm-process__timeline::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--color-vapor);
}

.wm-process__step {
	position: relative;
	padding-bottom: var(--spacing-48);
}

.wm-process__step:last-child {
	padding-bottom: 0;
}

.wm-process__step::before {
	content: '';
	position: absolute;
	left: calc(-1 * var(--spacing-48));
	top: 8px;
	width: 1px;
	height: calc(100% + var(--spacing-48));
	background: var(--color-vapor);
}

.wm-process__step:last-child::before {
	display: none;
}

.wm-process__step-marker {
	position: absolute;
	left: calc(-1 * var(--spacing-48) - 4px);
	top: 6px;
	width: 9px;
	height: 9px;
	border: 1px solid var(--color-pale-mist);
	border-radius: 50%;
	background: var(--color-pure-white);
}

.wm-process__step-num {
	display: block;
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--tracking-meta);
	color: var(--color-fog);
	margin-bottom: var(--spacing-8);
}

.wm-process__step-title {
	font-family: var(--font-display);
	font-size: var(--text-subheading);
	font-weight: var(--font-weight-heading);
	line-height: 1.2;
	color: var(--color-ink-black);
	margin-bottom: var(--spacing-8);
}

.wm-process__step-text {
	font-size: var(--text-body);
	line-height: var(--leading-body);
	color: var(--color-slate);
	max-width: 28rem;
}

/* --------------------------------------------------------------------------
   Dark CTA section
   -------------------------------------------------------------------------- */

.wm-dark-cta__inner {
	max-width: var(--section-title-max-width);
}

.wm-dark-cta__title {
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-pure-white);
	margin-bottom: var(--spacing-24);
	max-width: 100%;
}

.wm-dark-cta__text {
	font-size: var(--text-body-lg);
	line-height: var(--leading-body-lg);
	color: var(--color-steel);
	margin-bottom: var(--spacing-32);
}

/* --------------------------------------------------------------------------
   Services page — 247studio-style editorial
   -------------------------------------------------------------------------- */

.wm-sp {
	display: block;
	width: 100%;
}

/* Hero — B2B-style white banner */
.wm-sp-hero {
	padding: calc(var(--header-height) + clamp(72px, 10vw, 128px)) 50px 0;
	background: var(--color-pure-white, #ffffff);
	color: var(--color-ink-black, #000000);
	width: 100%;
	box-sizing: border-box;
}

.wm-sp-hero__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
	padding-bottom: clamp(96px, 12vw, 160px);
}

.wm-sp-hero__title {
	display: block;
	margin: 0;
	max-width: min(100%, 18ch);
	font-family: var(--font-display);
	font-size: 150px;
	font-weight: var(--h1-font-weight);
	line-height: 0.92;
	letter-spacing: -0.04em;
	color: var(--color-ink-black, #000000);
}

.wm-sp-hero__title-line {
	display: block;
}

@media (max-width: 1280px) {
	.wm-sp-hero__title {
		font-size: clamp(110px, 9.5vw, 120px);
	}
}

@media (max-width: 1024px) {
	.wm-sp-hero__title {
		font-size: clamp(80px, 8.5vw, 90px);
	}
}

@media (max-width: 768px) {
	.wm-sp-hero__title {
		font-size: clamp(56px, 14vw, 64px);
		line-height: 0.95;
	}
}

.wm-sp-hero__rule {
	border-top: 1px solid rgba(0, 0, 0, 0.12);
}

/* Service blocks — white boxed stack */
.wm-sp-services {
	width: 100%;
	padding: clamp(48px, 5vw, 64px) 50px clamp(64px, 7vw, 96px);
	background: var(--light-bg);
	color: var(--color-ink-black);
}

.wm-sp-services__frame {
	display: grid;
	grid-template-columns: 1fr;
	border: 1px solid var(--color-vapor);
}

.wm-sp-service {
	border-top: 1px solid var(--color-vapor);
	padding: clamp(40px, 4vw, 64px) clamp(28px, 3.5vw, 48px);
	background: transparent;
	min-width: 0;
}

.wm-sp-service:first-child {
	border-top: none;
}

.wm-sp-service__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-sp-service__num {
	display: block;
	margin-bottom: clamp(32px, 4vw, 48px);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-regular);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	color: var(--color-steel);
}

.wm-sp-service__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
	gap: clamp(28px, 3.5vw, 48px);
	align-items: start;
}

.wm-sp-service__title {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(28px, 3.2vw, 44px);
	font-weight: var(--font-weight-regular);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--color-ink-black);
}

.wm-sp-service__aside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: clamp(20px, 2.5vw, 28px);
}

.wm-sp-service__badge {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	background: var(--color-ink-black);
	border-radius: 999px;
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-pure-white);
}

.wm-sp-service__title-line {
	display: block;
}

.wm-sp-service__body {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 100%;
	padding-bottom: clamp(40px, 4vw, 56px);
}

.wm-sp-service__desc {
	max-width: none;
	margin: 0 0 clamp(24px, 3vw, 36px);
	font-size: clamp(14px, 1vw, 16px);
	line-height: 1.7;
	color: var(--color-slate);
}

.wm-sp-service__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wm-sp-service__tag {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	border: 1px solid var(--color-ink-black);
	border-radius: 999px;
	background: transparent;
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-ink-black);
}

.wm-sp-service__arrow {
	position: absolute;
	right: 0;
	bottom: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	font-family: var(--font-display);
	font-size: clamp(28px, 3vw, 36px);
	font-weight: var(--font-weight-regular);
	line-height: 1;
	color: var(--color-ink-black);
	text-decoration: none;
	transition: opacity 0.25s ease, transform 0.35s var(--ease-premium);
}

.wm-sp-service__arrow:hover {
	opacity: 0.45;
	transform: translateX(4px);
}

/* Process — GSAP pinned stacked cards */
.wm-sp-process {
	--wm-process-stack-top: max(110px, calc(var(--header-height) + 24px));
	--wm-process-card-height: 680px;
	--wm-process-layer-gap: 36px;
	--wm-process-stack-max: 1680px;
	--wm-process-stack-gutter: 28px;
	--wm-process-pin-height: calc(var(--wm-process-card-height) + (var(--wm-process-layer-gap) * 3) + 24px);
	border-top: 1px solid var(--color-vapor);
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding: clamp(120px, 12vw, 180px) 50px clamp(80px, 8vw, 120px);
	width: 100%;
	position: relative;
	z-index: 2;
	overflow: visible;
}

.wm-sp-process__shell {
	width: 100%;
	max-width: var(--wm-process-stack-max);
	margin-inline: auto;
}

.wm-sp-process__title {
	margin: 0 auto clamp(96px, 10vw, 140px);
	max-width: none;
	font-family: var(--font-display);
	font-size: clamp(72px, 8vw, 100px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.04em;
	text-align: center;
	color: var(--color-ink-black);
}

.wm-sp-process__pin {
	position: relative;
	width: 100%;
}

.wm-sp-process__stack {
	position: relative;
	display: block;
	width: min(var(--wm-process-stack-max), calc(100vw - (var(--wm-process-stack-gutter) * 2)));
	max-width: var(--wm-process-stack-max);
	margin-inline: auto;
}

.wm-sp-process__card {
	position: relative;
	width: 100%;
	height: auto;
	min-height: var(--wm-process-card-height);
	margin-inline: auto;
	margin-bottom: 0;
	padding: 72px;
	box-sizing: border-box;
	overflow: hidden;
	background-color: var(--color-ink-black);
}

.wm-sp-process__card--01 {
	z-index: 1;
}

.wm-sp-process__card--02 {
	z-index: 2;
}

.wm-sp-process__card--03 {
	z-index: 3;
}

.wm-sp-process__card--04 {
	z-index: 4;
}

@media (min-width: 769px) {
	.wm-sp-process--stacked .wm-sp-process__title {
		margin-bottom: clamp(40px, 5vw, 64px);
	}

	.wm-sp-process--stacked .wm-sp-process__pin {
		position: relative;
		height: var(--wm-process-pin-height);
		min-height: var(--wm-process-pin-height);
		display: flex;
		align-items: flex-start;
		justify-content: center;
		overflow: visible;
	}

	.wm-sp-process--stacked .wm-sp-process__stack {
		position: relative;
		width: min(var(--wm-process-stack-max), calc(100vw - (var(--wm-process-stack-gutter) * 2)));
		height: var(--wm-process-card-height);
		margin-inline: auto;
	}

	.wm-sp-process--stacked .wm-sp-process__card {
		position: absolute;
		inset: 0 auto auto 0;
		top: 0;
		left: 0;
		width: 100%;
		height: var(--wm-process-card-height);
		min-height: var(--wm-process-card-height);
		overflow: hidden;
	}

	.wm-sp-process--stacked .wm-sp-process__card--02,
	.wm-sp-process--stacked .wm-sp-process__card--03,
	.wm-sp-process--stacked .wm-sp-process__card--04 {
		transform: translate3d(0, 100%, 0) scale(0.995);
		opacity: 0.98;
	}

	.wm-sp-process.is-process-gsap-active .wm-sp-process__card {
		transform-origin: 50% 0%;
		will-change: transform, opacity, filter;
	}

	.wm-sp-process.is-process-static-stack .wm-sp-process__pin {
		position: relative;
		height: auto;
		min-height: calc(var(--wm-process-card-height) + (var(--wm-process-layer-gap) * 3));
		display: block;
		padding-bottom: var(--wm-process-layer-gap);
	}

	.wm-sp-process.is-process-static-stack .wm-sp-process__stack {
		position: relative;
		width: min(var(--wm-process-stack-max), calc(100vw - (var(--wm-process-stack-gutter) * 2)));
		height: calc(var(--wm-process-card-height) + (var(--wm-process-layer-gap) * 3));
		margin-inline: auto;
	}

	.wm-sp-process.is-process-static-stack .wm-sp-process__card {
		position: absolute;
		inset: 0 auto auto 0;
		top: 0;
		left: 0;
		width: 100%;
		height: var(--wm-process-card-height);
		min-height: var(--wm-process-card-height);
	}

	.wm-sp-process.is-process-static-stack .wm-sp-process__card {
		transform-origin: 50% 0%;
	}

	.wm-sp-process.is-process-static-stack .wm-sp-process__card--01 {
		transform: translate3d(0, 0, 0) scale(0.985);
		opacity: 0.95;
		filter: brightness(0.97);
	}

	.wm-sp-process.is-process-static-stack .wm-sp-process__card--02 {
		transform: translate3d(0, var(--wm-process-layer-gap), 0) scale(0.99);
		opacity: 0.95;
		filter: brightness(0.97);
	}

	.wm-sp-process.is-process-static-stack .wm-sp-process__card--03 {
		transform: translate3d(0, calc(var(--wm-process-layer-gap) * 2), 0) scale(0.995);
		opacity: 0.95;
		filter: brightness(0.97);
	}

	.wm-sp-process.is-process-static-stack .wm-sp-process__card--04 {
		transform: translate3d(0, calc(var(--wm-process-layer-gap) * 3), 0) scale(1);
		opacity: 1;
		filter: brightness(1);
		box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
	}
}

.wm-sp-process__card-num {
	position: absolute;
	left: clamp(24px, 3vw, 48px);
	bottom: clamp(12px, 2vw, 28px);
	font-family: var(--font-display);
	font-size: clamp(220px, 22vw, 320px);
	font-weight: var(--font-weight-heading);
	line-height: 0.82;
	letter-spacing: -0.06em;
	color: rgba(255, 255, 255, 0.08);
	pointer-events: none;
	user-select: none;
}

.wm-sp-process__card-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
	gap: clamp(40px, 5vw, 72px);
	align-items: start;
	width: 100%;
	height: 100%;
	opacity: 1;
	transform: none;
}

.wm-sp-process__card-lead {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(160px, 18vw, 240px);
}

.wm-sp-process__card-title {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	max-width: 9ch;
	font-family: var(--font-display);
	font-size: clamp(48px, 5.5vw, 72px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--color-pure-white);
}

.wm-sp-process__card-title-phase {
	display: block;
	color: var(--color-pure-white);
}

.wm-sp-process__card-body {
	padding-top: clamp(4px, 0.5vw, 8px);
}

.wm-sp-process__card-text {
	max-width: 600px;
	margin: 0 0 clamp(24px, 3vw, 32px);
	font-family: var(--font-display);
	font-size: clamp(16px, 1.1vw, 18px);
	font-weight: 500;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.88);
}

.wm-sp-process__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wm-sp-process__list li {
	position: relative;
	padding-left: 14px;
	font-family: var(--font-display);
	font-size: clamp(15px, 1vw, 16px);
	font-weight: 500;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.82);
}

.wm-sp-process__list li + li {
	margin-top: var(--spacing-8);
}

.wm-sp-process__list li::before {
	content: '–';
	position: absolute;
	left: 0;
	color: rgba(255, 255, 255, 0.45);
}

/* FAQ */
.wm-sp-faq {
	--wm-sp-faq-list-max: 1792px;
	--wm-sp-faq-item-py: clamp(24px, 2.5vw, 36px);
	border-top: 1px solid var(--color-vapor);
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding: clamp(96px, 9vw, 140px) 50px;
	width: 100%;
	position: relative;
	z-index: 5;
}

.wm-sp-faq__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-sp-faq__layout {
	display: grid;
	grid-template-columns: minmax(200px, 1fr) minmax(0, 2fr);
	gap: clamp(48px, 6vw, 100px);
	align-items: start;
}

.wm-sp-faq__head {
	position: sticky;
	top: calc(var(--header-height) + clamp(16px, 2vw, 32px));
	align-self: start;
	z-index: 2;
	background: transparent;
	padding-bottom: clamp(16px, 2vw, 24px);
}

.wm-sp-faq__title {
	display: flex;
	flex-direction: column;
	gap: clamp(12px, 1.5vw, 20px);
	margin: 0;
}

.wm-sp-faq__title-main {
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-ink-black);
}

.wm-sp-faq__title-sub {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.wm-sp-faq__title-sub-line {
	font-family: var(--font-display);
	font-size: clamp(15px, 1.25vw, 19px);
	font-weight: var(--font-weight-regular);
	line-height: 1.25;
	letter-spacing: var(--tracking-meta);
	text-transform: lowercase;
	color: var(--color-fog);
}

.wm-sp-faq__list {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: var(--wm-sp-faq-list-max);
	justify-self: stretch;
	position: relative;
	z-index: 1;
	background: transparent;
}

.wm-sp-faq__item {
	display: flex;
	flex-direction: column;
	background: transparent;
}

.wm-sp-faq__item-panel {
	border-top: 1px solid var(--color-vapor);
	padding-block: var(--wm-sp-faq-item-py);
}

.wm-sp-faq__item:last-child .wm-sp-faq__item-panel {
	border-bottom: 1px solid var(--color-vapor);
}

.wm-sp-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(24px, 3vw, 48px);
	width: 100%;
	padding: 0;
	background: none;
	border: 0;
	text-align: left;
	cursor: pointer;
	color: var(--color-ink-black);
}

.wm-sp-faq__question-text {
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--font-display);
	font-size: clamp(20px, 2vw, 28px);
	font-weight: var(--font-weight-medium);
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--color-ink-black);
}

.wm-sp-faq__icon {
	position: relative;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.wm-sp-faq__icon-line {
	position: absolute;
	top: 50%;
	left: 50%;
	background: var(--color-ink-black);
	transform: translate(-50%, -50%);
}

.wm-sp-faq__icon-line--h {
	width: 14px;
	height: 1px;
}

.wm-sp-faq__icon-line--v {
	width: 1px;
	height: 14px;
	transition: opacity 0.45s var(--ease-premium), transform 0.45s var(--ease-premium);
}

.wm-sp-faq__item.active .wm-sp-faq__icon-line--v {
	opacity: 0;
	transform: translate(-50%, -50%) scaleY(0);
}

.wm-sp-faq__answer.faq-answer {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition:
		max-height 0.85s var(--ease-premium),
		opacity 0.55s var(--ease-premium);
}

.wm-sp-faq__item.active .wm-sp-faq__answer.faq-answer {
	opacity: 1;
}

.wm-sp-faq__answer-inner {
	padding: var(--wm-sp-faq-item-py) 0 0;
	max-width: none;
}

.wm-sp-faq__answer-inner p {
	margin: 0;
	font-size: clamp(15px, 1.1vw, 17px);
	line-height: 1.75;
	color: var(--color-slate);
}

/* CTA */
.wm-sp-cta {
	border-top: 1px solid var(--color-vapor);
	background: var(--color-obsidian);
	color: var(--color-pure-white);
	padding: clamp(96px, 9vw, 140px) 50px;
	width: 100%;
}

.wm-sp-cta__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-sp-cta__inner {
	max-width: var(--section-title-max-width);
}

.wm-sp-cta__title {
	margin: 0 0 var(--spacing-24);
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-pure-white);
}

.wm-sp-cta__text {
	max-width: 36rem;
	margin: 0 0 var(--spacing-16);
	font-size: var(--text-body-lg);
	line-height: var(--leading-body-lg);
	color: var(--color-steel);
}

.wm-sp-cta__note {
	margin: 0 0 var(--spacing-32);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-fog);
}

.wm-sp-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(20px, 2.5vw, 32px);
}

.wm-sp-cta__link {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-pure-white);
	text-decoration: none;
	transition: color 0.25s ease;
}

.wm-sp-cta__link:hover {
	color: var(--color-fog);
}

.wm-sp-cta__link--muted {
	color: var(--color-steel);
}

.wm-sp-cta__link--muted:hover {
	color: var(--color-pure-white);
}

/* --------------------------------------------------------------------------
   Portfolio page — editorial layout
   -------------------------------------------------------------------------- */

.wm-pt {
	display: block;
	width: 100%;
}

body.is-portfolio-page .wm-main {
	margin-top: 0;
}

.wm-pt-hero {
	padding: calc(var(--header-height) + clamp(64px, 8vw, 120px)) 50px clamp(72px, 9vw, 120px);
	background: var(--light-bg);
	color: var(--color-ink-black);
	width: 100%;
}

.wm-pt-hero__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-pt-hero__title {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	max-width: 100%;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(52px, 7.8vw, 86px);
	font-weight: var(--h1-font-weight);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--color-ink-black);
}

.wm-pt-hero__title-line {
	display: block;
	max-width: 100%;
	white-space: normal;
}

.wm-pt-hero__scroll {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: clamp(48px, 6vw, 72px);
	font-family: var(--font-display);
	font-size: 10px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-ink-black);
	text-decoration: none;
	transition: opacity 0.25s ease;
}

.wm-pt-hero__scroll-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0.9;
}

.wm-pt-hero__scroll-text {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.wm-pt-hero__scroll-pipe {
	color: var(--color-steel);
}

.wm-pt-hero__scroll:hover {
	opacity: 0.65;
}

.wm-pt-intro {
	padding: 0 50px clamp(48px, 5vw, 72px);
	background: var(--light-bg);
	color: var(--color-ink-black);
	width: 100%;
}

.wm-pt-intro__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-pt-intro__rule {
	border-top: 1px solid var(--color-pale-mist);
	margin-bottom: clamp(48px, 5vw, 72px);
}

.wm-pt-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.22fr) minmax(0, 0.78fr);
	gap: clamp(40px, 6vw, 96px);
	align-items: start;
}

.wm-pt-intro__label {
	margin: 0;
	padding-top: 6px;
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-steel);
}

.wm-pt-intro__copy {
	max-width: none;
}

@media (min-width: 769px) {
	.wm-pt-intro__copy {
		max-width: min(1368px, 90%);
	}
}

.wm-pt-intro__copy p {
	margin: 0;
	font-family: var(--font-display);
	font-size: 36px;
	font-weight: var(--font-weight-regular);
	line-height: 1.32;
	letter-spacing: -0.01em;
	color: var(--color-ink-black);
}

.wm-pt-grid {
	padding: 0 50px clamp(80px, 8vw, 120px);
	background: var(--light-bg);
	width: 100%;
}

.wm-pt-grid__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-pt-grid__list {
	display: block;
	width: 100%;
	columns: 2;
	column-gap: clamp(32px, 3vw, 48px);
}

.wm-pt-grid__list .wm-project-card {
	display: inline-block;
	width: 100%;
	margin: 0 0 clamp(40px, 4vw, 64px);
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
}

.wm-pt-grid__list .wm-project-card:nth-child(2) {
	margin-top: clamp(56px, 6vw, 88px);
}

.wm-pt-grid__list .wm-project-card:nth-child(3) {
	margin-top: clamp(12px, 1.5vw, 20px);
}

.wm-pt-grid__list .wm-project-card:nth-child(1) .wm-project-card__media {
	aspect-ratio: 16 / 12;
}

.wm-pt-grid__list .wm-project-card:nth-child(2) .wm-project-card__media {
	aspect-ratio: 16 / 9;
}

.wm-pt-grid__list .wm-project-card:nth-child(3) .wm-project-card__media {
	aspect-ratio: 16 / 8;
}

.wm-pt-grid__list .wm-project-card:nth-child(4) .wm-project-card__media {
	aspect-ratio: 16 / 11;
}

.wm-pt-grid .wm-project-card__title {
	font-size: clamp(24px, 2vw, 30px);
	line-height: 1.14;
}

.wm-pt-grid .wm-project-card__excerpt {
	margin: 0;
	font-size: clamp(15px, 1.25vw, 16px);
	line-height: 1.65;
	color: var(--color-slate);
	max-width: 52ch;
}

.wm-pt-grid .wm-project-card__meta {
	gap: clamp(12px, 1.5vw, 16px);
}

.wm-pt-approach {
	padding: 0 50px clamp(96px, 9vw, 140px);
	background: var(--light-bg);
	color: var(--color-ink-black);
	width: 100%;
}

.wm-pt-approach__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-pt-approach__rule {
	border-top: 1px solid var(--color-pale-mist);
	margin-bottom: clamp(48px, 5vw, 72px);
}

.wm-pt-approach__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
	gap: clamp(48px, 6vw, 96px);
	align-items: start;
}

.wm-pt-approach__eyebrow {
	margin: 0 0 clamp(16px, 2vw, 24px);
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-steel);
}

.wm-pt-approach__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(40px, 4.5vw, 56px);
	font-weight: var(--font-weight-medium);
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: var(--color-ink-black);
}

.wm-pt-approach__text {
	margin: 0 0 clamp(32px, 4vw, 48px);
	max-width: 52ch;
	font-size: clamp(16px, 1.2vw, 18px);
	line-height: 1.75;
	color: var(--color-slate);
}

.wm-pt-approach__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wm-pt-approach__list li {
	position: relative;
	padding: clamp(18px, 2vw, 24px) 0 clamp(18px, 2vw, 24px) 14px;
	border-top: 1px solid var(--color-vapor);
	font-family: var(--font-display);
	font-size: clamp(18px, 1.6vw, 22px);
	font-weight: var(--font-weight-medium);
	line-height: 1.35;
	color: var(--color-ink-black);
}

.wm-pt-approach__list li::before {
	content: '–';
	position: absolute;
	left: 0;
	color: var(--color-steel);
}

/* --------------------------------------------------------------------------
   About page — DESIGN.md editorial
   -------------------------------------------------------------------------- */

.wm-ab-hero {
	padding: calc(var(--header-height) + clamp(64px, 8vw, 120px)) 50px clamp(72px, 9vw, 140px);
	background: var(--light-bg);
	color: var(--color-ink-black);
	width: 100%;
}

.wm-ab-hero__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-ab-hero__title {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	max-width: 100%;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(52px, 7.8vw, 86px);
	font-weight: var(--h1-font-weight);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--color-ink-black);
}

.wm-ab-hero__title-line {
	display: block;
	max-width: 100%;
	white-space: normal;
	color: var(--color-ink-black);
}

.wm-ab-intro {
	padding: 0 50px clamp(48px, 5vw, 72px);
	background: var(--light-bg);
	color: var(--color-ink-black);
	width: 100%;
}

.wm-ab-intro__media {
	margin: 0;
	padding: 0 50px clamp(80px, 8vw, 120px);
	background: transparent;
	width: 100%;
	display: grid;
	grid-template-columns: minmax(0, 0.30fr) minmax(0, 1fr) 48px;
	gap: clamp(48px, 6vw, 96px);
	align-items: start;
}

.wm-ab-intro__media img {
	grid-column: 2;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.wm-ab-intro__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-ab-intro__rule {
	border-top: 1px solid var(--color-pale-mist);
	margin-bottom: clamp(48px, 5vw, 72px);
}

.wm-ab-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.30fr) minmax(0, 1fr) auto;
	gap: clamp(48px, 6vw, 96px);
	align-items: start;
	width: 100%;
	margin: 0;
}

.wm-ab-intro__label {
	margin: 0;
	padding-top: 6px;
	font-family: var(--font-display);
	font-size: 16px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-steel);
}

.wm-ab-intro__copy {
	max-width: none;
	grid-column: 2;
	width: 100%;
}

.wm-ab-intro__scroll {
	grid-column: 3;
	align-self: end;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	margin-bottom: 4px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 999px;
	background: transparent;
	color: var(--color-ink-black);
	text-decoration: none;
	transition:
		opacity 0.25s ease,
		border-color 0.25s ease,
		transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.wm-ab-intro__scroll:hover {
	opacity: 0.55;
	border-color: rgba(0, 0, 0, 0.22);
	transform: translateY(3px);
}

.wm-ab-intro__scroll:focus-visible {
	outline: 2px solid rgba(15, 17, 21, 0.2);
	outline-offset: 3px;
}

.wm-ab-intro__scroll-icon {
	display: block;
}

.wm-ab-intro__copy p {
	margin: 0;
	font-family: var(--font-display);
	font-size: 36px;
	font-weight: var(--font-weight-regular);
	line-height: 1.32;
	letter-spacing: -0.01em;
	color: var(--color-ink-black);
}

.wm-ab-intro__copy p + p {
	margin-top: clamp(32px, 4vw, 48px);
}

/* O nama — uvodni editorial layout (naslov / divider / Zašto mi + tekst / divider) */
body.is-about-page .wm-ab-hero {
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding-bottom: clamp(80px, 10vw, 160px);
}

body.is-about-page .wm-ab-hero__title {
	display: block;
	max-width: min(100%, 18ch);
	font-size: 150px !important;
	line-height: 0.92 !important;
	letter-spacing: -0.04em !important;
	color: var(--color-ink-black);
}

body.is-about-page .wm-ab-hero__title-line {
	color: var(--color-ink-black);
}

@media (max-width: 1280px) {
	body.is-about-page .wm-ab-hero__title {
		font-size: clamp(110px, 9.5vw, 120px) !important;
	}
}

@media (max-width: 1024px) {
	body.is-about-page .wm-ab-hero__title {
		font-size: clamp(80px, 8.5vw, 90px) !important;
	}
}

@media (max-width: 768px) {
	body.is-about-page .wm-ab-hero__title {
		font-size: clamp(56px, 14vw, 64px) !important;
		line-height: 0.95 !important;
	}
}

body.is-portfolio-page .wm-ab-hero__title {
	display: block;
	max-width: min(100%, 18ch);
	font-size: 150px !important;
	line-height: 0.92 !important;
	letter-spacing: -0.04em !important;
}

@media (max-width: 1280px) {
	body.is-portfolio-page .wm-ab-hero__title {
		font-size: clamp(110px, 9.5vw, 120px) !important;
	}
}

@media (max-width: 1024px) {
	body.is-portfolio-page .wm-ab-hero__title {
		font-size: clamp(80px, 8.5vw, 90px) !important;
	}
}

@media (max-width: 768px) {
	body.is-portfolio-page .wm-ab-hero__title {
		font-size: clamp(56px, 14vw, 64px) !important;
		line-height: 0.95 !important;
	}
}

body.is-about-page .wm-ab-intro {
	background: var(--light-bg);
	color: var(--color-ink-black);
	padding-bottom: 0;
}

body.is-about-page .wm-ab-intro__rule {
	border-top-color: var(--color-pale-mist);
	margin: 0;
}

body.is-about-page .wm-ab-intro__copy p {
	color: var(--color-ink-black);
}

/* O nama / Usluge — smooth light ↔ dark header transition */
body.is-about-page .wm-header,
body.is-about-page .wm-header__inner,
body.is-services-page .wm-header,
body.is-services-page .wm-header__inner {
	transition: background 0.45s ease;
}

body.is-about-page.is-about-dark-nav .wm-header,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled {
	background: #0a0a0a !important;
	border-bottom: none !important;
}

body.is-about-page.is-about-dark-nav .wm-header__inner,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__inner {
	background: #0a0a0a !important;
	border-bottom: none !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

body.is-about-page.is-about-dark-nav .wm-header__logo-text,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__logo-text {
	color: #ffffff !important;
}

body.is-about-page.is-about-dark-nav .wm-header__logo-img,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__logo-img,
body.is-about-page.is-about-dark-nav .custom-logo-link img,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .custom-logo-link img {
	filter: brightness(0) invert(1);
}

body.is-about-page.is-about-dark-nav .wm-header__nav-shell,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__nav-shell {
	background: #0a0a0a !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 999px !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	box-shadow: none !important;
}

body.is-about-page.is-about-dark-nav .wm-nav-menu a,
body.is-about-page.is-about-dark-nav .wm-header__nav a,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-nav-menu a,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__nav a {
	color: rgba(255, 255, 255, 0.72) !important;
	background: transparent !important;
}

body.is-about-page.is-about-dark-nav .wm-header__nav-shell .wm-nav-menu a.is-nav-pill-active,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__nav-shell .wm-nav-menu a.is-nav-pill-active {
	color: #000000 !important;
}

body.is-about-page.is-about-dark-nav .wm-nav-indicator,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-nav-indicator {
	background: #ffffff !important;
}

body.is-about-page.is-about-dark-nav .wm-header__nav .current-menu-item > a::after,
body.is-about-page.is-about-dark-nav .wm-header__nav .current_page_item > a::after,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__nav .current-menu-item > a::after,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__nav .current_page_item > a::after {
	content: none;
}

body.is-about-page.is-about-dark-nav .wm-header__menu-grid-dot,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__menu-grid-dot {
	background: #ffffff;
}

body.is-about-page.is-about-dark-nav .wm-header__burger,
body.is-about-page.is-about-dark-nav .wm-header.is-scrolled .wm-header__burger {
	color: #ffffff;
}

body.is-about-page .wm-ab-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 25%) minmax(0, 75%);
	gap: clamp(20px, 2.5vw, 40px);
	align-items: first baseline;
	padding: clamp(64px, 8vw, 120px) 0 clamp(64px, 8vw, 120px);
	width: 100%;
	margin: 0;
}

body.is-about-page .wm-ab-intro__images {
	display: grid;
	grid-template-columns: minmax(0, 25%) minmax(0, 75%);
	gap: clamp(20px, 2.5vw, 40px);
	margin-top: clamp(50px, 5vw, 70px);
	padding-bottom: clamp(88px, 10vw, 128px);
	width: 100%;
}

body.is-about-page .wm-ab-intro__images-grid {
	grid-column: 2;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(20px, 1.5vw, 24px);
	margin: 0;
	width: 100%;
	min-width: 0;
}

body.is-about-page .wm-ab-intro__image,
body.is-about-page .wm-ab-intro__video,
body.is-about-page .wm-ab-intro__image-placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 12px;
}

body.is-about-page .wm-ab-intro__video,
body.is-about-page .wm-ab-intro__image-placeholder {
	background: var(--color-pale-mist, #e8e8e8);
}

body.is-about-page .wm-ab-intro__label {
	margin: 0;
	padding-top: 0.35em;
	font-family: var(--font-family, 'Inter Tight', sans-serif);
	font-size: clamp(12px, 0.95vw, 14px);
	font-weight: var(--font-weight-medium, 500);
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-ink-black, #000000);
}

body.is-about-page .wm-ab-intro__copy {
	max-width: none;
	grid-column: auto;
	width: 100%;
}

body.is-about-page .wm-ab-intro__copy p {
	font-family: var(--font-display);
	font-size: 36px;
	font-weight: var(--font-weight-regular, 400);
	line-height: 1.32;
	letter-spacing: -0.02em;
}

body.is-about-page .wm-main {
	margin-top: 0;
}

/* About — client logo grid (O nama) */
.wm-ab-clients {
	background: var(--light-bg);
	color: var(--color-ink-black);
	width: 100%;
}

.wm-ab-clients__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: clamp(56px, 5.5vw, 72px);
	padding: clamp(8px, 1.2vw, 14px);
	box-sizing: border-box;
	overflow: visible;
}

.wm-ab-clients__logo-frame {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 0;
	overflow: visible;
}

.wm-ab-clients__logo img,
.wm-ab-clients__logo-mask {
	display: block;
	width: auto;
	height: auto;
	max-width: min(100%, 180px);
	max-height: clamp(56px, 5.5vw, 88px);
	object-fit: contain;
	object-position: center;
	opacity: 1;
	filter: none;
}

.wm-ab-clients__logo-mask {
	width: min(100%, 180px);
	height: clamp(56px, 5.5vw, 88px);
	background-color: var(--color-ink-black);
	-webkit-mask-image: var(--logo-src);
	mask-image: var(--logo-src);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

.wm-ab-clients__logo.is-render-color img {
	filter: grayscale(1);
	opacity: 1;
}

.wm-ab-clients__logo.is-render-native img {
	filter: none;
	opacity: 1;
}

.wm-ab-clients__logo.is-logo-wide img,
.wm-ab-clients__logo.is-logo-wide .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(150px, 15vw, 190px));
	max-height: clamp(44px, 4.5vw, 72px);
	height: clamp(44px, 4.5vw, 72px);
}

.wm-ab-clients__logo.is-logo-compact img,
.wm-ab-clients__logo.is-logo-compact .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(130px, 12vw, 170px));
	max-height: clamp(48px, 5vw, 80px);
	height: clamp(48px, 5vw, 80px);
}

.wm-ab-clients__logo.is-logo-mark img,
.wm-ab-clients__logo.is-logo-mark .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(96px, 9vw, 140px));
	max-height: clamp(52px, 5vw, 88px);
	height: clamp(52px, 5vw, 88px);
}

.wm-ab-clients__logo.is-badge img,
.wm-ab-clients__logo.is-badge .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(56px, 6vw, 72px));
	max-height: clamp(56px, 6vw, 72px);
	height: clamp(56px, 6vw, 72px);
}

.wm-ab-clients__fallback {
	font-family: var(--font-display);
	font-size: 12px;
	font-weight: var(--font-weight-medium);
	line-height: 1.2;
	text-align: center;
	color: var(--color-graphite-wash);
	white-space: nowrap;
}

.wm-ab-clients__marquee-wrap {
	width: 100%;
	padding: clamp(64px, 5.5vw, 84px) 0 clamp(56px, 5vw, 80px);
	box-sizing: border-box;
	overflow: hidden;
}

.wm-ab-clients__marquee {
	width: 100%;
	overflow: hidden;
}

.wm-ab-clients__track {
	display: flex;
	width: max-content;
	align-items: center;
	animation: wm-ab-clients-marquee-scroll 35s linear infinite;
	will-change: transform;
}

.wm-ab-clients__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: clamp(56px, 7vw, 90px);
	padding-right: clamp(56px, 7vw, 90px);
}

.wm-ab-clients__item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-height: clamp(64px, 7vw, 88px);
}

.wm-ab-clients__item .wm-ab-clients__logo {
	width: auto;
	max-width: none;
}

@keyframes wm-ab-clients-marquee-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

/* Usluge — editorial logo marquee (ispod procesa) */
body.is-services-page .wm-ab-clients {
	background: var(--light-bg);
	overflow: hidden;
}

body.is-services-page .wm-ab-clients__marquee-wrap {
	padding: clamp(64px, 8vw, 96px) 0 clamp(28px, 2.5vw, 40px);
}

body.is-services-page .wm-ab-clients__marquee:hover .wm-ab-clients__track {
	animation-play-state: paused;
}

body.is-services-page .wm-ab-clients__group {
	gap: clamp(96px, 10vw, 148px);
	padding-right: clamp(96px, 10vw, 148px);
}

body.is-services-page .wm-ab-clients__logo {
	min-height: clamp(64px, 7vw, 88px);
	padding: 0;
	opacity: 0.62;
	transition: opacity 0.25s ease;
}

body.is-services-page .wm-ab-clients__logo:hover {
	opacity: 1;
}

body.is-services-page .wm-ab-clients__logo img,
body.is-services-page .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(150px, 14vw, 180px));
	max-height: clamp(55px, 5vw, 70px);
	opacity: 1;
	filter: none;
}

body.is-services-page .wm-ab-clients__logo-mask {
	background-color: #1a1a1a;
	width: min(100%, clamp(150px, 14vw, 180px));
	height: clamp(55px, 5vw, 70px);
}

body.is-services-page .wm-ab-clients__logo.is-render-color img {
	filter: grayscale(1);
}

body.is-services-page .wm-ab-clients__logo.is-logo-wide img,
body.is-services-page .wm-ab-clients__logo.is-logo-wide .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(160px, 15vw, 180px));
	max-height: clamp(50px, 4.5vw, 64px);
	height: clamp(50px, 4.5vw, 64px);
}

body.is-services-page .wm-ab-clients__logo.is-logo-compact img,
body.is-services-page .wm-ab-clients__logo.is-logo-compact .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(140px, 13vw, 170px));
	max-height: clamp(55px, 5vw, 68px);
	height: clamp(55px, 5vw, 68px);
}

body.is-services-page .wm-ab-clients__logo.is-logo-mark img,
body.is-services-page .wm-ab-clients__logo.is-logo-mark .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(110px, 10vw, 140px));
	max-height: clamp(55px, 5vw, 70px);
	height: clamp(55px, 5vw, 70px);
}

body.is-services-page .wm-ab-clients__logo.is-badge img,
body.is-services-page .wm-ab-clients__logo.is-badge .wm-ab-clients__logo-mask {
	max-width: min(100%, clamp(56px, 6vw, 72px));
	max-height: clamp(56px, 6vw, 70px);
	height: clamp(56px, 6vw, 70px);
}

@media (prefers-reduced-motion: reduce) {
	body.is-services-page .wm-ab-clients__track {
		animation: none;
		flex-wrap: wrap;
		width: 100%;
		justify-content: center;
		gap: clamp(32px, 5vw, 48px);
	}

	body.is-services-page .wm-ab-clients__group[aria-hidden='true'] {
		display: none;
	}

	body.is-services-page .wm-ab-clients__group {
		flex-wrap: wrap;
		justify-content: center;
		padding-right: 0;
		gap: clamp(32px, 5vw, 48px);
	}

	body.is-services-page .wm-ab-clients__marquee-wrap {
		overflow: visible;
	}
}

/* Stats — editorial impact rows (O nama) */
.wm-ab-stats {
	background: var(--light-bg, #FBFCFE);
	color: var(--color-ink-black, #0f1115);
	padding: clamp(96px, 10vw, 140px) 50px;
	width: 100%;
}

.wm-ab-stats__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

body.is-about-page .wm-ab-stats__layout {
	display: flex;
	flex-direction: column;
	gap: clamp(64px, 8vw, 104px);
	width: 100%;
}

body.is-about-page .wm-ab-stats__header {
	display: grid;
	grid-template-columns: minmax(0, 25%) minmax(0, 75%);
	gap: clamp(20px, 2.5vw, 40px);
	align-items: start;
	width: 100%;
}

body.is-about-page .wm-ab-stats__headline {
	min-width: 0;
}

body.is-about-page .wm-ab-stats__eyebrow {
	margin: 0;
	padding-top: 0.35em;
	font-family: var(--font-family, 'Inter Tight', sans-serif);
	font-size: clamp(11px, 0.85vw, 13px);
	font-weight: var(--font-weight-medium, 500);
	line-height: 1.3;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(0, 0, 0, 0.45);
}

body.is-about-page .wm-ab-stats__title {
	margin: 0 0 clamp(24px, 3vw, 36px);
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-ink-black, #000000);
	max-width: 16ch;
}

body.is-about-page .wm-ab-stats__intro {
	max-width: min(52ch, 100%);
	width: 100%;
	margin: 0;
	font-family: var(--font-family, 'Inter Tight', sans-serif);
	font-size: clamp(14px, 1.1vw, 16px);
	font-weight: var(--font-weight-regular, 400);
	line-height: 1.75;
	color: #666666;
}

body.is-about-page .wm-ab-stats__list {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

body.is-about-page .wm-ab-stats__list::before {
	display: none;
}

body.is-about-page .wm-ab-stats__row {
	margin: 0;
	padding: 0;
}

body.is-about-page .wm-ab-stats__row-inner {
	display: grid;
	grid-template-columns: max-content minmax(250px, 380px);
	column-gap: clamp(60px, 7vw, 96px);
	row-gap: clamp(16px, 2vw, 24px);
	align-items: center;
	width: fit-content;
	max-width: 100%;
	padding: clamp(56px, 7vw, 104px) 0;
}

body.is-about-page .wm-ab-stats__row:first-child .wm-ab-stats__row-inner {
	padding-top: clamp(40px, 5vw, 72px);
}

body.is-about-page .wm-ab-stats__row--left .wm-ab-stats__row-inner {
	margin-right: auto;
}

body.is-about-page .wm-ab-stats__row--right .wm-ab-stats__row-inner {
	margin-left: auto;
}

body.is-about-page .wm-ab-stats__row--01 .wm-ab-stats__row-inner {
	margin-left: 0;
}

body.is-about-page .wm-ab-stats__row--02 .wm-ab-stats__row-inner {
	margin-right: clamp(0px, 1.5vw, 24px);
}

body.is-about-page .wm-ab-stats__row--03 .wm-ab-stats__row-inner {
	margin-left: clamp(32px, 7vw, 112px);
}

body.is-about-page .wm-ab-stats__row--04 .wm-ab-stats__row-inner {
	margin-right: clamp(12px, 4vw, 72px);
}

body.is-about-page .wm-ab-stats__value-wrap {
	display: block;
	min-width: 0;
}

body.is-about-page .wm-ab-stats__value {
	display: block;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(88px, 13vw, 168px);
	font-weight: var(--font-weight-heading);
	line-height: 0.88;
	letter-spacing: -0.055em;
	color: var(--color-ink-black, #0f1115);
	opacity: 0;
	transition:
		transform 800ms cubic-bezier(0.16, 1, 0.3, 1),
		opacity 800ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.is-about-page .wm-ab-stats__row--left .wm-ab-stats__value {
	transform: translateX(-30px);
}

body.is-about-page .wm-ab-stats__row--right .wm-ab-stats__value {
	transform: translateX(30px);
}

body.is-about-page .wm-ab-stats__label {
	margin: 0;
	max-width: min(380px, 100%);
	font-family: var(--font-family, 'Inter Tight', sans-serif);
	font-size: clamp(13px, 1vw, 15px);
	font-weight: var(--font-weight-regular, 400);
	line-height: 1.6;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(15, 17, 21, 0.55);
	opacity: 0;
	transform: translateY(15px);
	transition:
		opacity 650ms cubic-bezier(0.16, 1, 0.3, 1),
		transform 650ms cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: 150ms;
}

body.is-about-page .wm-ab-stats__row-line {
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(15, 17, 21, 0.12);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 800ms cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: 120ms;
}

body.is-about-page .wm-ab-stats__row.is-stats-revealed .wm-ab-stats__value {
	transform: translateX(0);
	opacity: 1;
}

body.is-about-page .wm-ab-stats__row.is-stats-revealed .wm-ab-stats__label {
	opacity: 1;
	transform: translateY(0);
}

body.is-about-page .wm-ab-stats__row.is-stats-revealed .wm-ab-stats__row-line {
	transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
	body.is-about-page .wm-ab-stats__list::before,
	body.is-about-page .wm-ab-stats__row-line,
	body.is-about-page .wm-ab-stats__value,
	body.is-about-page .wm-ab-stats__label {
		transform: none !important;
		opacity: 1 !important;
		transition: none !important;
	}
}

html.no-js body.is-about-page .wm-ab-stats__list::before,
html.no-js body.is-about-page .wm-ab-stats__row-line,
html.no-js body.is-about-page .wm-ab-stats__value,
html.no-js body.is-about-page .wm-ab-stats__label {
	transform: none;
	opacity: 1;
}

/* About — values cards */
.wm-ab-values {
	background: var(--color-ash);
	color: var(--color-ink-black);
	padding: clamp(80px, 8.5vw, 120px) 50px;
	width: 100%;
}

.wm-ab-values__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-ab-values__head {
	margin-bottom: clamp(48px, 6vw, 80px);
}

.wm-ab-values__eyebrow {
	margin: 0 0 clamp(20px, 2.5vw, 28px);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-ink-black);
}

.wm-ab-values__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-section-title);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-ink-black);
	text-align: center;
	max-width: 100%;
}

.wm-ab-values__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(16px, 1.5vw, 24px);
}

.wm-ab-values__card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 100%;
	padding: clamp(28px, 3vw, 36px);
	border: 1px solid var(--color-ink-black);
	border-radius: 0;
	background: var(--color-ash);
}

.wm-ab-values__dot {
	display: block;
	width: 14px;
	height: 14px;
	margin-bottom: clamp(24px, 3vw, 32px);
	border-radius: 50%;
	background: var(--color-ink-black);
	flex: 0 0 auto;
}

.wm-ab-values__card-title {
	margin: 0 0 clamp(16px, 2vw, 20px);
	font-family: var(--font-display);
	font-size: clamp(18px, 1.5vw, 22px);
	font-weight: var(--font-weight-heading);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--color-ink-black);
}

.wm-ab-values__card-text {
	margin: 0;
	font-size: clamp(14px, 1.05vw, 16px);
	line-height: 1.7;
	color: var(--color-slate);
}

/* Pre-footer CTA — above editorial footer */
.wm-prefooter-cta {
	background: var(--color-ash);
	color: var(--color-ink-black);
	padding: clamp(96px, 10vw, 140px) 50px;
	width: 100%;
	text-align: center;
}

.wm-prefooter-cta__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-prefooter-cta__title {
	margin: 0 0 clamp(40px, 5vw, 56px);
	font-family: var(--font-display);
	font-size: clamp(44px, 7vw, 88px);
	font-weight: var(--font-weight-heading);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-ink-black);
}

.wm-prefooter-cta__title-line {
	display: block;
}

.wm-prefooter-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 42px;
	padding: 10px 28px;
	border-radius: 999px;
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	font-family: var(--font-display);
	font-size: clamp(13px, 1vw, 15px);
	font-weight: var(--font-weight-medium);
	line-height: 1;
	letter-spacing: var(--tracking-meta);
	text-decoration: none;
	text-transform: none;
	transition: opacity 0.25s var(--ease-premium);
}

.wm-prefooter-cta__btn:hover {
	opacity: 0.86;
	color: var(--color-pure-white);
}

.wm-prefooter-cta__btn-dot {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--color-pure-white);
	flex-shrink: 0;
}

.wm-about-principles__header {
	margin-bottom: var(--spacing-64);
}

.wm-about-principles__list {
	border-top: 1px solid var(--color-vapor);
}

.wm-about-principles__item {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: var(--spacing-24);
	padding-block: var(--spacing-32);
	border-bottom: 1px solid var(--color-vapor);
}

.wm-about-principles__num {
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--tracking-meta);
	color: var(--color-fog);
}

.wm-about-principles__title {
	font-family: var(--font-display);
	font-size: var(--text-subheading);
	font-weight: var(--font-weight-heading);
	line-height: 1.2;
	margin-bottom: var(--spacing-8);
}

.wm-about-principles__text {
	font-size: var(--text-body);
	line-height: var(--leading-body);
	color: var(--color-slate);
	max-width: 32rem;
}

/* --------------------------------------------------------------------------
   Generic page
   -------------------------------------------------------------------------- */

.wm-page-hero {
	padding-block: var(--section-padding-y) var(--spacing-48);
	border-bottom: 1px solid var(--color-vapor);
	background: var(--light-bg);
}

.wm-page-content {
	padding-block: var(--section-padding-y);
	background: var(--light-bg);
}

.wm-page-content .wm-prose {
	max-width: 42rem;
	font-size: var(--text-body-lg);
	line-height: var(--leading-body-lg);
}

.wm-page-content .wm-prose h2,
.wm-page-content .wm-prose h3 {
	font-family: var(--font-display);
	font-weight: var(--font-weight-heading);
	margin-top: var(--spacing-48);
	margin-bottom: var(--spacing-16);
}

.wm-page-content .wm-prose p + p {
	margin-top: var(--spacing-24);
}

/* --------------------------------------------------------------------------
   Contact page — 247studio-style dark split
   -------------------------------------------------------------------------- */

.wm-ct {
	background: #0A0A0A;
	color: var(--color-pure-white);
	min-height: 100svh;
	padding: calc(var(--header-height) + clamp(40px, 5vw, 64px)) 50px clamp(48px, 5vw, 64px);
	width: 100%;
}

.wm-ct__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-ct__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(48px, 6vw, 96px);
	align-items: stretch;
	min-height: calc(100svh - var(--header-height) - clamp(88px, 10vw, 128px));
}

.wm-ct__aside {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: clamp(48px, 6vw, 80px);
	min-height: 100%;
}

.wm-ct__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(40px, 4.8vw, 68px);
	font-weight: var(--font-weight-medium);
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--color-pure-white);
	max-width: none;
}

.wm-ct__title-line {
	display: block;
	white-space: nowrap;
}

.wm-ct__title-line--muted {
	color: var(--color-steel);
}

.wm-ct__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(32px, 4vw, 56px);
}

.wm-ct__meta-label {
	margin: 0 0 clamp(20px, 2.5vw, 28px);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-steel);
}

.wm-ct__meta-text {
	margin: 0 0 10px;
	font-family: var(--font-display);
	font-size: clamp(14px, 1.1vw, 16px);
	font-weight: var(--font-weight-regular);
	line-height: 1.5;
	color: var(--color-pure-white);
}

.wm-ct__meta-text--muted {
	color: rgba(255, 255, 255, 0.45);
}

.wm-ct__meta-text a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.wm-ct__meta-text a:hover {
	opacity: 0.65;
	color: inherit;
}

.wm-ct__meta-text a.wm-ct__meta-link {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wm-ct__meta-text a.wm-ct__meta-link:hover {
	opacity: 0.75;
}

.wm-ct__form-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: clamp(8px, 1vw, 16px);
}

.wm-ct__form {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 3.5vw, 40px);
	width: 100%;
	max-width: min(100%, 1008px);
	margin-left: auto;
}

.wm-ct__field label {
	display: block;
	margin-bottom: clamp(10px, 1.2vw, 14px);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-steel);
}

.wm-ct__field input,
.wm-ct__field textarea {
	width: 100%;
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	background: transparent;
	color: var(--color-pure-white);
	font-family: var(--font-display);
	font-size: clamp(16px, 1.2vw, 18px);
	font-weight: var(--font-weight-regular);
	line-height: 1.4;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	transition: border-color 0.2s ease;
}

.wm-ct__field input::placeholder,
.wm-ct__field textarea::placeholder {
	color: rgba(255, 255, 255, 0.32);
}

.wm-ct__field input:focus,
.wm-ct__field textarea:focus {
	border-bottom-color: rgba(255, 255, 255, 0.55);
}

.wm-ct__field textarea {
	min-height: 72px;
	resize: vertical;
}

.wm-ct__budget {
	margin: 0;
	padding: 0;
	border: 0;
}

.wm-ct__budget-label {
	margin-bottom: clamp(16px, 2vw, 20px);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: var(--color-steel);
}

.wm-ct__budget-options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.wm-ct__budget-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 18px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	background: transparent;
	color: var(--color-pure-white);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease;
}

.wm-ct__budget-btn:hover {
	border-color: rgba(255, 255, 255, 0.6);
}

.wm-ct__budget-btn.is-selected {
	background: var(--color-pure-white);
	border-color: var(--color-pure-white);
	color: var(--color-ink-black);
}

.wm-ct__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-family: var(--font-display);
	font-size: 10px;
	font-weight: var(--font-weight-medium);
	line-height: 1.45;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.42);
	cursor: pointer;
}

.wm-ct__consent input {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin-top: 1px;
	accent-color: var(--color-pure-white);
}

.wm-ct__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 18px 24px;
	border: 0;
	background: var(--color-pure-white);
	color: var(--color-ink-black);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.wm-ct__submit:hover {
	opacity: 0.86;
}

body.is-contact-page .site-footer--contact {
	background: #0A0A0A;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: var(--spacing-32) 50px;
	overflow: hidden;
}

.wm-footer-contact__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-footer-contact__copy {
	margin: 0;
	font-family: var(--font-display);
	font-size: var(--text-caption);
	color: rgba(255, 255, 255, 0.42);
	text-transform: uppercase;
	letter-spacing: var(--tracking-meta);
}

/* --------------------------------------------------------------------------
   Footer transition — last light content rounds over black footer
   Shared on all pages except contact (see O nama as reference).
   -------------------------------------------------------------------------- */

body:not(.is-contact-page) .wm-main {
	position: relative;
	z-index: var(--z-page-content);
	isolation: isolate;
	background: var(--color-ink-black);
	overflow: visible;
}

body:not(.is-contact-page) .wm-main > :is(section, article) {
	position: relative;
	isolation: isolate;
}

/*
 * Page wrappers (portfolio / services / partner / case study) must stay
 * transparent so the last section's radius reveals the black footer canvas.
 * Light backgrounds belong on sections, not the wrapping article.
 */
body:not(.is-contact-page) .wm-main > article:last-child {
	background-color: transparent;
	overflow: visible;
}

/* Last light block — bottom corners only, over black footer canvas */
body:not(.is-contact-page) .wm-main > section:last-child,
body:not(.is-contact-page) .wm-main > article:last-child > section:last-child,
body:not(.is-contact-page) .wm-main > .wm-prefooter-cta:last-child,
body:not(.is-contact-page) .wm-main > .wm-global-prefooter-cta:last-child,
body:not(.is-contact-page) .wm-main > section:last-of-type,
body:not(.is-contact-page) .wm-main > article:last-of-type > section:last-of-type {
	border-bottom-left-radius: var(--wm-footer-content-radius);
	border-bottom-right-radius: var(--wm-footer-content-radius);
	overflow: hidden;
	position: relative;
	z-index: 20;
}

body:not(.is-contact-page) .wm-main > section:nth-child(1),
body:not(.is-contact-page) .wm-main > article:nth-child(1) { z-index: 1; }
body:not(.is-contact-page) .wm-main > section:nth-child(2),
body:not(.is-contact-page) .wm-main > article:nth-child(2) { z-index: 2; }
body:not(.is-contact-page) .wm-main > section:nth-child(3),
body:not(.is-contact-page) .wm-main > article:nth-child(3) { z-index: 3; }
body:not(.is-contact-page) .wm-main > section:nth-child(4),
body:not(.is-contact-page) .wm-main > article:nth-child(4) { z-index: 4; }
body:not(.is-contact-page) .wm-main > section:nth-child(5),
body:not(.is-contact-page) .wm-main > article:nth-child(5) { z-index: 5; }
body:not(.is-contact-page) .wm-main > section:nth-child(6),
body:not(.is-contact-page) .wm-main > article:nth-child(6) { z-index: 6; }
body:not(.is-contact-page) .wm-main > section:nth-child(7),
body:not(.is-contact-page) .wm-main > article:nth-child(7) { z-index: 7; }
body:not(.is-contact-page) .wm-main > section:nth-child(8),
body:not(.is-contact-page) .wm-main > article:nth-child(8) { z-index: 8; }
body:not(.is-contact-page) .wm-main > section:nth-child(9),
body:not(.is-contact-page) .wm-main > article:nth-child(9) { z-index: 9; }
body:not(.is-contact-page) .wm-main > section:nth-child(10),
body:not(.is-contact-page) .wm-main > article:nth-child(10) { z-index: 10; }
body:not(.is-contact-page) .wm-main > section:nth-child(11),
body:not(.is-contact-page) .wm-main > article:nth-child(11) { z-index: 11; }
body:not(.is-contact-page) .wm-main > section:nth-child(12),
body:not(.is-contact-page) .wm-main > article:nth-child(12) { z-index: 12; }

/* --------------------------------------------------------------------------
   Footer — editorial dark (all pages except contact)
   -------------------------------------------------------------------------- */

.site-footer--editorial {
	background: var(--color-ink-black);
	color: var(--color-pure-white);
	border-top: none;
	padding: clamp(80px, 8.5vw, 120px) 50px clamp(48px, 5vw, 64px);
	width: 100%;
	overflow: hidden;
}

/* Sticky footer reveal — desktop only */
@media (min-width: 1025px) {
	body:not(.is-contact-page) {
		overflow-x: clip;
	}

	body:not(.is-contact-page) .wm-main {
		margin-bottom: var(--wm-footer-reveal-height, 680px);
	}

	body:not(.is-contact-page) .site-footer--editorial.wm-footer--reveal {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: var(--z-footer-reveal);
		width: 100%;
		max-width: 100%;
	}
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
	body:not(.is-contact-page) .wm-main {
		margin-bottom: 0;
	}

	body:not(.is-contact-page) .site-footer--editorial.wm-footer--reveal {
		position: relative;
	}
}

.wm-footer__shell {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

.wm-footer__top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(32px, 5vw, 80px);
	margin-bottom: clamp(120px, 14vw, 200px);
}

.wm-footer__headline {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(48px, 6.5vw, 88px);
	font-weight: var(--font-weight-regular);
	line-height: 1.02;
	letter-spacing: -0.03em;
	color: var(--color-pure-white);
	max-width: none;
}

.wm-footer__headline-line {
	display: block;
	white-space: nowrap;
}

.wm-footer__collab {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: 16px 24px;
	border-radius: 999px;
	background: var(--color-pure-white);
	color: var(--color-ink-black);
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.2s ease;
}

.wm-footer__collab:hover {
	opacity: 0.86;
	color: var(--color-ink-black);
}

.wm-footer__base {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
	gap: clamp(32px, 5vw, 64px);
	align-items: end;
}

.wm-footer__legal {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wm-footer__legal a,
.wm-footer__copyright {
	margin: 0;
	font-family: var(--font-display);
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	line-height: 1.45;
	letter-spacing: var(--tracking-meta);
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.wm-footer__legal a:hover {
	opacity: 0.65;
	color: rgba(255, 255, 255, 0.72);
}

.wm-footer__copyright {
	color: rgba(255, 255, 255, 0.42);
}

.wm-footer__brand-block {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: clamp(20px, 2.5vw, 28px);
	min-width: 0;
}

.wm-footer__wordmark {
	width: 100%;
	font-family: var(--font-display);
	font-size: clamp(72px, 11.5vw, 148px);
	font-weight: 800 !important;
	line-height: 0.9;
	letter-spacing: -0.04em;
	text-align: right;
	text-transform: uppercase;
	color: var(--color-pure-white);
}

.wm-footer__socials {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.wm-footer__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.82);
	font-family: var(--font-display);
	font-size: 10px;
	font-weight: var(--font-weight-medium);
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	transition:
		background 0.2s ease,
		border-color 0.2s ease;
}

.wm-footer__social:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.28);
	color: var(--color-pure-white);
}

/* --------------------------------------------------------------------------
   Footer — legacy aliases (unused on editorial)
   -------------------------------------------------------------------------- */

.site-footer {
	width: 100%;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	body:not(.is-contact-page) .wm-main {
		z-index: auto;
		/* Keep black canvas so last light section's bottom radius stays visible */
		background: var(--color-ink-black);
		margin-bottom: 0;
	}

	body:not(.is-contact-page) .wm-main > :is(section, article) {
		z-index: auto;
	}

	body:not(.is-contact-page) .wm-main > section:last-child,
	body:not(.is-contact-page) .wm-main > article:last-child > section:last-child {
		margin-bottom: 0;
	}

	body:not(.is-contact-page) .site-footer--editorial.wm-footer--reveal {
		position: relative;
	}

	.wm-trust__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.wm-trust__item:nth-child(2) {
		border-right: none;
	}

	.wm-trust__item:nth-child(1),
	.wm-trust__item:nth-child(2) {
		border-bottom: 1px solid var(--color-vapor);
	}

	.wm-ab-stats {
		padding: 64px 32px;
	}

	body.is-about-page .wm-ab-stats__layout {
		gap: clamp(48px, 7vw, 72px);
	}

	body.is-about-page .wm-ab-stats__header {
		grid-template-columns: minmax(0, 25%) minmax(0, 75%);
		gap: clamp(16px, 3vw, 32px);
	}

	body.is-about-page .wm-ab-stats__row-inner {
		column-gap: clamp(48px, 6vw, 80px);
		padding: clamp(44px, 6vw, 72px) 0;
	}

	body.is-about-page .wm-ab-stats__row:first-child .wm-ab-stats__row-inner {
		padding-top: clamp(32px, 4.5vw, 56px);
	}

	body.is-about-page .wm-ab-stats__row--03 .wm-ab-stats__row-inner {
		margin-left: clamp(20px, 5vw, 72px);
	}

	body.is-about-page .wm-ab-stats__row--04 .wm-ab-stats__row-inner {
		margin-right: clamp(8px, 3vw, 48px);
	}

	body.is-about-page .wm-ab-stats__value {
		font-size: clamp(72px, 11vw, 120px);
	}

	.wm-ab-values {
		padding: 64px 32px;
	}

	.wm-ab-values__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wm-prefooter-cta {
		padding: 80px 32px;
	}

	.wm-ab-hero {
		padding: calc(var(--header-height) + 48px) 32px 72px;
	}

	.wm-ab-hero__title {
		font-size: clamp(44px, 8.5vw, 64px);
		line-height: 1.1;
	}

	.wm-ab-intro {
		padding: 0 32px 48px;
	}

	.wm-ab-intro__media {
		padding: 0 32px 72px;
		grid-template-columns: 1fr;
		gap: clamp(24px, 4vw, 32px);
	}

	.wm-ab-intro__media img {
		grid-column: 1;
	}

	.wm-ab-clients__marquee-wrap {
		padding: clamp(44px, 8vw, 56px) 0 clamp(48px, 6vw, 64px);
	}

	body.is-services-page .wm-ab-clients__marquee-wrap {
		padding: clamp(48px, 8vw, 72px) 0 clamp(24px, 3vw, 36px);
	}

	body.is-services-page .wm-ab-clients__group {
		gap: clamp(72px, 8vw, 112px);
		padding-right: clamp(72px, 8vw, 112px);
	}

	.wm-ab-intro__grid {
		grid-template-columns: 1fr;
		gap: clamp(24px, 4vw, 32px);
		width: 100%;
	}

	body.is-about-page .wm-ab-hero {
		padding-bottom: clamp(64px, 10vw, 96px);
	}

	body.is-about-page .wm-ab-intro__grid {
		grid-template-columns: minmax(0, 25%) minmax(0, 75%);
		gap: clamp(16px, 3vw, 32px);
		padding: clamp(48px, 8vw, 80px) 0 clamp(48px, 8vw, 80px);
		align-items: start;
	}

	body.is-about-page .wm-ab-intro__images {
		grid-template-columns: 1fr;
		margin-top: clamp(40px, 8vw, 56px);
		padding-bottom: clamp(72px, 12vw, 96px);
	}

	body.is-about-page .wm-ab-intro__images-grid {
		grid-column: 1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(12px, 3vw, 16px);
	}

	body.is-about-page .wm-ab-intro__copy p {
		font-size: 36px;
		line-height: 1.32;
	}

	.wm-ab-intro__copy {
		grid-column: 1;
	}

	.wm-ab-intro__scroll {
		grid-column: 1;
		justify-self: end;
		margin: 0;
	}

	.wm-ab-intro__copy {
		grid-column: 1;
	}

	.wm-ab-intro__copy p {
		font-size: 36px;
		line-height: 1.32;
	}

	.wm-pt-hero {
		padding: calc(var(--header-height) + 48px) 32px 72px;
	}

	.wm-pt-hero__title {
		font-size: clamp(44px, 8.5vw, 64px);
		line-height: 1.1;
	}

	.wm-pt-intro,
	.wm-pt-grid,
	.wm-pt-approach {
		padding-inline: 32px;
	}

	.wm-pt-intro__grid,
	.wm-pt-approach__grid {
		grid-template-columns: 1fr;
		gap: clamp(24px, 4vw, 32px);
	}

	.wm-pt-intro__copy p {
		font-size: 36px;
		line-height: 1.32;
	}

	.wm-ct {
		padding: calc(var(--header-height) + 32px) 32px 48px;
	}

	.wm-ct__layout {
		grid-template-columns: 1fr;
		gap: clamp(48px, 6vw, 64px);
		min-height: auto;
	}

	.wm-ct__aside {
		min-height: auto;
	}

	.wm-ct__title {
		max-width: none;
	}

	.wm-ct__title-line {
		white-space: normal;
	}

	.wm-ct__form {
		max-width: none;
		margin-left: 0;
	}

	.wm-footer__headline-line {
		white-space: normal;
	}

	.site-footer--editorial {
		padding: 80px 32px 48px;
	}

	.wm-footer__top {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: clamp(80px, 10vw, 120px);
	}

	.wm-footer__headline {
		max-width: none;
	}

	.wm-footer__base {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.wm-footer__brand-block {
		align-items: flex-start;
	}

	.wm-footer__wordmark {
		text-align: left;
		font-size: clamp(56px, 12vw, 96px);
	}

	.wm-footer__socials {
		justify-content: flex-start;
	}

	.wm-services--dark {
		padding: 100px 32px 120px;
	}

	.wm-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px;
	}

	.wm-clients {
		padding: clamp(64px, 10vw, 96px) 32px clamp(40px, 6vw, 64px);
	}

	.wm-clients__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.wm-clients--bordered .wm-clients__grid {
		gap: 0;
	}

	.wm-clients--bordered .wm-clients__item:nth-child(5n) {
		border-right: 1px solid rgba(15, 17, 21, 0.08);
	}

	.wm-clients--bordered .wm-clients__item:nth-child(3n) {
		border-right: none;
	}

	.wm-clients--bordered .wm-clients__item:nth-last-child(-n + 5) {
		border-bottom: 1px solid rgba(15, 17, 21, 0.08);
	}

	.wm-clients--bordered .wm-clients__item:nth-last-child(-n + 3) {
		border-bottom: none;
	}

	.wm-testimonials-editorial {
		padding: clamp(20px, 3vw, 32px) 32px clamp(72px, 8vw, 96px);
	}

	.wm-testimonials-editorial__slide {
		padding-right: clamp(56px, 8vw, 88px);
	}

	.wm-results {
		padding: clamp(88px, 9vw, 120px) 32px clamp(60px, 6vw, 80px);
	}

	.wm-results__col {
		max-width: min(400px, 31%);
	}

	.wm-testimonials {
		padding: 100px 32px;
	}

	.wm-testimonials--grid .wm-testimonials__grid,
	.wm-testimonials--dark .wm-testimonials__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(32px, 4vw, 48px) clamp(24px, 3vw, 40px);
	}

	.wm-testimonials--slider .wm-testimonials__grid {
		display: flex;
		flex-wrap: nowrap;
	}

	.wm-testimonials--slider .wm-testimonials__item {
		flex: 0 0 calc((100% - var(--wm-testimonials-gap)) / 1.5);
	}

	.wm-hero {
		padding: 100px 32px;
	}

	.wm-faq {
		padding: 100px 32px;
	}

	.wm-faq__layout {
		grid-template-columns: 1fr;
		gap: clamp(40px, 5vw, 56px);
	}

	.wm-faq__head {
		position: static;
	}

	.wm-sp-hero {
		padding-inline: 32px;
		padding-top: calc(var(--header-height) + clamp(56px, 8vw, 72px));
	}

	.wm-sp-hero__shell {
		padding-bottom: clamp(72px, 10vw, 96px);
	}

	.wm-sp-hero__title {
		max-width: none;
	}

	.wm-sp-services {
		padding: clamp(40px, 5vw, 48px) 32px clamp(56px, 6vw, 72px);
	}

	.wm-sp-services__frame {
		grid-template-columns: 1fr;
	}

	.wm-sp-service:first-child {
		border-top: none;
	}

	.wm-sp-service:not(:first-child) {
		border-top: 1px solid var(--color-vapor);
	}

	.wm-sp-service {
		padding: clamp(40px, 5vw, 56px) clamp(24px, 3vw, 32px);
	}

	.wm-sp-service__grid {
		grid-template-columns: 1fr;
		gap: clamp(32px, 4vw, 48px);
	}

	.wm-sp-process {
		padding-inline: 32px;
	}

	.wm-sp-process__title {
		font-size: clamp(56px, 7vw, 72px);
		margin-bottom: clamp(64px, 8vw, 96px);
	}

	.wm-sp-process__card,
	.wm-sp-process__card--01,
	.wm-sp-process__card--02,
	.wm-sp-process__card--03,
	.wm-sp-process__card--04 {
		width: 100%;
		margin-inline: auto;
	}

	.wm-sp-process__card-grid {
		grid-template-columns: 1fr;
		gap: clamp(24px, 4vw, 40px);
	}

	.wm-sp-process__card {
		min-height: auto;
		padding: clamp(40px, 5vw, 56px) clamp(32px, 4vw, 40px);
	}

	.wm-sp-process__card-lead {
		min-height: 0;
	}

	.wm-sp-faq__layout {
		grid-template-columns: 1fr;
		gap: clamp(40px, 5vw, 56px);
	}

	.wm-sp-faq__head {
		position: static;
	}
}

@media (max-width: 768px) {
	:root {
		--page-padding: var(--page-padding-mobile);
	}

	.wm-header__inner {
		padding-inline: 16px;
	}

	.wm-header__nav-shell {
		display: none;
	}

	.wm-header__burger {
		display: flex;
	}

	.wm-hero {
		padding: clamp(80px, 14vw, 96px) 16px clamp(24px, 5vw, 32px);
	}

	/* Homepage hero title — stable block lines (matches intro mask reveal) */
	body:is(.is-front-page, .is-home) .wm-hero__shell {
		padding-inline: 0;
	}

	body:is(.is-front-page, .is-home) .wm-hero__title {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		font-size: clamp(30px, 7.6vw, 38px) !important;
		line-height: 1.16 !important;
		letter-spacing: -0.03em !important;
		overflow-wrap: normal;
		word-break: normal;
		hyphens: none;
		/* No text-wrap:balance — it reflows after intro and fights mask reveal. */
		text-wrap: pretty;
	}

	body:is(.is-front-page, .is-home) .wm-hero__title .reveal-line,
	body:is(.is-front-page, .is-home) .wm-hero__title-line {
		display: block;
	}

	.wm-hero__shape--rect,
	.wm-hero__shape--slash,
	.wm-hero__shape--dots {
		display: none;
	}

	.wm-hero__shape--ring {
		width: 120px;
		height: 120px;
		top: 8%;
		left: 2%;
	}

	.wm-hero__shape--corner {
		width: 64px;
		height: 64px;
		bottom: 12%;
		left: 4%;
	}

	.wm-hero__shape--arc {
		width: 88px;
		height: 88px;
		top: auto;
		bottom: 18%;
		right: 4%;
		left: auto;
	}

	.wm-hero__text {
		max-width: none;
	}

	.wm-hero__actions {
		flex-direction: column;
		align-items: center;
		gap: var(--spacing-24);
	}

	.wm-trust__grid {
		grid-template-columns: 1fr;
	}

	.wm-trust__item {
		border-right: none !important;
		border-bottom: 1px solid var(--color-vapor);
		padding: var(--spacing-32) var(--spacing-20);
	}

	.wm-trust__item:last-child {
		border-bottom: none;
	}

	.wm-ab-stats {
		padding: 56px 16px;
	}

	body.is-about-page .wm-ab-stats__layout {
		gap: clamp(40px, 8vw, 56px);
	}

	body.is-about-page .wm-ab-stats__header {
		grid-template-columns: 1fr;
		gap: clamp(16px, 4vw, 24px);
	}

	body.is-about-page .wm-ab-stats__eyebrow {
		padding-top: 0;
	}

	body.is-about-page .wm-ab-stats__title {
		max-width: none;
		margin-bottom: clamp(20px, 4vw, 28px);
	}

	body.is-about-page .wm-ab-stats__intro {
		max-width: none;
	}

	body.is-about-page .wm-ab-stats__row-inner {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		gap: clamp(12px, 3vw, 18px);
		padding: clamp(36px, 8vw, 52px) 0;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.is-about-page .wm-ab-stats__row:first-child .wm-ab-stats__row-inner {
		padding-top: clamp(28px, 6vw, 40px);
	}

	body.is-about-page .wm-ab-stats__value {
		font-size: clamp(64px, 18vw, 96px);
	}

	body.is-about-page .wm-ab-stats__row--left .wm-ab-stats__value,
	body.is-about-page .wm-ab-stats__row--right .wm-ab-stats__value {
		transform: translateY(15px);
	}

	body.is-about-page .wm-ab-stats__row.is-stats-revealed .wm-ab-stats__value {
		transform: translateY(0);
	}

	body.is-about-page .wm-ab-stats__label {
		max-width: none;
	}

	.wm-ab-clients__marquee-wrap {
		padding: clamp(40px, 9vw, 52px) 0 clamp(40px, 8vw, 52px);
	}

	body.is-services-page .wm-ab-clients__marquee-wrap {
		padding: clamp(48px, 10vw, 64px) 0 clamp(20px, 4vw, 32px);
	}

	body.is-services-page .wm-ab-clients__group {
		gap: clamp(56px, 8vw, 88px);
		padding-right: clamp(56px, 8vw, 88px);
	}

	body.is-services-page .wm-ab-clients__logo img,
	body.is-services-page .wm-ab-clients__logo-mask {
		max-width: min(100%, 130px);
		max-height: clamp(44px, 11vw, 56px);
	}

	body.is-services-page .wm-ab-clients__logo.is-logo-wide img,
	body.is-services-page .wm-ab-clients__logo.is-logo-wide .wm-ab-clients__logo-mask {
		max-width: min(100%, 140px);
		max-height: clamp(40px, 10vw, 52px);
		height: clamp(40px, 10vw, 52px);
	}

	body.is-services-page .wm-ab-clients__logo.is-logo-mark img,
	body.is-services-page .wm-ab-clients__logo.is-logo-mark .wm-ab-clients__logo-mask,
	body.is-services-page .wm-ab-clients__logo.is-logo-compact img,
	body.is-services-page .wm-ab-clients__logo.is-logo-compact .wm-ab-clients__logo-mask {
		max-width: min(100%, 120px);
		max-height: clamp(44px, 11vw, 56px);
		height: clamp(44px, 11vw, 56px);
	}

	body.is-services-page .wm-ab-clients__logo.is-badge img,
	body.is-services-page .wm-ab-clients__logo.is-badge .wm-ab-clients__logo-mask {
		max-width: min(100%, 56px);
		max-height: clamp(48px, 12vw, 56px);
		height: clamp(48px, 12vw, 56px);
	}

	.wm-ab-values {
		padding: 56px 16px;
	}

	.wm-ab-values__title {
		font-size: clamp(36px, 10vw, 52px);
	}

	.wm-ab-values__grid {
		grid-template-columns: 1fr;
	}

	.wm-prefooter-cta {
		padding: 72px 16px;
	}

	.wm-prefooter-cta__title {
		font-size: clamp(32px, 9vw, 48px);
	}

	.wm-portfolio-preview {
		padding: 0 16px 80px;
	}

	.wm-services--dark {
		padding: 96px 16px 112px;
	}

	.wm-sp-hero {
		padding-inline: 16px;
		padding-top: calc(var(--header-height) + 48px);
	}

	.wm-sp-hero__shell {
		padding-bottom: clamp(72px, 16vw, 104px);
	}

	.wm-sp-hero__title {
		max-width: none;
	}

	.wm-ab-hero {
		padding: calc(var(--header-height) + 40px) 16px 56px;
	}

	.wm-ab-hero__title {
		font-size: clamp(36px, 10vw, 48px);
		line-height: 1.1;
	}

	.wm-pt-hero {
		padding: calc(var(--header-height) + 40px) 16px 56px;
	}

	.wm-pt-hero__title {
		font-size: clamp(36px, 10vw, 48px);
		line-height: 1.1;
	}

	.wm-pt-intro,
	.wm-pt-grid,
	.wm-pt-approach {
		padding-inline: 16px;
	}

	.wm-pt-grid__list {
		columns: 1;
	}

	.wm-pt-grid__list .wm-project-card:nth-child(2),
	.wm-pt-grid__list .wm-project-card:nth-child(3) {
		margin-top: 0;
	}

	.wm-pt-approach__title {
		font-size: clamp(32px, 8vw, 40px);
	}

	.wm-ab-intro {
		padding: 0 16px 40px;
	}

	body.is-about-page .wm-ab-hero {
		padding-bottom: clamp(48px, 12vw, 72px);
	}

	body.is-about-page .wm-ab-intro {
		padding-bottom: 0;
	}

	body.is-about-page .wm-ab-intro__grid {
		grid-template-columns: 1fr;
		padding: clamp(40px, 10vw, 64px) 0 clamp(40px, 10vw, 64px);
		gap: clamp(16px, 4vw, 24px);
	}

	body.is-about-page .wm-ab-intro__images {
		margin-top: clamp(32px, 8vw, 48px);
		padding-bottom: clamp(56px, 12vw, 80px);
	}

	body.is-about-page .wm-ab-intro__images-grid {
		grid-column: 1;
	}

	body.is-about-page .wm-ab-intro__label {
		padding-top: 0;
	}

	body.is-about-page .wm-ab-intro__copy p {
		font-size: 24px;
		line-height: 1.35;
	}

	body.is-about-page .wm-ab-intro__copy p + p {
		display: none;
	}

	.wm-ab-intro__media img {
		grid-column: 1;
	}

	.wm-sp-services {
		padding: clamp(32px, 6vw, 40px) 16px clamp(48px, 8vw, 64px);
	}

	.wm-sp-service {
		padding: clamp(36px, 6vw, 48px) 20px;
	}

	.wm-sp-process,
	.wm-sp-faq,
	.wm-sp-cta {
		padding: 96px 16px;
	}

	.wm-sp-process {
		padding: clamp(72px, 12vw, 96px) 16px clamp(56px, 8vw, 72px);
	}

	.wm-sp-process__title {
		font-size: clamp(48px, 11vw, 56px);
		margin-bottom: clamp(48px, 8vw, 64px);
	}

	.wm-sp-process--stacked .wm-sp-process__pin,
	.wm-sp-process--stacked .wm-sp-process__stack {
		height: auto;
		min-height: 0;
		display: block;
	}

	.wm-sp-process--stacked .wm-sp-process__card,
	.wm-sp-process--stacked .wm-sp-process__card--02,
	.wm-sp-process--stacked .wm-sp-process__card--03,
	.wm-sp-process--stacked .wm-sp-process__card--04 {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
		opacity: 1;
		filter: none;
		box-shadow: none;
	}

	.wm-sp-process__pin {
		height: auto;
	}

	.wm-sp-process__stack {
		width: 100%;
		min-height: 0;
		padding-bottom: 0;
	}

	.wm-sp-process__stack .wm-sp-process__card + .wm-sp-process__card {
		margin-top: clamp(20px, 4vw, 28px);
	}

	.wm-sp-process__card,
	.wm-sp-process__card--01,
	.wm-sp-process__card--02,
	.wm-sp-process__card--03,
	.wm-sp-process__card--04 {
		width: 100%;
		margin-inline: auto;
		min-height: auto;
		padding: 32px 16px;
		position: relative;
		top: auto;
	}

	.wm-sp-process__card + .wm-sp-process__card {
		margin-top: 0;
	}

	.wm-sp-process__card-title {
		font-size: clamp(36px, 10vw, 44px);
		max-width: none;
	}

	.wm-sp-process__card-num {
		font-size: clamp(120px, 34vw, 180px);
		left: 12px;
		bottom: 8px;
	}

	.wm-sp-process__card-text,
	.wm-sp-process__list li {
		font-size: 15px;
	}

	.wm-sp-process [data-process-card]:not(.is-visible) .wm-sp-process__card-grid {
		opacity: 0;
		transform: translate3d(0, 40px, 0);
		transition:
			opacity 0.85s var(--ease-premium),
			transform 0.85s var(--ease-premium);
	}

	.wm-sp-process [data-process-card].is-visible .wm-sp-process__card-grid {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	.wm-services__intro {
		flex-direction: column;
		gap: var(--spacing-32);
		margin-bottom: var(--spacing-80);
	}

	.wm-services__heading {
		max-width: none;
	}

	.wm-services__aside {
		max-width: none;
	}

	.wm-services__intro-text {
		max-width: none;
	}

	.wm-services__grid {
		grid-template-columns: 1fr;
		gap: var(--spacing-48);
	}

	.wm-services__name {
		font-size: clamp(26px, 6.5vw, 34px);
		max-width: none;
	}

	.wm-services__col + .wm-services__col {
		padding-top: var(--spacing-8);
	}

	.wm-home-services__layout {
		grid-template-columns: 1fr;
		gap: 40px;
		min-height: 0;
	}

	.wm-home-services--front {
		--wm-home-services-gutter: 16px;
		padding-block: clamp(64px, 12vw, 96px);
	}

	.wm-home-services--front .wm-home-services__title {
		margin-bottom: clamp(36px, 6vw, 56px);
		max-width: none !important;
	}

	/* Mobile-only: hide left detail column; services list full width */
	.wm-home-services--front .wm-home-services__layout {
		display: block;
		gap: 0;
		min-height: 0;
	}

	.wm-home-services--front .wm-home-services__detail {
		display: none !important;
	}

	.wm-home-services--front .wm-home-services__nav {
		width: 100%;
		max-width: none;
	}

	.wm-home-services--front .wm-home-services__nav-name {
		font-size: clamp(28px, 8.5vw, 40px);
		line-height: 1.02;
		letter-spacing: -0.035em;
		min-width: 0;
		padding-right: 12px;
	}

	.wm-home-services--front .wm-home-services__nav-item {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		padding: clamp(20px, 5vw, 28px) 0;
		transition:
			color 400ms ease,
			opacity 400ms ease;
	}

	.wm-home-services--front .wm-home-services__brace,
	.wm-home-services--front .wm-home-services__index-num {
		transition: color 400ms ease;
	}

	.wm-home-services--front .wm-home-services__nav-item:not(.is-active) {
		opacity: 0.92;
	}

	.wm-home-services--front .wm-home-services__nav-item.is-active {
		opacity: 1;
	}

	.wm-home-services--front .wm-home-services__nav-index {
		flex-shrink: 0;
	}

	.wm-home-services__editorial {
		grid-template-columns: 1fr auto;
		gap: 24px;
		margin-bottom: 40px;
	}

	.wm-home-services__eyebrow {
		grid-column: 1 / -1;
		margin-top: 0;
	}

	.wm-home-services__lead {
		max-width: none;
		font-size: clamp(20px, 3.2vw, 26px);
		line-height: 1.32;
	}

	.wm-home-services__header-aside {
		align-self: start;
	}

	.wm-home-services__detail-panels {
		min-height: 200px;
	}

	.wm-home-services__nav-name {
		font-size: clamp(40px, 10vw, 56px);
	}

	.wm-home-services__detail-desc {
		font-size: 18px;
		max-width: none;
	}

	.wm-home-services__detail-tags {
		max-width: none;
	}

	.wm-clients {
		padding: clamp(56px, 12vw, 80px) 16px clamp(32px, 8vw, 48px);
	}

	.wm-clients__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 24px;
	}

	.wm-clients--bordered .wm-clients__grid {
		gap: 0;
	}

	.wm-clients--bordered .wm-clients__item:nth-child(5n),
	.wm-clients--bordered .wm-clients__item:nth-child(3n) {
		border-right: 1px solid rgba(15, 17, 21, 0.08);
	}

	.wm-clients--bordered .wm-clients__item:nth-child(2n) {
		border-right: none;
	}

	.wm-clients--bordered .wm-clients__item:nth-last-child(-n + 5),
	.wm-clients--bordered .wm-clients__item:nth-last-child(-n + 3) {
		border-bottom: 1px solid rgba(15, 17, 21, 0.08);
	}

	.wm-clients--bordered .wm-clients__item:nth-last-child(-n + 2) {
		border-bottom: none;
	}

	.wm-clients--bordered .wm-clients__item {
		min-height: 88px;
		padding: 16px 16px;
	}

	.wm-clients__footer {
		justify-content: flex-start;
	}

	.wm-results {
		padding: clamp(72px, 10vw, 96px) 16px clamp(56px, 7vw, 72px);
	}

	.wm-results__title {
		margin-bottom: var(--spacing-48);
	}

	.wm-results__grid {
		flex-direction: column;
		justify-content: flex-start;
		gap: 0;
	}

	.wm-results__grid::before,
	.wm-results__grid::after {
		display: none;
	}

	.wm-results__col {
		width: 100%;
		max-width: none;
		padding: var(--spacing-32) 0;
		align-items: flex-start;
		text-align: left;
	}

	.wm-results__col + .wm-results__col::before {
		display: none;
	}

	.wm-results__col + .wm-results__col {
		border-top: 1px solid var(--color-vapor);
	}

	.wm-results__value {
		font-size: clamp(90px, 21vw, 120px);
		font-weight: 400;
	}

	.wm-results__text,
	.wm-results__label {
		max-width: none;
	}

	.wm-testimonials {
		padding: 80px 16px;
	}

	.wm-testimonials__intro {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--spacing-32);
		margin-bottom: var(--spacing-64);
	}

	.wm-testimonials__intro-aside {
		width: 100%;
		justify-content: space-between;
	}

	.wm-testimonials--grid .wm-testimonials__grid,
	.wm-testimonials--dark .wm-testimonials__grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.wm-testimonials--quote {
		padding-right: 0;
	}

	.wm-testimonials--quote .wm-testimonials__editorial {
		grid-template-columns: 1fr auto;
		gap: 24px;
		margin-bottom: clamp(8px, 2vw, 14px);
	}

	.wm-testimonials--quote .wm-testimonials__eyebrow {
		margin-top: 0;
	}

	.wm-testimonials--quote .wm-testimonials__title {
		font-size: clamp(36px, 8vw, 52px);
	}

	.wm-testimonials--quote .wm-testimonials__lead {
		max-width: none;
		font-size: clamp(20px, 3.2vw, 26px);
		line-height: 1.32;
	}

	.wm-testimonials--quote .wm-testimonials__header-aside {
		align-self: start;
	}

	.wm-testimonials--quote .wm-testimonials__stage {
		gap: 10px;
	}

	.wm-testimonials--quote .wm-testimonials__slide {
		flex-basis: min(92vw, calc((100% - var(--wm-testimonials-quote-gap)) / 1.08));
		min-height: 260px;
	}

	.wm-testimonials--quote .wm-testimonials__statement p {
		font-size: clamp(17px, 4.6vw, 20px);
		max-width: none;
	}

	.wm-testimonials-editorial {
		padding: 20px 16px 72px;
	}

	.wm-testimonials-editorial__controls {
		position: static;
		justify-content: flex-end;
		margin-bottom: 20px;
	}

	.wm-testimonials-editorial__slide {
		padding-right: 0;
	}

	.wm-testimonials-editorial__quote p {
		font-size: clamp(28px, 6vw, 44px);
		line-height: 1.38;
	}

	.wm-testimonials-editorial__author {
		margin-top: 32px;
	}

	.wm-testimonials-editorial--inline .wm-testimonials-editorial__viewport {
		padding-top: 0;
	}

	.wm-testimonials-editorial--inline .wm-testimonials-editorial__controls {
		position: static;
		justify-content: flex-end;
		margin-bottom: 20px;
	}

	.wm-testimonials-editorial--inline .wm-testimonials-editorial__slide {
		flex: 0 0 100%;
	}

	.wm-testimonials--slider .wm-testimonials__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: var(--spacing-24);
	}

	.wm-testimonials--slider .wm-testimonials__item {
		flex: 0 0 calc((100% - var(--wm-testimonials-gap)) / 1.15);
	}

	.wm-testimonials__quote p {
		max-width: none;
	}

	.wm-ct {
		padding: calc(var(--header-height) + 24px) 16px 40px;
	}

	.wm-ct__meta {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.wm-ct__budget-options {
		gap: 8px;
	}

	.wm-ct__budget-btn {
		padding: 10px 14px;
		font-size: 10px;
	}

	.site-footer--editorial {
		padding: 64px 16px 40px;
	}

	body:not(.is-contact-page) .wm-main > section:last-child,
	body:not(.is-contact-page) .wm-main > article:last-child > section:last-child,
	body:not(.is-contact-page) .wm-main > .wm-prefooter-cta:last-child,
	body:not(.is-contact-page) .wm-main > .wm-global-prefooter-cta:last-child,
	body:not(.is-contact-page) .wm-main > section:last-of-type,
	body:not(.is-contact-page) .wm-main > article:last-of-type > section:last-of-type {
		border-bottom-left-radius: var(--wm-footer-content-radius-mobile);
		border-bottom-right-radius: var(--wm-footer-content-radius-mobile);
	}

	body.is-contact-page .site-footer--contact {
		padding: var(--spacing-24) 16px;
	}

	.wm-faq {
		padding: 80px 16px;
	}

	.wm-faq__layout {
		gap: var(--spacing-48);
	}

	.wm-faq__question-text {
		font-size: clamp(18px, 5vw, 24px);
	}
}

/* --------------------------------------------------------------------------
   Global Inter Tight enforcement
   -------------------------------------------------------------------------- */

html {
	font-family: var(--font-sans);
}

body {
	font-family: var(--font-sans) !important;
}

h1,
.wm-h1 {
	font-family: var(--font-display) !important;
	font-weight: var(--h1-font-weight) !important;
}

h3,
h4,
h5,
h6 {
	font-family: var(--font-display) !important;
	font-weight: var(--font-weight-heading) !important;
}

h1:not(.wm-rad-hero__title):not(.wm-hero__title):not(.wm-sp-hero__title):not(.wm-ab-hero__title):not(.wm-ptnr-hero__title) {
	font-size: var(--text-h1);
	line-height: var(--leading-h1);
	letter-spacing: var(--tracking-h1);
	font-weight: var(--h1-font-weight) !important;
}

h2:not(.wm-project-card__title):not(.wm-portfolio-item__title):not(.wm-sp-ed__title):not(.wm-ab-why__title):not(.case-transition-title) {
	font-family: var(--h2-font-family) !important;
	font-size: var(--h2-font-size) !important;
	font-weight: var(--h2-font-weight) !important;
	font-style: normal !important;
	line-height: var(--h2-line-height) !important;
	letter-spacing: var(--h2-letter-spacing) !important;
}
h3 { font-size: var(--text-h3); line-height: var(--leading-h3); letter-spacing: var(--tracking-h3); }
h4 { font-size: var(--text-h4); line-height: var(--leading-h4); letter-spacing: var(--tracking-h4); }
h5 { font-size: var(--text-h5); line-height: var(--leading-h5); letter-spacing: var(--tracking-h5); }
h6 { font-size: var(--text-h6); line-height: var(--leading-h6); letter-spacing: var(--tracking-h6); }

/* Unified component headings — overrides wm-* sans reset */
:is(
	.wm-pt-hero__title,
	.wm-ab-hero__title,
	.wm-ct__hero-title,
	.wm-ct__title,
	.wm-case-hero__title,
	.wm-cs-ref-hero__title,
	.wm-subpage-hero__title,
	.wm-display,
	.wm-h1
) {
	font-family: var(--font-display) !important;
	font-size: var(--text-h1) !important;
	font-weight: var(--h1-font-weight) !important;
	line-height: var(--leading-h1) !important;
	letter-spacing: var(--tracking-h1) !important;
}

:is(
	.wm-home-services__title,
	.wm-home-services__intro-title,
	.wm-results__title,
	.wm-testimonials__title,
	.wm-faq__title,
	.wm-faq__title-main,
	.wm-sp-faq__title,
	.wm-sp-faq__title-main,
	.wm-sp-process__title,
	.wm-sp-process__heading,
	.wm-sp-cta__title,
	.wm-portfolio-preview__title,
	.wm-dark-cta__title,
	.wm-ab-stats__title,
	.wm-ab-values__title,
	.wm-prefooter-cta__title,
	.wm-pt-approach__title,
	.wm-services__heading,
	.wm-rad-related__title,
	.wm-rad-intro__title,
	.wm-case-cta__title,
	.wm-case-section-title,
	.wm-cs-ref-testimonial__title,
	.wm-cs-ref-heading,
	.wm-home-cta__title,
	.wm-why__title,
	.section-title,
	.wm-ab-reviews__intro-title,
	.wm-sp-process__heading,
	.wm-ptnr-services__title,
	.wm-ptnr-projects__title,
	.wm-ptnr-final__title,
	.wm-ptnr-problem__title,
	.wm-ptnr-dark__title,
	.wm-ptnr-models__title,
	.wm-footer__headline,
	.portfolio-page-process__title,
	.portfolio-page-cta__title,
	.wm-heading,
	.wm-h2
) {
	font-family: var(--h2-font-family) !important;
	font-size: var(--h2-font-size) !important;
	font-weight: var(--h2-font-weight) !important;
	font-style: normal !important;
	line-height: var(--h2-line-height) !important;
	letter-spacing: var(--h2-letter-spacing) !important;
}

:is(
	.wm-sp-service__title,
	.wm-home-services__nav-name,
	.wm-sp-process__card-title,
	.wm-about-principles__title,
	.wm-h3
) {
	font-family: var(--font-display) !important;
	font-size: var(--text-h3) !important;
	font-weight: var(--font-weight-heading) !important;
	line-height: var(--leading-h3) !important;
	letter-spacing: var(--tracking-h3) !important;
}

/* Close-up list titles — keep editorial scale above global h3 reset */
.wm-home-services--front.wm-home-services--media .wm-home-services__nav-name {
	font-size: clamp(60px, 4.4vw, 68px) !important;
	font-weight: 500 !important;
	line-height: 1.02 !important;
	letter-spacing: -0.035em !important;
}

@media (min-width: 769px) and (max-width: 1199px) {
	.wm-home-services--front.wm-home-services--media .wm-home-services__nav-name {
		font-size: clamp(40px, 5.2vw, 52px) !important;
		line-height: 1.05 !important;
	}
}

@media (max-width: 768px) {
	.wm-home-services--front.wm-home-services--media .wm-home-services__nav-name {
		font-size: clamp(28px, 7.2vw, 36px) !important;
		line-height: 1.08 !important;
		letter-spacing: -0.03em !important;
	}
}

:is(
	.wm-testimonials__lead,
	.wm-home-services__lead,
	.wm-home-services__detail-desc,
	.wm-h4,
	.wm-h5
) {
	font-family: var(--font-display) !important;
	font-size: var(--text-h5) !important;
	font-weight: var(--font-weight-emphasis) !important;
	line-height: var(--leading-h5) !important;
	letter-spacing: var(--tracking-h5) !important;
}

:is(
	.wm-testimonials__name,
	.wm-testimonials--quote .wm-testimonials__name,
	.wm-faq__question-text,
	.wm-sp-faq__question-text,
	.wm-h6
) {
	font-family: var(--font-display) !important;
	font-size: var(--text-h6) !important;
	font-weight: var(--font-weight-heading) !important;
	line-height: var(--leading-h6) !important;
	letter-spacing: var(--tracking-h6) !important;
}

/* Radovi — naslovi radova (originalna tipografija) */
:is(.wm-portfolio-item__title, .wm-project-card__title) {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	color: var(--color-ink-black);
}

.wm-project-card__title {
	font-size: 21px !important;
	line-height: 1.2 !important;
}

.wm-pt-grid .wm-project-card__title {
	font-size: clamp(24px, 2vw, 30px) !important;
	line-height: 1.14 !important;
}

.wm-portfolio-item__title {
	font-size: clamp(22px, 1.8vw, 30px) !important;
	line-height: 1.12 !important;
}

.wm-rad-hero__title {
	font-family: var(--font-display) !important;
	font-size: clamp(48px, 8vw, 112px) !important;
	font-weight: var(--h1-font-weight) !important;
	line-height: 0.98 !important;
	letter-spacing: -0.04em !important;
}

[class^='wm-'],
[class*=' wm-'],
.site-footer {
	font-family: var(--font-sans) !important;
}

.wm-body,
.wm-results__text,
.wm-project-card__category,
.wm-services__intro-text,
.wm-process__step-text,
.wm-dark-cta__text,
.wm-ab-intro__copy p,
.wm-about-principles__text,
.wm-page-content .wm-prose,
.wm-footer__copy,
.wm-footer__email {
	font-weight: var(--font-weight-body);
}

.wm-nav-menu a,
.wm-mobile-menu a,
.wm-link,
.wm-hero__cta,
.wm-footer__collab,
.wm-footer__social,
.wm-footer__legal a,
.wm-cta,
.wm-clients__more,
.wm-scroll-indicator {
	font-weight: var(--font-weight-medium);
}

/* --------------------------------------------------------------------------
   Motion — premium editorial animations
   -------------------------------------------------------------------------- */

.reveal,
.reveal-up {
	opacity: 0;
	transform: translateY(var(--motion-reveal-distance));
	transition:
		opacity var(--motion-duration) var(--ease-premium),
		transform var(--motion-duration) var(--ease-premium);
}

.reveal.is-visible,
.reveal-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-line {
	display: block;
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity var(--motion-duration-slow) var(--ease-premium),
		transform var(--motion-duration-slow) var(--ease-premium);
}

.reveal-line.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.stagger-item {
	opacity: 0;
	transform: translateY(var(--motion-reveal-distance));
	transition:
		opacity var(--motion-duration) var(--ease-premium),
		transform var(--motion-duration) var(--ease-premium);
	transition-delay: calc(var(--stagger-index, 0) * 0.1s);
}

[data-reveal-stagger].is-visible .stagger-item,
.stagger-item.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-line.stagger-item {
	transform: translateY(28px);
}

[data-reveal-stagger].is-visible .reveal-line.stagger-item,
.reveal-line.stagger-item.is-visible {
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.wm-mobile-panel {
		transition: none;
	}

	.wm-header,
	.wm-header__inner,
	.wm-header__logo-img,
	.wm-project-card__media img,
	.wm-project-card__title a,
	.wm-clients__logo img,
	.wm-services__num,
	.wm-services__rule,
	.wm-services__name,
	.wm-testimonials--quote .wm-testimonials__statement p {
		animation: none;
	}

	.wm-testimonials__num,
	.wm-testimonials__rule,
	.wm-testimonials__logo,
	.wm-testimonials__quote,
	.wm-testimonials__author,
	.wm-faq__answer.faq-answer,
	.wm-faq__icon-line--v,
	.reveal,
	.reveal-up,
	.reveal-line,
	.stagger-item {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.wm-project-card:hover .wm-project-card__media img {
		transform: none;
	}

	.wm-sp-process.is-process-gsap-active .wm-sp-process__card .wm-sp-process__card-grid,
	.wm-sp-process.is-process-static-stack .wm-sp-process__card .wm-sp-process__card-grid {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		will-change: auto;
	}
}

/* AGENT ONLINE TEST */

