/**
 * The procedure layout: ԱՐՏՈՆԱԳՐՈՒՄ and ԱՆԴԱՄԱԳՐՈՒՄ
 * (page-patenting.php, page-membership.php).
 *
 * Scoped under [data-arm-layout="document"] — the attribute header.php stamps on
 * <main> for these documents — so these rules can only ever touch these two
 * pages. See Editor::DOCUMENT_LAYOUT.
 *
 * Colours come from the design where they are deliberate (the statute's clause
 * headings, the card rules) and from the theme's tokens everywhere else, so the
 * pages still belong to the same site.
 */

[data-arm-layout="document"] {
	/* From the design: the clause heading and the 3px rule around every panel. */
	--doc-clause: #6b2f14;
	--doc-panel-line: #726f6f;
	--doc-panel-bg: rgba(255, 255, 255, 0.5);
	--doc-panel-radius: 32px;
}

/* The design lays every panel on one flat ground; the theme's alternating band
   colour would cut that into stripes. */
[data-arm-layout="document"] .arm-section:nth-of-type(even) {
	background: transparent;
}

/* ------------------------------------------------------------------- hero */

/* One title, set as the design's big translucent word: it is the page's h1, not
   a decoration behind another copy of itself. `overflow: hidden` lets it bleed
   past the container edge without widening the page. */
[data-arm-layout="document"] .arm-hero {
	--hero-inset: 28%;
	/* One value: the column's width, and the distance the lock-up and the title
	   step left to clear it. Declared once so the two cannot drift apart. */
	--hero-band: 9vw;
	overflow: hidden;
	justify-content: flex-end;
}

/* Translucent white column hung 20px off the same right inset the roster hero
   uses, so both heroes carry the same mark. Painted over the photograph and
   under the text — hence the z-index on the two content rows below. */
[data-arm-layout="document"] .arm-hero::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - var(--hero-inset) + 20px);
	width: var(--hero-band);
	background: rgba(255, 255, 255, 0.22);
	z-index: 0;
	pointer-events: none;
}

/* No `position` on the top strip, or it would become the brand's containing
   block and break the offset — the roster hero has the same constraint. */
[data-arm-layout="document"] .arm-hero__top {
	z-index: 1;
}

/* The strip spans the hero rather than the centred container, and its right
   padding is the inset itself — so the title's right edge lands 20px before the
   column at any width, with no breakpoint doing the arithmetic. */
[data-arm-layout="document"] .arm-hero__inner {
	position: relative;
	z-index: 1;
	max-width: none;
	justify-content: flex-end;
	padding: 0 var(--hero-inset) 0 20px;
	margin-top: auto;
}

/* Same anchor for the lock-up. Absolute so the contacts opposite it keep their
   place on the centred container; `top` is the hero's own padding, which is
   where the lock-up already sat, so only the horizontal changes. */
[data-arm-layout="document"] .arm-hero__brand {
	position: absolute;
	top: 30px;
	right: var(--hero-inset);
}

[data-arm-layout="document"] .arm-hero__title {
	max-width: none;
	font-size: clamp(46px, 10.4vw, 200px);
	line-height: 0.72;
	letter-spacing: 0.1em;
	white-space: nowrap;
	color: #fff;
	/* White over a photograph still needs an edge, or it dissolves into the
	   lighter parts of the image. */
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

/* Ten letters and more (sections/hero.php decides): the same word at a size
   that still fits between the band and the right edge. */
[data-arm-layout="document"] .arm-hero__title--long {
	font-size: clamp(34px, 6.2vw, 120px);
}

/* More than one line: the 0.72 leading that fits a single word would stack
   the lines onto each other. */
[data-arm-layout="document"] .arm-hero__title--lines {
	line-height: 1.04;
}

/* ------------------------------------------------------------------ intro */

/* Photograph left, heading and justified copy right. */
[data-arm-layout="document"] .arm-about {
	grid-template-columns: minmax(0, 430px) minmax(0, 1fr);
	align-items: start;
	gap: 56px;
}

[data-arm-layout="document"] .arm-about__media {
	width: 100%;
}

[data-arm-layout="document"] .arm-about__image {
	display: block;
	width: 100%;
	height: 340px;
	object-fit: cover;
	border-radius: 0;
}

[data-arm-layout="document"] .arm-about__body .arm-h2 {
	text-align: right;
	margin-bottom: 28px;
}

[data-arm-layout="document"] .arm-about__text {
	text-align: justify;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.06em;
	color: rgba(0, 0, 0, 0.8);
}

[data-arm-layout="document"] .arm-about__text p + p {
	margin-top: 14px;
}

/* --------------------------------------------------------------- statute */

/* The heading carries the register-of-acts mark to its left; the statute itself
   sits in a panel with the state coat of arms watermarked into its corner. */
[data-arm-layout="document"] .arm-article__title {
	position: relative;
	min-height: 92px;
	display: flex;
	align-items: center;
	padding-left: 132px;
	margin-bottom: 24px;
	letter-spacing: 0.1em;
}

[data-arm-layout="document"] .arm-article__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 112px;
	height: 92px;
	background: url("../img/law-icon.png") left center / contain no-repeat;
}

[data-arm-layout="document"] .arm-article__body {
	position: relative;
	max-width: none;
	padding: 40px 48px;
	border: 3px solid var(--doc-panel-line);
	border-radius: var(--doc-panel-radius);
	background: var(--doc-panel-bg);
	font-size: 16px;
	letter-spacing: 0.04em;
}

/* Watermark: the arms are drawn on their own layer so the statute's text never
   has to compete with them for contrast. */
[data-arm-layout="document"] .arm-article__body::after {
	content: "";
	position: absolute;
	top: 30px;
	right: 34px;
	width: 150px;
	height: 145px;
	opacity: 0.3;
	background: url("../img/coat-of-arms.png") center / contain no-repeat;
	pointer-events: none;
}

/* A clause heading is the paragraph immediately before its list. */
[data-arm-layout="document"] .arm-article__body p:has( + ol ),
[data-arm-layout="document"] .arm-article__body p:has( + ul ) {
	color: var(--doc-clause);
	font-weight: 700;
	letter-spacing: 0.06em;
}

/* Keep the statute clear of the watermark on the first two lines. */
[data-arm-layout="document"] .arm-article__body > *:first-child {
	padding-right: 190px;
}

/* ------------------------------------------------- acts, forms, questions */

[data-arm-layout="document"] .arm-files__list {
	max-width: none;
	border-top: 0;
}

[data-arm-layout="document"] .arm-files__row {
	gap: 22px;
	padding: 10px 0;
	border-bottom: 0;
}

/* The same register mark as the statute heading, at row scale. */
[data-arm-layout="document"] .arm-files__icon {
	width: 74px;
	height: 62px;
	border: 0;
	border-radius: 0;
	background: url("../img/law-icon.png") center / contain no-repeat;
}

[data-arm-layout="document"] .arm-files__icon .arm-icon-svg {
	display: none;
}

[data-arm-layout="document"] .arm-files__link {
	font-size: 14px;
	line-height: 1.9;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* One card per form: the name, then the action and its stamp. */
[data-arm-layout="document"] .arm-files__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
}

[data-arm-layout="document"] .arm-files__card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-height: 233px;
	padding: 26px 30px;
	border: 3px solid var(--doc-panel-line);
	border-radius: var(--doc-panel-radius);
	background: var(--doc-panel-bg);
}

[data-arm-layout="document"] .arm-files__card-label {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	letter-spacing: 0.1em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-files__card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: auto;
}

[data-arm-layout="document"] .arm-files__card-btn {
	flex: 0 1 auto;
	min-width: 258px;
	padding: 14px 26px;
	border-radius: 0;
	background: var(--arm-brown);
	color: #fff;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.06em;
	text-align: center;
}

[data-arm-layout="document"] .arm-files__card-btn:hover {
	background: var(--arm-brown-dark);
}

/* The stamped-form mark, inside the ring the design draws around it. */
[data-arm-layout="document"] .arm-files__card-icon {
	flex: 0 0 auto;
	display: block;
	width: 96px;
	height: 96px;
	border: 1px solid var(--doc-panel-line);
	border-radius: 50%;
	background: url("../img/form-stamp.png") center / 62% no-repeat;
}

/* The membership page opens its pair with the rules book rather than a form;
   the licensing page's cards are both application forms. */
[data-arm-doc="membership"] .arm-files__card:first-child .arm-files__card-icon {
	/* This mark is drawn inside its own circle, so it brings no ring of its own. */
	border: 0;
	background-image: url("../img/rules-book.png?v=2");
	background-size: contain;
}

/* ------------------------------------------------------------------- FAQ */

/* Questions and answers: a sticky intro beside numbered cards that open one
   answer at a time (sections/faq.php). */
[data-arm-layout="document"] .arm-faq {
	display: grid;
	grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
	align-items: start;
	gap: 40px 72px;
}

[data-arm-layout="document"] .arm-faq__intro {
	position: sticky;
	top: calc(var(--arm-header-h) + 32px);
}

[data-arm-layout="document"] .arm-faq__eyebrow {
	margin-bottom: 14px;
}

[data-arm-layout="document"] .arm-faq__title {
	margin: 0 0 18px;
	font-size: clamp(32px, 3.4vw, 48px);
	line-height: 1.02;
	letter-spacing: 0.06em;
	text-align: left;
}

[data-arm-layout="document"] .arm-faq__lead {
	margin: 0 0 26px;
	font-size: 15.5px;
	line-height: 1.7;
	color: rgba(0, 0, 0, 0.7);
}

[data-arm-layout="document"] .arm-faq__lead:empty {
	display: none;
}

[data-arm-layout="document"] .arm-faq__ask {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 22px;
	border-radius: 999px;
	background: var(--arm-brown);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 14px 28px -18px rgba(60, 35, 20, 0.7);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

[data-arm-layout="document"] .arm-faq__ask::after {
	content: "→";
	transition: transform 0.2s ease;
}

[data-arm-layout="document"] .arm-faq__ask:hover,
[data-arm-layout="document"] .arm-faq__ask:focus-visible {
	background: #5a3b30;
	transform: translateY(-2px);
}

[data-arm-layout="document"] .arm-faq__ask:hover::after {
	transform: translateX(3px);
}

/* The cards. */
[data-arm-layout="document"] .arm-faq__list {
	display: grid;
	gap: 14px;
}

[data-arm-layout="document"] .arm-faq__item {
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-radius: 18px;
	background: var(--arm-surface);
	box-shadow: 0 16px 36px -28px rgba(40, 30, 20, 0.45);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

[data-arm-layout="document"] .arm-faq__item:hover {
	box-shadow: 0 22px 44px -28px rgba(40, 30, 20, 0.55);
}

[data-arm-layout="document"] .arm-faq__item[open],
[data-arm-layout="document"] .arm-faq__item.is-open {
	border-color: rgba(211, 163, 73, 0.6);
	box-shadow: 0 26px 52px -32px rgba(60, 40, 20, 0.6);
}

[data-arm-layout="document"] .arm-faq__q {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 22px 24px;
	list-style: none;
	cursor: pointer;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-faq__q::-webkit-details-marker {
	display: none;
}

[data-arm-layout="document"] .arm-faq__item.is-open .arm-faq__q {
	cursor: default;
}

[data-arm-layout="document"] .arm-faq__q:focus-visible {
	outline: 2px solid var(--arm-gold);
	outline-offset: -2px;
	border-radius: 18px;
}

/* The number, in the display face: gold while closed, brown when open. */
[data-arm-layout="document"] .arm-faq__num {
	font-family: var(--arm-font-head);
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.04em;
	color: var(--arm-gold);
	transition: color 0.3s ease;
}

[data-arm-layout="document"] .arm-faq__item[open] .arm-faq__num,
[data-arm-layout="document"] .arm-faq__item.is-open .arm-faq__num {
	color: var(--arm-brown);
}

/* A ring with a plus that turns into a minus as the card opens. */
[data-arm-layout="document"] .arm-faq__toggle {
	position: relative;
	width: 38px;
	height: 38px;
	border: 1.5px solid var(--arm-line);
	border-radius: 50%;
	transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
}

[data-arm-layout="document"] .arm-faq__toggle::before,
[data-arm-layout="document"] .arm-faq__toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	margin: -1px 0 0 -7px;
	border-radius: 1px;
	background: var(--arm-brown);
	transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), background-color 0.3s ease;
}

[data-arm-layout="document"] .arm-faq__toggle::after {
	transform: rotate(90deg);
}

[data-arm-layout="document"] .arm-faq__q:hover .arm-faq__toggle {
	border-color: var(--arm-gold);
}

[data-arm-layout="document"] .arm-faq__item[open] .arm-faq__toggle {
	border-color: var(--arm-brown);
	background: var(--arm-brown);
	transform: rotate(180deg);
}

[data-arm-layout="document"] .arm-faq__item[open] .arm-faq__toggle::before,
[data-arm-layout="document"] .arm-faq__item[open] .arm-faq__toggle::after {
	background: #fff;
}

[data-arm-layout="document"] .arm-faq__item[open] .arm-faq__toggle::after {
	transform: rotate(0deg);
}

/* The answer, set under the question with a gold rule down its side. */
[data-arm-layout="document"] .arm-faq__a {
	position: relative;
	margin: 0;
	padding: 0 64px 26px 100px;
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.02em;
	color: rgba(0, 0, 0, 0.75);
}

[data-arm-layout="document"] .arm-faq__a::before {
	content: "";
	position: absolute;
	top: 4px;
	bottom: 30px;
	left: 84px;
	width: 2px;
	border-radius: 1px;
	background: rgba(211, 163, 73, 0.7);
}

[data-arm-layout="document"] .arm-faq__a p {
	margin: 0;
}

[data-arm-layout="document"] .arm-faq__a p + p {
	margin-top: 0.6em;
}

[data-arm-layout="document"] .arm-faq__a a {
	color: var(--arm-brown);
	text-underline-offset: 3px;
}

/* Where the browser can animate to `auto`, the answer slides open. */
@supports (interpolate-size: allow-keywords) {
	[data-arm-layout="document"] .arm-faq__item {
		interpolate-size: allow-keywords;
	}

	[data-arm-layout="document"] .arm-faq__item::details-content {
		overflow: hidden;
		block-size: 0;
		transition: block-size 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), content-visibility 0.45s allow-discrete;
	}

	[data-arm-layout="document"] .arm-faq__item[open]::details-content {
		block-size: auto;
	}
}

@media (max-width: 900px) {
	[data-arm-layout="document"] .arm-faq {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	[data-arm-layout="document"] .arm-faq__intro {
		position: static;
	}
}

@media (max-width: 600px) {
	[data-arm-layout="document"] .arm-faq__q {
		grid-template-columns: 32px minmax(0, 1fr) auto;
		gap: 12px;
		padding: 18px 16px;
		font-size: 15.5px;
	}

	[data-arm-layout="document"] .arm-faq__num {
		font-size: 24px;
	}

	[data-arm-layout="document"] .arm-faq__toggle {
		width: 32px;
		height: 32px;
	}

	[data-arm-layout="document"] .arm-faq__a {
		padding: 0 16px 20px 34px;
		font-size: 15px;
	}

	[data-arm-layout="document"] .arm-faq__a::before {
		left: 18px;
		bottom: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-arm-layout="document"] .arm-faq__item::details-content,
	[data-arm-layout="document"] .arm-faq__toggle,
	[data-arm-layout="document"] .arm-faq__toggle::before,
	[data-arm-layout="document"] .arm-faq__toggle::after {
		transition: none;
	}
}

/* ---------------------------------------------------------------- archive */

/* Search, kind filters, then a stack of topic cards on a grey tray — the design
   floats white cards on it so the tray, not the card, carries the page colour. */
.arm-topics__title:empty {
	display: none;
}

.arm-topics__search {
	margin-bottom: 22px;
}

.arm-topics__input {
	width: 100%;
	height: 56px;
	padding: 0 20px;
	border: 1px solid #aeaeae;
	border-radius: 10px;
	background: #fff;
	font: inherit;
	font-size: 15px;
	letter-spacing: 0.1em;
	color: var(--arm-text);
}

.arm-topics__input::placeholder {
	color: #767370;
}

/* Two columns, as the design lays them out; the rows read down each column. */
.arm-topics__filters {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 190px));
	gap: 10px 30px;
	margin: 0 0 26px;
	padding: 0;
	border: 0;
}

.arm-topics__filter {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 13px;
	letter-spacing: 0.1em;
	cursor: pointer;
}

/* The native box is kept for keyboard and screen readers and hidden from sight;
   the square beside it is what the design draws. */
.arm-topics__filter input {
	position: absolute;
	opacity: 0;
	width: 15px;
	height: 15px;
	margin: 0;
	cursor: pointer;
}

.arm-topics__box {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	border: 0.5px solid #000;
	border-radius: 3px;
	background: #fff;
}

.arm-topics__box::after {
	content: "";
	width: 11px;
	height: 11px;
	border-radius: 2px;
	background: #c07803;
	opacity: 0;
	transition: opacity 0.12s ease;
}

.arm-topics__filter input:checked + .arm-topics__box::after {
	opacity: 1;
}

.arm-topics__filter input:focus-visible + .arm-topics__box {
	outline: 2px solid var(--arm-brown);
	outline-offset: 2px;
}

.arm-topics__body {
	padding: 20px;
	background: rgba(158, 158, 158, 0.3);
	transition: opacity 0.15s ease;
}

.arm-topics__body.is-loading {
	opacity: 0.55;
}

.arm-topics__list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.arm-topic {
	display: flex;
	gap: 22px;
	min-height: 131px;
	padding: 8px 16px 8px 13px;
	border-radius: 20px;
	background: #fff;
}

.arm-topic__thumb {
	flex: 0 0 auto;
	display: block;
	width: 111px;
	height: 115px;
	overflow: hidden;
	border-radius: 15px;
	background: var(--arm-bg-alt);
}

.arm-topic__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.arm-topic__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
	padding-block: 10px;
}

.arm-topic__title {
	margin: 0;
	font-family: var(--arm-font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.arm-topic__title a {
	color: var(--arm-text);
	text-decoration: none;
}

.arm-topic__title a:hover {
	color: var(--arm-brown);
}

.arm-topic__excerpt {
	margin: 0;
	font-size: 12px;
	line-height: 1.55;
	letter-spacing: 0.06em;
	text-align: justify;
	color: var(--arm-text);
}

.arm-topic__foot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	margin-top: auto;
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #895b46;
}

.arm-topic__more {
	flex: 0 0 auto;
	color: #895b46;
	text-decoration: none;
	white-space: nowrap;
}

.arm-topic__more:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.arm-topics__pager {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 20px;
}

.arm-topics__page {
	min-width: 34px;
	padding: 7px 10px;
	border: 1px solid var(--arm-line);
	border-radius: 6px;
	background: #fff;
	font: inherit;
	font-size: 13px;
	color: var(--arm-text);
	cursor: pointer;
}

.arm-topics__page:hover:not(.is-current) {
	border-color: var(--arm-brown);
	color: var(--arm-brown);
}

.arm-topics__page.is-current {
	background: var(--arm-brown);
	border-color: var(--arm-brown);
	color: #fff;
	cursor: default;
}

.arm-topics__gap {
	align-self: center;
	color: var(--arm-muted);
}

@media (max-width: 700px) {
	/* The thumbnail is decorative here; the card keeps its text instead. */
	.arm-topic {
		gap: 14px;
		padding: 12px;
	}

	.arm-topic__thumb {
		width: 76px;
		height: 80px;
	}

	.arm-topic__foot {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
}

/* --------------------------------------------------------------- narrow */

@media (max-width: 780px) {
	/* Stacked: the inset the band hangs off no longer means anything, and with
	   the band gone there is nothing left to step around. */
	[data-arm-layout="document"] .arm-hero::after {
		display: none;
	}

	[data-arm-layout="document"] .arm-hero__brand {
		position: static;
		right: auto;
		margin-top: 6px;
		align-self: flex-end;
	}

	[data-arm-layout="document"] .arm-hero__inner {
		padding-inline: 20px;
	}
}

@media (max-width: 900px) {
	[data-arm-layout="document"] .arm-files__cards {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	[data-arm-layout="document"] .arm-article__body {
		padding: 26px 22px;
	}

	[data-arm-layout="document"] .arm-article__body::after {
		display: none;
	}

	[data-arm-layout="document"] .arm-article__body > *:first-child {
		padding-right: 0;
	}

	[data-arm-layout="document"] .arm-article__title {
		min-height: 0;
		padding-left: 74px;
	}

	[data-arm-layout="document"] .arm-article__title::before {
		width: 62px;
		height: 52px;
	}

	[data-arm-layout="document"] .arm-about__body .arm-h2,
	[data-arm-layout="document"] .arm-faq__title {
		text-align: left;
	}

	[data-arm-layout="document"] .arm-files__icon {
		width: 46px;
		height: 40px;
	}
}

/* ================================================================== jobs */

/* «Գործ կա» (page-jobs.php): the intro panel, the search bar, the tag filter
   and the announcement cards. The pager reuses the archive's .arm-topics__page
   rules above. */

.arm-jobs__intro {
	padding: 30px 40px 34px;
	border: 2px solid var(--doc-clause);
	border-radius: 24px;
	background: var(--doc-panel-bg);
}

.arm-jobs__intro-title {
	margin: 0 0 18px;
	font-family: var(--arm-font-body);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--doc-clause);
}

.arm-jobs__intro-text {
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.04em;
	color: rgba(0, 0, 0, 0.8);
}

.arm-jobs__intro-text p + p {
	margin-top: 16px;
}

.arm-jobs__panel {
	margin-top: 28px;
	padding: 20px 22px 18px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}

.arm-jobs__bar {
	display: flex;
	gap: 14px;
	align-items: stretch;
}

.arm-jobs__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	padding: 0 18px;
	border: 1px solid #c9c5c0;
	border-radius: 8px;
	background: #fff;
	font: inherit;
	font-size: 14px;
	letter-spacing: 0.06em;
	color: var(--arm-text);
}

.arm-jobs__input::placeholder {
	color: #767370;
}

.arm-jobs__add {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	font-size: 13px;
	letter-spacing: 0.04em;
}

.arm-jobs__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin-top: 16px;
}

.arm-jobs__tag,
.arm-job__tag {
	display: inline-block;
	padding: 5px 14px;
	border: 0;
	border-radius: 999px;
	background: #ebe9e6;
	font: inherit;
	font-size: 11.5px;
	letter-spacing: 0.04em;
	line-height: 1.3;
	color: #5b5652;
}

.arm-jobs__tag {
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease;
}

.arm-jobs__tag:hover {
	background: #dedad5;
}

.arm-jobs__tag[aria-pressed="true"] {
	background: var(--arm-brown);
	color: #fff;
}

.arm-jobs__tag:focus-visible {
	outline: 2px solid var(--arm-brown);
	outline-offset: 2px;
}

.arm-jobs__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
	margin-top: 44px;
	margin-bottom: 16px;
}

.arm-jobs__title {
	margin: 0;
	font-family: var(--arm-font-body);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--arm-text);
}

.arm-jobs__count {
	margin: 0;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: #6f6a65;
}

.arm-jobs__body {
	transition: opacity 0.15s ease;
}

.arm-jobs__body.is-loading {
	opacity: 0.55;
}

.arm-jobs__list {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ------------------------------------------------------------------ card */

/* Three columns as the design draws them: who, what, how to reach them. */
.arm-job {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) 210px;
	gap: 0 26px;
	padding: 22px 24px 18px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.05);
}

.arm-job__author {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}

.arm-job__avatar {
	display: block;
	width: 72px;
	height: 72px;
	overflow: hidden;
	border-radius: 50%;
	background: #d9d5d0;
}

.arm-job__avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.arm-job__name {
	font-size: 11.5px;
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: #5b5652;
	text-decoration: none;
	overflow-wrap: anywhere;
}

a.arm-job__name:hover {
	color: var(--arm-brown);
}

.arm-job__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.arm-job__title {
	margin: 0;
	font-family: var(--arm-font-body);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--arm-text);
}

.arm-job__text {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: #3f3b38;
	/* Collapsed: a fixed number of lines, the rest behind «կարդալ ավելին». */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}

.arm-job__text p,
.arm-job__text ul,
.arm-job__text ol {
	margin: 0 0 8px;
}

.arm-job__text ul,
.arm-job__text ol {
	padding-left: 20px;
}

.arm-job__text a {
	color: var(--arm-brown);
}

.arm-job.is-open .arm-job__text {
	display: block;
	-webkit-line-clamp: unset;
	overflow: visible;
}

.arm-job__image {
	display: none;
	margin: 6px 0 0;
}

.arm-job.is-open .arm-job__image {
	display: block;
}

.arm-job__image img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

.arm-job__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 8px;
	margin: auto 0 0;
	padding: 6px 0 0;
	list-style: none;
}

.arm-job__aside {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-left: 26px;
	border-left: 1px solid #dcd8d3;
}

.arm-job__contacts {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.arm-job__contact {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	font-size: 12.5px;
	letter-spacing: 0.02em;
	color: #5b5652;
}

.arm-job__contact a {
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.arm-job__contact a:hover {
	color: var(--arm-brown);
}

.arm-job__icon {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	color: var(--arm-brown);
}

.arm-job__date {
	font-size: 12px;
	letter-spacing: 0.06em;
	color: #6f6a65;
}

.arm-job__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-end;
	margin-top: auto;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 11.5px;
	letter-spacing: 0.04em;
	color: #6f6a65;
	cursor: pointer;
}

.arm-job__more:hover {
	color: var(--arm-brown);
}

.arm-job__chevron {
	width: 12px;
	height: 12px;
	transition: transform 0.15s ease;
}

.arm-job.is-open .arm-job__chevron {
	transform: rotate(180deg);
}

.arm-jobs__foot {
	display: flex;
	justify-content: flex-end;
	margin-top: 24px;
}

.arm-jobs__empty {
	padding: 40px 20px;
	border-radius: 16px;
	background: #fff;
	text-align: center;
	color: #6f6a65;
}

@media (max-width: 900px) {
	.arm-job {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 0 18px;
	}

	/* The contacts drop under the text and lose their rule. */
	.arm-job__aside {
		grid-column: 1 / -1;
		margin-top: 16px;
		padding: 14px 0 0;
		border-left: 0;
		border-top: 1px solid #dcd8d3;
	}

	.arm-job__contacts {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
}

@media (max-width: 600px) {
	.arm-jobs__intro {
		padding: 22px 20px 24px;
		border-radius: 18px;
	}

	.arm-jobs__intro-title,
	.arm-jobs__title {
		font-size: 16px;
	}

	.arm-jobs__bar {
		flex-direction: column;
	}

	.arm-jobs__add {
		justify-content: center;
	}

	.arm-jobs__head {
		flex-direction: column;
		gap: 6px;
	}

	.arm-job {
		grid-template-columns: minmax(0, 1fr);
		padding: 18px 16px;
	}

	.arm-job__author {
		flex-direction: row;
		text-align: left;
		margin-bottom: 12px;
	}

	.arm-job__avatar {
		width: 52px;
		height: 52px;
	}
}

/* Whose announcements: everyone's, developers', members'. A segmented row
   above the tag chips; the pressed one is filled. */
.arm-jobs__kinds {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.arm-jobs__kind {
	padding: 8px 18px;
	border: 1px solid var(--arm-brown);
	border-radius: 999px;
	background: #fff;
	font: inherit;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--arm-brown);
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease;
}

.arm-jobs__kind:hover {
	background: #f1ece8;
}

.arm-jobs__kind[aria-pressed="true"] {
	background: var(--arm-brown);
	color: #fff;
}

.arm-jobs__kind:focus-visible {
	outline: 2px solid var(--arm-brown);
	outline-offset: 2px;
}

.arm-jobs__kinds + .arm-jobs__tags {
	margin-top: 12px;
}

/* A developer's card is signed by the company. */
.arm-job__company {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: var(--arm-text);
	overflow-wrap: anywhere;
}

.arm-job__company + .arm-job__name {
	margin-top: -6px;
	font-size: 11px;
}

/* ================================================================== news */

/* The news page (page-news.php): search + archive shortcut, the event
   carousel, the news grid. The archive (page-news-archive.php) reuses the
   discussions archive's list and the jobs board's chips. */

.arm-nb__search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 14px;
	align-items: start;
	max-width: 900px;
	margin: 0 auto;
}

.arm-nb__archive {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	padding: 6px 8px 6px 6px;
	border-radius: 10px;
	background: #e6e0d8;
}

.arm-nb__archive-btn {
	display: inline-block;
	padding: 9px 20px;
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--arm-brown);
	text-decoration: none;
}

.arm-nb__archive-btn:hover {
	background: var(--arm-brown);
	color: #fff;
}

.arm-nb__archive-hint {
	margin: 0;
	font-size: 10.5px;
	line-height: 1.3;
	color: var(--arm-brown);
}

.arm-nb__head {
	margin: 44px 0 14px;
}

.arm-nb__title {
	margin: 0;
	font-family: var(--arm-font-body);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--arm-brown);
}

.arm-nb__subtitle {
	margin: 4px 0 0;
	font-size: 12px;
	color: #6f6a65;
}

.arm-nb__empty {
	margin: 0;
	padding: 30px 0;
	color: #6f6a65;
}

/* ---------------------------------------------------------- carousel */

/* A band across the page, like the design's grey strip; the track scrolls
   and snaps, the arrows sit in the band's margins. */
.arm-nb__carousel {
	position: relative;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: center;
	gap: 8px;
	margin: 0 -44px;
	padding: 26px 0;
}

.arm-nb__track {
	display: flex;
	column-gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 2px;
}

.arm-nb__track::-webkit-scrollbar {
	display: none;
}

.arm-nb__arrow {
	display: grid;
	place-items: center;
	width: 44px;
	height: 80px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--arm-brown);
	cursor: pointer;
	opacity: 0.8;
}

.arm-nb__arrow:hover {
	opacity: 1;
}

.arm-nb__arrow svg {
	width: 16px;
	height: 32px;
}

.arm-ev {
	flex: 0 0 calc((100% - 3 * 14px) / 4);
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 10px 10px 12px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
	scroll-snap-align: start;
}

.arm-ev__kind {
	display: block;
	min-height: 16px;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
	color: var(--arm-text);
}

.arm-ev__media,
.arm-nc__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--arm-bg-alt);
}

.arm-ev__media img,
.arm-nc__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.arm-ev__time {
	position: absolute;
	right: 8px;
	bottom: 6px;
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}

.arm-ev__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 4px;
	padding-top: 8px;
}

.arm-ev__date,
.arm-nc__date {
	font-size: 11px;
	letter-spacing: 0.04em;
	text-align: right;
	color: var(--arm-brown);
}

.arm-ev__place {
	font-size: 11px;
	text-align: right;
	color: #6f6a65;
}

.arm-ev__title {
	margin: 4px 0 0;
	font-family: var(--arm-font-body);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.arm-ev__title a,
.arm-nc__title a {
	color: inherit;
	text-decoration: none;
}

.arm-ev__title a:hover,
.arm-nc__title a:hover {
	color: var(--arm-brown);
}

.arm-ev__excerpt,
.arm-nc__excerpt {
	margin: 0;
	font-size: 11px;
	line-height: 1.45;
	text-align: justify;
	color: #3f3b38;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 8;
	overflow: hidden;
}

.arm-nc__excerpt {
	-webkit-line-clamp: 6;
}

.arm-ev__more,
.arm-nc__more {
	margin-top: auto;
	padding-top: 8px;
	font-size: 10.5px;
	text-align: right;
	color: #6f6a65;
	text-decoration: none;
}

.arm-ev__more:hover,
.arm-nc__more:hover {
	color: var(--arm-brown);
}

.arm-nb__past {
	margin: 4px 0 0;
	text-align: center;
}

.arm-nb__link {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 12px;
	color: var(--arm-brown);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.arm-nb__link:disabled {
	opacity: 0.5;
	cursor: default;
}

/* ------------------------------------------------------------- grid */

.arm-nb__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.arm-nc {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 10px 10px 12px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.arm-nc__title {
	margin: 2px 0 0;
	font-family: var(--arm-font-body);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--arm-text);
}

.arm-nb__more-row {
	margin: 22px 0 0;
	text-align: center;
}

.arm-nb__foot {
	margin: 40px 0 0;
	font-size: 12px;
	text-align: center;
	color: #6f6a65;
}

.arm-nb__foot a {
	font-weight: 700;
	color: var(--arm-brown);
}

.arm-nb__results-body {
	padding: 20px;
	background: rgba(158, 158, 158, 0.3);
	transition: opacity 0.15s ease;
}

.arm-nb__results-body.is-loading {
	opacity: 0.55;
}

/* ---------------------------------------------------------- archive */

.arm-na__types {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}

.arm-na__type {
	padding: 6px 16px;
	border: 1px solid var(--arm-brown);
	border-radius: 999px;
	background: #fff;
	font: inherit;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--arm-brown);
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease;
}

.arm-na__type[aria-pressed="true"] {
	background: var(--arm-brown);
	color: #fff;
}

.arm-na__type:focus-visible {
	outline: 2px solid var(--arm-brown);
	outline-offset: 2px;
}

.arm-na__panel {
	margin-top: 0;
}

.arm-na__body {
	margin-top: 20px;
	border-radius: 16px;
}

.arm-topic__kind {
	margin-right: 14px;
	font-size: 10.5px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--arm-brown);
}

@media (max-width: 1100px) {
	.arm-nb__carousel {
		grid-template-columns: 32px minmax(0, 1fr) 32px;
		margin: 0 -8px;
	}

	.arm-ev {
		flex-basis: calc((100% - 2 * 14px) / 3);
	}

	.arm-nb__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.arm-nb__search {
		grid-template-columns: minmax(0, 1fr);
	}

	.arm-ev {
		flex-basis: calc((100% - 14px) / 2);
	}

	.arm-nb__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.arm-nb__carousel {
		grid-template-columns: 24px minmax(0, 1fr) 24px;
		margin: 0 -12px;
	}

	.arm-ev {
		flex-basis: 86%;
	}

	.arm-nb__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* ================================================================ boxes */

/* The legal-advice page's framed blocks: a heading with the register mark,
   then cards drawn as thin rounded frames on the page's own ground. */
[data-arm-layout="document"] .arm-boxes__title {
	margin-bottom: 26px;
	font-size: 20px;
	letter-spacing: 0.08em;
}

[data-arm-layout="document"] .arm-boxes__list {
	display: grid;
	gap: 22px;
}

[data-arm-layout="document"] .arm-boxes__item {
	padding: 18px 28px 20px;
	border: 1.5px solid #4a4a4a;
	border-radius: 20px;
}

[data-arm-layout="document"] .arm-boxes__item-title {
	margin: 0 0 12px;
	font-family: var(--arm-font-body);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--doc-clause);
}

[data-arm-layout="document"] .arm-boxes__text {
	font-size: 15.5px;
	line-height: 1.65;
	letter-spacing: 0.03em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-boxes__text ul,
[data-arm-layout="document"] .arm-boxes__text ol {
	margin: 0;
	padding-left: 1.4em;
}

[data-arm-layout="document"] .arm-boxes__text li + li {
	margin-top: 6px;
}

[data-arm-layout="document"] .arm-boxes__text p {
	margin: 0 0 8px;
}

/* --------------------------------------------------------- contact cards */

[data-arm-layout="document"] .arm-ccards__title {
	margin-bottom: 18px;
	font-family: var(--arm-font-body);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: left;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-ccards__text {
	max-width: 880px;
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0.04em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-ccards__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 44px;
	margin-top: 30px;
}

[data-arm-layout="document"] .arm-ccard {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	min-height: 150px;
	padding: 22px 14px 18px;
	border: 1.5px solid #4a4a4a;
	border-radius: 22px;
	text-align: center;
}

[data-arm-layout="document"] .arm-ccard__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-ccard__icon svg {
	width: 100%;
	height: 100%;
}

[data-arm-layout="document"] .arm-ccard__label {
	font-size: 11.5px;
	letter-spacing: 0.04em;
	line-height: 1.4;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-ccard__value {
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--arm-text);
	text-decoration: none;
	overflow-wrap: anywhere;
}

[data-arm-layout="document"] a.arm-ccard__value {
	text-decoration: underline;
	text-underline-offset: 3px;
}

[data-arm-layout="document"] a.arm-ccard__value:hover {
	color: var(--arm-brown);
}

/* The intro with its picture on the right instead of the left. */
[data-arm-layout="document"] .arm-about--image-right {
	grid-template-columns: minmax(0, 1fr) minmax(0, 430px);
}

[data-arm-layout="document"] .arm-about--image-right .arm-about__media {
	order: 2;
}

[data-arm-layout="document"] .arm-about--image-right .arm-about__body .arm-h2 {
	text-align: left;
}

[data-arm-layout="document"] .arm-about--image-right .arm-about__image {
	height: 300px;
}

@media (max-width: 900px) {
	[data-arm-layout="document"] .arm-ccards__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	[data-arm-layout="document"] .arm-about--image-right {
		grid-template-columns: minmax(0, 1fr);
	}

	[data-arm-layout="document"] .arm-about--image-right .arm-about__media {
		order: 0;
	}
}

@media (max-width: 480px) {
	[data-arm-layout="document"] .arm-ccards__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	[data-arm-layout="document"] .arm-boxes__item {
		padding: 16px 18px;
	}
}

/* ================================================================== map */

/* ԿԱՊ: the embedded map, framed like the page's other panels, and the line
   under it that names the place and links out to a real map app. */
[data-arm-layout="document"] .arm-map__title,
[data-arm-layout="document"] .arm-cform__title {
	margin-bottom: 18px;
	font-family: var(--arm-font-body);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: left;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-map__frame {
	position: relative;
	overflow: hidden;
	border: 1.5px solid #4a4a4a;
	border-radius: 22px;
	background: var(--arm-bg-alt);
	aspect-ratio: 21 / 9;
}

/* Absolute rather than `height: 100%`: an iframe cannot resolve a percentage
   height against a box whose own height comes from `aspect-ratio`, and the
   map ends up rendering into a few dozen pixels. */
[data-arm-layout="document"] .arm-map__frame iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

[data-arm-layout="document"] .arm-map__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 20px;
	margin: 14px 0 0;
	font-size: 15px;
	letter-spacing: 0.04em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-map__link {
	color: var(--arm-brown);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ------------------------------------------------------------ write to us */

[data-arm-layout="document"] .arm-cform__text {
	max-width: 760px;
	margin-bottom: 24px;
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0.04em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-cform__msg {
	max-width: 760px;
	margin-bottom: 20px;
}

/* The form sits in the same framed panel as everything else on this layout. */
[data-arm-layout="document"] .arm-cform__form {
	display: grid;
	gap: 18px;
	padding: 28px 30px 26px;
	border: 1.5px solid #4a4a4a;
	border-radius: 22px;
	background: var(--doc-panel-bg);
}

[data-arm-layout="document"] .arm-cform__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

[data-arm-layout="document"] .arm-cform__area {
	min-height: 150px;
	resize: vertical;
}

[data-arm-layout="document"] .arm-cform__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 22px;
}

[data-arm-layout="document"] .arm-cform__actions .arm-btn {
	min-width: 200px;
	justify-content: center;
}

[data-arm-layout="document"] .arm-cform__note {
	font-size: 13px;
	color: var(--arm-muted);
}

@media (max-width: 700px) {
	[data-arm-layout="document"] .arm-map__frame {
		aspect-ratio: 4 / 3;
		border-radius: 18px;
	}

	[data-arm-layout="document"] .arm-cform__form {
		padding: 20px 18px;
		border-radius: 18px;
	}

	[data-arm-layout="document"] .arm-cform__row {
		grid-template-columns: minmax(0, 1fr);
	}

	[data-arm-layout="document"] .arm-cform__actions .arm-btn {
		width: 100%;
	}
}


/* ================================================================ history */

/* Մեր մասին → Պատմությունը (page-history.php): a lead set beside the founding
   year, the founders framed as arches — the shape of the chamber's own mark —
   and a timeline down a spine that lights as the reader moves along it. */

/* The small spaced line above a heading, led by a short gold rule. */
[data-arm-layout="document"] .arm-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-eyebrow::before {
	content: "";
	flex: 0 0 auto;
	width: 28px;
	height: 1.5px;
	background: var(--arm-gold);
}

[data-arm-layout="document"] .arm-eyebrow:empty {
	display: none;
}

/* ------------------------------------------------------------------ lead */

[data-arm-layout="document"] .arm-hlead {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 24px 64px;
}

[data-arm-layout="document"] .arm-hlead__text p {
	max-width: 820px;
	margin: 0;
	font-size: clamp(21px, 2.1vw, 28px);
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-hlead__text p + p {
	margin-top: 18px;
}

/* A drop capital in the heading face: the page opens like a chronicle. */
[data-arm-layout="document"] .arm-hlead__text p:first-child::first-letter {
	float: left;
	margin: 0.08em 0.14em 0 0;
	font-family: var(--arm-font-head);
	font-size: 3.3em;
	line-height: 0.78;
	color: var(--arm-brown);
}

/* The founding year, drawn as an outline in gold: present, not loud. */
[data-arm-layout="document"] .arm-hlead__numeral {
	font-family: var(--arm-font-head);
	font-size: clamp(120px, 17vw, 250px);
	line-height: 0.76;
	letter-spacing: 0.01em;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--arm-gold);
	user-select: none;
}

[data-arm-layout="document"] .arm-hlead__stats {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 36px 0 0;
	border-top: 1px solid var(--arm-line);
}

[data-arm-layout="document"] .arm-hlead__stat {
	padding: 22px 24px 4px 0;
}

[data-arm-layout="document"] .arm-hlead__stat + .arm-hlead__stat {
	padding-left: 24px;
	border-left: 1px solid var(--arm-line);
}

[data-arm-layout="document"] .arm-hlead__value {
	font-family: var(--arm-font-head);
	font-size: clamp(38px, 4vw, 54px);
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-hlead__label {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	color: var(--arm-muted);
}

/* -------------------------------------------------------------- founders */

[data-arm-layout="document"] .arm-founders__head {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: start;
	gap: 20px 64px;
	margin-bottom: 52px;
}

[data-arm-layout="document"] .arm-founders__title {
	margin: 0;
	text-align: left;
	letter-spacing: 0.08em;
}

[data-arm-layout="document"] .arm-founders__text {
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.03em;
	color: rgba(0, 0, 0, 0.78);
}

[data-arm-layout="document"] .arm-founders__text p {
	margin: 0;
}

[data-arm-layout="document"] .arm-founders__text p + p {
	margin-top: 12px;
}

/* A centred wrap rather than a grid, so a short last row sits in the middle. */
[data-arm-layout="document"] .arm-founders__grid {
	--founders-cols: 5;
	--founders-gap: 32px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 48px var(--founders-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

[data-arm-layout="document"] .arm-founder {
	flex: 0 0 calc((100% - (var(--founders-cols) - 1) * var(--founders-gap)) / var(--founders-cols));
	min-width: 0;
}

[data-arm-layout="document"] .arm-founder__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: inherit;
	text-decoration: none;
}

/* The portrait sits in an arch: a gold rule, a white mat, then the photo. */
[data-arm-layout="document"] .arm-founder__frame {
	display: block;
	width: 100%;
	max-width: 220px;
	aspect-ratio: 3 / 4;
	padding: 7px;
	border: 1.5px solid var(--arm-gold);
	border-radius: 999px 999px 16px 16px;
	background: var(--arm-surface);
	/* Without this a tall scan stretches its arch past 3:4. */
	overflow: hidden;
	transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.45s ease, border-color 0.3s ease;
}

/* The chair of the commission leads the row, in the house brown. */
[data-arm-layout="document"] .arm-founder:first-child .arm-founder__frame {
	border-width: 2px;
	border-color: var(--arm-brown);
}

/* The scans differ in tone; one shared sepia makes them read as a set. */
[data-arm-layout="document"] .arm-founder__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 18%;
	border-radius: 999px 999px 10px 10px;
	filter: grayscale(1) sepia(0.28) contrast(1.06) brightness(1.02);
	transition: filter 0.6s ease;
}

/* No photo yet: the initials on warm stone. */
[data-arm-layout="document"] .arm-founder__mono {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding-top: 12%;
	border-radius: 999px 999px 10px 10px;
	background: radial-gradient(120% 85% at 50% 0%, #fcf8f1 0%, #f0e7d9 55%, #e2d4bf 100%);
	font-family: var(--arm-font-head);
	font-size: clamp(30px, 3.4vw, 46px);
	line-height: 1;
	letter-spacing: 0.06em;
	color: var(--arm-brown);
}

[data-arm-layout="document"] a.arm-founder__link:hover .arm-founder__frame,
[data-arm-layout="document"] a.arm-founder__link:focus-visible .arm-founder__frame {
	transform: translateY(-6px);
	border-color: var(--arm-brown);
	box-shadow: 0 24px 40px -20px rgba(60, 40, 20, 0.5);
}

[data-arm-layout="document"] a.arm-founder__link:hover .arm-founder__img,
[data-arm-layout="document"] a.arm-founder__link:focus-visible .arm-founder__img {
	filter: grayscale(0.15) sepia(0.12) contrast(1.04);
}

[data-arm-layout="document"] a.arm-founder__link:focus-visible {
	outline: none;
}

[data-arm-layout="document"] .arm-founder__name {
	margin-top: 18px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: var(--arm-text);
}

[data-arm-layout="document"] a.arm-founder__link:hover .arm-founder__name {
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-founder__role {
	max-width: 24ch;
	margin-top: 6px;
	font-size: 11.5px;
	line-height: 1.45;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--arm-muted);
}

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

[data-arm-layout="document"] .arm-tl__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 60px;
	text-align: center;
}

[data-arm-layout="document"] .arm-tl__heading {
	margin: 0;
	text-align: center;
	letter-spacing: 0.1em;
}

[data-arm-layout="document"] .arm-tl__list {
	position: relative;
	margin: 0;
	padding: 4px 0;
	list-style: none;
}

/* The spine: a grey track, and over it the lit part, as long as the reader
   has come (--tl-progress, set by history.js; the whole length without it). */
[data-arm-layout="document"] .arm-tl__list::before,
[data-arm-layout="document"] .arm-tl__list::after {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 2px;
	margin-left: -1px;
	border-radius: 2px;
}

[data-arm-layout="document"] .arm-tl__list::before {
	bottom: 0;
	background: var(--arm-line);
}

[data-arm-layout="document"] .arm-tl__list::after {
	height: calc(var(--tl-progress, 1) * 100%);
	background: linear-gradient(to bottom, var(--arm-gold), var(--arm-brown));
}

[data-arm-layout="document"] .arm-tl__item {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr);
	align-items: start;
}

[data-arm-layout="document"] .arm-tl__item + .arm-tl__item {
	margin-top: 28px;
}

/* Each date is marked by a small arch on the spine. */
[data-arm-layout="document"] .arm-tl__marker {
	position: relative;
	z-index: 1;
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
	width: 22px;
	height: 26px;
	margin-top: 32px;
	border: 2px solid var(--arm-gold);
	border-radius: 999px 999px 3px 3px;
	background: var(--arm-gold);
	transition: background-color 0.45s ease, transform 0.45s ease;
}

[data-arm-layout="document"] .arm-tl__item--accent .arm-tl__marker {
	width: 28px;
	height: 34px;
	margin-top: 28px;
	border-color: var(--arm-brown);
	background: var(--arm-brown);
}

[data-arm-layout="document"] .arm-tl__card {
	position: relative;
	grid-column: 1;
	grid-row: 1;
	padding: 26px 30px 24px;
	border-radius: 20px;
	background: var(--arm-surface);
	box-shadow: 0 16px 36px -24px rgba(40, 30, 20, 0.4);
}

[data-arm-layout="document"] .arm-tl__item:nth-of-type(even) .arm-tl__card {
	grid-column: 3;
}

/* A small pointer from the card to its mark on the spine. */
[data-arm-layout="document"] .arm-tl__card::before {
	content: "";
	position: absolute;
	top: 38px;
	right: -7px;
	width: 14px;
	height: 14px;
	border-radius: 2px;
	background: inherit;
	transform: rotate(45deg);
}

[data-arm-layout="document"] .arm-tl__item:nth-of-type(even) .arm-tl__card::before {
	right: auto;
	left: -7px;
}

[data-arm-layout="document"] .arm-tl__when {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 14px;
	margin-bottom: 8px;
}

[data-arm-layout="document"] .arm-tl__year {
	font-family: var(--arm-font-head);
	font-size: clamp(40px, 4.4vw, 60px);
	line-height: 0.92;
	letter-spacing: 0.02em;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-tl__date {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--arm-muted);
}

[data-arm-layout="document"] .arm-tl__date:empty {
	display: none;
}

[data-arm-layout="document"] .arm-tl__title {
	margin: 0 0 12px;
	font-family: var(--arm-font-body);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-tl__text {
	font-size: 15px;
	line-height: 1.72;
	letter-spacing: 0.02em;
	color: rgba(0, 0, 0, 0.76);
}

[data-arm-layout="document"] .arm-tl__text p {
	margin: 0;
}

[data-arm-layout="document"] .arm-tl__text p + p {
	margin-top: 10px;
}

/* The turning points — the union founded, the chamber formed — in brown. */
[data-arm-layout="document"] .arm-tl__item--accent .arm-tl__card {
	background: var(--arm-brown);
	box-shadow: 0 24px 48px -24px rgba(60, 35, 20, 0.65);
}

[data-arm-layout="document"] .arm-tl__item--accent .arm-tl__year {
	color: var(--arm-gold);
}

[data-arm-layout="document"] .arm-tl__item--accent .arm-tl__date {
	color: rgba(255, 255, 255, 0.78);
}

[data-arm-layout="document"] .arm-tl__item--accent .arm-tl__title,
[data-arm-layout="document"] .arm-tl__item--accent .arm-tl__text {
	color: #fff;
}

/* Arrival, once history.js is running: a card slides in from its own side,
   and its arch fills as it lands. Without the script nothing is hidden. */
[data-arm-layout="document"] .arm-tl.is-enhanced .arm-tl__card {
	opacity: 0;
	transform: translate(-22px, 18px);
	transition: opacity 0.7s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

[data-arm-layout="document"] .arm-tl.is-enhanced .arm-tl__item:nth-of-type(even) .arm-tl__card {
	transform: translate(22px, 18px);
}

[data-arm-layout="document"] .arm-tl.is-enhanced .arm-tl__item:not(.is-visible) .arm-tl__marker {
	background: var(--arm-bg);
	transform: scale(0.85);
}

[data-arm-layout="document"] .arm-tl.is-enhanced .arm-tl__item.is-visible .arm-tl__card {
	opacity: 1;
	transform: none;
}

/* The closing text beside its picture reads as prose, not as a justified
   block: in a column this narrow justification opens rivers between words. */
[data-arm-layout="document"] .arm-about--image-right .arm-about__text {
	font-size: 17px;
	line-height: 1.75;
	text-align: start;
}

/* ------------------------------------------------------------ responsive */

@media (max-width: 900px) {
	[data-arm-layout="document"] .arm-hlead {
		grid-template-columns: minmax(0, 1fr);
	}

	/* The year comes first, above the words it dates. */
	[data-arm-layout="document"] .arm-hlead__numeral {
		order: -1;
		font-size: clamp(96px, 28vw, 170px);
	}

	[data-arm-layout="document"] .arm-hlead__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	[data-arm-layout="document"] .arm-hlead__stat:nth-child(odd) {
		padding-left: 0;
		border-left: 0;
	}

	[data-arm-layout="document"] .arm-hlead__stat:nth-child(n + 3) {
		border-top: 1px solid var(--arm-line);
	}

	[data-arm-layout="document"] .arm-hlead__stat {
		padding-bottom: 18px;
	}

	[data-arm-layout="document"] .arm-founders__head {
		grid-template-columns: minmax(0, 1fr);
		margin-bottom: 36px;
	}

	[data-arm-layout="document"] .arm-founders__grid {
		--founders-cols: 3;
		--founders-gap: 24px;
		row-gap: 40px;
	}
}

/* A phone: the spine moves to the left edge, every card to its right. */
@media (max-width: 760px) {
	[data-arm-layout="document"] .arm-tl__head {
		align-items: flex-start;
		margin-bottom: 36px;
		text-align: left;
	}

	[data-arm-layout="document"] .arm-tl__heading {
		text-align: left;
	}

	[data-arm-layout="document"] .arm-tl__list::before,
	[data-arm-layout="document"] .arm-tl__list::after {
		left: 15px;
	}

	[data-arm-layout="document"] .arm-tl__item {
		grid-template-columns: 30px minmax(0, 1fr);
		column-gap: 16px;
	}

	[data-arm-layout="document"] .arm-tl__item + .arm-tl__item {
		margin-top: 20px;
	}

	[data-arm-layout="document"] .arm-tl__marker {
		grid-column: 1;
		width: 18px;
		height: 22px;
		margin-top: 26px;
	}

	[data-arm-layout="document"] .arm-tl__item--accent .arm-tl__marker {
		width: 22px;
		height: 28px;
		margin-top: 23px;
	}

	[data-arm-layout="document"] .arm-tl__card,
	[data-arm-layout="document"] .arm-tl__item:nth-of-type(even) .arm-tl__card {
		grid-column: 2;
		padding: 20px 20px 18px;
		border-radius: 16px;
	}

	[data-arm-layout="document"] .arm-tl__card::before,
	[data-arm-layout="document"] .arm-tl__item:nth-of-type(even) .arm-tl__card::before {
		top: 30px;
		right: auto;
		left: -6px;
		width: 12px;
		height: 12px;
	}

	[data-arm-layout="document"] .arm-tl__title {
		font-size: 16px;
	}

	[data-arm-layout="document"] .arm-tl.is-enhanced .arm-tl__card,
	[data-arm-layout="document"] .arm-tl.is-enhanced .arm-tl__item:nth-of-type(even) .arm-tl__card {
		transform: translateY(18px);
	}
}

@media (max-width: 600px) {
	[data-arm-layout="document"] .arm-hlead__text p {
		font-size: 19px;
	}

	[data-arm-layout="document"] .arm-founders__grid {
		--founders-cols: 2;
		--founders-gap: 16px;
		row-gap: 32px;
	}

	[data-arm-layout="document"] .arm-founder__mono {
		font-size: 34px;
	}

	[data-arm-layout="document"] .arm-founder__frame {
		padding: 5px;
	}

	[data-arm-layout="document"] .arm-founder__name {
		margin-top: 12px;
		font-size: 14px;
	}

	[data-arm-layout="document"] .arm-founder__role {
		font-size: 12px;
		letter-spacing: 0.06em;
	}
}


/* ============================================================== structure */

/* Մեր մասին → Կառուցվածքը (page-structure.php): the chamber's bodies as a
   diagram, the chairman in the spotlight, the commission read live from the
   members, and the two qualification commissions. People sit in arches, like
   the founders on the history page. */

/* A jump from the diagram lands below the sticky header, and glides there. */
html:has([data-arm-layout="document"]) {
	scroll-behavior: smooth;
}

[data-arm-layout="document"] .arm-section {
	scroll-margin-top: calc(var(--arm-header-h) + 12px);
}

/* ------------------------------------------------------ person in an arch */

/* A gold rule, a white mat, then the photo — or, for a member without one,
   their initials on warm stone. */
[data-arm-layout="document"] .arm-pframe {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	padding: 6px;
	border: 1.5px solid var(--arm-gold);
	border-radius: 999px 999px 16px 16px;
	background: var(--arm-surface);
	overflow: hidden;
}

[data-arm-layout="document"] .arm-pframe__img,
[data-arm-layout="document"] .arm-pframe__mono {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 999px 999px 10px 10px;
}

[data-arm-layout="document"] .arm-pframe__img {
	object-fit: cover;
	object-position: 50% 22%;
}

[data-arm-layout="document"] .arm-pframe__mono {
	display: grid;
	place-items: center;
	padding-top: 12%;
	background: radial-gradient(120% 85% at 50% 0%, #fcf8f1 0%, #f0e7d9 55%, #e2d4bf 100%);
	font-family: var(--arm-font-head);
	font-size: 40px;
	line-height: 1;
	letter-spacing: 0.06em;
	color: var(--arm-brown);
}

/* ---------------------------------------------------------------- diagram */

[data-arm-layout="document"] .arm-org__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 760px;
	margin: 0 auto 48px;
	text-align: center;
}

[data-arm-layout="document"] .arm-org__title {
	margin: 0 0 14px;
	text-align: center;
	letter-spacing: 0.08em;
}

[data-arm-layout="document"] .arm-org__text {
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.03em;
	color: rgba(0, 0, 0, 0.75);
}

[data-arm-layout="document"] .arm-org__text p {
	margin: 0;
}

/* The chamber at the root, with a trunk down to the rail. */
[data-arm-layout="document"] .arm-org__root {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	width: max-content;
	max-width: 100%;
	margin: 0 auto 36px;
	padding: 22px 40px 20px;
	border-radius: 22px;
	background: var(--arm-brown);
	color: #fff;
	box-shadow: 0 22px 44px -24px rgba(60, 35, 20, 0.6);
}

[data-arm-layout="document"] .arm-org__logo {
	display: block;
	width: auto;
	height: 62px;
}

[data-arm-layout="document"] .arm-org__root-label {
	font-family: var(--arm-font-head);
	font-size: 22px;
	letter-spacing: 0.1em;
	text-align: center;
}

[data-arm-layout="document"] .arm-org__root::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 2px;
	height: 36px;
	margin-left: -1px;
	background: var(--arm-gold);
}

/* The rail spans from the first node's centre to the last; each node hangs
   from it on its own short line. */
[data-arm-layout="document"] .arm-org__branches {
	--org-gap: 22px;
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--org-count, 4), minmax(0, 1fr));
	gap: var(--org-gap);
	/* A short row keeps card width instead of stretching to the page. */
	max-width: calc(var(--org-count, 4) * 300px);
	margin: 0 auto;
	padding: 36px 0 0;
	list-style: none;
}

[data-arm-layout="document"] .arm-org__branches::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc((100% - (var(--org-count, 4) - 1) * var(--org-gap)) / var(--org-count, 4) / 2);
	right: calc((100% - (var(--org-count, 4) - 1) * var(--org-gap)) / var(--org-count, 4) / 2);
	height: 2px;
	background: var(--arm-gold);
}

[data-arm-layout="document"] .arm-org__branch {
	position: relative;
}

[data-arm-layout="document"] .arm-org__branch::before {
	content: "";
	position: absolute;
	top: -36px;
	left: 50%;
	width: 2px;
	height: 36px;
	margin-left: -1px;
	background: var(--arm-gold);
}

[data-arm-layout="document"] .arm-org__node {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	height: 100%;
	padding: 24px 18px 16px;
	border: 1px solid rgba(0, 0, 0, 0.04);
	border-radius: 20px;
	background: var(--arm-surface);
	box-shadow: 0 14px 34px -24px rgba(40, 30, 20, 0.4);
	text-align: center;
	color: inherit;
	text-decoration: none;
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease;
}

[data-arm-layout="document"] a.arm-org__node:hover,
[data-arm-layout="document"] a.arm-org__node:focus-visible {
	transform: translateY(-4px);
	box-shadow: 0 24px 44px -22px rgba(40, 30, 20, 0.45);
}

[data-arm-layout="document"] .arm-org__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 62px;
	border: 1.5px solid var(--arm-gold);
	border-radius: 999px 999px 8px 8px;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-org__icon svg {
	width: 26px;
	height: 26px;
	margin-top: 4px;
}

[data-arm-layout="document"] .arm-org__label {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

[data-arm-layout="document"] .arm-org__note {
	font-size: 13px;
	line-height: 1.4;
	color: var(--arm-muted);
}

[data-arm-layout="document"] .arm-org__go {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin-top: auto;
	border-radius: 50%;
	color: var(--arm-brown);
	transition: transform 0.3s ease;
}

[data-arm-layout="document"] .arm-org__go svg {
	width: 16px;
	height: 16px;
}

[data-arm-layout="document"] a.arm-org__node:hover .arm-org__go {
	transform: translateY(3px);
}

[data-arm-layout="document"] .arm-org__node--accent {
	background: var(--arm-brown);
	color: #fff;
}

[data-arm-layout="document"] .arm-org__node--accent .arm-org__icon,
[data-arm-layout="document"] .arm-org__node--accent .arm-org__go {
	color: var(--arm-gold);
}

[data-arm-layout="document"] .arm-org__node--accent .arm-org__note {
	color: rgba(255, 255, 255, 0.82);
}

/* ------------------------------------------------------------- the leader */

[data-arm-layout="document"] .arm-leader {
	display: grid;
	grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
	align-items: center;
	gap: 72px;
}

/* The portrait, and a second gold arch set back behind it. */
[data-arm-layout="document"] .arm-leader__media {
	position: relative;
	padding: 0 26px 26px 0;
}

[data-arm-layout="document"] .arm-leader__halo {
	position: absolute;
	inset: 26px 0 0 26px;
	border: 1.5px solid var(--arm-gold);
	border-radius: 999px 999px 20px 20px;
}

[data-arm-layout="document"] .arm-leader__frame {
	position: relative;
	z-index: 1;
	padding: 8px;
	border: 2px solid var(--arm-brown);
	box-shadow: 0 34px 60px -32px rgba(50, 30, 15, 0.6);
}

[data-arm-layout="document"] .arm-leader__frame .arm-pframe__mono {
	font-size: 96px;
}

[data-arm-layout="document"] .arm-leader__office {
	margin-bottom: 10px;
}

[data-arm-layout="document"] .arm-leader__name {
	margin: 0 0 14px;
	font-family: var(--arm-font-head);
	font-size: clamp(48px, 6vw, 88px);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: 0.02em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-leader__name span {
	display: block;
}

[data-arm-layout="document"] .arm-leader__name span + span {
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-leader__profession {
	margin: 0 0 22px;
	font-size: 16px;
	letter-spacing: 0.08em;
	color: var(--arm-muted);
}

[data-arm-layout="document"] .arm-leader__text {
	max-width: 620px;
	margin-bottom: 24px;
	font-size: 17px;
	line-height: 1.75;
	color: rgba(0, 0, 0, 0.78);
}

[data-arm-layout="document"] .arm-leader__text:empty {
	display: none;
}

[data-arm-layout="document"] .arm-leader__facts {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 30px;
	padding-top: 18px;
	border-top: 1px solid var(--arm-line);
}

[data-arm-layout="document"] .arm-leader__fact {
	padding-right: 28px;
}

[data-arm-layout="document"] .arm-leader__fact + .arm-leader__fact {
	padding-left: 28px;
	border-left: 1px solid var(--arm-line);
}

[data-arm-layout="document"] .arm-leader__fact dt {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--arm-muted);
}

[data-arm-layout="document"] .arm-leader__fact dd {
	margin: 6px 0 0;
	font-family: var(--arm-font-head);
	font-size: 30px;
	line-height: 1;
	letter-spacing: 0.03em;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-leader__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 30px;
}

/* ------------------------------------------- the qualification commissions */

[data-arm-layout="document"] .arm-qc__head {
	display: flex;
	align-items: center;
	gap: 22px;
	margin-bottom: 34px;
}

[data-arm-layout="document"] .arm-qc__head .arm-eyebrow {
	margin-bottom: 8px;
}

[data-arm-layout="document"] .arm-qc__icon {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 64px;
	height: 74px;
	border: 1.5px solid var(--arm-gold);
	border-radius: 999px 999px 10px 10px;
	background: var(--arm-surface);
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-qc__icon svg {
	width: 30px;
	height: 30px;
	margin-top: 6px;
}

[data-arm-layout="document"] .arm-qc__title {
	margin: 0;
	font-size: clamp(22px, 2.4vw, 30px);
	text-align: left;
	letter-spacing: 0.06em;
}

[data-arm-layout="document"] .arm-qc__body {
	display: grid;
	grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
	align-items: start;
	gap: 28px;
}

[data-arm-layout="document"] .arm-qc__leads {
	display: grid;
	gap: 18px;
}

[data-arm-layout="document"] .arm-qc__lead {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	align-items: start;
	gap: 20px;
	padding: 22px;
	border-radius: 20px;
	background: var(--arm-surface);
	box-shadow: 0 16px 36px -24px rgba(40, 30, 20, 0.4);
}

[data-arm-layout="document"] .arm-qc__frame .arm-pframe__mono {
	font-size: 28px;
}

/* The chair of each commission, in the house brown. */
[data-arm-layout="document"] .arm-qc__lead--chair {
	background: var(--arm-brown);
	color: #fff;
	box-shadow: 0 24px 48px -24px rgba(60, 35, 20, 0.6);
}

[data-arm-layout="document"] .arm-qc__role {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-qc__lead--chair .arm-qc__role {
	color: var(--arm-gold);
}

[data-arm-layout="document"] .arm-qc__name {
	display: block;
	margin: 6px 0 10px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	color: inherit;
	text-decoration: none;
}

[data-arm-layout="document"] a.arm-qc__name:hover,
[data-arm-layout="document"] a.arm-qc__member-name:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Titles, one per line, each led by a short gold dash. */
[data-arm-layout="document"] .arm-qc__lines {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 13.5px;
	line-height: 1.55;
	color: rgba(0, 0, 0, 0.72);
}

[data-arm-layout="document"] .arm-qc__lines li {
	position: relative;
	padding-left: 14px;
}

[data-arm-layout="document"] .arm-qc__lines li + li {
	margin-top: 5px;
}

[data-arm-layout="document"] .arm-qc__lines li::before {
	content: "";
	position: absolute;
	top: 0.72em;
	left: 0;
	width: 7px;
	height: 1.5px;
	background: var(--arm-gold);
}

[data-arm-layout="document"] .arm-qc__lead--chair .arm-qc__lines {
	color: rgba(255, 255, 255, 0.88);
}

[data-arm-layout="document"] .arm-qc__members {
	padding: 24px 26px 26px;
	border: 1px solid var(--arm-line);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.6);
}

[data-arm-layout="document"] .arm-qc__members-title {
	margin: 0 0 20px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-qc__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

[data-arm-layout="document"] .arm-qc__member {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
}

[data-arm-layout="document"] .arm-qc__mini {
	padding: 3px;
}

[data-arm-layout="document"] .arm-qc__mini .arm-pframe__mono {
	font-size: 17px;
}

[data-arm-layout="document"] .arm-qc__member-name {
	display: block;
	margin: 2px 0 7px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--arm-text);
	text-decoration: none;
}

[data-arm-layout="document"] .arm-qc__lines--small {
	font-size: 12.5px;
}

/* ------------------------------------------------------------ responsive */

@media (max-width: 1024px) {

	[data-arm-layout="document"] .arm-qc__body {
		grid-template-columns: minmax(0, 1fr);
	}

	[data-arm-layout="document"] .arm-qc__leads {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	/* The diagram turns on its side: a spine down the left, each body hanging
	   off it on a short tick. */
	[data-arm-layout="document"] .arm-org__root {
		width: 100%;
		margin-bottom: 0;
		padding: 18px 20px;
		flex-direction: row;
		justify-content: center;
		gap: 16px;
	}

	[data-arm-layout="document"] .arm-org__logo {
		height: 48px;
	}

	[data-arm-layout="document"] .arm-org__root-label {
		font-size: 18px;
		text-align: left;
	}

	[data-arm-layout="document"] .arm-org__root::after {
		left: 22px;
		height: 22px;
	}

	[data-arm-layout="document"] .arm-org__branches {
		--org-gap: 14px;
		grid-template-columns: minmax(0, 1fr);
		max-width: none;
		padding: 22px 0 0 44px;
	}

	[data-arm-layout="document"] .arm-org__branches::before {
		display: none;
	}

	/* The spine runs unbroken from the root down to the last body's tick. */
	[data-arm-layout="document"] .arm-org__branch::before {
		top: calc(-1 * var(--org-gap));
		left: -22px;
		height: calc(100% + var(--org-gap));
		margin-left: -1px;
	}

	[data-arm-layout="document"] .arm-org__branch:first-child::before {
		top: -22px;
		height: calc(100% + 22px);
	}

	[data-arm-layout="document"] .arm-org__branch:last-child::before {
		height: calc(50% + var(--org-gap));
	}

	[data-arm-layout="document"] .arm-org__branch:only-child::before {
		height: calc(50% + 22px);
	}

	[data-arm-layout="document"] .arm-org__branch::after {
		content: "";
		position: absolute;
		top: 50%;
		left: -22px;
		width: 22px;
		height: 2px;
		margin-top: -1px;
		background: var(--arm-gold);
	}

	[data-arm-layout="document"] .arm-org__node {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr) auto;
		grid-template-areas:
			"icon label go"
			"icon note go";
		align-items: center;
		gap: 2px 14px;
		padding: 14px 16px;
		text-align: left;
	}

	[data-arm-layout="document"] .arm-org__icon {
		grid-area: icon;
		width: 42px;
		height: 48px;
	}

	[data-arm-layout="document"] .arm-org__icon svg {
		width: 20px;
		height: 20px;
	}

	[data-arm-layout="document"] .arm-org__label {
		grid-area: label;
		font-size: 14.5px;
	}

	[data-arm-layout="document"] .arm-org__note {
		grid-area: note;
	}

	[data-arm-layout="document"] .arm-org__go {
		grid-area: go;
		margin: 0;
	}

	[data-arm-layout="document"] .arm-leader {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}

	[data-arm-layout="document"] .arm-leader__media {
		width: min(320px, 82%);
		margin: 0 auto;
	}

	[data-arm-layout="document"] .arm-leader__body {
		text-align: center;
	}

	[data-arm-layout="document"] .arm-leader__office {
		justify-content: center;
	}

	[data-arm-layout="document"] .arm-leader__facts {
		justify-content: center;
	}

}

@media (max-width: 600px) {
	[data-arm-layout="document"] .arm-leader__name {
		font-size: clamp(40px, 12vw, 60px);
	}

	/* The facts keep to one row of equal cells. */
	[data-arm-layout="document"] .arm-leader__facts {
		display: grid;
		grid-auto-columns: minmax(0, 1fr);
		grid-auto-flow: column;
	}

	[data-arm-layout="document"] .arm-leader__fact,
	[data-arm-layout="document"] .arm-leader__fact + .arm-leader__fact {
		padding: 0 6px;
	}

	[data-arm-layout="document"] .arm-leader__fact dt {
		font-size: 12px;
		letter-spacing: 0.08em;
	}

	[data-arm-layout="document"] .arm-leader__fact dd {
		font-size: 21px;
	}

	[data-arm-layout="document"] .arm-qc__head {
		align-items: flex-start;
		gap: 16px;
	}

	[data-arm-layout="document"] .arm-qc__icon {
		width: 50px;
		height: 58px;
	}

	[data-arm-layout="document"] .arm-qc__leads,
	[data-arm-layout="document"] .arm-qc__list {
		grid-template-columns: minmax(0, 1fr);
	}

	[data-arm-layout="document"] .arm-qc__lead {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 16px;
		padding: 18px;
	}

	[data-arm-layout="document"] .arm-qc__members {
		padding: 20px 18px;
	}

	[data-arm-layout="document"] .arm-qc__lines,
	[data-arm-layout="document"] .arm-qc__lines--small {
		font-size: 13px;
	}
}


/* =========================================================== discussions */

/* /discussion/ (archive-discussion.php): the ongoing and the closed topics,
   read live, then how to propose one and the latest news. */
[data-arm-layout="document"] .arm-dlist__lead {
	margin-bottom: 44px;
}

[data-arm-layout="document"] .arm-dlist__subtitle {
	margin: 0 0 22px;
	font-family: var(--arm-font-head);
	font-size: clamp(22px, 2.5vw, 32px);
	letter-spacing: 0.12em;
	text-align: right;
	color: #9a958f;
}

[data-arm-layout="document"] .arm-dlist__intro {
	max-width: 860px;
	margin: 0;
	font-size: 15px;
	line-height: 1.75;
	color: rgba(0, 0, 0, 0.72);
}

[data-arm-layout="document"] .arm-dlist__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 26px;
}

[data-arm-layout="document"] .arm-dlist__title {
	margin: 0;
	text-align: left;
	letter-spacing: 0.06em;
}

[data-arm-layout="document"] .arm-dlist__count {
	min-width: 32px;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--arm-brown);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: #fff;
}

[data-arm-layout="document"] .arm-dlist--closed .arm-dlist__count {
	background: #8d8883;
}

[data-arm-layout="document"] .arm-dlist__grid {
	margin-top: 0;
}

[data-arm-layout="document"] .arm-dlist__empty {
	margin: 0;
	padding: 28px;
	border: 1px dashed var(--arm-line);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.55);
	text-align: center;
	color: var(--arm-muted);
}

/* The way to propose a topic: a heading, a line, and links with glyphs. */
[data-arm-layout="document"] .arm-clist__title {
	margin: 0 0 12px;
	text-align: left;
	letter-spacing: 0.06em;
}

[data-arm-layout="document"] .arm-clist__text {
	max-width: 860px;
	font-size: 15px;
	line-height: 1.75;
	color: rgba(0, 0, 0, 0.72);
}

[data-arm-layout="document"] .arm-clist__text p {
	margin: 0;
}

[data-arm-layout="document"] .arm-clist__items {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

[data-arm-layout="document"] .arm-clist__item {
	display: flex;
	align-items: center;
	gap: 14px;
}

[data-arm-layout="document"] .arm-clist__icon {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--arm-surface);
	box-shadow: 0 8px 18px -12px rgba(0, 0, 0, 0.35);
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-clist__icon .arm-icon-svg {
	width: 19px;
	height: 19px;
}

[data-arm-layout="document"] .arm-clist__value {
	font-size: 15px;
	font-weight: 600;
	color: var(--arm-brown);
	text-decoration: underline;
	text-decoration-color: rgba(111, 75, 62, 0.35);
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
}

[data-arm-layout="document"] a.arm-clist__value:hover {
	text-decoration-color: currentColor;
}

@media (max-width: 600px) {
	[data-arm-layout="document"] .arm-dlist__subtitle {
		text-align: left;
	}
}


/* ====================================================== find-specialist */

/* The lead: a centred intro in a readable measure, then capability cards in
   the layout's own tongue — 3px frames, the 32px radius, a ringed glyph. */
[data-arm-layout="document"] .arm-service__title {
	margin-bottom: 20px;
	font-family: var(--arm-font-body);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-service__intro {
	max-width: 68ch;
	margin-inline: auto;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0.03em;
	text-align: center;
	text-wrap: balance;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-service__intro p {
	margin: 0 0 10px;
}

/* An empty heading/intro renders only so the editor has an anchor to click;
   public visitors must not see the gap it leaves. */
body:not(.arm-editing) [data-arm-layout="document"] .arm-service__title:empty,
body:not(.arm-editing) [data-arm-layout="document"] .arm-service__intro:empty {
	display: none;
}

[data-arm-layout="document"] .arm-service__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	margin-top: 30px;
}

[data-arm-layout="document"] .arm-svc {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 28px 30px 30px;
	border: 3px solid var(--doc-panel-line);
	border-radius: var(--doc-panel-radius);
	background: var(--doc-panel-bg);
}

/* The ring carries the glyph the way the files cards carry their stamp. */
[data-arm-layout="document"] .arm-svc__ring {
	display: grid;
	place-items: center;
	width: 96px;
	height: 96px;
	margin-bottom: 18px;
	border: 1px solid var(--doc-panel-line);
	border-radius: 50%;
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-svc__ring .arm-icon-svg {
	width: 62px;
	height: 62px;
}

[data-arm-layout="document"] .arm-svc__ring.is-empty {
	display: none;
}

body.arm-editing [data-arm-layout="document"] .arm-svc__ring.is-empty {
	display: grid;
}

[data-arm-layout="document"] .arm-svc__ring--art {
	overflow: hidden;
}

[data-arm-layout="document"] .arm-svc__art {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

[data-arm-layout="document"] .arm-svc__caption {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;
	text-wrap: balance;
	color: var(--doc-clause);
}

[data-arm-layout="document"] .arm-svc__text {
	align-self: stretch;
	font-size: 15px;
	line-height: 1.7;
	letter-spacing: 0.03em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-svc__text p {
	margin: 0 0 8px;
}

/* The request form speaks the contacts form's language: a left heading, a
   full-width framed panel, two-column rows, a left brown button. */
[data-arm-layout="document"] .arm-rform__title {
	margin-bottom: 18px;
	font-family: var(--arm-font-body);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: left;
}

[data-arm-layout="document"] .arm-rform__text {
	max-width: 760px;
	margin-bottom: 24px;
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0.04em;
	color: var(--arm-text);
}

body:not(.arm-editing) [data-arm-layout="document"] .arm-rform__text:empty {
	display: none;
}

[data-arm-layout="document"] .arm-rform__msg {
	max-width: 760px;
	margin-bottom: 20px;
}

[data-arm-layout="document"] .arm-rform__form {
	padding: 28px 30px 26px;
	border: 1.5px solid #4a4a4a;
	border-radius: 22px;
	background: var(--doc-panel-bg);
}

[data-arm-layout="document"] .arm-rform__fields {
	display: grid;
	gap: 18px;
}

[data-arm-layout="document"] .arm-rform__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

[data-arm-layout="document"] .arm-rform__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 22px;
}

[data-arm-layout="document"] .arm-rform__actions .arm-btn {
	min-width: 240px;
	justify-content: center;
}

[data-arm-layout="document"] .arm-rform__note {
	font-size: 13px;
	color: var(--arm-muted);
}

body:not(.arm-editing) [data-arm-layout="document"] .arm-rform__note:empty {
	display: none;
}

@media (max-width: 800px) {
	[data-arm-layout="document"] .arm-service__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
}

@media (max-width: 700px) {
	[data-arm-layout="document"] .arm-svc {
		padding: 24px 20px 26px;
	}

	[data-arm-layout="document"] .arm-rform__form {
		padding: 20px 18px;
		border-radius: 18px;
	}

	[data-arm-layout="document"] .arm-rform__row {
		grid-template-columns: minmax(0, 1fr);
	}

	[data-arm-layout="document"] .arm-rform__actions .arm-btn {
		width: 100%;
	}
}

/* ------------------------------------------- privileged directory (7.2) */

/* The newest developers' announcements: compact vertical cards in a row —
   the company head, the title, clamped text, tags, contacts — then a
   full-width brown bar to the whole board. */
[data-arm-layout="document"] .arm-sfilters__title {
	margin-bottom: 20px;
}

body:not(.arm-editing) [data-arm-layout="document"] .arm-sfilters__title:empty {
	display: none;
}

[data-arm-layout="document"] .arm-sfilters__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

[data-arm-layout="document"] .arm-ann {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 22px 24px;
	border: 1.5px solid #4a4a4a;
	border-radius: 20px;
	background: var(--doc-panel-bg);
	min-width: 0;
}

[data-arm-layout="document"] .arm-ann__head {
	display: flex;
	align-items: center;
	gap: 14px;
}

[data-arm-layout="document"] .arm-ann__avatar {
	display: block;
	width: 56px;
	height: 56px;
	flex: 0 0 auto;
	border-radius: 50%;
	overflow: hidden;
	background: var(--arm-bg-alt);
}

[data-arm-layout="document"] .arm-ann__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

[data-arm-layout="document"] .arm-ann__who {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

[data-arm-layout="document"] .arm-ann__company {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-ann__name {
	font-size: 13px;
	color: var(--arm-muted);
	text-decoration: none;
}

[data-arm-layout="document"] a.arm-ann__name:hover {
	color: var(--arm-brown);
	text-decoration: underline;
}

[data-arm-layout="document"] .arm-ann__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.03em;
	color: var(--doc-clause);
}

[data-arm-layout="document"] .arm-ann__text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
	font-size: 13.5px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: var(--arm-text);
}

[data-arm-layout="document"] .arm-ann__text p {
	margin: 0 0 6px;
}

[data-arm-layout="document"] .arm-ann__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

[data-arm-layout="document"] .arm-ann__tag {
	padding: 5px 14px;
	border: 1px solid var(--arm-line);
	border-radius: 999px;
	background: var(--arm-surface);
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--arm-muted);
}

[data-arm-layout="document"] .arm-ann__contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	list-style: none;
	margin: auto 0 0;
	padding: 12px 0 0;
	border-top: 1px solid var(--arm-line);
}

[data-arm-layout="document"] .arm-ann__contact {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	color: var(--arm-muted);
	min-width: 0;
}

[data-arm-layout="document"] .arm-ann__contact a {
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere;
}

[data-arm-layout="document"] .arm-ann__contact a:hover {
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-ann__icon {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
}

[data-arm-layout="document"] .arm-sfilters__btn {
	display: flex;
	justify-content: center;
	margin-top: 22px;
}

/* The directory itself: the roster's row language — avatar, name, project
   preview, ՀՃՄ/ՀՃՊ/licence, contacts — with four thumbnails. */
[data-arm-layout="document"] .arm-spec__title {
	margin-bottom: 18px;
}

[data-arm-layout="document"] .arm-spec__search {
	margin-bottom: 18px;
}

[data-arm-layout="document"] .arm-spec__search .arm-input {
	width: 100%;
}

[data-arm-layout="document"] [data-specialists-body].is-loading {
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

[data-arm-layout="document"] .arm-spec__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

[data-arm-layout="document"] .arm-spec__row {
	display: grid;
	grid-template-columns: minmax(190px, 1.5fr) minmax(0, 2.6fr) 70px 70px 128px 150px;
	align-items: stretch;
	gap: 0 18px;
	margin-bottom: 12px;
	padding: 14px 22px;
	border-radius: 16px;
}

[data-arm-layout="document"] .arm-spec__list .arm-spec__row:nth-child(odd) {
	background: var(--arm-surface);
}

[data-arm-layout="document"] .arm-spec__list .arm-spec__row:nth-child(even) {
	background: var(--arm-bg-alt);
}

[data-arm-layout="document"] .arm-spec__who {
	display: flex;
	align-items: center;
	gap: 16px;
	color: inherit;
	text-decoration: none;
	min-width: 0;
}

[data-arm-layout="document"] .arm-spec__who .arm-member__avatar {
	width: 70px;
	height: 70px;
	flex: 0 0 auto;
}

[data-arm-layout="document"] .arm-spec__who .arm-member__avatar--letter {
	font-size: 28px;
}

[data-arm-layout="document"] .arm-spec__id {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

[data-arm-layout="document"] .arm-spec__name {
	font-weight: 600;
	font-size: 15px;
	line-height: 1.35;
}

[data-arm-layout="document"] .arm-spec__birthday {
	font-size: 13px;
	letter-spacing: 0.08em;
	color: var(--arm-muted);
}

[data-arm-layout="document"] .arm-spec__projects {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

[data-arm-layout="document"] .arm-spec__thumb {
	display: block;
	width: 104px;
	height: 76px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--arm-bg-alt);
	flex: 0 1 auto;
	min-width: 0;
}

[data-arm-layout="document"] .arm-spec__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

[data-arm-layout="document"] .arm-spec__col {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding-left: 18px;
	border-left: 2px dotted var(--arm-line);
	font-size: 14px;
	color: var(--arm-text);
	text-align: center;
}

[data-arm-layout="document"] .arm-spec__more {
	color: var(--arm-brown);
	text-decoration: none;
	white-space: nowrap;
}

[data-arm-layout="document"] .arm-spec__more:hover {
	text-decoration: underline;
}

[data-arm-layout="document"] .arm-spec__site {
	font-weight: 700;
	font-size: 13px;
	color: var(--arm-text);
	text-decoration: none;
	overflow-wrap: anywhere;
}

[data-arm-layout="document"] .arm-spec__site:hover {
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-spec__pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 22px;
}

[data-arm-layout="document"] .arm-spec__page {
	min-width: 40px;
	min-height: 40px;
	padding: 6px 12px;
	border: 1px solid var(--arm-line);
	border-radius: 8px;
	background: var(--arm-surface);
	font: inherit;
	font-size: 14px;
	color: var(--arm-text);
	cursor: pointer;
}

[data-arm-layout="document"] button.arm-spec__page:hover {
	border-color: var(--arm-brown);
	color: var(--arm-brown);
}

[data-arm-layout="document"] .arm-spec__page.is-current {
	border-color: var(--arm-brown);
	background: var(--arm-brown);
	color: #fff;
	cursor: default;
}

[data-arm-layout="document"] .arm-spec__gap {
	color: var(--arm-muted);
}

@media (max-width: 1080px) {
	[data-arm-layout="document"] .arm-spec__row {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 14px;
	}

	[data-arm-layout="document"] .arm-spec__projects {
		flex-wrap: wrap;
	}

	[data-arm-layout="document"] .arm-spec__col {
		border-left: 0;
		padding-left: 0;
		border-top: 2px dotted var(--arm-line);
		padding-top: 10px;
	}
}

@media (max-width: 860px) {
	[data-arm-layout="document"] .arm-sfilters__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	[data-arm-layout="document"] .arm-spec__row {
		grid-template-columns: minmax(0, 1fr);
	}

	[data-arm-layout="document"] .arm-spec__thumb {
		width: calc(50% - 5px);
		height: 90px;
		flex: 1 1 auto;
	}
}

/* «Գտնել մասնագետ»: the cards drawn tighter — less padding, smaller gaps
   between the mark, the heading and the text. Type sizes are unchanged. */
[data-arm-doc="find-specialist"] .arm-service__grid {
	gap: 28px;
	margin-top: 22px;
}

[data-arm-doc="find-specialist"] .arm-svc {
	padding: 18px 24px 20px;
}

[data-arm-doc="find-specialist"] .arm-svc__ring {
	width: 72px;
	height: 72px;
	margin-bottom: 10px;
}

[data-arm-doc="find-specialist"] .arm-svc__ring .arm-icon-svg {
	width: 46px;
	height: 46px;
}

[data-arm-doc="find-specialist"] .arm-svc__caption {
	margin-bottom: 8px;
	line-height: 1.4;
}

[data-arm-doc="find-specialist"] .arm-svc__text p {
	margin-bottom: 4px;
}

[data-arm-doc="find-specialist"] .arm-svc__text p:last-child {
	margin-bottom: 0;
}

@media (max-width: 800px) {
	[data-arm-doc="find-specialist"] .arm-service__grid {
		gap: 16px;
	}
}

@media (max-width: 700px) {
	[data-arm-doc="find-specialist"] .arm-svc {
		padding: 16px 16px 18px;
	}
}

