/* ==========================================================================
   Safetech — component system
   Tokens come from theme.json (--wp--preset--*). Mobile first.
   Sections: 1 base · 2 layout · 3 type · 4 buttons · 5 header · 6 hero
             7 sections & cards · 8 proof · 9 process · 10 forms · 11 footer
             12 content · 13 utilities · 14 motion
   ========================================================================== */

:root {
	--st-ink: var(--wp--preset--color--ink);
	--st-ink-soft: var(--wp--preset--color--ink-soft);
	--st-paper: var(--wp--preset--color--paper);
	--st-white: var(--wp--preset--color--white);
	--st-line: var(--wp--preset--color--line);
	--st-brand: var(--wp--preset--color--brand);
	--st-brand-deep: var(--wp--preset--color--brand-deep);
	--st-brand-tint: var(--wp--preset--color--brand-tint);
	--st-brand-on-dark: var(--wp--preset--color--brand-on-dark);
	--st-coral: var(--wp--preset--color--coral);
	--st-lime: var(--wp--preset--color--lime);
	--st-field-border: #8c877c;
	--st-radius-sm: var(--wp--custom--radius--sm, 8px);
	--st-radius-md: var(--wp--custom--radius--md, 14px);
	--st-radius-lg: var(--wp--custom--radius--lg, 22px);
	--st-radius-xl: var(--wp--custom--radius--xl, 32px);
	--st-ease: var(--wp--custom--ease, cubic-bezier(.2,.7,.2,1));
	--st-shadow-card: var(--wp--preset--shadow--card);
	--st-shadow-lift: var(--wp--preset--shadow--lift);
	--st-header-h: 72px;
	--st-wide: var(--wp--style--global--wide-size, 78rem);
	--st-content: var(--wp--style--global--content-size, 46rem);
	--st-gutter: clamp(1rem, 4vw, 2.5rem);
	--st-section-y: var(--wp--preset--spacing--70);
	--st-display: var(--wp--preset--font-family--display);
}

/* 1. Base ---------------------------------------------------------------- */

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

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--st-header-h) + 1rem); -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, svg, video { max-width: 100%; height: auto; }
::selection { background: var(--st-lime); color: var(--st-ink); }

:focus-visible {
	outline: 3px solid var(--st-brand);
	outline-offset: 3px;
	border-radius: 4px;
}
.st-section--ink :focus-visible,
.st-cta :focus-visible,
.st-footer :focus-visible,
.st-mega__aside :focus-visible { outline-color: var(--st-lime); }

.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link.screen-reader-text:focus {
	clip: auto; clip-path: none; height: auto; width: auto;
	background: var(--st-ink); color: var(--st-white); padding: .75rem 1rem;
	left: 1rem; top: 1rem; z-index: 1000; border-radius: var(--st-radius-sm);
}

.st-icon { flex: none; vertical-align: middle; }

/* 2. Layout -------------------------------------------------------------- */

main.wp-block-group { margin-block-start: 0; }
main > .wp-block-post-content > .alignfull,
main > .wp-block-post-content > .st-section { margin-block: 0; }
main > .wp-block-post-content { margin-block-start: 0; }

.st-section {
	position: relative;
	padding-block: var(--st-section-y);
	padding-inline: var(--st-gutter);
	background: var(--st-paper);
}
.st-section > * { max-width: var(--st-wide); margin-left: auto !important; margin-right: auto !important; }
.st-section > .st-narrow,
.st-narrow { max-width: var(--st-content); margin-inline: auto; }
.st-section--white { background: var(--st-white); }
.st-section--tint { background: var(--st-brand-tint); }
.st-section--ink { background: var(--st-ink); color: #dfe3ec; }
.st-section--brand { background: var(--st-brand); color: var(--st-white); }
.st-section--tight { --st-section-y: var(--wp--preset--spacing--60); }
.st-section--flush-top { padding-top: 0; }
.st-section--line { border-top: 1px solid var(--st-line); }
/* Two sections with the same background read as one: drop the doubled gap. */
.st-section:not(.st-section--white, .st-section--ink, .st-section--brand, .st-section--tint, .st-hero, .st-page-hero) + .st-section:not(.st-section--white, .st-section--ink, .st-section--brand, .st-section--tint, .st-section--line),
.st-section--white + .st-section--white:not(.st-section--line) { padding-top: 0; }
.st-section--ink :is(h1,h2,h3,h4,h5,h6),
.st-section--brand :is(h1,h2,h3,h4,h5,h6) { color: var(--st-white); }
.st-section--ink a:not(.wp-block-button__link):not(.st-btn),
.st-section--brand a:not(.wp-block-button__link):not(.st-btn) { color: var(--st-white); }

.st-grid { display: grid; gap: clamp(1rem, 2vw, 1.5rem); grid-template-columns: minmax(0, 1fr); }
.st-grid.is-layout-flow > * { margin-block: 0; }
@media (min-width: 640px) {
	.st-grid--2, .st-grid--3, .st-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
	.st-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.st-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.st-split { display: grid; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.st-split.is-layout-flow > * { margin-block: 0; }
@media (min-width: 900px) {
	.st-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.st-split--wide-left { grid-template-columns: 1.25fr 1fr; }
	.st-split--wide-right { grid-template-columns: 1fr 1.25fr; }
	.st-split--top { align-items: start; }
	.st-split--reverse > :first-child { order: 2; }
}
.st-sticky { position: sticky; top: calc(var(--st-header-h) + 2rem); }

/* Section heading group */
.st-section-head { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.st-section-head > * { max-width: 44rem; }
.st-section-head--center { text-align: center; }
.st-section-head--center > * { margin-inline: auto; }
.st-section-head h2 { margin-block: .5rem 0; }
.st-section-head .st-lead { margin-top: 1rem; }
@media (min-width: 900px) {
	.st-section-head--split { display: grid; grid-template-columns: 1.1fr 1fr; gap: 3rem; align-items: end; }
	.st-section-head--split > * { max-width: none; }
	.st-section-head--split.is-layout-flow > * { margin-block: 0; }
	.st-section-head--split > :last-child { justify-self: end; text-align: right; }
}

/* 3. Type ---------------------------------------------------------------- */

h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
.st-display { font-size: var(--wp--preset--font-size--display) !important; letter-spacing: -.035em; line-height: 1; font-weight: 650; }
.st-eyebrow,
.is-style-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--st-brand);
}
.st-eyebrow::before,
.is-style-eyebrow::before {
	content: ""; width: .5rem; height: .5rem; border-radius: 2px;
	background: currentColor; transform: rotate(45deg);
}
.st-section--ink .st-eyebrow, .st-section--ink .is-style-eyebrow,
.st-cta .st-eyebrow { color: var(--st-lime); }
.st-section--brand .st-eyebrow { color: var(--st-lime); }

.st-lead, .is-style-lead {
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.55;
	color: var(--st-ink-soft);
}
.st-section--ink .st-lead, .st-section--ink .is-style-lead { color: #c5ccd9; }
.st-section--brand .st-lead { color: #e6e9ff; }
.st-muted { color: var(--st-ink-soft); }
.st-small { font-size: var(--wp--preset--font-size--sm); }
.st-highlight {
	background: linear-gradient(transparent 62%, var(--st-lime) 62%, var(--st-lime) 92%, transparent 92%);
	padding-inline: .08em;
}
.st-section--ink .st-highlight { background: none; color: var(--st-lime); }

/* 4. Buttons ------------------------------------------------------------- */

.wp-block-buttons { gap: .75rem; }
.wp-element-button,
.wp-block-button__link,
.st-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
	min-height: 48px;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 650; font-size: 1rem; line-height: 1.2;
	padding: .85rem 1.5rem;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s var(--st-ease), color .2s var(--st-ease), border-color .2s var(--st-ease), transform .2s var(--st-ease), box-shadow .2s var(--st-ease);
}
.wp-block-button__link:hover, .st-btn:hover { transform: translateY(-1px); }
.wp-block-button__link:active, .st-btn:active { transform: translateY(0); }
.wp-block-button__link::after,
.st-btn--arrow::after {
	content: ""; width: 1.1em; height: 1.1em; flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s var(--st-ease);
}
.wp-block-button__link:hover::after { transform: translateX(3px); }
.is-style-secondary .wp-block-button__link::after,
.is-style-on-dark-outline .wp-block-button__link::after { display: none; }

.st-btn--primary { background: var(--st-brand); color: var(--st-white); }
.st-btn--primary:hover { background: var(--st-brand-deep); color: var(--st-white); }
.st-btn--sm { min-height: 42px; padding: .6rem 1.15rem; font-size: .9375rem; }

.is-style-secondary .wp-block-button__link,
.st-btn--secondary {
	background: transparent; color: var(--st-ink); border-color: var(--st-ink);
}
.is-style-secondary .wp-block-button__link:hover,
.st-btn--secondary:hover { background: var(--st-ink); color: var(--st-white); }

.is-style-on-dark .wp-block-button__link,
.st-btn--on-dark { background: var(--st-lime); color: var(--st-ink); }
.is-style-on-dark .wp-block-button__link:hover,
.st-btn--on-dark:hover { background: var(--st-white); color: var(--st-ink); }

.st-section--ink .is-style-secondary .wp-block-button__link,
.st-section--brand .is-style-secondary .wp-block-button__link,
.st-cta .is-style-secondary .wp-block-button__link { color: var(--st-white); border-color: rgba(255,255,255,.7); }
.st-section--ink .is-style-secondary .wp-block-button__link:hover,
.st-section--brand .is-style-secondary .wp-block-button__link:hover,
.st-cta .is-style-secondary .wp-block-button__link:hover { background: var(--st-white); color: var(--st-ink); border-color: var(--st-white); }

.is-style-text .wp-block-button__link {
	background: none; color: var(--st-brand); padding-inline: 0; border-radius: 0; min-height: 44px;
	text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px;
}
.is-style-text .wp-block-button__link:hover { color: var(--st-brand-deep); background: none; transform: none; }

.st-link-arrow {
	display: inline-flex; align-items: center; gap: .4rem;
	font-weight: 650; color: var(--st-brand); text-decoration: none;
}
.st-link-arrow::after { content: "→"; transition: transform .2s var(--st-ease); }
.st-link-arrow:hover::after, a:hover > .st-link-arrow::after { transform: translateX(4px); }

/* 5. Header -------------------------------------------------------------- */

.st-header-wrap { position: sticky; top: 0; z-index: 100; margin: 0 !important; }
.admin-bar .st-header-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .st-header-wrap { top: 0; } }

.st-header {
	background: rgba(246, 244, 239, .86);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color .25s var(--st-ease), box-shadow .25s var(--st-ease);
}
.st-header.is-scrolled { border-bottom-color: var(--st-line); box-shadow: 0 6px 24px -18px rgba(14,23,38,.4); }
.st-header__inner {
	max-width: calc(var(--st-wide) + 2 * var(--st-gutter));
	margin-inline: auto;
	padding-inline: var(--st-gutter);
	height: var(--st-header-h);
	display: flex; align-items: center; gap: 1.5rem;
	transition: height .25s var(--st-ease);
}
.st-header.is-scrolled .st-header__inner { height: 64px; }

.st-logo { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--st-ink); flex: none; min-height: 44px; }
.st-logo__img { max-height: 40px; width: auto; }
.st-logo__mark {
	display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px;
	background: var(--st-ink); color: var(--st-lime);
	font-family: var(--st-display); font-weight: 750; font-size: 1.25rem; line-height: 1;
}
.st-logo__word { font-family: var(--st-display); font-weight: 700; font-size: 1.4rem; letter-spacing: -.03em; }
.st-logo--light { color: var(--st-white); }
.st-logo--light .st-logo__mark { background: var(--st-lime); color: var(--st-ink); }

.st-nav { display: none; margin-inline-start: auto; }
.st-nav__list { display: flex; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.st-nav__item { position: relative; display: flex; align-items: center; }
.st-nav__item--mega { position: static; }
.st-nav__link {
	display: inline-flex; align-items: center; min-height: 44px; padding-inline: .8rem;
	color: var(--st-ink); text-decoration: none; font-weight: 600; font-size: .98rem; border-radius: 999px;
	transition: background-color .15s;
}
.st-nav__link--parent { padding-inline-end: .15rem; }
.st-nav__link:hover { background: rgba(14,23,38,.06); color: var(--st-ink); }
.st-nav__link[aria-current="page"], .st-nav__link.is-active, .is-active > .st-nav__link {
	box-shadow: inset 0 -2px 0 var(--st-brand); border-radius: 0;
}
.st-nav__toggle {
	display: inline-grid; place-items: center; width: 32px; height: 44px;
	background: none; border: 0; color: var(--st-ink); cursor: pointer; border-radius: 8px; padding: 0;
}
.st-nav__toggle .st-icon { transition: transform .2s var(--st-ease); }
.st-nav__toggle[aria-expanded="true"] .st-icon { transform: rotate(180deg); }

/* Mega menu + dropdown. No JS: open on hover/focus. JS: aria-expanded controls. */
.st-mega, .st-drop {
	position: absolute; z-index: 90;
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity .18s var(--st-ease), transform .18s var(--st-ease), visibility 0s linear .18s;
}
html:not(.js) .st-nav__item:hover > .st-mega,
html:not(.js) .st-nav__item:focus-within > .st-mega,
html:not(.js) .st-nav__item:hover > .st-drop,
html:not(.js) .st-nav__item:focus-within > .st-drop,
.st-nav__item.is-open > .st-mega,
.st-nav__item.is-open > .st-drop {
	opacity: 1; visibility: visible; transform: none;
	transition: opacity .18s var(--st-ease), transform .18s var(--st-ease), visibility 0s;
}
.st-mega {
	left: var(--st-gutter); right: var(--st-gutter); top: calc(100% - 6px);
	max-width: var(--st-wide); margin-inline: auto;
}
.st-mega__inner {
	display: grid; grid-template-columns: 1fr 17rem; gap: 1.5rem;
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg);
	box-shadow: var(--st-shadow-lift); padding: 1.5rem;
}
.st-mega__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem 1rem; }
.st-mega__col { padding: .25rem; }
.st-mega__title {
	display: block; padding: .75rem; border-radius: var(--st-radius-md); text-decoration: none; color: var(--st-ink);
	transition: background-color .15s;
}
.st-mega__title:hover { background: var(--st-paper); color: var(--st-ink); }
.st-mega__name { display: block; font-weight: 700; font-size: 1rem; }
.st-mega__desc { display: block; color: var(--st-ink-soft); font-size: .875rem; line-height: 1.45; margin-top: .2rem; }
.st-mega__label { display: block; padding: .75rem .75rem .25rem; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--st-ink-soft); }
.st-mega__sub { list-style: none; margin: 0 0 .25rem; padding: 0 .75rem; }
.st-mega__sublink {
	display: flex; align-items: center; min-height: 36px; font-size: .9rem; color: var(--st-ink-soft); text-decoration: none;
}
.st-mega__sublink::before { content: ""; width: 10px; height: 1px; background: currentColor; margin-inline-end: .5rem; opacity: .6; }
.st-mega__sublink:hover, .st-mega__sublink[aria-current] { color: var(--st-brand); }
.st-mega__aside {
	background: var(--st-ink); color: #dfe3ec; border-radius: var(--st-radius-md); padding: 1.5rem;
	display: flex; flex-direction: column; gap: .6rem; align-items: flex-start;
	background-image: radial-gradient(circle at 100% 0, rgba(46,67,255,.55), transparent 55%);
}
.st-mega__aside p { margin: 0; }
.st-mega__aside-kicker { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--st-lime); }
.st-mega__aside-title { font-family: var(--st-display); font-size: 1.3rem; line-height: 1.15; color: var(--st-white); font-weight: 650; }
.st-mega__aside-text { font-size: .9rem; color: #c5ccd9; margin-bottom: .5rem !important; }

.st-drop { top: calc(100% + 2px); left: 0; min-width: 14rem; }
.st-drop ul { list-style: none; margin: 0; padding: .5rem; background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-md); box-shadow: var(--st-shadow-lift); }
.st-drop__link { display: flex; align-items: center; min-height: 44px; padding-inline: .75rem; border-radius: 10px; color: var(--st-ink); text-decoration: none; font-weight: 550; }
.st-drop__link:hover { background: var(--st-paper); color: var(--st-ink); }
.st-drop__link[aria-current] { color: var(--st-brand); }

.st-header__actions { display: flex; align-items: center; gap: .5rem; margin-inline-start: auto; }
.st-header__login, .st-header__phone {
	display: none; align-items: center; gap: .4rem; min-height: 44px; padding-inline: .5rem;
	color: var(--st-ink); text-decoration: none; font-weight: 600; font-size: .95rem; white-space: nowrap;
}
.st-header__login { font-size: .85rem; color: var(--st-ink-soft); }
.st-header__login:hover, .st-header__phone:hover { color: var(--st-brand); }
.st-header__cta { display: none; }

.st-menu-toggle {
	display: none; align-items: center; gap: .4rem; min-height: 44px; padding: 0 .9rem;
	background: var(--st-ink); color: var(--st-white); border: 0; border-radius: 999px; cursor: pointer;
	font: inherit; font-weight: 650; font-size: .95rem;
}
.js .st-menu-toggle { display: inline-flex; }
.st-menu-toggle__open { display: inline-flex; }
.st-menu-toggle__close { display: none; }
.st-menu-toggle[aria-expanded="true"] .st-menu-toggle__open { display: none; }
.st-menu-toggle[aria-expanded="true"] .st-menu-toggle__close { display: inline-flex; }
.st-menu-fallback { display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; color: var(--st-ink); }
.js .st-menu-fallback { display: none; }

@media (min-width: 560px) { .st-header__cta { display: inline-flex; } }
@media (min-width: 1100px) {
	.st-nav { display: block; }
	.st-header__actions { margin-inline-start: 0; }
	.js .st-menu-toggle, .st-menu-fallback { display: none; }
	.st-header__phone { display: inline-flex; }
}
@media (min-width: 1320px) { .st-header__login { display: inline-flex; } }

/* Mobile menu */
.st-mobile {
	position: fixed; inset: var(--st-header-h) 0 0 0; z-index: 99;
	background: var(--st-paper); overflow-y: auto; overscroll-behavior: contain;
	padding: 1rem var(--st-gutter) 2rem;
	display: flex; flex-direction: column; gap: 1.5rem;
	border-top: 1px solid var(--st-line);
}
.admin-bar .st-mobile { inset-block-start: calc(var(--st-header-h) + var(--wp-admin--admin-bar--height, 46px)); }
.st-mobile[hidden] { display: none; }
.st-mobile__list, .st-mobile__sub { list-style: none; margin: 0; padding: 0; }
.st-mobile__list > li { border-bottom: 1px solid var(--st-line); }
.st-mobile__link, .st-mobile__toggle {
	display: flex; width: 100%; align-items: center; justify-content: space-between;
	min-height: 60px; background: none; border: 0; padding: 0; cursor: pointer;
	font-family: var(--st-display); font-size: 1.6rem; font-weight: 650; letter-spacing: -.02em;
	color: var(--st-ink); text-decoration: none; text-align: left;
}
.st-mobile__toggle .st-icon { transition: transform .2s var(--st-ease); }
.st-mobile__toggle[aria-expanded="true"] .st-icon { transform: rotate(180deg); }
.st-mobile__sub { padding-bottom: 1rem; }
.st-mobile__sub a { display: flex; align-items: center; min-height: 44px; color: var(--st-ink); text-decoration: none; font-size: 1.05rem; font-weight: 550; }
.st-mobile__sub a[aria-current] { color: var(--st-brand); }
.st-mobile__minor a { color: var(--st-ink-soft); font-size: .95rem; }
.st-mobile__actions { display: grid; gap: .75rem; margin-top: auto; }
.st-mobile__actions .st-btn { width: 100%; min-height: 54px; }
body.st-menu-open { overflow: hidden; }
@media (min-width: 1100px) { .st-mobile { display: none !important; } }

/* 6. Heroes -------------------------------------------------------------- */

.st-hero {
	padding-block: clamp(2.5rem, 7vw, 6rem) clamp(3.5rem, 8vw, 7rem);
	overflow: hidden;
	background:
		radial-gradient(60rem 30rem at 85% -10%, rgba(46,67,255,.12), transparent 60%),
		radial-gradient(40rem 24rem at -10% 110%, rgba(212,243,107,.35), transparent 60%),
		var(--st-paper);
}
.st-hero__grid { display: grid; gap: clamp(2.5rem, 6vw, 4rem); align-items: center; }
.st-hero__grid.is-layout-flow > * { margin-block: 0; }
@media (min-width: 1000px) { .st-hero__grid { grid-template-columns: 1.08fr 1fr; } }
.st-hero h1 { font-size: var(--wp--preset--font-size--display); line-height: .98; letter-spacing: -.04em; margin-block: 1rem 0; }
.st-hero .st-lead { max-width: 36rem; margin-top: 1.5rem; }
.st-hero .wp-block-buttons { margin-top: 2rem; }

.st-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.st-chips li, .st-chip {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .35rem .8rem; border-radius: 999px; background: var(--st-white); border: 1px solid var(--st-line);
	font-size: .85rem; font-weight: 600; color: var(--st-ink);
}
.st-chips li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--st-brand); }

.st-trustline { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; margin-top: 2rem; font-size: .92rem; color: var(--st-ink-soft); }
.st-trustline p { margin: 0; }

/* Hero visual: a built-in-CSS composition, no stock imagery */
.st-hero-visual { position: relative; min-height: 22rem; isolation: isolate; }
@media (min-width: 1000px) { .st-hero-visual { min-height: 32rem; } }
.st-mock {
	position: relative; z-index: 1;
	margin-inline: 0 2rem;
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg);
	box-shadow: var(--st-shadow-lift); overflow: hidden;
}
.st-mock__bar { display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem; border-bottom: 1px solid var(--st-line); background: #fbfaf7; }
.st-mock__bar i { width: 10px; height: 10px; border-radius: 50%; background: #e0dbd0; }
.st-mock__url { margin-inline-start: .75rem; flex: 1; max-width: 16rem; height: 22px; border-radius: 999px; background: var(--st-paper); font-size: .72rem; color: var(--st-ink-soft); display: flex; align-items: center; padding-inline: .7rem; }
.st-mock__body { padding: 1.25rem; display: grid; gap: .9rem; }
.st-mock__nav { display: flex; gap: .5rem; align-items: center; }
.st-mock__nav b { width: 70px; height: 12px; border-radius: 4px; background: var(--st-ink); }
.st-mock__nav span { width: 34px; height: 8px; border-radius: 4px; background: var(--st-line); }
.st-mock__nav em { margin-inline-start: auto; width: 64px; height: 22px; border-radius: 999px; background: var(--st-brand); }
.st-mock__hero { border-radius: var(--st-radius-md); padding: 1.4rem; background: linear-gradient(135deg, var(--st-ink), #1c2b4a); display: grid; gap: .55rem; }
.st-mock__hero span { display: block; height: 12px; border-radius: 4px; background: rgba(255,255,255,.9); }
.st-mock__hero span:nth-child(1) { width: 78%; height: 18px; }
.st-mock__hero span:nth-child(2) { width: 58%; height: 18px; }
.st-mock__hero span:nth-child(3) { width: 45%; background: rgba(255,255,255,.35); }
.st-mock__hero em { width: 96px; height: 26px; border-radius: 999px; background: var(--st-lime); margin-top: .4rem; }
.st-mock__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; }
.st-mock__cards span { height: 58px; border-radius: 10px; background: var(--st-paper); border: 1px solid var(--st-line); }

.st-float {
	position: absolute; z-index: 2;
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-md);
	box-shadow: var(--st-shadow-lift); padding: .9rem 1.1rem; font-size: .8rem; color: var(--st-ink-soft);
	min-width: 11rem;
}
.st-float strong { display: block; font-family: var(--st-display); font-size: 1.7rem; line-height: 1.05; color: var(--st-ink); letter-spacing: -.03em; }
.st-float small { display: block; font-size: .72rem; margin-top: .15rem; }
.st-float__kicker { display: flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--st-ink); font-size: .78rem; margin-bottom: .35rem; }
.st-float__dot { width: 8px; height: 8px; border-radius: 50%; background: #1fb57a; box-shadow: 0 0 0 4px rgba(31,181,122,.18); }
.st-float--rank { right: 0; top: 12%; }
.st-float--social { left: -1rem; bottom: 4%; background: var(--st-ink); border-color: var(--st-ink); color: #c5ccd9; }
.st-float--social strong { color: var(--st-lime); }
.st-float--social .st-float__kicker { color: var(--st-white); }
.st-float--lead { right: 6%; bottom: -1rem; }
.st-bars { display: flex; align-items: flex-end; gap: 4px; height: 34px; margin-top: .6rem; }
.st-bars i { flex: 1; border-radius: 3px 3px 0 0; background: var(--st-brand-on-dark); }
.st-bars i:nth-child(1) { height: 30%; } .st-bars i:nth-child(2) { height: 42%; } .st-bars i:nth-child(3) { height: 38%; }
.st-bars i:nth-child(4) { height: 60%; } .st-bars i:nth-child(5) { height: 72%; } .st-bars i:nth-child(6) { height: 100%; background: var(--st-lime); }
@media (max-width: 999px) {
	.st-mock { margin-inline: 0; }
	.st-float--lead { display: none; }
	.st-float--rank { top: auto; bottom: -1.25rem; right: .5rem; }
	.st-float--social { left: .5rem; bottom: -1.25rem; }
	.st-hero-visual { min-height: 0; padding-bottom: 3.5rem; }
}
@media (max-width: 480px) {
	.st-float { min-width: 0; padding: .7rem .8rem; }
	.st-float strong { font-size: 1.35rem; }
	.st-float--social { display: none; }
}
.st-hero-visual__note { position: relative; z-index: 3; margin-top: 1rem; font-size: .75rem; color: var(--st-ink-soft); text-align: right; }
@media (max-width: 999px) { .st-hero-visual__note { text-align: left; margin-top: 2.5rem; } }

/* Inner page hero */
.st-page-hero {
	padding-block: clamp(2rem, 5vw, 4rem) clamp(3rem, 7vw, 5.5rem);
	background:
		radial-gradient(50rem 24rem at 100% 0, rgba(46,67,255,.10), transparent 60%),
		var(--st-paper);
}
.st-page-hero h1 { margin-block: 1rem 0; max-width: 20ch; }
.st-page-hero .st-lead { max-width: 40rem; margin-top: 1.25rem; }
.st-page-hero .wp-block-buttons { margin-top: 2rem; }
.st-page-hero--center { text-align: center; }
.st-page-hero--center h1, .st-page-hero--center .st-lead { margin-inline: auto; }
.st-page-hero--center .wp-block-buttons { justify-content: center; }
.st-page-hero--center .st-crumbs ol { justify-content: center; }
.st-page-hero__aside {
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg);
	padding: clamp(1.25rem, 3vw, 2rem); box-shadow: var(--st-shadow-card);
}
.st-page-hero__aside h2 { font-size: var(--wp--preset--font-size--lg); margin: 0 0 .75rem; }

/* Breadcrumbs */
.st-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; list-style: none; margin: 0; padding: 0; font-size: .875rem; color: var(--st-ink-soft); }
.st-crumbs li { display: inline-flex; align-items: center; gap: .5rem; }
.st-crumbs li + li::before { content: "/"; opacity: .5; }
.st-crumbs a { color: var(--st-ink-soft); text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; }
.st-crumbs a:hover { color: var(--st-brand); text-decoration: underline; }
.st-crumbs [aria-current] { color: var(--st-ink); font-weight: 600; }

/* 7. Cards --------------------------------------------------------------- */

.st-card, .is-style-card {
	position: relative;
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg);
	padding: clamp(1.5rem, 3vw, 2rem);
	transition: transform .25s var(--st-ease), box-shadow .25s var(--st-ease), border-color .25s var(--st-ease);
}
.st-card.is-layout-flow > * + * { margin-block-start: .75rem; }
.st-card h3 { font-size: var(--wp--preset--font-size--xl); margin: 0; }
.st-card p { margin-block: .6rem 0; }
.st-card--hover:hover, .st-card:has(.st-card__link a):hover { transform: translateY(-4px); box-shadow: var(--st-shadow-lift); border-color: transparent; }
.st-card__link { margin-top: 1.25rem !important; }
.st-card__link a { font-weight: 650; text-decoration: none; }
.st-card__link a::after { content: "→"; display: inline-block; margin-left: .4rem; transition: transform .2s var(--st-ease); }
.st-card:hover .st-card__link a::after { transform: translateX(4px); }
/* Whole card clickable via the one real link inside it */
.st-card:has(.st-card__link a) .st-card__link a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.st-card:has(.st-card__link a) .st-card__link a:focus-visible { outline: none; }
.st-card:has(.st-card__link a:focus-visible) { outline: 3px solid var(--st-brand); outline-offset: 3px; }

/* Service card */
.st-service { display: flex; flex-direction: column; min-height: 100%; }
.st-service .st-card__num {
	display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 12px;
	background: var(--st-brand-tint); color: var(--st-brand); font-family: var(--st-display); font-weight: 700; font-size: 1rem; margin: 0 0 1.25rem;
}
.st-service > p:nth-last-child(3) { margin-bottom: 1.25rem; }
.st-service .st-card__benefit {
	margin-top: auto !important; padding-top: 1.25rem; border-top: 1px dashed var(--st-line);
	font-size: .92rem; color: var(--st-ink);
}
.st-service .st-card__benefit strong { color: var(--st-brand); }
.st-service--feature { background: var(--st-ink); color: #dfe3ec; border-color: var(--st-ink); }
.st-service--feature h3 { color: var(--st-white); }
.st-service--feature .st-card__num { background: rgba(212,243,107,.14); color: var(--st-lime); }
.st-service--feature .st-card__benefit { color: #dfe3ec; border-color: rgba(255,255,255,.18); }
.st-service--feature .st-card__benefit strong { color: var(--st-lime); }
.st-service--feature .st-card__link a { color: var(--st-lime); }
@media (min-width: 1000px) {
	.st-services-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.st-services-grid > :nth-child(-n+2) { grid-column: span 3; }
	.st-services-grid > :nth-child(n+3) { grid-column: span 2; }
}

/* Feature (why) list */
.st-features { counter-reset: feature; }
.st-feature { position: relative; padding-top: 1.25rem; border-top: 2px solid var(--st-ink); }
.st-feature h3 { font-size: var(--wp--preset--font-size--xl); margin: 0 0 .5rem; }
.st-feature p { margin: 0; color: var(--st-ink-soft); }
.st-section--ink .st-feature { border-top-color: rgba(255,255,255,.2); }
.st-section--ink .st-feature p { color: #c5ccd9; }
.st-feature::before {
	counter-increment: feature; content: counter(feature, decimal-leading-zero);
	display: block; font-family: var(--st-display); font-weight: 700; color: var(--st-brand); font-size: .9rem; margin-bottom: .75rem;
}
.st-section--ink .st-feature::before { color: var(--st-lime); }

/* Ticks list */
.is-style-ticks, .st-ticks { list-style: none; padding-left: 0; }
.is-style-ticks li, .st-ticks li { position: relative; padding-left: 2rem; margin-block: .6rem; }
.is-style-ticks li::before, .st-ticks li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 1.3rem; height: 1.3rem; border-radius: 50%;
	background: var(--st-brand-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E43FF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.st-section--ink .st-ticks li::before, .st-section--ink .is-style-ticks li::before { background-color: rgba(212,243,107,.16); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4F36B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E"); }
.st-ticks--2 { columns: 2 16rem; column-gap: 2rem; }
.st-ticks--2 li { break-inside: avoid; }

/* Includes grid: small cards with a title + line */
.st-include { background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-md); padding: 1.25rem 1.25rem 1.35rem; }
.st-include.is-layout-flow > * + * { margin-block-start: .35rem; }
.st-include h3 { font-size: 1.1rem; font-family: var(--wp--preset--font-family--body); font-weight: 700; letter-spacing: 0; margin: 0; }
.st-include p { margin: 0; font-size: .95rem; color: var(--st-ink-soft); }

/* Pain points */
.st-pains { display: grid; gap: .75rem; }
.st-pains.is-layout-flow > * { margin: 0; }
.st-pain {
	display: flex; gap: .9rem; align-items: flex-start;
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-md); padding: 1rem 1.2rem;
}
.st-pain::before { content: ""; flex: none; width: 10px; height: 10px; margin-top: .5rem; border-radius: 3px; background: var(--st-coral); transform: rotate(45deg); }
.st-pain.is-layout-flow > * { margin: 0; }

/* Image slots: stand-ins that say exactly what photograph goes here */
.st-imgslot {
	position: relative; display: grid; place-items: center; text-align: center;
	aspect-ratio: var(--st-ratio, 4 / 3);
	border-radius: var(--st-radius-lg); padding: 1.5rem;
	background:
		repeating-linear-gradient(135deg, transparent 0 14px, rgba(14,23,38,.035) 14px 28px),
		var(--st-white);
	border: 2px dashed #c9c3b6; color: var(--st-ink-soft);
}
.st-imgslot.is-layout-flow > * { margin: 0; }
.st-imgslot p { margin: 0; max-width: 28rem; font-size: .9rem; }
.st-imgslot p strong { display: block; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--st-ink); margin-bottom: .35rem; }
.st-imgslot--wide { --st-ratio: 16 / 9; }
.st-imgslot--portrait { --st-ratio: 4 / 5; }
.st-imgslot--square { --st-ratio: 1; }
.st-section--ink .st-imgslot { background: repeating-linear-gradient(135deg, transparent 0 14px, rgba(255,255,255,.04) 14px 28px), #16213a; border-color: #3a4763; color: #c5ccd9; }
.st-section--ink .st-imgslot p strong { color: var(--st-white); }
.wp-block-image img { border-radius: var(--st-radius-lg); }

/* Placeholder marker — anything in yellow must be replaced before launch */
mark.st-ph, .st-ph {
	background: #fff1a8; color: #3d3300; border-radius: 4px; padding: 0 .3em;
	box-shadow: inset 0 0 0 1px #e3cd4a; font-weight: 600; font-size: .92em;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.st-ph-note {
	display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: #5c4d00; background: #fff1a8; border-radius: 999px; padding: .2rem .6rem;
}

/* Tags */
.st-tags { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.st-tag { display: inline-flex; align-items: center; padding: .25rem .65rem; border-radius: 999px; background: var(--st-paper); border: 1px solid var(--st-line); font-size: .78rem; font-weight: 600; color: var(--st-ink); }
.st-tag--brand { background: var(--st-brand-tint); border-color: transparent; color: var(--st-brand-deep); }

/* 8. Proof: stats, case studies, testimonials, team, logos, rating -------- */

.st-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--st-line); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg); overflow: hidden; list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { .st-stats { grid-template-columns: repeat(var(--st-stats-cols, 3), minmax(0, 1fr)); } }
.st-stat { background: var(--st-white); padding: clamp(1.25rem, 3vw, 2rem); display: flex; flex-direction: column; gap: .35rem; }
.st-stat__value { font-family: var(--st-display); font-weight: 650; font-size: clamp(2.25rem, 5vw, 3.5rem); line-height: 1; letter-spacing: -.04em; color: var(--st-ink); font-variant-numeric: tabular-nums; }
.st-stat__value .st-ph { font-size: .5em; vertical-align: middle; letter-spacing: 0; }
.st-stat__label { font-size: .95rem; color: var(--st-ink-soft); }
.st-section--ink .st-stats { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.12); }
.st-section--ink .st-stat { background: var(--st-ink); }
.st-section--ink .st-stat__value { color: var(--st-white); }
.st-section--ink .st-stat__label { color: #c5ccd9; }

/* Case study cards */
.st-cases { display: grid; gap: clamp(1rem, 2vw, 1.5rem); grid-template-columns: minmax(0, 1fr); list-style: none; margin: 0; padding: 0; }
@media (min-width: 720px) { .st-cases { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .st-cases--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.st-case {
	position: relative; display: flex; flex-direction: column;
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg); overflow: hidden;
	transition: transform .25s var(--st-ease), box-shadow .25s var(--st-ease);
}
.st-case:hover { transform: translateY(-4px); box-shadow: var(--st-shadow-lift); }
.st-case:has(a:focus-visible) { outline: 3px solid var(--st-brand); outline-offset: 3px; }
.st-case__media { position: relative; aspect-ratio: 16 / 10; background: var(--st-ink); overflow: hidden; }
.st-case__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--st-ease); }
.st-case:hover .st-case__media img { transform: scale(1.03); }
.st-case__placeholder {
	position: absolute; inset: 0; display: grid; place-items: center; padding: 1.25rem; text-align: center;
	background: radial-gradient(circle at 80% 10%, rgba(46,67,255,.7), transparent 55%), linear-gradient(160deg, #16213a, var(--st-ink));
	color: var(--st-white);
}
.st-case__placeholder b { font-family: var(--st-display); font-size: clamp(1.4rem, 3vw, 2rem); letter-spacing: -.02em; line-height: 1.1; font-weight: 650; }
.st-case__placeholder small { position: absolute; left: 1rem; bottom: .85rem; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: #fff1a8; }
.st-case__result {
	position: absolute; left: 1rem; top: 1rem; z-index: 1;
	background: var(--st-lime); color: var(--st-ink); border-radius: 999px; padding: .35rem .8rem; font-size: .8rem; font-weight: 700;
	max-width: calc(100% - 2rem);
}
.st-case__body { display: flex; flex-direction: column; gap: .6rem; padding: 1.4rem 1.5rem 1.6rem; flex: 1; }
.st-case__meta { font-size: .8rem; font-weight: 600; color: var(--st-ink-soft); letter-spacing: .02em; margin: 0; }
.st-case__title { font-size: var(--wp--preset--font-size--xl); margin: 0; }
.st-case__title a { color: var(--st-ink); text-decoration: none; }
.st-case__title a::after { content: ""; position: absolute; inset: 0; }
.st-case__title a:focus-visible { outline: none; }
.st-case__summary { margin: 0; color: var(--st-ink-soft); font-size: .95rem; }
.st-case__rows { display: grid; gap: .5rem; margin: .35rem 0 0; font-size: .9rem; }
.st-case__rows div { display: grid; grid-template-columns: 5.5rem 1fr; gap: .75rem; }
.st-case__rows dt { font-weight: 700; color: var(--st-ink); }
.st-case__rows dd { margin: 0; color: var(--st-ink-soft); }
.st-case__more { margin-top: auto; padding-top: .5rem; font-weight: 650; color: var(--st-brand); }
.st-case__more::after { content: " →"; }
.st-case--featured { grid-column: 1 / -1; }
@media (min-width: 900px) {
	.st-case--featured { flex-direction: row; }
	.st-case--featured .st-case__media { flex: 1.15; aspect-ratio: auto; min-height: 22rem; }
	.st-case--featured .st-case__body { flex: 1; padding: 2.25rem; justify-content: center; }
	.st-case--featured .st-case__title { font-size: var(--wp--preset--font-size--heading-3); }
}

/* Filter chips */
.st-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 2rem; padding: 0; list-style: none; }
.st-filter__label { width: 100%; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--st-ink-soft); margin-bottom: .25rem; }
.st-filter button {
	min-height: 40px; padding: .4rem 1rem; border-radius: 999px; border: 1px solid var(--st-line); background: var(--st-white);
	font: inherit; font-size: .9rem; font-weight: 600; color: var(--st-ink); cursor: pointer;
}
.st-filter button[aria-pressed="true"] { background: var(--st-ink); color: var(--st-white); border-color: var(--st-ink); }
.st-filter button:hover { border-color: var(--st-ink); }
.st-cases [hidden] { display: none !important; }
.st-filter-status { font-size: .9rem; color: var(--st-ink-soft); margin: -1rem 0 1.5rem; }

/* Case study single header */
.st-case-hero__facts { display: grid; gap: 1px; background: var(--st-line); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg); overflow: hidden; margin: 2rem 0 0; }
@media (min-width: 720px) { .st-case-hero__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.st-case-hero__facts div { background: var(--st-white); padding: 1rem 1.25rem; }
.st-case-hero__facts dt { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--st-ink-soft); }
.st-case-hero__facts dd { margin: .25rem 0 0; font-weight: 600; }
.st-case-hero__result { background: var(--st-ink) !important; color: var(--st-white); }
.st-case-hero__result dt { color: var(--st-lime) !important; }
.st-csr { display: grid; gap: 1rem; }
@media (min-width: 900px) { .st-csr { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.st-csr > div { background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg); padding: 1.5rem; }
.st-csr h2 { font-size: var(--wp--preset--font-size--lg); margin: 0 0 .5rem; }
.st-csr p { margin: 0; }
.st-csr > div:last-child { background: var(--st-brand); border-color: var(--st-brand); color: var(--st-white); }
.st-csr > div:last-child h2 { color: var(--st-white); }

/* Testimonials */
.st-quotes { display: grid; gap: clamp(1rem, 2vw, 1.5rem); list-style: none; margin: 0; padding: 0; }
@media (min-width: 800px) { .st-quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .st-quotes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.st-quote {
	position: relative; margin: 0; display: flex; flex-direction: column; gap: 1.25rem;
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg); padding: clamp(1.5rem, 3vw, 2rem);
}
.st-quote__stars { display: flex; gap: 2px; color: #f5a524; }
.st-quote blockquote { margin: 0; padding: 0; border: 0; font-size: 1.1rem; line-height: 1.55; color: var(--st-ink); }
.st-quote blockquote p { margin: 0; }
.st-quote figcaption { margin-top: auto; display: flex; align-items: center; gap: .75rem; font-size: .9rem; }
.st-quote__avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--st-brand-tint); color: var(--st-brand-deep); font-weight: 700; flex: none; overflow: hidden; }
.st-quote__avatar img { width: 100%; height: 100%; object-fit: cover; }
.st-quote__name { font-weight: 700; color: var(--st-ink); display: block; }
.st-quote__role { color: var(--st-ink-soft); display: block; }
.st-quote__badge { align-self: flex-start; }
.st-quote--large { background: var(--st-ink); border-color: var(--st-ink); }
.st-quote--large blockquote { color: var(--st-white); font-family: var(--st-display); font-size: clamp(1.3rem, 2.4vw, 1.7rem); line-height: 1.3; letter-spacing: -.015em; }
.st-quote--large .st-quote__name { color: var(--st-white); }
.st-quote--large .st-quote__role { color: #c5ccd9; }
.st-quotes > li { display: flex; }
.st-quotes > li > .st-quote { flex: 1; }
@media (min-width: 1100px) { .st-quotes--feature > li:first-child { grid-row: span 2; } }

/* Rating badge */
.st-rating { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--st-ink); font-size: .9rem; }
.st-rating__g {
	display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--st-white); border: 1px solid var(--st-line);
	font-weight: 800; font-size: 1rem; color: #4285f4; font-family: Arial, sans-serif;
}
.st-rating__stars { display: inline-flex; color: #f5a524; }
.st-rating__text { line-height: 1.3; }
.st-rating__text strong { display: block; }
a.st-rating:hover .st-rating__text strong { text-decoration: underline; }
.st-rating--dark { color: var(--st-white); }
.st-rating--dark .st-rating__g { background: var(--st-white); border-color: transparent; }

/* Team */
.st-team { display: grid; gap: clamp(1rem, 2vw, 1.5rem); grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
@media (min-width: 720px) { .st-team { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .st-team { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.st-person { display: flex; flex-direction: column; gap: .75rem; }
.st-person__photo { aspect-ratio: 4 / 5; border-radius: var(--st-radius-lg); overflow: hidden; background: linear-gradient(160deg, #e9e5dc, #dcd6c9); position: relative; display: grid; place-items: center; }
.st-person__photo img { width: 100%; height: 100%; object-fit: cover; }
.st-person__initials { font-family: var(--st-display); font-size: clamp(2rem, 5vw, 3rem); font-weight: 650; color: #9b9383; letter-spacing: -.03em; }
.st-person__photo .st-ph-note { position: absolute; left: .6rem; bottom: .6rem; font-size: .62rem; }
.st-person h3 { font-size: 1.15rem; margin: 0; font-family: var(--st-display); }
.st-person__role { margin: 0; font-size: .9rem; color: var(--st-ink-soft); }
.st-team--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .st-team--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Client name strip */
.st-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 2.25rem; list-style: none; margin: 0; padding: 0; }
.st-logos li { font-family: var(--st-display); font-weight: 650; font-size: clamp(1rem, 2vw, 1.25rem); letter-spacing: -.02em; color: #7a7466; white-space: nowrap; }
.st-logos-caption { text-align: center; font-size: .85rem; color: var(--st-ink-soft); margin: 0 0 1.25rem; }

/* 9. Process ------------------------------------------------------------- */

.st-process { counter-reset: step; display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.st-process.is-layout-flow > * { margin: 0; }
.st-step {
	position: relative; counter-increment: step;
	background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg);
	padding: 1.5rem 1.5rem 1.6rem 4.75rem;
}
.st-step.is-layout-flow > * + * { margin-block-start: .4rem; }
.st-step::before {
	content: counter(step); position: absolute; left: 1.25rem; top: 1.35rem;
	width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center;
	background: var(--st-ink); color: var(--st-lime); font-family: var(--st-display); font-weight: 700;
}
.st-step h3 { font-size: 1.2rem; margin: 0; }
.st-step p { margin: 0; color: var(--st-ink-soft); font-size: .95rem; }
@media (min-width: 1000px) {
	.st-process { grid-template-columns: repeat(var(--st-steps, 5), minmax(0, 1fr)); gap: 1rem; }
	.st-process { position: relative; }
	.st-process::before {
		content: ""; position: absolute; left: 2.5rem; right: 2.5rem; top: 2.55rem; height: 2px;
		background: repeating-linear-gradient(90deg, var(--st-ink) 0 6px, transparent 6px 12px); opacity: .25;
	}
	.st-step { padding: 5rem 1.25rem 1.5rem; background: transparent; border: 0; }
	.st-step::before { top: 1.35rem; left: 1.25rem; width: 2.5rem; height: 2.5rem; box-shadow: 0 0 0 8px var(--st-paper); }
	.st-section--white .st-step::before { box-shadow: 0 0 0 8px var(--st-white); }
	.st-step:hover::before { background: var(--st-brand); color: var(--st-white); }
}
.st-process--4 { --st-steps: 4; }

/* FAQ (core/details) */
.st-faq { border-top: 1px solid var(--st-line); }
.st-faq.is-layout-flow > * { margin-block: 0; }
.st-faq .wp-block-details { border-bottom: 1px solid var(--st-line); padding: 0; }
.st-faq summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1.5rem;
	min-height: 64px; padding-block: 1.1rem; font-weight: 650; font-size: 1.1rem; color: var(--st-ink);
}
.st-faq summary::-webkit-details-marker { display: none; }
.st-faq summary::after {
	content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%;
	background: var(--st-brand-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E43FF' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 55% no-repeat;
	transition: transform .25s var(--st-ease);
}
.st-faq details[open] summary::after { transform: rotate(45deg); }
.st-faq summary:hover { color: var(--st-brand); }
.st-faq .wp-block-details > :not(summary) { margin: 0 0 1.25rem; color: var(--st-ink-soft); max-width: 44rem; }

/* CTA band */
.st-cta {
	position: relative; overflow: hidden;
	background: var(--st-ink); color: #dfe3ec;
	padding-block: var(--wp--preset--spacing--70); padding-inline: var(--st-gutter);
}
.st-cta::before {
	content: ""; position: absolute; inset: auto -10% -40% auto; width: 46rem; height: 46rem; border-radius: 50%;
	background: radial-gradient(circle, rgba(46,67,255,.55), transparent 62%); pointer-events: none;
}
.st-cta > * { position: relative; max-width: var(--st-wide); margin-inline: auto; }
.st-cta h2 { color: var(--st-white); font-size: var(--wp--preset--font-size--heading-1); max-width: 16ch; margin: .75rem 0 0; }
.st-cta .st-lead { color: #c5ccd9; max-width: 36rem; }
.st-cta__grid { display: grid; gap: 2.5rem; align-items: end; }
.st-cta__grid.is-layout-flow > * { margin-block: 0; }
@media (min-width: 900px) { .st-cta__grid { grid-template-columns: 1.3fr 1fr; } }
.st-cta__contact { display: grid; gap: .75rem; }
.st-cta__contact p { margin: 0; }
.st-cta__contact a { color: var(--st-white); font-weight: 650; text-decoration: none; font-size: 1.15rem; }
.st-cta__contact a:hover { color: var(--st-lime); text-decoration: underline; }
.st-cta__contact .st-small { color: #aeb6c6; }

/* 10. Forms -------------------------------------------------------------- */

.st-form-wrap { background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-xl); padding: clamp(1.5rem, 4vw, 2.5rem); box-shadow: var(--st-shadow-card); }
.st-form-wrap h2, .st-form-wrap h3 { margin-top: 0; font-size: var(--wp--preset--font-size--heading-3); }
.st-form { display: grid; gap: 1.1rem; }
.st-form__row { display: grid; gap: 1.1rem; }
@media (min-width: 640px) { .st-form__row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.st-field { display: grid; gap: .4rem; }
.st-field label, .st-field legend { font-weight: 650; font-size: .95rem; color: var(--st-ink); }
.st-field .st-optional { font-weight: 400; color: var(--st-ink-soft); }
.st-field input, .st-field select, .st-field textarea {
	width: 100%; min-height: 50px; padding: .75rem 1rem;
	font: inherit; font-size: 1rem; color: var(--st-ink);
	background: var(--st-white); border: 1.5px solid var(--st-field-border); border-radius: 12px;
	transition: border-color .15s, box-shadow .15s;
}
.st-field textarea { min-height: 140px; resize: vertical; }
.st-field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1726' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 18px; padding-right: 2.75rem; }
.st-field input:hover, .st-field select:hover, .st-field textarea:hover { border-color: var(--st-ink); }
.st-field input:focus, .st-field select:focus, .st-field textarea:focus { outline: none; border-color: var(--st-brand); box-shadow: 0 0 0 4px rgba(46,67,255,.18); }
.st-field [aria-invalid="true"] { border-color: #b42318; }
.st-field__error { color: #b42318; font-size: .875rem; font-weight: 600; }
.st-field__hint { color: var(--st-ink-soft); font-size: .85rem; }
.st-choices { display: flex; flex-wrap: wrap; gap: .5rem; border: 0; padding: 0; margin: 0; }
.st-choices legend { margin-bottom: .5rem; }
.st-choice { position: relative; }
.st-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.st-choice span {
	display: inline-flex; align-items: center; min-height: 44px; padding: .45rem 1rem; border-radius: 999px;
	border: 1.5px solid var(--st-field-border); cursor: pointer; font-weight: 600; font-size: .92rem; background: var(--st-white);
}
.st-choice input:checked + span { background: var(--st-ink); color: var(--st-white); border-color: var(--st-ink); }
.st-choice input:focus-visible + span { outline: 3px solid var(--st-brand); outline-offset: 2px; }
.st-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.st-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.st-form__foot .st-btn { min-height: 54px; padding-inline: 1.75rem; }
.st-form__privacy { font-size: .85rem; color: var(--st-ink-soft); margin: 0; flex: 1 1 16rem; }
.st-form__notice { border-radius: 12px; padding: 1rem 1.25rem; font-weight: 600; }
.st-form__notice--error { background: #fdecea; color: #7a1a12; border: 1px solid #f3b8b1; }
.st-form__notice--ok { background: #e7f6ee; color: #0b5137; border: 1px solid #a8dcc0; }
.st-form button[disabled] { opacity: .7; cursor: progress; }
.st-form-reassure { list-style: none; padding: 0; margin: 1.25rem 0 0; display: grid; gap: .5rem; font-size: .9rem; color: var(--st-ink-soft); }
.st-form-reassure li { display: flex; gap: .5rem; align-items: center; }
.st-form-reassure .st-icon { color: #1a8a5e; }

/* Contact cards */
.st-contact-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; }
.st-contact-list li { display: flex; gap: .9rem; align-items: flex-start; }
.st-contact-list .st-icon { margin-top: .2rem; color: var(--st-brand); }
.st-contact-list strong { display: block; }

/* 11. Footer ------------------------------------------------------------- */

.st-footer-wrap { margin-block-start: 0 !important; }
.st-footer { background: #0a111d; color: #c5ccd9; padding: clamp(3rem, 7vw, 5rem) var(--st-gutter) 0; font-size: .95rem; }
.st-footer > * { max-width: var(--st-wide); margin-inline: auto; }
.st-footer a { color: #dfe3ec; text-decoration: none; }
.st-footer a:hover { color: var(--st-lime); text-decoration: underline; }
.st-footer__top { display: grid; gap: 2.5rem; padding-bottom: 3rem; }
@media (min-width: 1000px) { .st-footer__top { grid-template-columns: 1fr 2.2fr; gap: 4rem; } }
.st-footer__about { margin: 1.25rem 0; max-width: 24rem; }
.st-footer__contact { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.st-footer__contact li { display: flex; gap: .65rem; align-items: flex-start; }
.st-footer__contact .st-icon { margin-top: .15rem; color: var(--st-lime); }
.st-footer__cols { display: grid; gap: 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 760px) { .st-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.st-footer__heading { font-family: var(--wp--preset--font-family--body); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--st-white); margin: 0 0 1rem; }
.st-footer__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .15rem; }
.st-footer__col a { display: inline-flex; min-height: 36px; align-items: center; }
.st-footer__middle { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 1.75rem; border-top: 1px solid rgba(255,255,255,.1); }
.st-footer__social { display: flex; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.st-footer__social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); }
.st-footer__social a:hover { background: var(--st-lime); color: var(--st-ink); border-color: var(--st-lime); }
.st-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-block: 1.5rem 6rem; border-top: 1px solid rgba(255,255,255,.1); font-size: .85rem; color: #aeb6c6; }
.st-footer__bottom p { margin: 0; }
.st-footer__legal { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { .st-footer__bottom { padding-bottom: 2rem; } }

/* Sticky mobile CTA bar */
.st-mbar {
	position: fixed; left: .75rem; right: .75rem; bottom: .75rem; z-index: 80;
	display: grid; grid-template-columns: 1fr 1.4fr; gap: .5rem;
	padding: .5rem; border-radius: 999px; background: rgba(14,23,38,.94); box-shadow: 0 12px 30px -10px rgba(14,23,38,.5);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	transform: translateY(150%); transition: transform .3s var(--st-ease);
	padding-bottom: calc(.5rem + env(safe-area-inset-bottom) * .5);
}
.st-mbar.is-visible { transform: none; }
.st-mbar a { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 48px; border-radius: 999px; font-weight: 700; text-decoration: none; }
.st-mbar__call { color: var(--st-white); }
.st-mbar__talk { background: var(--st-lime); color: var(--st-ink); }
html:not(.js) .st-mbar { display: none; }
@media (min-width: 900px) { .st-mbar { display: none; } }

/* 12. Content: posts, prose, tables -------------------------------------- */

.st-prose { font-size: 1.1rem; line-height: 1.75; }
.st-prose > * { max-width: 42rem; margin-inline: auto; }
.st-prose h2 { font-size: var(--wp--preset--font-size--heading-3); margin-top: 2.75rem; }
.st-prose h3 { font-size: var(--wp--preset--font-size--xl); margin-top: 2rem; }
.st-prose blockquote { border-left: 4px solid var(--st-brand); margin-left: 0; padding-left: 1.25rem; font-style: italic; }
.st-prose .wp-block-image, .st-prose .alignwide { max-width: 56rem; }

.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wp-block-table table, .st-table { width: 100%; border-collapse: collapse; font-size: .95rem; background: var(--st-white); border-radius: var(--st-radius-md); overflow: hidden; }
.wp-block-table th, .wp-block-table td { padding: .85rem 1rem; border: 0; border-bottom: 1px solid var(--st-line); text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--st-ink); color: var(--st-white); font-weight: 650; border-bottom: 0; }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: #fbfaf7; }
.wp-block-table figcaption { font-size: .85rem; color: var(--st-ink-soft); margin-top: .5rem; }
@media (max-width: 640px) {
	.st-table-stack table, .st-table-stack thead, .st-table-stack tbody, .st-table-stack tr, .st-table-stack td, .st-table-stack th { display: block; }
	.st-table-stack thead { position: absolute; left: -9999px; }
	.st-table-stack tr { border: 1px solid var(--st-line); border-radius: var(--st-radius-md); margin-bottom: .75rem; background: var(--st-white); }
	.st-table-stack td { border-bottom: 1px solid var(--st-line); }
	.st-table-stack td:last-child { border-bottom: 0; }
	.st-table-stack td::before { content: attr(data-label); display: block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--st-ink-soft); margin-bottom: .2rem; }
}

.st-post-hero { padding-block: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem); }
.st-post-hero > * { max-width: 48rem; margin-inline: auto; }
.st-post-hero h1 { font-size: var(--wp--preset--font-size--heading-1); margin-block: 1rem; }
.st-post-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; font-size: .9rem; color: var(--st-ink-soft); }
.st-post-meta.is-layout-flex { gap: .5rem 1.25rem; }
.st-post-meta > * { margin: 0 !important; }
.st-post-image { max-width: 64rem; margin-inline: auto; padding-inline: var(--st-gutter); }
.st-post-image img { border-radius: var(--st-radius-xl); aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.st-post-body { padding-inline: var(--st-gutter); padding-block: clamp(2rem, 5vw, 3.5rem); }

.st-post-grid.wp-block-post-template { display: grid; gap: clamp(1rem, 2vw, 1.5rem); grid-template-columns: minmax(0, 1fr); list-style: none; padding: 0; }
@media (min-width: 720px) { .st-post-grid.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .st-post-grid.wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.st-post-grid > li { margin: 0 !important; }
.st-post-card { position: relative; height: 100%; display: flex; flex-direction: column; gap: .75rem; background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg); padding: .75rem .75rem 1.5rem; transition: transform .25s var(--st-ease), box-shadow .25s var(--st-ease); }
.st-post-card.is-layout-flow > * { margin-block: 0; }
.st-post-card > :not(.wp-block-post-featured-image) { padding-inline: .75rem; }
.st-post-card:hover { transform: translateY(-4px); box-shadow: var(--st-shadow-lift); }
.st-post-card .wp-block-post-featured-image { margin: 0; }
.st-post-card .wp-block-post-featured-image img { border-radius: var(--st-radius-md); aspect-ratio: 16 / 10; object-fit: cover; }
.st-post-card .wp-block-post-featured-image:empty { display: none; }
.st-post-card__title { font-size: var(--wp--preset--font-size--xl); margin: 0; }
.st-post-card__title a { color: var(--st-ink); text-decoration: none; }
.st-post-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.st-post-card:has(a:focus-visible) { outline: 3px solid var(--st-brand); outline-offset: 3px; }
.st-post-card__title a:focus-visible { outline: none; }
.st-post-card .wp-block-post-excerpt { color: var(--st-ink-soft); font-size: .95rem; margin: 0; }
.st-post-card .wp-block-post-excerpt__excerpt { margin: 0; }
.st-post-card__cat { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.st-post-card__cat a { color: var(--st-brand); text-decoration: none; position: relative; z-index: 1; }
.st-post-card__date { margin-top: auto !important; font-size: .85rem; color: var(--st-ink-soft); }
.wp-block-query-pagination { margin-top: 2.5rem; gap: .5rem; justify-content: center; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 999px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--st-ink); color: var(--st-white); }

.st-author { display: flex; gap: 1rem; align-items: center; max-width: 42rem; margin: 3rem auto 0; padding: 1.25rem; background: var(--st-white); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg); }
.st-author.is-layout-flex > * { margin: 0; }
.st-author img { border-radius: 50%; }
.st-author .wp-block-post-author__name { font-weight: 700; }

/* 404 & search */
.st-404 { text-align: center; }
.st-404 .st-display { color: var(--st-brand); }
.wp-block-search__inside-wrapper { border: 1.5px solid var(--st-field-border) !important; border-radius: 999px; padding: 4px !important; background: var(--st-white); }
.wp-block-search__input { border: 0 !important; min-height: 44px; padding-inline: 1rem !important; background: transparent; }
.wp-block-search__button { border-radius: 999px !important; margin: 0 !important; }
.wp-block-search__button::after { display: none; }

/* Editor tweaks */
.editor-styles-wrapper .st-mega, .editor-styles-wrapper .st-drop, .editor-styles-wrapper .st-mbar { display: none; }
.editor-styles-wrapper .st-header-wrap { position: static; }

/* 13. Utilities ---------------------------------------------------------- */

.st-center { text-align: center; }
.st-mt-0 { margin-top: 0 !important; }
.st-mt-l { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.st-hide-mobile { display: none; }
@media (min-width: 900px) { .st-hide-mobile { display: block; } }
.st-divider-label { display: flex; align-items: center; gap: 1rem; color: var(--st-ink-soft); font-size: .85rem; }
.st-divider-label::before, .st-divider-label::after { content: ""; flex: 1; height: 1px; background: var(--st-line); }
.st-note { background: var(--st-white); border: 1px solid var(--st-line); border-left: 4px solid var(--st-brand); border-radius: var(--st-radius-sm); padding: 1rem 1.25rem; }
.st-note.is-layout-flow > * { margin-block: 0; }
.st-note.is-layout-flow > * + * { margin-block-start: .5rem; }

.st-owner { display: grid; gap: 1px; background: var(--st-line); border: 1px solid var(--st-line); border-radius: var(--st-radius-lg); overflow: hidden; }
@media (min-width: 800px) { .st-owner { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.st-owner > div { background: var(--st-white); padding: 1.5rem; }
.st-owner.is-layout-flow > * { margin: 0; }
.st-owner h3 { font-size: 1.15rem; margin: 0 0 .4rem; font-family: var(--wp--preset--font-family--body); font-weight: 700; letter-spacing: 0; }
.st-owner p { margin: 0; color: var(--st-ink-soft); font-size: .95rem; }

/* 14. Motion ------------------------------------------------------------- */

.js .st-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--st-ease), transform .7s var(--st-ease); }
.js .st-reveal.is-in { opacity: 1; transform: none; }
.js .st-reveal-stagger > * { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--st-ease), transform .6s var(--st-ease); }
.js .st-reveal-stagger.is-in > * { opacity: 1; transform: none; }
.js .st-reveal-stagger.is-in > :nth-child(2) { transition-delay: .06s; }
.js .st-reveal-stagger.is-in > :nth-child(3) { transition-delay: .12s; }
.js .st-reveal-stagger.is-in > :nth-child(4) { transition-delay: .18s; }
.js .st-reveal-stagger.is-in > :nth-child(5) { transition-delay: .24s; }
.js .st-reveal-stagger.is-in > :nth-child(6) { transition-delay: .3s; }

@keyframes st-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.st-float--rank { animation: st-float 7s ease-in-out infinite; }
.st-float--social { animation: st-float 8s ease-in-out -2s infinite; }
.st-float--lead { animation: st-float 9s ease-in-out -4s infinite; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
	.js .st-reveal, .js .st-reveal-stagger > * { opacity: 1; transform: none; }
}

@media print {
	.st-header-wrap, .st-mbar, .st-footer__middle, .st-cta::before, .st-hero-visual { display: none !important; }
	.st-section { padding-block: 1.5rem; }
}
.st-h-small { font-size: var(--wp--preset--font-size--lg) !important; font-family: var(--wp--preset--font-family--body); font-weight: 700; letter-spacing: 0; margin: 0 0 .5rem; }
.st-field { align-content: start; }
.st-page-hero .st-contact-list { margin-top: 1.75rem; }
/* backdrop-filter makes the header a containing block for fixed children,
   which would trap the full-screen mobile menu inside the header bar. */
body.st-menu-open .st-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--st-paper); }
.st-mega__aside { align-self: start; }
