/*!
 * Apollo11 theme — main stylesheet.
 * Design system for APOLLO11, Inc. (IBM Plex Sans / Mono + Noto Sans JP).
 *
 * Structure
 *  1. Tokens            8. Lists (block styles)
 *  2. Base              9. Tables
 *  3. Header & menus   10. Components (grids, cards, stats, rows, media …)
 *  4. Sections         11. Interactive (tabs, FAQ, video, bars)
 *  5. Typography       12. Page-specific modules
 *  6. Buttons          13. Forms, jobs, news
 *  7. Links            14. CTA band & footer
 *                      15. Utilities & motion
 */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--a11-ink: #14161C;
	--a11-night: #101319;
	--a11-night-2: #181C24;
	--a11-slate: #565B66;
	--a11-muted: #636873;
	--a11-faint: #9AA0AC;
	--a11-line: #E5E5E8;
	--a11-line-strong: #C8C8CD;
	--a11-mist: #F5F5F6;
	--a11-mist-2: #F4F4F5;
	--a11-dark-line: #2A2F39;
	--a11-dark-text: #C6C9D0;
	--a11-link: #0465AF;
	--a11-sans: "IBM Plex Sans", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, system-ui, sans-serif;
	--a11-mono: "IBM Plex Mono", "Noto Sans JP", ui-monospace, SFMono-Regular, Menlo, monospace;
	--a11-max: 1400px;
	--a11-gutter: clamp(20px, 5vw, 64px);
	--a11-space: clamp(56px, 7vw, 104px);
	--a11-header-h: 68px;
	--a11-stack-gap: clamp(32px, 4vw, 56px);
	--accent: var(--a11-ink);
	--accent-ink: var(--a11-ink);
	--accent-soft: var(--a11-faint);
}

.a11-accent--blue { --accent: #2B7EC9; --accent-ink: #0465AF; --accent-soft: #67AAED; }
.a11-accent--green { --accent: #009365; --accent-ink: #006C47; --accent-soft: #3CB88A; }
.a11-accent--orange { --accent: #BC5A29; --accent-ink: #97400D; --accent-soft: #E0864F; }
.a11-accent--purple { --accent: #9460B7; --accent-ink: #7B489E; --accent-soft: #B98AD8; }
.a11-accent--red { --accent: #D15C56; --accent-ink: #BA3E3C; --accent-soft: #E88782; }
.a11-accent--teal { --accent: #00919B; --accent-ink: #00747C; --accent-soft: #3CB9C2; }
.a11-accent--ink { --accent: #14161C; --accent-ink: #14161C; --accent-soft: #636873; }
.a11-accent--slate { --accent: #14161C; --accent-ink: #435A73; --accent-soft: #636873; }

/* 2. Base ------------------------------------------------------------------ */
*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--a11-header-h) + 20px);
}

body {
	margin: 0;
	background: #FFFFFF;
	color: var(--a11-ink);
	font-family: var(--a11-sans);
	font-size: 16px;
	line-height: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: anywhere;
	line-break: strict;
}

h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, pre { margin: 0; }
h1, h2, h3, h4 { font-weight: 700; word-break: auto-phrase; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; }
img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
table { border-collapse: collapse; width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
strong, b { font-weight: 700; }
small { font-size: 0.85em; }

a { color: inherit; text-decoration: none; }
a:hover { color: var(--a11-link); }
::selection { background: var(--a11-ink); color: #FFFFFF; }

a, button, summary {
	transition: color .16s ease, background-color .16s ease, border-color .16s ease, gap .16s ease;
}

:focus-visible { outline: 2px solid #2B7EC9; outline-offset: 2px; }
.a11-main:focus { outline: none; }

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.a11-skip {
	position: absolute;
	left: 12px;
	top: -100px;
	z-index: 100;
	background: #FFFFFF;
	color: var(--a11-ink);
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 2px;
}
.a11-skip:focus { top: 12px; }

/* 3. Header & menus -------------------------------------------------------- */
.a11-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(16, 19, 25, 0.92);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--a11-dark-line);
	color: #FFFFFF;
}
.admin-bar .a11-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .a11-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .a11-header { top: 0; } }

.a11-header__bar {
	max-width: var(--a11-max);
	margin: 0 auto;
	padding: 0 clamp(18px, 4vw, 48px);
	height: var(--a11-header-h);
	display: flex;
	align-items: center;
	gap: 36px;
}
.a11-header__logo { display: flex; flex: 0 0 auto; }
.a11-header__logo img { height: 20px; width: auto; }
.a11-header__right {
	display: flex;
	align-items: center;
	gap: clamp(14px, 1.8vw, 26px);
	margin-left: auto;
}

.a11-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2vw, 30px);
	list-style: none;
}
.a11-nav__trigger,
.a11-nav__link {
	position: relative;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 24px 0;
	background: none;
	border: 0;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 20px;
	color: #FFFFFF;
	cursor: pointer;
}
.a11-nav__trigger:hover,
.a11-nav__link:hover,
.a11-nav__item.is-open > .a11-nav__trigger { color: #86C3FF; }
.a11-nav__caret { display: inline-block; width: 0; height: 0; font-size: 0; border-left: 3.5px solid transparent; border-right: 3.5px solid transparent; border-top: 4.5px solid var(--a11-faint); margin-top: 1px; }
.a11-nav__item.is-active > .a11-nav__trigger::after,
.a11-nav__item.is-active > .a11-nav__link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: #FFFFFF;
}

.a11-panel {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	border-top: 1px solid var(--a11-dark-line);
	background: #FFFFFF;
	color: var(--a11-ink);
	box-shadow: 0 18px 40px -24px rgba(16, 19, 25, 0.35);
}
.a11-nav__item.is-open > .a11-panel { display: block; }
.no-js .a11-nav__item:hover > .a11-panel,
.no-js .a11-nav__item:focus-within > .a11-panel { display: block; }

.a11-panel__inner {
	max-width: var(--a11-max);
	margin: 0 auto;
	padding: clamp(24px, 3vw, 38px) clamp(18px, 4vw, 48px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 44px);
}
.a11-panel__inner--flat {
	grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
	gap: 2px 24px;
}
.a11-panel__group { min-width: 0; display: flex; flex-direction: column; }
.a11-panel__group--wide { grid-column: span 2; }
.a11-panel__label {
	font-family: var(--a11-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	color: var(--a11-muted);
	padding-bottom: 12px;
	border-bottom: 1px solid var(--a11-line);
}
.a11-panel__links { margin: 10px -14px 0; display: grid; gap: 2px; }
.a11-panel__links--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.a11-panel__links--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.a11-panel__link {
	display: flex;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 2px;
	color: var(--a11-ink);
}
.a11-panel__link:hover { background: var(--a11-mist-2); color: var(--a11-ink); }
.a11-panel__link-dot,
.a11-drawer__link-dot {
	width: 7px;
	height: 7px;
	border-radius: 99px;
	background: var(--accent);
	margin-top: 7px;
	flex: 0 0 auto;
}
.a11-panel__link-body,
.a11-drawer__link-body { min-width: 0; }
.a11-panel__link-title { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.5; }
.a11-panel__link-desc { display: block; font-size: 12.5px; line-height: 1.65; color: var(--a11-slate); margin-top: 4px; }
.a11-panel__ctas { margin-top: auto; padding-top: 18px; display: flex; flex-wrap: wrap; gap: 18px; }
.a11-panel__cta { font-size: 13px; font-weight: 600; display: inline-flex; gap: 8px; color: var(--a11-ink); }
.a11-panel__cta:hover { gap: 13px; color: var(--a11-link); }
.a11-panel__cta.is-muted { color: var(--a11-slate); }
.a11-panel__cta.is-muted:hover { color: var(--a11-ink); }

.a11-lang {
	display: flex;
	align-items: center;
	gap: 3px;
	border: 1px solid var(--a11-dark-line);
	border-radius: 2px;
	padding: 2px;
}
.a11-lang__item {
	font-family: var(--a11-mono);
	font-size: 10.5px;
	letter-spacing: 0.08em;
	line-height: 1.5;
	color: var(--a11-faint);
	padding: 4px 8px;
}
.a11-lang__item.is-current { color: var(--a11-ink); background: #FFFFFF; font-weight: 500; }
a.a11-lang__item:hover { color: #FFFFFF; }
.a11-lang__item.is-disabled { cursor: default; }

.a11-header__cta {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--a11-ink);
	background: #FFFFFF;
	padding: 9px 18px;
	border-radius: 2px;
	white-space: nowrap;
}
.a11-header__cta:hover { background: var(--a11-link); color: #FFFFFF; }

.a11-header__burger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: none;
	border: 0;
	padding: 8px;
	cursor: pointer;
	color: #FFFFFF;
}
.a11-header__burger-lines {
	display: block;
	width: 18px;
	height: 7px;
	border-top: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transition: transform .2s ease;
}
.a11-header__burger[aria-expanded="true"] .a11-header__burger-lines { transform: scaleX(0.72); }

.a11-drawer { display: none; border-top: 1px solid var(--a11-dark-line); }
.a11-drawer.is-open { display: block; }
.a11-drawer__inner {
	padding: 4px clamp(18px, 4vw, 48px) 26px;
	display: grid;
	max-height: calc(100vh - var(--a11-header-h));
	max-height: calc(100dvh - var(--a11-header-h));
	overflow-y: auto;
	overscroll-behavior: contain;
}
.a11-drawer__label {
	font-family: var(--a11-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	color: var(--a11-faint);
	padding: 20px 0 8px;
}
.a11-drawer__link {
	display: flex;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--a11-dark-line);
	color: #FFFFFF;
}
.a11-drawer .a11-accent--ink { --accent: #FFFFFF; }
.a11-drawer__link-title { display: block; font-size: 15px; font-weight: 600; line-height: 1.5; }
.a11-drawer__link-desc { display: block; font-size: 12.5px; line-height: 1.6; color: var(--a11-faint); margin-top: 3px; }
.a11-drawer__plain {
	padding: 13px 0;
	border-bottom: 1px solid var(--a11-dark-line);
	font-size: 15px;
	font-weight: 600;
	color: #FFFFFF;
}
.a11-drawer a:hover { color: #86C3FF; }
.a11-drawer [aria-current="page"] { color: #86C3FF; }

@media (max-width: 1039.98px) {
	.a11-nav { display: none; }
	.a11-header__burger { display: inline-flex; }
	.no-js .a11-header__burger { display: none; }
	.no-js .a11-drawer { display: block; }
}
@media (max-width: 560px) {
	.a11-header__bar { gap: 16px; }
	.a11-header__right { gap: 10px; }
	.a11-header__cta { padding: 8px 12px; font-size: 12.5px; }
	.a11-lang { display: none; }
}
@media (min-width: 1040px) {
	.a11-drawer, .a11-drawer.is-open { display: none; }
}

/* 4. Sections -------------------------------------------------------------- */
:is(.a11-main, .editor-styles-wrapper) { display: block; }

.a11-section {
	padding-top: var(--a11-space);
	padding-inline: max(var(--a11-gutter), calc((100% - var(--a11-max)) / 2));
}
.a11-section--hero { padding-top: clamp(48px, 6vw, 88px); }
.a11-section--xl { padding-top: clamp(72px, 9vw, 128px); }
.a11-section--home { padding-top: clamp(56px, 8vw, 104px); }
.a11-section--flush { padding-top: 0; }
.a11-section--tight { padding-top: clamp(32px, 4vw, 52px); }
.a11-section--last { padding-bottom: clamp(64px, 8vw, 112px); }
.a11-section.a11-pb-120 { padding-bottom: clamp(72px, 9vw, 120px); }
.a11-section--dark {
	margin-top: var(--a11-space);
	padding-bottom: var(--a11-space);
	background: var(--a11-night);
	color: #FFFFFF;
}
.a11-section--mist { background: var(--a11-mist); padding-bottom: var(--a11-space); margin-top: var(--a11-space); }
.a11-narrow .a11-section { padding-inline: max(var(--a11-gutter), calc((100% - 900px) / 2)); }
.a11-narrow .a11-section--hero { padding-bottom: 0; }
.a11-narrow > :last-child { padding-bottom: clamp(64px, 8vw, 112px); }

/* Vertical rhythm inside sections and generic groups. */
.a11-section > * + *,
.a11-stack > * + * { margin-top: var(--a11-stack-gap); }
.a11-section > .is-style-a11-eyebrow + *,
.a11-stack > .is-style-a11-eyebrow + * { margin-top: 14px; }
.a11-section > .wp-block-heading + p,
.a11-stack > .wp-block-heading + p,
.a11-section > .wp-block-heading + .is-style-a11-lead,
.a11-section > .wp-block-heading + .is-style-a11-lead-lg { margin-top: 18px; }
.a11-section > p + p,
.a11-stack > p + p { margin-top: 14px; }
.a11-section > .is-style-a11-note,
.a11-stack > .is-style-a11-note { margin-top: 16px; }
.a11-section > .is-style-a11-display { margin-top: clamp(20px, 2.6vw, 34px); }
.a11-section > .a11-display--xl,
.a11-section > .is-style-a11-eyebrow:not(.a11-dot) + .is-style-a11-display.a11-display--xl { margin-top: clamp(22px, 3vw, 40px); }
.a11-section > .is-style-a11-eyebrow + .is-style-a11-display { margin-top: clamp(20px, 2.6vw, 34px); }
.a11-section > .is-style-a11-eyebrow:not(.a11-dot) + .is-style-a11-display { margin-top: clamp(18px, 2.4vw, 32px); }
.a11-section > .a11-hero__kicker + .is-style-a11-display { margin-top: 14px; }
.a11-section > .is-style-a11-eyebrow + .a11-hero__kicker { margin-top: 22px; }

.a11-headrow { display: flex; flex-wrap: wrap; gap: 16px; align-items: baseline; justify-content: space-between; }
.a11-numhead { display: flex; gap: 16px; align-items: baseline; }
.a11-numhead > .wp-block-heading { min-width: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-numhead__num { flex: 0 0 auto; font-family: var(--a11-mono); font-size: 11px; line-height: normal; color: var(--accent-ink); }
.a11-headrow > .wp-block-group { min-width: 0; }
.a11-headrow > .wp-block-group > * + * { margin-top: 14px; }
.a11-headrow > .wp-block-group > .wp-block-heading + p { margin-top: 18px; }
:is(.a11-main, .editor-styles-wrapper) .a11-fig { font-family: var(--a11-mono); font-size: 11px; line-height: normal; color: var(--a11-muted); }
.a11-headrow + .a11-code { margin-top: clamp(26px, 3vw, 40px); }

/* 5. Typography ------------------------------------------------------------ */
:where(.a11-main, .editor-styles-wrapper) p { font-size: 14px; line-height: 1.9; color: var(--a11-slate); }
:where(.a11-main, .editor-styles-wrapper) li { color: var(--a11-ink); }

.is-style-a11-eyebrow,
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-eyebrow {
	font-family: var(--a11-mono);
	font-size: 10.5px;
	line-height: normal;
	letter-spacing: 0.2em;
	color: var(--a11-muted);
	text-transform: uppercase;
}
.is-style-a11-eyebrow a { color: inherit; }
.is-style-a11-eyebrow a:hover { color: var(--a11-ink); }
.a11-sep { color: var(--a11-line-strong); margin-inline: clamp(10px, 1.4vw, 18px); }
.a11-dot { display: flex; align-items: center; gap: 11px; }
.a11-dot::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 99px;
	background: var(--accent);
	flex: 0 0 auto;
}
:is(.a11-main, .editor-styles-wrapper) .a11-accent-text,
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-eyebrow.a11-accent-text { color: var(--accent-ink); }

.wp-block-heading.is-style-a11-display,
:where(.a11-main, .editor-styles-wrapper) h1.wp-block-heading {
	font-size: clamp(34px, 5.4vw, 72px);
	line-height: 1.08;
	letter-spacing: -0.035em;
	max-width: 16em;
}
.wp-block-heading.a11-display--xl {
	font-size: clamp(38px, 6.6vw, 88px);
	line-height: 1.06;
	max-width: 15em;
}

:where(.a11-main, .editor-styles-wrapper) h2.wp-block-heading,
.wp-block-heading.is-style-a11-title {
	font-size: clamp(26px, 3.4vw, 44px);
	line-height: 1.18;
	letter-spacing: -0.025em;
	max-width: 20em;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-title-md {
	font-size: clamp(24px, 3vw, 38px);
	line-height: 1.2;
	letter-spacing: -0.025em;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-title-xs {
	font-size: clamp(22px, 2.4vw, 30px);
	line-height: normal;
	letter-spacing: -0.025em;
	max-width: none;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-title-sm {
	font-size: 18px;
	line-height: normal;
	letter-spacing: -0.015em;
}
:where(.a11-main, .editor-styles-wrapper) h3.wp-block-heading,
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-card {
	font-size: 19px;
	line-height: normal;
	letter-spacing: -0.015em;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-card-sm {
	font-size: 17px;
	line-height: normal;
	letter-spacing: -0.01em;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-card-xs { font-size: 16px; line-height: normal; letter-spacing: -0.01em; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-card-2xs { font-size: 15.5px; line-height: normal; letter-spacing: 0; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-card-lg {
	font-size: clamp(24px, 2.4vw, 32px);
	line-height: normal;
	letter-spacing: -0.025em;
}
:where(.a11-main, .editor-styles-wrapper) h4.wp-block-heading { font-size: 15.5px; line-height: normal; }
.a11-num {
	font-family: var(--a11-mono);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.08em;
	color: var(--accent-ink);
	margin-right: clamp(12px, 1.4vw, 18px);
	vertical-align: 0.35em;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading .a11-brand { font-weight: 500; color: var(--a11-muted); }

:is(.a11-main, .editor-styles-wrapper) .is-style-a11-lead {
	font-size: 15px;
	line-height: 1.85;
	color: var(--a11-slate);
	max-width: 40em;
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-lead-lg {
	font-size: clamp(15px, 1.25vw, 18px);
	line-height: 1.85;
	color: var(--a11-slate);
	max-width: 34em;
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-small { font-size: 12.5px; line-height: 1.8; color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-body-sm { font-size: 13.5px; line-height: 1.8; color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-body-xs { font-size: 13px; line-height: 1.8; color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-note {
	font-family: var(--a11-mono);
	font-size: 11px;
	line-height: 1.7;
	color: var(--a11-muted);
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-note + .is-style-a11-note { margin-top: 5px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-quote-lg {
	font-size: clamp(18px, 2.2vw, 28px);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: var(--a11-ink);
	max-width: 22em;
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-snippet {
	font-family: var(--a11-mono);
	font-size: 12px;
	line-height: normal;
	color: var(--a11-ink);
	background: var(--a11-mist-2);
	padding: 10px 12px;
	overflow-x: auto;
	white-space: nowrap;
}
.is-style-a11-snippet code { font: inherit; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-snippet.is-muted { color: var(--a11-slate); white-space: normal; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-stat {
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--a11-ink);
	margin-top: 8px;
}
.a11-unit { font-size: 0.42em; font-weight: 500; }
.a11-unit--lg { font-size: 0.5em; }
:is(.a11-main, .editor-styles-wrapper) .a11-muted { color: var(--a11-muted); }
:is(.a11-main, .editor-styles-wrapper) strong { color: var(--a11-ink); }

/* 6. Buttons --------------------------------------------------------------- */
.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.wp-block-buttons > .wp-block-button { margin: 0; }
.wp-block-button .wp-block-button__link,
.a11-btn {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	line-height: normal;
	text-align: center;
	padding: 14px 26px;
	border: 0;
	border-radius: 2px;
	background: var(--a11-ink);
	color: #FFFFFF;
	cursor: pointer;
	box-shadow: none;
	text-decoration: none;
}
.wp-block-button .wp-block-button__link:hover,
.a11-btn:hover { background: var(--a11-link); border-color: var(--a11-link); color: #FFFFFF; }
.wp-block-button.is-style-a11-outline .wp-block-button__link,
.a11-btn--outline {
	background: transparent;
	color: var(--a11-ink);
	border: 1px solid var(--a11-line-strong);
}
.wp-block-button.is-style-a11-outline .wp-block-button__link:hover,
.a11-btn--outline:hover { background: transparent; color: var(--a11-ink); border-color: var(--a11-ink); }
.wp-block-button.is-style-a11-light .wp-block-button__link { background: #FFFFFF; border-color: #FFFFFF; color: var(--a11-ink); }
.wp-block-button.is-style-a11-light .wp-block-button__link:hover { background: var(--a11-link); border-color: var(--a11-link); color: #FFFFFF; }
.wp-block-button.is-style-a11-outline-light .wp-block-button__link { background: transparent; border: 1px solid #3A3F49; color: #FFFFFF; }
.wp-block-button.is-style-a11-outline-light .wp-block-button__link:hover { border-color: #FFFFFF; color: #FFFFFF; background: transparent; }
.wp-block-buttons.a11-buttons--sm .wp-block-button__link { padding: 13px 24px; }
@media (forced-colors: active) {
	.wp-block-button .wp-block-button__link, .a11-btn, .a11-header__cta { border: 1px solid ButtonText; }
}

/* 7. Links ----------------------------------------------------------------- */
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-more { font-size: 14px; font-weight: 600; line-height: 1.6; color: var(--a11-ink); }
.is-style-a11-more a {
	display: inline-flex;
	align-items: baseline;
	gap: 9px;
	color: var(--a11-ink);
}
.is-style-a11-more a::after { content: "→"; }
.is-style-a11-more a:hover { gap: 15px; color: var(--accent-ink, var(--a11-link)); }
.a11-accent--ink .is-style-a11-more a:hover,
.is-style-a11-more.is-plain a:hover { color: var(--a11-link); }
:is(.a11-main, .editor-styles-wrapper) p a:not(.wp-element-button) { color: var(--a11-ink); font-weight: 600; }
:is(.a11-main, .editor-styles-wrapper) p a:not(.wp-element-button):hover { color: var(--a11-link); }
:is(.a11-main, .editor-styles-wrapper) .a11-prose p a,
:is(.a11-main, .editor-styles-wrapper) .a11-legal p a { text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }

/* 8. Lists ----------------------------------------------------------------- */
:is(.a11-main, .editor-styles-wrapper) .wp-block-list {
	padding-left: 1.4em;
	font-size: 14px;
	line-height: 1.9;
	color: var(--a11-slate);
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-list li + li { margin-top: 4px; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-list[class*="a11-"] { padding-left: 0; list-style: none; line-height: normal; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-list[class*="a11-"] li + li { margin-top: 0; }

/* Tags / chips */
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-tags { display: flex; flex-wrap: wrap; gap: 8px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-tags li {
	font-family: var(--a11-mono);
	font-size: 11px;
	line-height: normal;
	color: var(--a11-slate);
	border: 1px solid var(--a11-line);
	padding: 5px 10px;
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-tags.a11-tags--md li { padding: 6px 12px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-tags.a11-tags--lg li { font-family: var(--a11-sans); font-size: 13.5px; color: var(--a11-ink); border-color: var(--a11-line-strong); padding: 9px 16px; border-radius: 2px; }

/* Dots (hero bullets) */
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-dots { display: flex; flex-wrap: wrap; gap: 10px 28px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-dots li { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-dots li::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 99px;
	background: var(--accent);
	flex: 0 0 auto;
}

/* Dashes */
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-dashes { display: grid; gap: 11px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-dashes li { display: flex; gap: 11px; font-size: 14.5px; line-height: 1.6; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-dashes li::before { content: "—"; color: var(--accent-ink); flex: 0 0 auto; }

/* Checks */
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-checks { display: grid; gap: 9px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-checks li { display: flex; gap: 10px; font-size: 13.5px; line-height: 1.7; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-checks li::before { content: "✓"; color: var(--accent-ink); font-weight: 600; flex: 0 0 auto; }

/* Bullets (long-form lists) */
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-bullets { display: grid; gap: 10px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-bullets li { position: relative; padding-left: 28px; font-size: 14px; line-height: 1.9; color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-bullets li::before { content: "•"; position: absolute; left: 6px; color: var(--a11-line-strong); }

/* Numbered / lettered rows */
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-rows,
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-letters { counter-reset: a11-row; border-top: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-letters { border-top-color: var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-rows li,
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-letters li {
	counter-increment: a11-row;
	display: flex;
	gap: 18px;
	padding: 16px 0;
	border-bottom: 1px solid var(--a11-line);
	font-size: 14px;
	line-height: 1.7;
	color: var(--a11-ink);
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-rows li:last-child { border-bottom-color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-rows li::before,
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-letters li::before {
	content: counter(a11-row, decimal-leading-zero);
	font-family: var(--a11-mono);
	font-size: 11px;
	color: var(--a11-muted);
	flex: 0 0 20px;
	padding-top: 3px;
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-letters li::before { content: counter(a11-row, upper-alpha); flex-basis: 20px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-letters li { padding: 14px 0; }

/* Key–value rows (plans, work styles) */
:is(.a11-main, .editor-styles-wrapper) .a11-kv { border-top: 1px solid var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-kv li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 0;
	border-bottom: 1px solid var(--a11-line);
	font-size: 13px;
	color: var(--a11-slate);
}
:is(.a11-main, .editor-styles-wrapper) .a11-kv li > span:last-child { font-family: var(--a11-mono); font-size: 12.5px; color: var(--a11-ink); text-align: right; }

/* Link rows (business list, picker, stack) */
:is(.a11-main, .editor-styles-wrapper) .a11-rows-link { border-top: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-rows-link li { border-bottom: 1px solid var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-rows-link li:last-child { border-bottom-color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-rows-link a {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 28px;
	padding: 20px 0;
	color: var(--a11-ink);
	font-weight: 400;
}
:is(.a11-main, .editor-styles-wrapper) .a11-rows-link a:hover { background: var(--a11-mist); color: var(--a11-ink); }
.a11-rows-link__title { font-size: 15.5px; font-weight: 600; flex: 0 0 260px; min-width: 0; }
.a11-rows-link__desc { font-size: 13.5px; color: var(--a11-slate); flex: 1 1 240px; min-width: 0; }
.a11-rows-link a::after { content: "→"; font-family: var(--a11-mono); font-size: 13px; color: var(--a11-muted); margin-left: auto; }

/* The stack (home) */
:is(.a11-main, .editor-styles-wrapper) .a11-stacklist { border-top: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-stacklist li { border-bottom: 1px solid var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-stacklist li:last-child { border-bottom-color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-stacklist a {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: clamp(14px, 2.4vw, 36px);
	padding: clamp(22px, 2.6vw, 34px) 0;
	color: var(--a11-ink);
	font-weight: 400;
}
:is(.a11-main, .editor-styles-wrapper) .a11-stacklist a:hover { background: var(--a11-mist); color: var(--a11-ink); }
.a11-stack__num { font-family: var(--a11-mono); font-size: 11px; letter-spacing: 0.16em; color: var(--a11-muted); width: 100px; flex: 0 0 auto; }
.a11-stack__name {
	flex: 0 0 auto;
	min-width: 200px;
	font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 700;
	letter-spacing: -0.02em;
}
.a11-stack__name::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 99px; background: var(--accent); margin-right: 11px; vertical-align: 0.22em; }
.a11-stack__brand { font-weight: 500; color: var(--a11-muted); }
.a11-stack__sub { font-size: 14px; font-weight: 500; flex: 0 0 auto; }
.a11-stack__desc { font-size: 14px; color: var(--a11-slate); flex: 1 1 260px; min-width: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-stacklist a::after { content: "→"; font-family: var(--a11-mono); font-size: 13px; color: var(--a11-muted); flex: 0 0 auto; }

/* Where to start (picker) */
:is(.a11-main, .editor-styles-wrapper) .a11-picker { border-top: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-picker li { border-bottom: 1px solid var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-picker li:last-child { border-bottom-color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-picker a {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px 24px;
	padding: 20px 0;
	color: var(--a11-ink);
	font-weight: 400;
}
.a11-picker__q { flex: 1 1 280px; min-width: 0; font-size: 15px; }
.a11-picker__t { display: flex; align-items: center; gap: 9px; flex: 0 0 auto; font-size: 14px; font-weight: 600; }
.a11-picker__t::before { content: ""; width: 7px; height: 7px; border-radius: 99px; background: var(--accent); }
.a11-picker__t.is-plain::before { content: none; }
:is(.a11-main, .editor-styles-wrapper) .a11-picker a:hover .a11-picker__t { color: var(--accent-ink); }
.a11-picker li:last-child .a11-picker__q { color: var(--a11-slate); }

/* Timeline / schedule */
:is(.a11-main, .editor-styles-wrapper) .a11-timeline { border-top: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-timeline li {
	display: flex;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--a11-line);
	font-size: 14px;
	line-height: 1.7;
}
:is(.a11-main, .editor-styles-wrapper) .a11-timeline li:last-child { border-bottom-color: var(--a11-ink); }
.a11-timeline__time { font-family: var(--a11-mono); font-size: 12px; color: var(--a11-muted); flex: 0 0 56px; padding-top: 2px; }
.a11-timeline__body { flex: 1 1 auto; min-width: 0; }
.a11-timeline__body strong { display: block; font-size: 14px; }
.a11-timeline__body .a11-timeline__desc { display: block; font-size: 13px; color: var(--a11-slate); margin-top: 3px; }

/* Dialogue (crosstalk) */
:is(.a11-main, .editor-styles-wrapper) .a11-dialogue li {
	display: flex;
	gap: clamp(16px, 3vw, 48px);
	padding: 18px 0;
	border-bottom: 1px solid var(--a11-line);
	font-size: 14px;
	line-height: 1.95;
	color: var(--a11-slate);
}
.a11-dialogue__who {
	flex: 0 0 62px;
	font-family: var(--a11-mono);
	font-size: 11.5px;
	letter-spacing: 0.08em;
	color: var(--accent-ink);
	padding-top: 3px;
}
.a11-dialogue__text { flex: 1 1 auto; min-width: 0; }

/* Ranking (careers infographic) */
:is(.a11-main, .editor-styles-wrapper) .a11-ranks { counter-reset: a11-rank; border: 1px solid var(--a11-line); border-top: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-ranks li {
	counter-increment: a11-rank;
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding: clamp(18px, 2.2vw, 26px);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
}
:is(.a11-main, .editor-styles-wrapper) .a11-ranks li + li { border-top: 1px solid var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-ranks li::before {
	content: counter(a11-rank);
	font-family: var(--a11-mono);
	font-size: 26px;
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: normal;
	color: #2B7EC9;
	flex: 0 0 auto;
}
:is(.a11-main, .editor-styles-wrapper) .a11-ranks li:nth-child(n+2)::before { color: var(--a11-faint); }

/* 9. Tables ---------------------------------------------------------------- */
:is(.a11-main, .editor-styles-wrapper) .wp-block-table { margin: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table table { width: 100%; border-collapse: collapse; font-size: 13.5px; line-height: normal; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table thead { border: 0; border-top: 1px solid var(--a11-ink); border-bottom: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table tfoot { border-top: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table th,
:is(.a11-main, .editor-styles-wrapper) .wp-block-table td {
	border: 0;
	padding: 14px 16px 14px 0;
	text-align: left;
	vertical-align: top;
	color: var(--a11-ink);
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-table thead th { font-size: 12px; font-weight: 600; white-space: nowrap; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table tbody tr { border-bottom: 1px solid var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table tbody tr:last-child { border-bottom-color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table tbody th { font-weight: 600; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table tr > :not(:first-child) { padding-left: 16px; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table tr > :last-child { padding-right: 0; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table .wp-element-caption,
:is(.a11-main, .editor-styles-wrapper) .wp-block-table figcaption {
	margin-top: 16px;
	font-family: var(--a11-mono);
	font-size: 11px;
	line-height: 1.7;
	color: var(--a11-muted);
	text-align: left;
	caption-side: bottom;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-table code,
.a11-mono { font-family: var(--a11-mono); font-size: 12.5px; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-table .a11-muted { color: var(--a11-muted); }

:is(.a11-main, .editor-styles-wrapper) .is-style-a11-numeric table { min-width: 760px; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-numeric th:not(:first-child),
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-numeric td:not(:first-child) {
	text-align: right;
	font-family: var(--a11-mono);
	font-size: 13px;
	padding-left: 16px;
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-numeric thead th:not(:first-child) { font-size: 11.5px; font-weight: 500; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--compare th:nth-child(n+5),
:is(.a11-main, .editor-styles-wrapper) .a11-table--compare td:nth-child(n+5) { color: var(--a11-muted); }
:is(.a11-main, .editor-styles-wrapper) .a11-table--compare td:not(:first-child) strong { font-weight: 500; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--prices td:nth-child(5) { color: var(--a11-muted); }
:is(.a11-main, .editor-styles-wrapper) .a11-table--prices td:nth-child(2) { font-family: var(--a11-mono); font-size: 12.5px; font-weight: 500; text-align: left; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--prices.is-style-a11-numeric thead th { font-family: var(--a11-sans); font-size: 12px; font-weight: 600; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--prices th:nth-child(2) { text-align: left; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--prices tbody td { padding-top: 16px; padding-bottom: 16px; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--prices table { min-width: 680px; }
/* Secondary price table: lighter header rule, tighter rows, regular model names. */
:is(.a11-main, .editor-styles-wrapper) .a11-table--sub thead { border-bottom-color: var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-table--sub thead th { padding-top: 12px; padding-bottom: 12px; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--sub tbody td { padding-top: 14px; padding-bottom: 14px; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--sub td:nth-child(2) { font-weight: 400; }

:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec table { min-width: 0; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec tbody th,
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec tbody td:first-child {
	width: 154px;
	font-size: 13px;
	font-weight: 400;
	color: var(--a11-muted);
	padding: 16px 24px 16px 0;
}
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec tbody td { padding: 16px 0; font-size: 14.5px; line-height: 1.7; }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec tbody tr:first-child { border-top: 1px solid var(--a11-ink); }

:is(.a11-main, .editor-styles-wrapper) .a11-table--mono td:nth-child(2) { font-family: var(--a11-mono); font-size: 13px; font-weight: 500; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--mono tbody td { padding-top: 16px; padding-bottom: 16px; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--mono table { min-width: 560px; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--mono td:nth-child(3) { color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .a11-table--plain td:not(:first-child) { color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .a11-table--plain td:first-child { font-weight: 600; white-space: nowrap; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--plain td:nth-child(2) { font-family: var(--a11-mono); font-size: 13px; white-space: nowrap; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--plain.a11-table--text td:nth-child(2) { font-family: var(--a11-sans); font-size: 13.5px; white-space: normal; }

@media (max-width: 700px) {
	:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec tbody tr { display: grid; }
	:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec tbody th,
	:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec tbody td:first-child { width: auto; padding: 14px 0 2px; }
	:is(.a11-main, .editor-styles-wrapper) .is-style-a11-spec tbody td { padding: 2px 0 14px; }
}

/* 10. Components ----------------------------------------------------------- */

/* Generic stacks & grids */
.a11-stack > * { margin-top: 0; }
.a11-grid { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: var(--gap, clamp(24px, 3vw, 44px)); }
.a11-grid--2 { --cols: 2; }
.a11-grid--3 { --cols: 3; }
.a11-grid--4 { --cols: 4; }
.a11-grid--5 { --cols: 5; }
.a11-grid--tight { --gap: clamp(20px, 2.4vw, 32px); }

/* Bordered card grid: cells draw their own right/bottom borders, so rows that
   are not full never show a filler area. */
.a11-cards {
	display: grid;
	grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
	border-top: 1px solid var(--a11-line);
	border-left: 1px solid var(--a11-line);
}
.a11-cards--2 { --cols: 2; }
.a11-cards--3 { --cols: 3; }
.a11-cards--4 { --cols: 4; }
.a11-cards--5 { --cols: 5; }
.a11-cards > * {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: clamp(24px, 2.6vw, 36px);
	background: #FFFFFF;
	border-right: 1px solid var(--a11-line);
	border-bottom: 1px solid var(--a11-line);
}
.a11-cards--roomy > * { padding: clamp(26px, 3vw, 42px); }
.a11-cards--features > * { padding: clamp(26px, 3vw, 44px); }
.a11-cards--features > * > .is-style-a11-eyebrow { letter-spacing: 0.18em; }
.a11-cards--features > * > .is-style-a11-eyebrow + .wp-block-heading { margin-top: 16px; }
.a11-cards--features > * > .wp-block-heading + p { margin-top: 14px; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--features p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 14px; line-height: 1.85; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--features .is-style-a11-note { line-height: normal; margin-top: 16px; }
.a11-cards--compact > * { padding: clamp(22px, 2.4vw, 32px); }
.a11-cards > * > * + * { margin-top: 12px; }
.a11-cards > * > .is-style-a11-eyebrow + * { margin-top: 14px; }
.a11-cards > * > .wp-block-heading + p { margin-top: 10px; }
.a11-cards p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13.5px; line-height: 1.8; }
.a11-cards > * > .is-style-a11-more { margin-top: auto; padding-top: 26px; }
.a11-cards > * > .is-style-a11-snippet { margin-top: 18px; }
.a11-cards > * > .is-style-a11-tags { margin-top: 22px; }
.a11-cards > * > .a11-ph { margin-top: 24px; }
.a11-cards > * > :has(+ .a11-ph) { flex-grow: 1; }
.a11-cards .is-style-a11-eyebrow { letter-spacing: 0.16em; }
/* Product cards (accent bar): eyebrow row, large title, body copy. */
.a11-cards .a11-card--bar > .is-style-a11-eyebrow { letter-spacing: 0.18em; }
.a11-cards > .a11-card--bar > .is-style-a11-eyebrow + .wp-block-heading { margin-top: 20px; }
.a11-cards > .a11-card--bar > .wp-block-heading + p { margin-top: 12px; }
:is(.a11-main, .editor-styles-wrapper) .a11-card--bar > p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 14.5px; line-height: 1.8; }
.a11-card--link > p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { flex-grow: 1; }
.a11-cards--accent .is-style-a11-eyebrow,
.a11-card--accent > .is-style-a11-eyebrow { color: var(--accent-ink); }

/* Accent bar in the top-right corner of a card. */
.a11-card--bar::before {
	content: "";
	position: absolute;
	top: calc(clamp(26px, 3vw, 42px) + 7px);
	right: clamp(26px, 3vw, 42px);
	width: 26px;
	height: 3px;
	background: var(--accent);
}
/* Whole card clickable through its arrow link. */
.a11-card--link .is-style-a11-more a::before { content: ""; position: absolute; inset: 0; }
.a11-cards > .a11-card--plainlink > .is-style-a11-more { padding-top: 0; margin-top: 20px; font-size: 13.5px; }
.a11-card--plainlink .is-style-a11-more a { gap: 0.3em; }
.a11-card--plainlink .is-style-a11-more a::after { content: none; }
.a11-card--link:hover { background: #FAFAFB; }

.a11-cards--dark { border-color: var(--a11-dark-line); }
.a11-cards--dark > * { background: var(--a11-night); border-color: var(--a11-dark-line); }
.a11-cards--dark .is-style-a11-eyebrow { color: #67AAED; }
.a11-cards--dark .wp-block-heading { color: #FFFFFF; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--dark p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { color: var(--a11-dark-text); font-size: 13px; line-height: 1.85; }
.a11-cards--dark > .a11-card--note { background: var(--a11-night-2); justify-content: flex-end; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--dark .is-style-a11-more a { color: #FFFFFF; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--dark .is-style-a11-more a:hover { color: #86C3FF; }

@media (max-width: 1099.98px) {
	.a11-cards--4, .a11-grid--4, .a11-points--4 { --cols: 2; }
	.a11-cards--5, .a11-grid--5, .a11-points--5, .a11-stats--5 { --cols: 3; }
}
@media (max-width: 859.98px) {
	.a11-cards--3, .a11-grid--3, .a11-points--3 { --cols: 1; }
	.a11-cards--5, .a11-grid--5, .a11-points--5, .a11-stats--5 { --cols: 2; }
}
@media (max-width: 699.98px) {
	.a11-cards--2, .a11-cards--4, .a11-grid--2, .a11-grid--4, .a11-points--2, .a11-points--4 { --cols: 1; }
}
@media (max-width: 479.98px) {
	.a11-cards--5, .a11-grid--5, .a11-points--5 { --cols: 1; }
}

/* Numbered points with a rule on top */
.a11-points {
	display: grid;
	grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
	gap: clamp(24px, 3vw, 44px);
}
.a11-points--2 { --cols: 2; }
.a11-points--3 { --cols: 3; }
.a11-points--4 { --cols: 4; }
.a11-points--5 { --cols: 5; gap: clamp(20px, 2.4vw, 36px); }
.a11-points.a11-points--5 > * { padding-top: 16px; }
.a11-points.a11-points--5 > * > .is-style-a11-eyebrow { letter-spacing: 0; }
.a11-points.a11-points--5 > * > .is-style-a11-eyebrow + .wp-block-heading { margin-top: 9px; }
.a11-points.a11-points--5 > * > .wp-block-heading + p { margin-top: 7px; }
.a11-points--gap-48 { gap: clamp(24px, 3vw, 48px); }
.a11-points > * { border-top: 1px solid var(--a11-ink); padding-top: 20px; min-width: 0; }
.a11-points--light > * { border-top-color: var(--a11-line); padding-top: 18px; }
.a11-points > * > * + * { margin-top: 10px; }
.a11-points > * > .is-style-a11-eyebrow { letter-spacing: 0.16em; }
.a11-points > * > .is-style-a11-eyebrow + .wp-block-heading { margin-top: 12px; }
.a11-points .wp-block-heading { font-size: 17px; letter-spacing: -0.01em; }
.a11-points p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13.5px; line-height: 1.8; }
.a11-points--5 .wp-block-heading { font-size: 15.5px; }
.a11-points--5 p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13px; }

/* Statistics */
.a11-stats {
	display: grid;
	grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr));
	border-top: 1px solid var(--a11-ink);
}
.a11-stats--3 { --cols: 3; }
.a11-stats--4 { --cols: 4; }
.a11-stats--5 { --cols: 5; }
.a11-stats > * { padding: 22px 22px 24px; border-right: 1px solid var(--a11-line); min-width: 0; }
.a11-stats > :first-child { padding-left: 0; }
.a11-stats > :last-child { border-right: 0; padding-right: 0; }
.a11-stats > * > * + * { margin-top: 6px; }
.a11-stats .a11-stat__label,
:is(.a11-main, .editor-styles-wrapper) .a11-stat__label {
	font-family: var(--a11-mono);
	font-size: 10px;
	letter-spacing: 0.16em;
	line-height: normal;
	color: var(--a11-muted);
	text-transform: uppercase;
}
.a11-stats .is-style-a11-stat { margin-top: 8px; }
:is(.a11-main, .editor-styles-wrapper) .a11-stats p.a11-stat__caption { font-size: 12.5px; line-height: normal; color: var(--a11-slate); }
.a11-stat__caption .a11-muted { color: var(--a11-muted); }
.a11-stats--md .is-style-a11-stat { font-size: clamp(26px, 3vw, 38px); }
.a11-stats--md .a11-unit { font-size: 0.45em; }

/* Four-up key figures: equal cells split by hairlines. The grid bleeds 22px
   into the gutter on both sides and is clipped back to the content edge, so
   every cell gets the same inner padding. */
.a11-stats--4 {
	gap: 1px;
	margin-inline: -22px;
	padding-top: 1px;
	border-top: 0;
	background: linear-gradient(var(--a11-ink) 0 0) top / 100% 1px no-repeat, var(--a11-line);
	clip-path: inset(0 22px);
}
.a11-stats--4 > *,
.a11-stats--4 > :first-child,
.a11-stats--4 > :last-child { padding: 22px 22px 24px; border: 0; background: #FFFFFF; }
.a11-section:has(> .a11-stats--4) { overflow-x: clip; }
@media (max-width: 639.98px) {
	.a11-stats--4 { --cols: 2; }
}
.a11-stats--boxed { border: 1px solid var(--a11-line); }
.a11-stats--boxed > *,
.a11-stats--boxed > :first-child,
.a11-stats--boxed > :last-child { padding: clamp(18px, 2vw, 26px); }
:is(.a11-main, .editor-styles-wrapper) .a11-stats--boxed .is-style-a11-stat { font-size: clamp(24px, 2.6vw, 34px); line-height: normal; margin-top: 10px; }
.a11-stats--boxed > * > .a11-stat__caption { margin-top: 4px; }
@media (max-width: 599.98px) {
	.a11-stats--3 { --cols: 1; }
	.a11-stats--3 > * { border-right: 0; padding-inline: 0; }
	.a11-stats--3 > * + * { border-top: 1px solid var(--a11-line); }
}
.a11-stats--boxed > * { border-bottom: 0; }
@media (max-width: 1099.98px) {
	.a11-stats--boxed > * { border-top: 1px solid var(--a11-line); }
	.a11-stats--boxed > :nth-child(-n+3) { border-top: 0; }
	.a11-stats--boxed > :nth-child(3n) { border-right: 0; }
}
@media (max-width: 859.98px) {
	.a11-stats--boxed > :nth-child(3n) { border-right: 1px solid var(--a11-line); }
	.a11-stats--boxed > :nth-child(-n+3) { border-top: 1px solid var(--a11-line); }
	.a11-stats--boxed > :nth-child(-n+2) { border-top: 0; }
	.a11-stats--boxed > :nth-child(2n) { border-right: 0; }
}

/* Split layout: heading column (one third) + content column (two thirds) */
.a11-split {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
}
.a11-split > * { min-width: 0; }
.a11-split > :last-child { grid-column: span 2; }
.a11-split--even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.a11-split--even > :last-child { grid-column: auto; }
.a11-split--g64 { gap: clamp(28px, 4vw, 64px); }
.a11-split--g72 { gap: clamp(28px, 4vw, 72px); }
.a11-split > .wp-block-group > * + * { margin-top: 18px; }
.a11-split > .wp-block-group > .is-style-a11-eyebrow + * { margin-top: 14px; }
.a11-split > .wp-block-group > .wp-block-heading + p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { margin-top: 20px; }
:is(.a11-main, .editor-styles-wrapper) .a11-split > .wp-block-group:first-child > p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 14.5px; line-height: 1.85; max-width: 32em; }
.a11-split > .wp-block-group > .is-style-a11-more { margin-top: 22px; }
.a11-split > .wp-block-group > .wp-block-buttons { margin-top: 24px; }
@media (max-width: 1124.98px) {
	.a11-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 705.98px) {
	.a11-split, .a11-split--even { grid-template-columns: minmax(0, 1fr); }
	.a11-split > :last-child { grid-column: auto; }
}

/* Feature rows: text + media. Rows are separated by a hairline (ink above
   the first row, ink below the last). */
.a11-features { border-bottom: 1px solid var(--a11-ink); padding-bottom: clamp(28px, 3.5vw, 48px); }
.a11-feature {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 3.5vw, 56px);
	align-items: center;
	padding-top: clamp(28px, 3.5vw, 48px);
	border-top: 1px solid var(--a11-line);
}
.a11-feature:first-child { border-top-color: var(--a11-ink); }
.a11-feature + .a11-feature { margin-top: clamp(32px, 4vw, 56px); }
.a11-features--roomy > .a11-feature + .a11-feature { margin-top: clamp(36px, 4.5vw, 64px); }
.a11-feature > * { min-width: 0; }
.a11-feature > .wp-block-group > * + * { margin-top: 14px; }
.a11-feature > .wp-block-group > .is-style-a11-eyebrow { color: var(--accent-ink); letter-spacing: 0.18em; }
.a11-feature > .wp-block-group > .wp-block-heading { font-size: clamp(20px, 2.2vw, 28px); letter-spacing: -0.02em; line-height: normal; }
:is(.a11-main, .editor-styles-wrapper) .a11-feature > .wp-block-group > p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { line-height: 1.85; }
.a11-feature > .wp-block-group > .is-style-a11-tags { margin-top: 18px; }
.a11-feature--stack { grid-template-columns: minmax(0, 1fr); }
.a11-feature > .wp-block-group > .a11-subitems { margin-top: 20px; display: grid; gap: 14px; }
.a11-subitems > * { border-top: 1px solid var(--a11-line); padding-top: 12px; }
.a11-subitems > * > * + * { margin-top: 6px; }
:is(.a11-main, .editor-styles-wrapper) .a11-subitems .wp-block-heading { font-size: 14.5px; font-weight: 600; line-height: normal; letter-spacing: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-subitems p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13px; line-height: 1.8; }
@media (max-width: 750.98px) {
	.a11-feature { grid-template-columns: minmax(0, 1fr); }
}

/* Media placeholders (swap for an Image block when screenshots exist) */
.a11-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 150px;
	border: 1px solid var(--a11-line);
	background-color: #FFFFFF;
	background-image: repeating-linear-gradient(135deg, var(--a11-mist-2) 0 7px, #FFFFFF 7px 14px);
	text-align: center;
}
:is(.a11-main, .editor-styles-wrapper) .a11-ph p,
.a11-ph__label {
	font-family: var(--a11-mono);
	font-size: 10.5px;
	letter-spacing: 0.12em;
	line-height: 1.6;
	color: var(--a11-muted);
	background: #FFFFFF;
	padding: 5px 11px;
	margin: 0 12px;
}
.a11-ph--hero { min-height: clamp(240px, 34vw, 480px); }
.a11-ph--hero-sm { min-height: clamp(240px, 32vw, 440px); }
.a11-ph--wide { min-height: clamp(240px, 30vw, 420px); }
.a11-ph--feature { min-height: clamp(200px, 24vw, 300px); }
.a11-ph--feature-lg { min-height: clamp(230px, 26vw, 340px); }
.a11-ph--md { min-height: clamp(180px, 20vw, 260px); }
.a11-ph--half { min-height: clamp(170px, 18vw, 230px); }
:is(.a11-main, .editor-styles-wrapper) :is(.a11-ph--hero, .a11-ph--hero-sm) p { font-size: 11px; padding: 7px 14px; }
:is(.a11-main, .editor-styles-wrapper) :is(.a11-ph--wide, .a11-ph--feature, .a11-ph--feature-lg, .a11-ph--md, .a11-ph--half, .a11-ph--tall) p { padding: 6px 12px; }
.a11-ph--portrait { min-height: 0; aspect-ratio: 3 / 4; align-items: flex-end; justify-content: flex-start; padding: 16px; }
.a11-ph--photo { min-height: 0; aspect-ratio: 1; background-image: repeating-linear-gradient(45deg, var(--a11-mist-2) 0 10px, #ECECEF 10px 20px); border-color: var(--a11-line); align-items: flex-end; justify-content: flex-start; padding: 12px; }
:is(.a11-main, .editor-styles-wrapper) .a11-ph--portrait p,
:is(.a11-main, .editor-styles-wrapper) .a11-ph--photo p { background: transparent; padding: 0; margin: 0; font-size: 10px; letter-spacing: 0.1em; }
:is(.a11-main, .editor-styles-wrapper) .a11-ph--portrait p { font-size: 10.5px; letter-spacing: 0.12em; }
.a11-ph--thumb { min-height: 0; aspect-ratio: 1; width: 105px; flex: 0 0 105px; }
.a11-media-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.a11-media-pair > * { min-width: 0; }
.a11-media-pair > .wp-block-group > * + * { margin-top: 10px; }
@media (max-width: 699.98px) { .a11-media-pair { grid-template-columns: minmax(0, 1fr); } }

/* Boxes & callouts */
.wp-block-group.is-style-a11-box,
.a11-box {
	border: 1px solid var(--a11-ink);
	padding: clamp(24px, 3vw, 40px);
}
.a11-box--light { border: 1px solid var(--a11-line); padding: clamp(24px, 3vw, 40px); }
.is-style-a11-box > * + *,
.a11-box > * + *,
.a11-box--light > * + * { margin-top: 12px; }
.a11-box--row {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
}
.a11-box--row > * + * { margin-top: 0; }
.a11-box--row > .wp-block-group { flex: 1 1 420px; min-width: 0; }
.a11-box--row > .wp-block-group > * + * { margin-top: 10px; }
.a11-box--row .wp-block-heading { font-size: 19px; }
:is(.a11-main, .editor-styles-wrapper) .a11-box--row.a11-box--xl .wp-block-heading { font-size: clamp(20px, 2.2vw, 26px); letter-spacing: -0.02em; line-height: normal; max-width: none; }
.a11-box.a11-box--xl { padding: clamp(24px, 3vw, 44px); }

.wp-block-group.is-style-a11-callout {
	background: var(--a11-mist-2);
	border-left: 2px solid var(--accent);
	padding: clamp(26px, 3vw, 44px);
}

.a11-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 44px); }
.a11-duo > * { min-width: 0; }
@media (max-width: 859.98px) { .a11-duo { grid-template-columns: minmax(0, 1fr); } }

/* Quotes: customer voices */
:is(.a11-main, .editor-styles-wrapper) .wp-block-quote.is-style-a11-voice {
	border: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-quote.is-style-a11-voice p { font-size: 14.5px; line-height: 1.85; color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .wp-block-quote.is-style-a11-voice cite {
	display: block;
	padding-top: 16px;
	border-top: 1px solid var(--a11-line);
	font-style: normal;
	font-size: 12px;
	line-height: normal;
	color: var(--a11-muted);
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-quote.is-style-a11-voice cite strong { display: block; font-size: 13px; font-weight: 600; color: var(--a11-ink); margin-bottom: 3px; }

/* Code */
:is(.a11-main, .editor-styles-wrapper) .wp-block-code,
.a11-code__pre {
	margin: 0;
	padding: clamp(20px, 2.4vw, 32px);
	overflow-x: auto;
	background: var(--a11-night);
	color: #E4E6EA;
	font-family: var(--a11-mono);
	font-size: 13px;
	line-height: 1.85;
	border: 0;
	border-radius: 0;
	tab-size: 4;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-code code,
.a11-code__pre code { font-family: inherit; white-space: pre; }
.a11-code__c { color: #60AAF3; }
.a11-code__s { color: var(--a11-faint); }

/* 11. Interactive ------------------------------------------------------------ */

/* Tabs (progressively enhanced by main.js) */
.a11-tabs__list {
	display: flex;
	gap: 2px;
	border-bottom: 1px solid var(--a11-ink);
	overflow-x: auto;
	scrollbar-width: none;
}
.a11-tabs__tab {
	flex: 0 0 auto;
	background: var(--a11-mist-2);
	color: var(--a11-slate);
	border: 0;
	padding: 14px 24px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.5;
	cursor: pointer;
	white-space: nowrap;
}
.a11-tabs__tab:hover { color: var(--a11-ink); }
.a11-tabs__tab[aria-selected="true"] { background: var(--a11-ink); color: #FFFFFF; }
.js .a11-tabs__label[hidden],
.a11-tabs__panel[hidden] { display: none; }
.no-js .a11-tabs__panel + .a11-tabs__panel { margin-top: var(--a11-stack-gap); }
.a11-tabs__panel { outline: none; }
.a11-tabs__panels > * + * { margin-top: 0; }
.a11-tabs__label { font-family: var(--a11-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--a11-muted); margin-bottom: 14px; }
.a11-tabs > .a11-tabs__panel > * + *,
.a11-tabs__panel > * + * { margin-top: clamp(22px, 2.6vw, 34px); }
.a11-tabs__panel > .a11-tabs__label + * { margin-top: 0; }

/* Code-sample tabs (dark) */
.a11-code { border: 1px solid var(--a11-ink); background: var(--a11-night); }
.a11-code .a11-tabs__list { border-bottom: 1px solid var(--a11-dark-line); gap: 0; align-items: stretch; }
.a11-code .a11-tabs__tab {
	position: relative;
	background: none;
	color: var(--a11-dark-text);
	font-family: var(--a11-mono);
	font-size: 12px;
	font-weight: 400;
	line-height: normal;
	padding: 14px 20px;
}
.a11-code .a11-tabs__tab:hover { color: #FFFFFF; }
.a11-code .a11-tabs__tab[aria-selected="true"] { background: none; color: var(--a11-dark-text); }
.a11-code .a11-tabs__tab[aria-selected="true"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: #4C9DEB;
}
:is(.a11-main, .editor-styles-wrapper) .a11-code .a11-tabs__meta {
	margin: 0 0 0 auto;
	padding: 15px 20px;
	font-family: var(--a11-mono);
	font-size: 11px;
	line-height: normal;
	color: var(--a11-muted);
	white-space: nowrap;
}
.no-js .a11-code .a11-tabs__meta,
.a11-code > .a11-tabs__meta { padding: 12px 20px 0; }
.a11-code .a11-tabs__label { color: var(--a11-faint); padding: 16px 20px 0; margin: 0; }
.a11-code .a11-tabs__panel + .a11-tabs__panel { margin-top: 0; border-top: 1px solid var(--a11-dark-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-code .a11-tabs__panel > .a11-code__pre { margin-top: 0; }
@media (max-width: 599.98px) { .a11-code .a11-tabs__meta { display: none; } }

/* FAQ (details) */
.a11-faq { border-top: 1px solid var(--a11-ink); border-bottom: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .wp-block-details { border-bottom: 1px solid var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-faq .wp-block-details:last-child { border-bottom: 0; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-details summary {
	display: flex;
	align-items: baseline;
	gap: 20px;
	padding: 18px 0;
	font-size: 15px;
	font-weight: 600;
	line-height: normal;
	cursor: pointer;
	list-style: none;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-details summary::-webkit-details-marker { display: none; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-details summary::after {
	content: "+";
	margin-left: auto;
	font-family: var(--a11-mono);
	font-size: 13px;
	font-weight: 500;
	color: var(--a11-muted);
	flex: 0 0 auto;
}
:is(.a11-main, .editor-styles-wrapper) .wp-block-details[open] summary::after { content: "−"; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-details summary:hover { color: var(--a11-link); }
:is(.a11-main, .editor-styles-wrapper) .wp-block-details > :not(summary) { font-size: 14px; line-height: 1.9; color: var(--a11-slate); padding: 0 0 20px; margin: 0; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-details > :not(summary) + :not(summary) { margin-top: -8px; }
.a11-faq--q summary::before {
	content: "Q";
	font-family: var(--a11-mono);
	font-size: 13px;
	font-weight: 500;
	color: #2B7EC9;
	flex: 0 0 auto;
}
:is(.a11-main, .editor-styles-wrapper) .a11-faq--q .wp-block-details summary { gap: 16px; padding: 20px 0; font-size: 15.5px; line-height: 1.6; }
:is(.a11-main, .editor-styles-wrapper) .a11-faq--q .wp-block-details summary::after { content: "＋"; font-size: 11px; font-weight: 400; }
:is(.a11-main, .editor-styles-wrapper) .a11-faq--q .wp-block-details[open] summary::after { content: "－"; }
:is(.a11-main, .editor-styles-wrapper) .a11-faq--q .wp-block-details > :not(summary) { padding: 0 0 22px 29px; line-height: 1.95; max-width: calc(52em + 29px); }

/* Video facade */
.a11-video {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--a11-night);
	overflow: hidden;
}
.a11-video__play {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 100%;
	border: 0;
	cursor: pointer;
	color: #FFFFFF;
	background-color: var(--a11-night);
	background-image: repeating-linear-gradient(135deg, #1A1E27 0 8px, #12151C 8px 16px);
}
.a11-video__play:hover { background-image: repeating-linear-gradient(135deg, #1E2330 0 8px, #141822 8px 16px); }
.a11-video__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid #3A3F49;
	font-size: 15px;
	padding-left: 4px;
}
.a11-video__label { font-family: var(--a11-mono); font-size: 10.5px; letter-spacing: 0.16em; color: var(--a11-faint); }
.a11-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.a11-demo {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 44px);
	align-items: center;
	border: 1px solid var(--a11-ink);
	padding: clamp(24px, 3vw, 40px);
}
.a11-demo > * { min-width: 0; }
.a11-demo > .wp-block-group > * + * { margin-top: 12px; }
.a11-demo > .wp-block-group > .is-style-a11-eyebrow { letter-spacing: 0.18em; }
:is(.a11-main, .editor-styles-wrapper) .a11-demo > .wp-block-group > .wp-block-heading { font-size: clamp(19px, 2.1vw, 25px); letter-spacing: -0.02em; line-height: normal; }
:is(.a11-main, .editor-styles-wrapper) .a11-demo > .wp-block-group > p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13.5px; line-height: 1.8; max-width: 40em; }
:is(.a11-main, .editor-styles-wrapper) .a11-demo > .wp-block-group > .is-style-a11-more { font-size: 13.5px; margin-top: 20px; }
.a11-demo .is-style-a11-more a { gap: 8px; }
.a11-demo .a11-video { border: 1px solid var(--a11-line); }
@media (max-width: 787.98px) { .a11-demo { grid-template-columns: minmax(0, 1fr); } }

/* Cost ratio bars */
.a11-bars { display: grid; gap: 18px; align-content: center; }
.a11-bar__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-family: var(--a11-mono); font-size: 12px; line-height: normal; color: var(--a11-slate); }
.a11-bar__head strong { font-size: 13px; font-weight: 400; color: var(--a11-slate); }
.a11-bar--brand .a11-bar__head { color: var(--a11-ink); }
.a11-bar--brand .a11-bar__head strong { font-weight: 500; color: var(--a11-ink); }
.a11-bar__track { margin-top: 8px; height: 10px; background: var(--a11-line); }
.a11-bar__fill { display: block; height: 100%; background: #C4C0B6; }
.a11-bar--brand .a11-bar__fill { background: #2B7EC9; }
:is(.a11-main, .editor-styles-wrapper) .a11-bars__note { font-family: var(--a11-mono); font-size: 11px; line-height: normal; color: var(--a11-muted); }

/* Sticky in-page navigation (recruitment) */
.a11-anchors {
	position: sticky;
	top: var(--a11-header-h);
	z-index: 30;
	margin-top: clamp(40px, 5vw, 72px);
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--a11-line);
}
.admin-bar .a11-anchors { top: calc(var(--a11-header-h) + 32px); }
.a11-anchors ul {
	max-width: var(--a11-max);
	margin: 0 auto;
	padding: 0 var(--a11-gutter);
	display: flex;
	gap: clamp(14px, 2vw, 30px);
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}
.a11-anchors a { display: block; padding: 16px 0; font-size: 13px; font-weight: 500; color: var(--a11-slate); white-space: nowrap; }
.a11-anchors a:hover,
.a11-anchors a.is-current { color: var(--a11-ink); }
.a11-anchored { scroll-margin-top: calc(var(--a11-header-h) + 70px); }

/* 12. Page modules ------------------------------------------------------------ */

/* Hero row: lead + actions */
.a11-hero__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: clamp(24px, 4vw, 64px);
}
.a11-section > .a11-hero__row { margin-top: clamp(24px, 3vw, 44px); }
.a11-hero__row > p,
.a11-hero__row > .wp-block-group { flex: 1 1 360px; min-width: 0; margin: 0; }
.a11-hero__row > .wp-block-buttons { flex: 0 1 auto; }
.a11-hero__row--split > .wp-block-group { flex: 1 1 520px; }
.a11-hero__row--split > .wp-block-buttons { margin-left: auto; }
:is(.a11-main, .editor-styles-wrapper) .a11-hero__kicker { font-size: 13px; line-height: normal; color: var(--a11-slate); }
.a11-section > .is-style-a11-dots { margin-top: 28px; }
.a11-section > .is-style-a11-dots + .is-style-a11-note { margin-top: 16px; }
.a11-section > .a11-hero__row + .is-style-a11-tags { margin-top: 28px; }
.a11-section > .a11-stats { margin-top: clamp(48px, 6vw, 88px); }
.a11-section > .a11-hero__row + .a11-ph,
.a11-section > .is-style-a11-tags + .a11-ph { margin-top: clamp(40px, 5vw, 56px); }
.a11-section > .a11-ph + .a11-stats { margin-top: clamp(40px, 5vw, 64px); }

/* Profiles (crosstalk) */
.a11-profiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3vw, 32px); }
.a11-profile { display: flex; gap: 18px; border-top: 1px solid var(--a11-ink); padding-top: 20px; min-width: 0; }
.a11-profile > .wp-block-group { min-width: 0; }
.a11-profile > .wp-block-group > * + * { margin-top: 4px; }
.a11-profile .wp-block-heading { font-size: 19px; }
.a11-profile p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 12.5px; line-height: 1.8; }
.a11-profile .a11-profile__role { font-size: 12px; color: var(--a11-slate); }
@media (max-width: 859.98px) { .a11-profiles { grid-template-columns: minmax(0, 1fr); } }

/* Q&A (interviews, crosstalk) */
.a11-qa > * + * { margin-top: clamp(40px, 5vw, 64px); }
.a11-qa__item > * + * { margin-top: 14px; }
.a11-qa__q { display: flex; gap: 12px; align-items: baseline; }
.a11-qa__q::before { content: "Q"; font-family: var(--a11-mono); font-size: 13px; font-weight: 500; color: #2B7EC9; flex: 0 0 auto; }
:is(.a11-main, .editor-styles-wrapper) .a11-qa__q { font-size: 16px; line-height: 1.6; }
.a11-qa__item > p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { padding-left: 25px; font-size: 14px; line-height: 1.95; }
.a11-crosstalk { max-width: 960px; margin-inline: auto; }
.a11-crosstalk > * + * { margin-top: clamp(40px, 5vw, 56px); }
.a11-crosstalk__q { border-top: 1px solid var(--a11-ink); padding-top: clamp(22px, 2.6vw, 32px); display: flex; gap: 14px; align-items: baseline; }
.a11-crosstalk__q::before { content: "Q"; font-family: var(--a11-mono); font-size: 13px; font-weight: 500; color: var(--a11-muted); flex: 0 0 auto; }
:is(.a11-main, .editor-styles-wrapper) .a11-crosstalk__q { font-size: clamp(18px, 2vw, 24px); line-height: 1.5; letter-spacing: -0.02em; max-width: none; }
.a11-crosstalk > .a11-dialogue { margin-top: 18px; }

.a11-interview__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; }
:is(.a11-main, .editor-styles-wrapper) .a11-interview__meta .is-style-a11-eyebrow { letter-spacing: 0.14em; }
:is(.a11-main, .editor-styles-wrapper) .a11-interview__meta p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13px; }
:is(.a11-main, .editor-styles-wrapper) .a11-interview__meta .a11-interview__name { font-size: 15px; font-weight: 700; color: var(--a11-ink); }
.a11-interview__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 64px); align-items: start; }
.a11-interview__grid > * { min-width: 0; }
.a11-interview__side > * + * { margin-top: 18px; }
@media (max-width: 899.98px) { .a11-interview__grid { grid-template-columns: minmax(0, 1fr); } }

/* People cards (recruitment) */
.a11-people > * > * + * { margin-top: 12px; }
.a11-people .a11-ph + * { margin-top: 18px; }
.a11-people .wp-block-heading { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; }
.a11-people .is-style-a11-eyebrow { font-size: 10.5px; letter-spacing: 0.08em; text-transform: none; }

/* Gallery (office) */
.a11-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.a11-gallery > * { min-width: 0; margin: 0; }
.a11-gallery .a11-ph { aspect-ratio: 1; min-height: 0; }
.a11-gallery > .a11-ph--lead { grid-column: span 2; grid-row: span 2; }
.a11-gallery--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.a11-offices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 3vw, 44px); }
.a11-offices > * { min-width: 0; }
.a11-offices > * > * + * { margin-top: 16px; }
.a11-office__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; border-top: 1px solid var(--a11-ink); padding-top: 18px; }
:is(.a11-main, .editor-styles-wrapper) .a11-office__head .wp-block-heading { font-size: 17px; letter-spacing: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-office__head p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 12.5px; line-height: normal; color: var(--a11-slate); }
@media (max-width: 859.98px) { .a11-offices { grid-template-columns: minmax(0, 1fr); } }

/* Legal / prose */
.a11-legal > * + * { margin-top: 16px; }
:is(.a11-main, .editor-styles-wrapper) .a11-legal > h2.wp-block-heading {
	font-size: clamp(18px, 1.8vw, 22px);
	line-height: 1.5;
	letter-spacing: -0.01em;
	border-top: 1px solid var(--a11-line);
	padding-top: clamp(32px, 4vw, 44px);
	margin-top: clamp(32px, 4vw, 44px);
	max-width: none;
}
:is(.a11-main, .editor-styles-wrapper) .a11-legal p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 14px; line-height: 2; }
:is(.a11-main, .editor-styles-wrapper) .a11-legal > .is-style-a11-bullets { margin-top: 18px; }
.a11-legal__date { font-family: var(--a11-mono); font-size: 11.5px; color: var(--a11-muted); text-align: right; }
.a11-prose { max-width: 900px; }
.a11-prose > * + * { margin-top: 18px; }
:is(.a11-main, .editor-styles-wrapper) .a11-prose p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 15px; line-height: 2; color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .a11-prose h2.wp-block-heading { font-size: clamp(20px, 2vw, 26px); margin-top: 40px; }

/* News article */
.a11-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.a11-article__meta time { font-family: var(--a11-mono); }
:is(.a11-main, .editor-styles-wrapper) .a11-article__title { font-size: clamp(28px, 4vw, 52px); max-width: 22em; margin-top: 22px; }
.a11-article__back { margin-top: 48px !important; }

/* 404 */
.a11-notfound > * + * { margin-top: 24px; }

/* 13. Forms, jobs, news ------------------------------------------------------- */
.a11-form {
	border: 1px solid var(--a11-ink);
	padding: clamp(24px, 3vw, 40px);
	display: grid;
	gap: 18px;
	background: #FFFFFF;
}
.a11-field { display: grid; gap: 7px; }
.a11-field__label { font-family: var(--a11-mono); font-size: 11px; letter-spacing: 0.1em; color: var(--a11-muted); }
.a11-field__req { color: #BA3E3C; margin-left: 4px; }
.a11-field input,
.a11-field select,
.a11-field textarea {
	width: 100%;
	font-family: var(--a11-sans);
	font-size: 14px;
	line-height: 1.6;
	padding: 12px 14px;
	border: 1px solid var(--a11-line-strong);
	border-radius: 2px;
	background: #FFFFFF;
	color: var(--a11-ink);
}
.a11-field textarea { min-height: 140px; resize: vertical; }
.a11-field input::placeholder,
.a11-field textarea::placeholder { color: var(--a11-faint); }
.a11-field input:focus,
.a11-field select:focus,
.a11-field textarea:focus { outline: none; border-color: var(--a11-ink); box-shadow: 0 0 0 1px var(--a11-ink); }
.a11-field [aria-invalid="true"] { border-color: #BA3E3C; }
.a11-field__error { font-size: 12.5px; color: #BA3E3C; }
.a11-form__submit {
	width: 100%;
	font-size: 14px;
	font-weight: 600;
	padding: 15px 26px;
	border: 1px solid var(--a11-ink);
	border-radius: 2px;
	background: var(--a11-ink);
	color: #FFFFFF;
	cursor: pointer;
}
.a11-form__submit:hover { background: var(--a11-link); border-color: var(--a11-link); }
:is(.a11-main, .editor-styles-wrapper) .a11-form__consent { font-size: 12px; line-height: 1.7; color: var(--a11-muted); }
:is(.a11-main, .editor-styles-wrapper) .a11-form__consent a { font-weight: 600; color: var(--a11-ink); text-decoration: underline; text-underline-offset: 2px; }
.a11-form__notice {
	border: 1px solid var(--a11-line);
	border-left: 3px solid #009365;
	background: var(--a11-mist);
	padding: 16px 18px;
	font-size: 14px;
	line-height: 1.8;
}
.a11-form__notice--error { border-left-color: #BA3E3C; }
.a11-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Job listings */
.a11-jobs__tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--a11-ink); overflow-x: auto; }
.a11-jobs__filter { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 14px; }
.a11-jobs__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.a11-chip {
	font-size: 13px;
	padding: 9px 16px;
	border: 1px solid var(--a11-line-strong);
	border-radius: 2px;
	background: #FFFFFF;
	color: var(--a11-slate);
	cursor: pointer;
	line-height: 1.5;
}
.a11-chip:hover { border-color: var(--a11-ink); color: var(--a11-ink); }
.a11-chip[aria-pressed="true"] { background: var(--a11-ink); border-color: var(--a11-ink); color: #FFFFFF; }
.a11-jobs__salary { font-size: 12.5px; color: var(--a11-slate); }
.a11-job { position: relative; }
.a11-job[hidden] { display: none !important; }
.a11-job__cat { display: flex; align-items: center; gap: 9px; font-family: var(--a11-mono); font-size: 10.5px; letter-spacing: 0.16em; color: var(--a11-muted); }
.a11-job__cat::before { content: ""; width: 7px; height: 7px; border-radius: 99px; background: var(--accent); }
:is(.a11-main, .editor-styles-wrapper) .a11-job__title { font-size: 19px; line-height: 1.45; letter-spacing: -0.015em; margin-top: 14px; }
.a11-job__title a { color: var(--a11-ink); }
.a11-job__title a::before { content: ""; position: absolute; inset: 0; }
.a11-job__title a:hover { color: var(--a11-link); }
:is(.a11-main, .editor-styles-wrapper) .a11-job__desc { font-size: 13.5px; line-height: 1.8; margin-top: 10px; }
.a11-job__meta { display: flex; gap: 18px; flex-wrap: wrap; margin-top: auto; padding-top: 18px; font-family: var(--a11-mono); font-size: 11.5px; color: var(--a11-muted); }
.a11-job__entry { position: relative; z-index: 1; display: inline-flex; gap: 8px; margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--a11-ink); align-self: flex-start; }
.a11-job__entry::after { content: "→"; }
.a11-job__entry:hover { gap: 13px; color: var(--accent-ink); }
.a11-jobs__common { margin-top: var(--a11-stack-gap); }
.a11-jobs__voice { background: var(--a11-mist); }
.a11-jobs__intern { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.a11-jobs__intern > * > * + * { margin-top: 14px; }
@media (max-width: 859.98px) { .a11-jobs__intern { grid-template-columns: minmax(0, 1fr); } }
.a11-entry-types { border-top: 1px solid var(--a11-ink); border-bottom: 1px solid var(--a11-ink); }
.a11-entry-types > div { display: flex; gap: 16px; padding: 18px 0; }
.a11-entry-types > div + div { border-top: 1px solid var(--a11-line); }
.a11-entry-types__key { flex: 0 0 110px; font-family: var(--a11-mono); font-size: 11px; letter-spacing: 0.1em; color: var(--a11-muted); padding-top: 3px; }
.a11-entry-types strong { display: block; font-size: 14px; }
.a11-entry-types span span { display: block; font-size: 13px; line-height: 1.8; color: var(--a11-slate); margin-top: 2px; }

/* Single job */
.a11-jobhead__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.a11-jobhead__meta span { font-family: var(--a11-mono); font-size: 12px; color: var(--a11-slate); }

/* News lists */
.a11-newslist { border-top: 1px solid var(--a11-ink); }
.a11-newslist__item {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 32px;
	align-items: baseline;
	padding: 24px 0;
	border-bottom: 1px solid var(--a11-line);
}
.a11-newslist__item:last-child { border-bottom-color: var(--a11-ink); }
.a11-newslist__item:hover { background: var(--a11-mist); }
.a11-newslist .a11-date { flex: 0 0 100px; font-family: var(--a11-mono); font-size: 12px; color: var(--a11-muted); }
.a11-newslist__cat {
	flex: 0 0 auto;
	font-family: var(--a11-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	line-height: normal;
	color: var(--a11-slate);
	border: 1px solid var(--a11-line);
	padding: 4px 9px;
}
.a11-newslist__body { flex: 1 1 300px; min-width: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-newslist__title { font-size: 16px; font-weight: 400; line-height: 1.6; letter-spacing: 0; max-width: none; }
.a11-newslist__title a { color: var(--a11-ink); }
.a11-newslist__title a::after { content: ""; position: absolute; inset: 0; }
.a11-newslist__item:hover .a11-newslist__title a { color: var(--a11-link); }
:is(.a11-main, .editor-styles-wrapper) .a11-newslist__excerpt { font-size: 13.5px; line-height: 1.6; color: var(--a11-slate); margin-top: 6px; }
.a11-newslist--compact .a11-newslist__item { gap: 6px 28px; padding: 20px 0; }
.a11-newslist--compact .a11-date { flex-basis: 96px; }
.a11-newslist--compact .a11-newslist__body { flex-basis: 260px; }
:is(.a11-main, .editor-styles-wrapper) .a11-newslist--compact .a11-newslist__title { font-size: 15px; font-weight: 400; }
.a11-pagination { margin-top: 32px; }
.a11-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.a11-pagination .page-numbers { display: inline-flex; min-width: 40px; justify-content: center; padding: 8px 12px; border: 1px solid var(--a11-line); font-family: var(--a11-mono); font-size: 13px; }
.a11-pagination .page-numbers.current { background: var(--a11-ink); color: #FFFFFF; border-color: var(--a11-ink); }
.a11-results { list-style: none; border-top: 1px solid var(--a11-ink); }
.a11-results li { padding: 20px 0; border-bottom: 1px solid var(--a11-line); }
.a11-results a { font-weight: 600; font-size: 16px; }
.a11-results p { margin-top: 6px; }

/* 14. CTA band & footer --------------------------------------------------------- */
.a11-cta {
	margin-top: clamp(64px, 8vw, 112px);
	padding: clamp(64px, 8vw, 112px) max(var(--a11-gutter), calc((100% - var(--a11-max)) / 2));
	background: var(--a11-night);
	color: #FFFFFF;
}
:is(.a11-main, .editor-styles-wrapper) > .a11-section--last + .a11-cta,
:is(.a11-main, .editor-styles-wrapper) .a11-section--last + .a11-cta,
.a11-narrow + .a11-cta { margin-top: 0; }
.a11-cta__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 64px);
	align-items: end;
}
.a11-cta__grid > * { min-width: 0; }
.a11-cta__grid > .wp-block-group > * + * { margin-top: 16px; }
.a11-cta .is-style-a11-eyebrow { color: var(--a11-faint); }
:is(.a11-main, .editor-styles-wrapper) .a11-cta h2.wp-block-heading {
	color: #FFFFFF;
	font-size: clamp(28px, 3.8vw, 52px);
	line-height: 1.14;
	letter-spacing: -0.03em;
	max-width: none;
}
:is(.a11-main, .editor-styles-wrapper) .a11-cta p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 15px; line-height: 1.85; color: var(--a11-dark-text); max-width: 34em; }
.a11-cta .wp-block-buttons { margin-top: 26px !important; }
.wp-block-button.is-style-a11-light .wp-block-button__link:hover { background: #67AAED; border-color: #67AAED; color: var(--a11-ink); }
@media (max-width: 697.98px) { .a11-cta__grid { grid-template-columns: minmax(0, 1fr); } }

.a11-footer { padding: clamp(56px, 7vw, 88px) 0 40px; background: #FFFFFF; }
.a11-footer__inner {
	padding-inline: max(var(--a11-gutter), calc((100% - var(--a11-max)) / 2));
}
.a11-footer__brand { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px clamp(18px, 3vw, 36px); }
.a11-footer__name { flex: 0 0 auto; font-size: 17px; font-weight: 700; letter-spacing: 0.02em; margin: 0; }
.a11-footer__inc { font-family: var(--a11-mono); font-size: 9.5px; font-weight: 400; letter-spacing: 0.16em; color: var(--a11-muted); margin-left: 9px; }
.a11-footer__tagline { flex: 1 1 320px; min-width: 0; font-size: 13.5px; line-height: 1.85; color: var(--a11-slate); margin: 0; }
.a11-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
	gap: clamp(28px, 4vw, 56px);
	margin-top: clamp(36px, 4.5vw, 56px);
}
.a11-footer__col { min-width: 0; }
.a11-footer__heading { font-family: var(--a11-mono); font-size: 10px; letter-spacing: 0.18em; color: var(--a11-muted); margin: 0; }
.a11-footer__links { list-style: none; margin-top: 16px; display: grid; gap: 11px; }
.a11-footer__links li { display: grid; }
.a11-footer__links a { font-size: 13.5px; color: var(--a11-ink); }
.a11-footer__links a:hover { color: var(--a11-link); }
.a11-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 28px;
	margin-top: clamp(40px, 5vw, 64px);
	padding-top: 22px;
	border-top: 1px solid var(--a11-line);
}
.a11-footer__copy { font-family: var(--a11-mono); font-size: 11px; color: var(--a11-muted); margin: 0; }
.a11-footer__address { font-size: 12.5px; color: var(--a11-muted); margin: 0; font-style: normal; }
.a11-footer__legal { list-style: none; display: flex; gap: 22px; margin-left: auto; }
.a11-footer__legal a { font-size: 12.5px; color: var(--a11-muted); }
.a11-footer__legal a:hover { color: var(--a11-ink); }

/* 15. Page-specific additions ------------------------------------------------ */
.wp-block-heading.is-style-a11-card-md,
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.is-style-a11-card-md { font-size: clamp(20px, 2.2vw, 28px); line-height: normal; letter-spacing: -0.02em; }
.a11-inline-tag { font-family: var(--a11-mono); font-size: 10px; letter-spacing: 0.06em; color: var(--a11-muted); margin-left: 8px; }
:is(.a11-main, .editor-styles-wrapper) .a11-model__name { font-family: var(--a11-mono); font-size: 12px; font-weight: 500; line-height: normal; color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-model__sub { font-size: 12.5px; line-height: normal; color: var(--a11-muted); margin-top: 5px !important; }
.a11-model__name + .a11-model__sub + p { margin-top: 14px !important; }

/* Before / after media pair */
:is(.a11-main, .editor-styles-wrapper) .a11-pair__cap { font-size: 13px; line-height: normal; color: var(--a11-slate); display: flex; gap: 10px; align-items: baseline; }
.a11-pair__tag { font-family: var(--a11-mono); font-size: 10.5px; letter-spacing: 0.14em; color: var(--a11-muted); }
.a11-media-pair > .wp-block-group:last-child .a11-pair__tag { color: var(--accent-ink); }
.a11-media-pair--tight { gap: 20px; }
.a11-feature--stack > .wp-block-group > .a11-media-pair { margin-top: 26px; }
.a11-cards > .a11-card--media-top > .a11-ph:first-child { margin: 0; }
.a11-cards > .a11-card--media-top > .a11-ph + * { margin-top: 20px; }
:is(.a11-main, .editor-styles-wrapper) .a11-card--media-top > .a11-ph p { font-size: 10px; letter-spacing: 0; padding: 5px 10px; }
.a11-ph--tall { min-height: clamp(280px, 32vw, 420px); }
.a11-ph--landscape { aspect-ratio: 4 / 3; align-items: center; justify-content: center; text-align: center; }
.a11-ph__hint { display: block; font-size: 9.5px; color: var(--a11-faint); margin-top: 2px; }

/* Ruled list of sub-points (public forms) */
.a11-ruled > * { border-top: 1px solid var(--a11-ink); padding-top: 18px; }
.a11-ruled > * + * { margin-top: 26px; }
.a11-ruled > * > * + * { margin-top: 10px; }
.a11-ruled .wp-block-heading { font-size: 17px; letter-spacing: -0.01em; }
.a11-ruled p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13.5px; line-height: 1.85; }
.a11-duo--center { align-items: center; }
.a11-duo--top { align-items: start; gap: clamp(28px, 3.5vw, 56px); }
.a11-duo--wide { gap: clamp(28px, 4vw, 64px); }

/* Plans (EdgeLLM packages) */
.a11-cards > .a11-plan { padding: clamp(24px, 2.8vw, 40px); }
.a11-cards > .a11-plan > * + * { margin-top: 6px; }
:is(.a11-main, .editor-styles-wrapper) .a11-plan > .wp-block-heading { font-size: 22px; letter-spacing: -0.02em; }
:is(.a11-main, .editor-styles-wrapper) .a11-plan__sub { font-size: 13px; line-height: normal; color: var(--a11-muted); }
:is(.a11-main, .editor-styles-wrapper) .a11-plan__price { font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; letter-spacing: -0.03em; line-height: normal; color: var(--accent-ink); margin-top: 20px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-plan__tax { font-family: var(--a11-mono); font-size: 10.5px; line-height: normal; color: var(--a11-muted); margin-top: 5px !important; }
.a11-plan > .a11-kv { margin-top: 22px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-plan .a11-kv li:last-child { border-bottom: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-plan > p:last-child { font-size: 13px; line-height: 1.8; margin-top: 18px !important; }

/* Labels */
:is(.a11-main, .editor-styles-wrapper) .a11-label { font-family: var(--a11-mono); font-size: 10.5px; line-height: normal; letter-spacing: 0.14em; color: var(--a11-muted); text-transform: uppercase; }
:is(.a11-main, .editor-styles-wrapper) .a11-label--rule { border-bottom: 1px solid var(--a11-ink); padding-bottom: 12px; font-size: 10px; letter-spacing: 0.18em; }
.a11-label--rule + .a11-ranks { margin-top: 0 !important; }
.a11-label--rule + .is-style-a11-tags { margin-top: 18px !important; }

/* Mouseflow functions list */
:is(.a11-main, .editor-styles-wrapper) .a11-fnlist { border-top: 1px solid var(--a11-ink); border-bottom: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-fnlist li { display: grid; grid-template-columns: 40px minmax(0, 220px) minmax(0, 1fr); gap: 10px 32px; align-items: baseline; padding: 22px 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-fnlist li + li { border-top: 1px solid var(--a11-line); }
.a11-fn__num { font-family: var(--a11-mono); font-size: 11px; color: var(--a11-muted); }
.a11-fn__name { font-size: 17px; font-weight: 700; }
.a11-fn__desc { font-size: 14px; color: var(--a11-slate); line-height: 1.8; }
@media (max-width: 699.98px) {
	:is(.a11-main, .editor-styles-wrapper) .a11-fnlist li { grid-template-columns: 40px minmax(0, 1fr); }
	.a11-fn__desc { grid-column: 2; }
}

/* Definition rows (term + description) */
:is(.a11-main, .editor-styles-wrapper) .a11-defs { border-top: 1px solid var(--a11-ink); border-bottom: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-defs li { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 8px 28px; align-items: baseline; padding: 18px 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-defs li + li { border-top: 1px solid var(--a11-line); }
.a11-defs__term { font-size: 15.5px; font-weight: 600; line-height: 1.6; }
.a11-defs__desc { font-size: 13.5px; line-height: 1.8; color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .a11-defs--compact li { grid-template-columns: minmax(0, 150px) minmax(0, 1fr); padding: 16px 0; }
.a11-defs--compact .a11-defs__term { font-size: 14px; }
.a11-defs--compact .a11-defs__desc { font-size: 13px; }
@media (max-width: 699.98px) {
	:is(.a11-main, .editor-styles-wrapper) .a11-defs li,
	:is(.a11-main, .editor-styles-wrapper) .a11-defs--compact li { grid-template-columns: minmax(0, 1fr); }
}

/* Consulting areas (same row model as the feature rows, top-aligned) */
.a11-areas { border-bottom: 1px solid var(--a11-ink); padding-bottom: clamp(28px, 3.5vw, 48px); }
.a11-area {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 3.5vw, 56px);
	align-items: start;
	padding-top: clamp(28px, 3.5vw, 48px);
	border-top: 1px solid var(--a11-line);
}
.a11-area:first-child { border-top-color: var(--a11-ink); }
.a11-area + .a11-area { margin-top: clamp(32px, 4vw, 56px); }
.a11-area > * { min-width: 0; }
.a11-area > .wp-block-group > * + * { margin-top: 14px; }
.a11-area > .wp-block-group > .is-style-a11-eyebrow { letter-spacing: 0.18em; }
:is(.a11-main, .editor-styles-wrapper) .a11-area > .wp-block-group > p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { line-height: 1.85; }
.a11-area > .wp-block-group > .is-style-a11-more { margin-top: 18px; }
:is(.a11-main, .editor-styles-wrapper) .a11-area .is-style-a11-letters li:last-child { border-bottom: 0; }
@media (max-width: 750.98px) { .a11-area { grid-template-columns: minmax(0, 1fr); } }

/* Pricing table product cell */
.a11-prod { display: grid; grid-template-columns: 7px auto; column-gap: 10px; align-items: baseline; }
.a11-prod::before { content: ""; width: 7px; height: 7px; border-radius: 99px; background: var(--accent); grid-row: 1; align-self: center; }
.a11-prod strong { font-size: 14.5px; font-weight: 600; }
.a11-prod span { grid-column: 2; font-size: 12.5px; font-weight: 400; color: var(--a11-muted); margin-top: 5px; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--pricing table { min-width: 800px; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--pricing tbody tr > * { padding-top: 18px; padding-bottom: 18px; vertical-align: middle; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--pricing td:nth-child(3) { font-family: var(--a11-mono); font-size: 13px; }
:is(.a11-main, .editor-styles-wrapper) .a11-table--pricing td:nth-child(4) { color: var(--a11-slate); }
:is(.a11-main, .editor-styles-wrapper) .a11-table--pricing td:last-child { text-align: right; white-space: nowrap; }
.a11-table__link { font-size: 13.5px; font-weight: 600; color: var(--a11-ink); white-space: nowrap; }

/* Offices as separate boxes */
.a11-cards--gap { border: 0; gap: 20px; }
.a11-cards--gap > * { border: 1px solid var(--a11-line); }
.a11-cards.a11-cards--p22 > * { padding: 22px; }

/* Careers */
:is(.a11-main, .editor-styles-wrapper) h2.wp-block-heading.a11-title--wide { font-size: clamp(26px, 3.4vw, 46px); letter-spacing: -0.03em; max-width: 22em; }
:is(.a11-main, .editor-styles-wrapper) .a11-prose-sm p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 14.5px; line-height: 1.95; }
.a11-prose-sm > p + p { margin-top: 18px; }
.a11-vision-box { border-top: 1px solid var(--a11-ink); padding-top: 20px; margin-top: 26px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-vision-box > .is-style-a11-eyebrow { font-size: 10px; letter-spacing: 0.18em; }
.a11-vision-box > * + * { margin-top: 12px; }
:is(.a11-main, .editor-styles-wrapper) .a11-vision { font-size: clamp(18px, 2vw, 24px); font-weight: 700; line-height: 1.5; letter-spacing: -0.02em; color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-sign { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; margin-top: 26px !important; }
.a11-sign__role { font-size: 12.5px; color: var(--a11-muted); }
.a11-sign__name { font-size: 19px; font-weight: 700; letter-spacing: -0.01em; color: var(--a11-ink); }
.a11-sign__en { font-family: var(--a11-mono); font-size: 11px; letter-spacing: 0.1em; color: var(--a11-muted); }
.a11-headrow__note { max-width: 30em; }
:is(.a11-main, .editor-styles-wrapper) .a11-headrow__note { font-size: 14px; line-height: 1.9; }
.a11-section--dark :is(.a11-headrow__note, .is-style-a11-lead) { color: var(--a11-dark-text); }
.a11-section--dark .wp-block-heading { color: #FFFFFF; }
.a11-section--dark .is-style-a11-eyebrow { color: var(--a11-faint); }
.a11-cards--dark > .a11-card--note p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { color: var(--a11-dark-text); }
.a11-cards--dark > .a11-card--note .is-style-a11-more { margin-top: 18px; padding-top: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-card__meta { font-family: var(--a11-mono); font-size: 11px; line-height: 1.7; color: var(--a11-muted); margin-top: auto !important; padding-top: 18px; }
.a11-person > * + * { margin-top: 12px; }
.a11-person > .a11-ph + * { margin-top: 16px; }
:is(.a11-main, .editor-styles-wrapper) .a11-person__meta { font-family: var(--a11-mono); font-size: 11px; letter-spacing: 0.04em; color: var(--a11-muted); }
:is(.a11-main, .editor-styles-wrapper) h3.a11-person__title { font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; }
.a11-person__title a { color: var(--a11-ink); }
.a11-person__title a:hover { color: var(--a11-link); }
.a11-people { --gap: clamp(20px, 2.4vw, 32px); }
.a11-boxlist { border: 1px solid var(--a11-line); }
.a11-boxlist > * { padding: clamp(20px, 2.4vw, 28px); }
.a11-boxlist > * + * { border-top: 1px solid var(--a11-line); }
.a11-boxlist > * > * + * { margin-top: 8px; }
.a11-boxlist .wp-block-heading { font-size: 16px; }
.a11-boxlist p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13px; line-height: 1.85; }
.a11-offices > * > .a11-gallery { margin-top: 16px; }
.a11-offices > * > p { margin-top: 18px; }

/* Careers: section heads (46px titles, bottom-aligned intro) */
.a11-headrow--end { align-items: flex-end; gap: 24px; }
:is(.a11-main, .editor-styles-wrapper) .a11-headrow__note.a11-note--careers { font-size: 14.5px; line-height: 1.9; }
.a11-section > .is-style-a11-eyebrow + .a11-title--wide,
.a11-headrow .is-style-a11-eyebrow + .a11-title--wide { margin-top: clamp(14px, 1.8vw, 24px); }
:is(.a11-main, .editor-styles-wrapper) .is-style-a11-lead.a11-lead--careers { font-size: 14.5px; line-height: 1.9; }

/* Careers: values (dark cards) */
.a11-cards--values > * { padding: clamp(20px, 2.4vw, 30px); }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--values .is-style-a11-eyebrow { font-size: 11px; letter-spacing: 0.1em; color: #67AAED; }
.a11-cards--values > * > .is-style-a11-eyebrow + .wp-block-heading { margin-top: 12px; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--values .wp-block-heading { font-size: 17px; line-height: 1.5; letter-spacing: 0; }
.a11-cards--values > * > .wp-block-heading + p { margin-top: 12px; }
.a11-cards--values > .a11-card--note .is-style-a11-more { font-size: 13.5px; }
.a11-cards--values > .a11-card--note .is-style-a11-more a { gap: 8px; }

/* Careers: job families */
.a11-cards--families > * { padding: clamp(22px, 2.6vw, 34px); }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--families .a11-dot { gap: 10px; letter-spacing: 0.16em; }
.a11-cards--families .a11-dot::before { width: 7px; height: 7px; }
.a11-cards--families > * > .is-style-a11-eyebrow + .wp-block-heading { margin-top: 14px; }
.a11-cards--families > * > .wp-block-heading + p { margin-top: 10px; flex-grow: 1; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--families p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { line-height: 1.85; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--families .a11-card__meta { margin-top: 18px !important; padding-top: 0; line-height: normal; }

/* Careers: people */
:is(.a11-main, .editor-styles-wrapper) .a11-person__meta { font-size: 10.5px; letter-spacing: 0.12em; line-height: normal; }
.a11-person > .a11-person__meta + .wp-block-heading { margin-top: 10px; }
:is(.a11-main, .editor-styles-wrapper) h3.a11-person__title { font-size: clamp(17px, 1.7vw, 20px); letter-spacing: -0.015em; }
.a11-person > .is-style-a11-more { margin-top: 14px; font-size: 13px; }
.a11-person .is-style-a11-more a { gap: 8px; }
.a11-box--careers { padding: clamp(24px, 3vw, 44px); }
.a11-box--careers > .wp-block-group { flex: 1 1 380px; }
.a11-box--careers .is-style-a11-eyebrow { letter-spacing: 0.16em; }
:is(.a11-main, .editor-styles-wrapper) .a11-box--careers .wp-block-heading { font-size: clamp(20px, 2.2vw, 26px); letter-spacing: -0.02em; line-height: normal; max-width: none; }
.a11-box--careers > .wp-block-group > .is-style-a11-eyebrow + .wp-block-heading { margin-top: 12px; }
:is(.a11-main, .editor-styles-wrapper) .a11-box--careers > .is-style-a11-more { font-size: 14px; }
.a11-box--careers > .is-style-a11-more a { gap: 8px; white-space: nowrap; }

/* Careers: office, benefits, training */
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.a11-h-22 { font-size: clamp(18px, 1.9vw, 22px); letter-spacing: -0.02em; line-height: normal; }
.a11-cards--benefits > * { padding: clamp(20px, 2.4vw, 30px); }
.a11-cards--benefits > * > .wp-block-heading + p { margin-top: 10px; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--benefits .wp-block-heading { font-size: 15.5px; letter-spacing: 0; line-height: normal; }
:is(.a11-main, .editor-styles-wrapper) .a11-cards--benefits p:not([class*="is-style-"], [class*="__"], .a11-label, .a11-vision, .a11-sign, .a11-fig) { font-size: 13px; line-height: 1.85; }
.a11-stack > .a11-h-22 + p { margin-top: 14px; }
.a11-stack > .a11-h-22 + p + * { margin-top: 22px; }
:is(.a11-main, .editor-styles-wrapper) .a11-stack > .a11-h-22 + p { font-size: 13.5px; line-height: 1.9; }
:is(.a11-main, .editor-styles-wrapper) .a11-defs--careers { border-bottom: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-defs--careers li { display: flex; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--a11-line); }
:is(.a11-main, .editor-styles-wrapper) .a11-defs--careers li + li { border-top: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-defs--careers li:last-child { border-bottom-color: var(--a11-ink); }
.a11-defs--careers .a11-defs__term { flex: 0 0 130px; font-size: 13.5px; line-height: normal; }
.a11-defs--careers .a11-defs__desc { font-size: 13px; line-height: 1.8; }
.a11-boxlist > * + * { border-top: 1px solid var(--a11-line); }
.a11-boxlist > * > * + * { margin-top: 10px; }
:is(.a11-main, .editor-styles-wrapper) .a11-boxlist .wp-block-heading { font-size: 15.5px; letter-spacing: 0; line-height: normal; }

/* Careers: CEO profile */
.a11-bio { border-top: 1px solid var(--a11-ink); margin-top: 26px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-bio > .a11-label { font-size: 10px; letter-spacing: 0.18em; padding: 16px 0 4px; }
.a11-bio > .a11-label + * { margin-top: 0 !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-bio .a11-timeline { border-top: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-bio .a11-timeline li { gap: 20px; padding: 11px 0; font-size: 13.5px; line-height: 1.7; }
.a11-bio .a11-timeline__time { flex-basis: 52px; padding-top: 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-ph--landscape p { font-size: 11px; }
.a11-ph__hint { font-size: 10px; }

/* Careers: entry box */
.a11-box--entry { padding: clamp(28px, 3.4vw, 52px); gap: 28px; }
:is(.a11-main, .editor-styles-wrapper) .a11-box--entry .wp-block-heading { font-size: clamp(22px, 2.6vw, 34px); letter-spacing: -0.025em; line-height: normal; max-width: none; }
.a11-box--entry > .wp-block-group > .is-style-a11-eyebrow + .wp-block-heading { margin-top: 14px; }
.a11-box--entry > .wp-block-group > .wp-block-heading + p { margin-top: 12px; }

/* Jobs page */
.a11-tabs--jobs,
.a11-tabs--interview { margin-top: clamp(40px, 5vw, 56px) !important; }
.a11-tabs--jobs .a11-tabs__panel > * + *,
.a11-tabs--interview .a11-tabs__panel > * + * { margin-top: clamp(28px, 3.4vw, 44px); }
.a11-tabs--jobs .a11-tabs__panel { padding-top: clamp(32px, 4vw, 48px); }
.a11-tabs--interview .a11-tabs__panel { padding-top: clamp(32px, 4vw, 48px); }
.a11-jobs > * + * { margin-top: 18px; }
.a11-jobs__grid { margin-top: 24px !important; }
.a11-jobs__voice { background: var(--a11-mist); }
.a11-jobs__voice > * + * { margin-top: 12px; }
.a11-jobs__voice .is-style-a11-more { margin-top: auto; padding-top: 20px; }
.a11-jobs__intro { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 40px; }
.a11-flex-1 { flex: 1 1 420px; }
:is(.a11-main, .editor-styles-wrapper) .a11-entrytypes { border-top: 1px solid var(--a11-ink); border-bottom: 1px solid var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) .a11-entrytypes li { display: flex; gap: 16px; padding: 18px 0; }
:is(.a11-main, .editor-styles-wrapper) .a11-entrytypes li + li { border-top: 1px solid var(--a11-line); }
.a11-entrytypes__key { flex: 0 0 110px; font-family: var(--a11-mono); font-size: 11px; letter-spacing: 0.1em; color: var(--a11-muted); padding-top: 3px; }
.a11-entrytypes__body strong { display: block; font-size: 14px; }
.a11-entrytypes__body > span { display: block; font-size: 13px; line-height: 1.8; color: var(--a11-slate); margin-top: 2px; }
.a11-split > .wp-block-group > .a11-entrytypes { margin-top: 26px; }

/* Interview */
:is(.a11-main, .editor-styles-wrapper) .a11-interview__name { font-size: 15px; font-weight: 700; color: var(--a11-ink); }
:is(.a11-main, .editor-styles-wrapper) h2.a11-interview__title { max-width: 26em; margin-top: 16px !important; }
.a11-interview__grid { margin-top: clamp(32px, 4vw, 48px) !important; }

/* Crosstalk */
.a11-crosstalk__block > * + * { margin-top: 20px; }
.a11-afterword > * + * { margin-top: 10px; }

/* Legal */
:is(.a11-main, .editor-styles-wrapper) .a11-legal__intro { font-size: 14.5px; line-height: 2; color: var(--a11-slate); max-width: none; margin-top: clamp(24px, 3vw, 36px) !important; }
.a11-legal__contact { margin-top: 20px !important; }
.a11-legal__contact > * + * { margin-top: 14px; }
:is(.a11-main, .editor-styles-wrapper) .a11-legal__end { text-align: right; }
.a11-narrow .a11-section--flush { padding-top: clamp(20px, 2.4vw, 28px); }
.a11-narrow .a11-legal > h2.wp-block-heading:first-child { margin-top: 0; }

/* Single job */
.a11-jobhead__cat { margin-top: 26px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-jobhead__title { font-size: clamp(30px, 4.6vw, 60px); margin-top: 14px !important; }
.a11-jobhead__meta { margin-top: 20px !important; }
.a11-jobpage__body { max-width: calc(var(--a11-max) + 2 * var(--a11-gutter)); }
.a11-jobpage__body > * { max-width: 900px; }
.a11-jobpage__body > * + * { margin-top: 18px; }
.a11-jobpage__body > .wp-block-heading { margin-top: clamp(36px, 4vw, 52px); }
.a11-jobpage__body > .wp-block-heading:first-child { margin-top: 0; }

/* FAQ, large variant (product pages) */
:is(.a11-main, .editor-styles-wrapper) .a11-faq--lg .wp-block-details summary { padding: 20px 0; font-size: 15.5px; }
:is(.a11-main, .editor-styles-wrapper) .a11-faq--lg .wp-block-details > :not(summary) { padding-bottom: 22px; }

/* Type utilities: body sizes and leading of the design's paragraph scale */
:is(.a11-main, .editor-styles-wrapper) .a11-fs-12 { font-size: 12px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-fs-125 { font-size: 12.5px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-fs-13 { font-size: 13px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-fs-135 { font-size: 13.5px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-fs-14 { font-size: 14px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-fs-145 { font-size: 14.5px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-fs-15 { font-size: 15px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-fs-16 { font-size: 16px !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-lh-17 { line-height: 1.7 !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-lh-18 { line-height: 1.8 !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-lh-185 { line-height: 1.85 !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-lh-19 { line-height: 1.9 !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-lh-195 { line-height: 1.95 !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-lh-2 { line-height: 2 !important; }

/* Letter-spacing utilities */
:is(.a11-main, .editor-styles-wrapper) .a11-ls-0 { letter-spacing: 0 !important; }
:is(.a11-main, .editor-styles-wrapper) .a11-ls-14 { letter-spacing: 0.14em !important; }

/* Component modifiers used by single pages */
.a11-points.a11-points--pt18 > * { padding-top: 18px; }
.a11-points.a11-points--num-plain > * > .is-style-a11-eyebrow { letter-spacing: 0; }
.a11-points--sm { gap: clamp(22px, 2.6vw, 40px); }
.a11-points.a11-points--sm > * { padding-top: 16px; }
.a11-points.a11-points--sm > * > .wp-block-heading + p { margin-top: 8px; }
:is(.a11-main, .editor-styles-wrapper) .a11-ph--label-lg p { font-size: 11px; padding: 7px 14px; }
.a11-box.a11-box--sm,
.a11-box--light.a11-box--sm { padding: clamp(22px, 2.6vw, 34px); }
.a11-box--sm > .is-style-a11-checks { margin-top: 14px; }
.a11-duo--g48 { gap: clamp(24px, 3vw, 48px); }

/* Spacing scale of the design (fluid; the number is the desktop maximum) */
.a11-section > .a11-mt-88, .a11-mt-88 { margin-top: clamp(48px, 6vw, 88px) !important; }
.a11-section > .a11-mt-72, .a11-mt-72 { margin-top: clamp(40px, 5vw, 72px) !important; }
.a11-section > .a11-mt-64, .a11-mt-64 { margin-top: clamp(36px, 4.5vw, 64px) !important; }
.a11-section > .a11-mt-60, .a11-mt-60 { margin-top: clamp(36px, 4.5vw, 60px) !important; }
.a11-section > .a11-mt-56, .a11-mt-56 { margin-top: clamp(32px, 4vw, 56px) !important; }
.a11-section > .a11-mt-52, .a11-mt-52 { margin-top: clamp(32px, 4vw, 52px) !important; }
.a11-section > .a11-mt-48, .a11-mt-48 { margin-top: clamp(30px, 3.6vw, 48px) !important; }
.a11-section > .a11-mt-44, .a11-mt-44 { margin-top: clamp(28px, 3.2vw, 44px) !important; }
.a11-section > .a11-mt-42, .a11-mt-42 { margin-top: clamp(26px, 3.2vw, 42px) !important; }
.a11-section > .a11-mt-40, .a11-mt-40 { margin-top: clamp(26px, 3vw, 40px) !important; }
.a11-section > .a11-mt-36, .a11-mt-36 { margin-top: clamp(24px, 3vw, 36px) !important; }
.a11-section > .a11-mt-34, .a11-mt-34 { margin-top: clamp(20px, 2.6vw, 34px) !important; }
.a11-section > .a11-mt-32, .a11-mt-32 { margin-top: clamp(18px, 2.4vw, 32px) !important; }
.a11-section > .a11-mt-24, .a11-mt-24 { margin-top: clamp(14px, 1.8vw, 24px) !important; }
.a11-section > .a11-mt-22, .a11-mt-22 { margin-top: clamp(14px, 1.8vw, 22px) !important; }
.a11-mt-6px { margin-top: 6px !important; }
.a11-mt-8px { margin-top: 8px !important; }
.a11-mt-10px { margin-top: 10px !important; }
.a11-mt-12px { margin-top: 12px !important; }
.a11-mt-14px { margin-top: 14px !important; }
.a11-mt-16px { margin-top: 16px !important; }
.a11-mt-18px { margin-top: 18px !important; }
.a11-mt-20px { margin-top: 20px !important; }
.a11-mt-22px { margin-top: 22px !important; }
.a11-mt-24px { margin-top: 24px !important; }
.a11-mt-26px { margin-top: 26px !important; }
.a11-mt-28px { margin-top: 28px !important; }

/* Spacing / width utilities (block className) */
.a11-section > .a11-mt-18, .a11-mt-18 { margin-top: 18px !important; }
.a11-section > .a11-mt-sm, .a11-mt-sm { margin-top: 24px !important; }
.a11-section > .a11-mt-md, .a11-mt-md { margin-top: clamp(24px, 3vw, 36px) !important; }
.a11-section > .a11-mt-lg, .a11-mt-lg { margin-top: clamp(40px, 5vw, 64px) !important; }
.a11-section > .a11-mt-xl, .a11-mt-xl { margin-top: clamp(48px, 6vw, 80px) !important; }
.a11-max-13 { max-width: 13em !important; }
.a11-max-14 { max-width: 14em !important; }
.a11-max-15 { max-width: 15em !important; }
.a11-max-16 { max-width: 16em !important; }
.a11-max-20 { max-width: 20em !important; }
.a11-max-22 { max-width: 22em !important; }
.a11-max-24 { max-width: 24em !important; }
.a11-max-26 { max-width: 26em !important; }
.a11-max-30 { max-width: 30em !important; }
.a11-max-32 { max-width: 32em !important; }
.a11-max-33 { max-width: 33em !important; }
.a11-max-34 { max-width: 34em !important; }
.a11-max-38 { max-width: 38em !important; }
.a11-max-42 { max-width: 42em !important; }
.a11-max-44 { max-width: 44em !important; }
.a11-max-46 { max-width: 46em !important; }
.a11-max-48 { max-width: 48em !important; }
.a11-max-52 { max-width: 52em !important; }
.a11-max-70 { max-width: 70em !important; }
.a11-max-60 { max-width: 60em !important; }
.a11-max-none { max-width: none !important; }
:is(.a11-main, .editor-styles-wrapper) .wp-block-heading.a11-fs-26 { font-size: clamp(20px, 2.1vw, 26px); }
:is(.a11-main, .editor-styles-wrapper) .a11-lh-normal { line-height: normal; }
.a11-video__fallback { position: absolute; inset: auto 0 16px; text-align: center; color: #FFFFFF; font-size: 13px; }

/* 16. Utilities & motion ------------------------------------------------------ */
.a11-hide { display: none !important; }
.a11-center { text-align: center; }
.a11-max-40 { max-width: 40em; }
.a11-max-18 { max-width: 18em !important; }
.a11-mt-0 { margin-top: 0 !important; }

@keyframes a11rise {
	from { transform: translateY(10px); }
	to { transform: none; }
}
:is(.a11-main, .editor-styles-wrapper) { animation: a11rise .42s ease both; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

@media print {
	.a11-header, .a11-footer, .a11-cta, .a11-anchors { display: none; }
	.a11-section { padding: 24px 0; }
}
