/* ============================================================
   AZEMULDIN — Systems on Solid Ground
   Dark editorial · amber gold · Fraunces + Archivo + JetBrains Mono
   ============================================================ */

:root {
	--ink: #0a0a0d;
	--ink-2: #101015;
	--ink-3: #17171f;
	--bone: #eae6dc;
	--bone-dim: #9c988f;
	--hair: rgba(234, 230, 220, 0.1);
	--gold: #d9a441;
	--gold-bright: #f0be5a;
	--host: #5b93f5;
	--prop: #41c08e;
	--relay: #a06bf8;
	--font-display: "Fraunces", Georgia, serif;
	--font-body: "Archivo", -apple-system, sans-serif;
	--font-mono: "JetBrains Mono", Consolas, monospace;
	--pad: clamp(1.25rem, 4vw, 4rem);
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

html { scroll-behavior: smooth; }
html:focus-within { scroll-behavior: smooth; }

body {
	background: var(--ink);
	color: var(--bone);
	font-family: var(--font-body);
	font-weight: 340;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

/* film grain */
body::after {
	content: "";
	position: fixed;
	inset: -50%;
	width: 200%;
	height: 200%;
	pointer-events: none;
	z-index: 9998;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	animation: azm-grain 9s steps(6) infinite;
}
@keyframes azm-grain {
	0%, 100% { transform: translate(0, 0); }
	20% { transform: translate(-3%, 2%); }
	40% { transform: translate(2%, -3%); }
	60% { transform: translate(-2%, -2%); }
	80% { transform: translate(3%, 3%); }
}

::selection { background: var(--gold); color: var(--ink); }

:focus-visible {
	outline: 2px solid var(--gold);
	outline-offset: 3px;
	border-radius: 3px;
}

.azm-progress {
	position: fixed; top: 0; left: 0; right: 0; z-index: 960;
	height: 2px; background: var(--gold);
	transform: scaleX(0); transform-origin: left;
	pointer-events: none;
}

.mono {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--bone-dim);
}

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

.azm-skip {
	position: absolute; left: -999px; top: 0; z-index: 10001;
	background: var(--gold); color: var(--ink); padding: 0.6rem 1.2rem;
	font-family: var(--font-mono); font-size: 0.8rem;
}
.azm-skip:focus { left: 0; }

/* ---------------------------------------------------------- cursor */
.azm-cursor {
	position: fixed; top: 0; left: 0; z-index: 10000;
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--gold);
	pointer-events: none;
	transform: translate(-50%, -50%);
	transition: width 0.25s var(--ease-out), height 0.25s var(--ease-out), opacity 0.25s;
	mix-blend-mode: difference;
}
.azm-cursor.is-hover { width: 44px; height: 44px; }
@media (hover: none) { .azm-cursor { display: none; } }

/* ---------------------------------------------------------- preloader */
.azm-loader {
	position: fixed; inset: 0; z-index: 9999;
	background: var(--ink);
	display: flex; align-items: center; justify-content: center;
	flex-direction: column; gap: 1.2rem;
}
.azm-loader__name {
	font-family: var(--font-display);
	font-size: clamp(2rem, 7vw, 4.5rem);
	letter-spacing: 0.04em;
	overflow: hidden; line-height: 1.1;
}
.azm-loader__name span { display: inline-block; transform: translateY(110%); }
.azm-loader__bar {
	width: min(240px, 50vw); height: 1px; background: var(--hair);
	position: relative; overflow: hidden;
}
.azm-loader__bar i {
	position: absolute; inset: 0; background: var(--gold);
	transform: scaleX(0); transform-origin: left;
}
.azm-loader.is-done { pointer-events: none; }

/* ---------------------------------------------------------- header */
.azm-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 900;
	display: flex; align-items: center; gap: 2rem;
	padding: 1.1rem var(--pad);
	transition: background 0.4s, backdrop-filter 0.4s, transform 0.45s var(--ease-out);
}
.azm-header.is-scrolled {
	background: rgba(10, 10, 13, 0.72);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--hair);
}
.azm-header.is-hidden { transform: translateY(-100%); }

.azm-logo {
	font-family: var(--font-display);
	font-size: 1.15rem; letter-spacing: 0.05em;
	display: flex; align-items: baseline;
}
.azm-logo__mark { color: var(--gold); font-weight: 600; }
.azm-logo__rest { font-weight: 350; }

.azm-nav { display: flex; gap: 1.8rem; margin-left: auto; align-items: center; }
.azm-nav a {
	font-family: var(--font-mono); font-size: 0.72rem;
	letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--bone-dim); position: relative;
	transition: color 0.25s;
}
.azm-nav a:hover { color: var(--bone); }
.azm-nav a[aria-current="page"] { color: var(--bone); }
.azm-nav a[aria-current="page"]::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -6px;
	height: 1px; background: var(--gold);
}
.azm-mobile-menu a[aria-current="page"] { color: var(--gold); }
.azm-nav a span::before {
	content: attr(data-n);
	color: var(--gold); margin-right: 0.45em; font-size: 0.6rem;
}
.azm-nav__cta {
	border: 1px solid var(--hair); border-radius: 999px;
	padding: 0.55em 1.1em;
	color: var(--bone) !important;
	transition: border-color 0.25s, background 0.25s, color 0.25s !important;
}
.azm-nav__cta:hover { border-color: var(--gold); background: var(--gold); color: var(--ink) !important; }
.azm-header__meta { margin-left: 0.5rem; }

.azm-burger { display: none; }

@media (max-width: 900px) {
	.azm-nav, .azm-header__meta { display: none; }
	.azm-burger {
		display: flex; flex-direction: column; gap: 6px;
		margin-left: auto; background: none; border: 0; padding: 8px;
		cursor: pointer;
	}
	.azm-burger span {
		width: 26px; height: 1.5px; background: var(--bone);
		transition: transform 0.3s var(--ease-out), opacity 0.3s;
	}
	.azm-burger[aria-expanded="true"] span:first-child { transform: translateY(3.75px) rotate(45deg); }
	.azm-burger[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
}
.azm-mobile-menu[hidden] { display: none; }
.azm-mobile-menu {
	position: fixed; inset: 0; z-index: 890;
	background: rgba(10, 10, 13, 0.96);
	backdrop-filter: blur(18px);
	display: flex; flex-direction: column; justify-content: center;
	padding: var(--pad);
}
.azm-mobile-menu nav { display: flex; flex-direction: column; gap: 0.4rem; }
.azm-mobile-menu a {
	font-family: var(--font-display);
	font-size: clamp(2.2rem, 9vw, 3.6rem);
	line-height: 1.25;
	transition: color 0.25s;
}
.azm-mobile-menu a:hover { color: var(--gold); }
.azm-mobile-menu__foot { margin-top: 3rem; }

/* ---------------------------------------------------------- hero */
.azm-hero {
	position: relative; min-height: 100svh;
	display: flex; flex-direction: column; justify-content: flex-end;
	padding: calc(var(--pad) * 1.5) var(--pad) calc(var(--pad) * 1.2);
	overflow: clip;
}
.azm-hero__canvas {
	position: absolute; inset: 0; width: 100%; height: 100%;
	display: block;
}
.azm-hero__scrim {
	position: absolute; inset: 0;
	background:
		radial-gradient(120% 90% at 50% 100%, rgba(10, 10, 13, 0.88) 0%, rgba(10, 10, 13, 0.25) 55%, transparent 100%),
		linear-gradient(180deg, rgba(10, 10, 13, 0.6) 0%, transparent 30%);
	pointer-events: none;
}
.azm-hero__inner { position: relative; z-index: 2; }

.azm-hero__eyebrow { display: flex; align-items: center; gap: 0.7em; margin-bottom: 1.4rem; flex-wrap: wrap; }
.azm-nw { white-space: nowrap; }
.azm-tick {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--gold); display: inline-block;
	box-shadow: 0 0 0 0 rgba(217, 164, 65, 0.5);
	animation: azm-pulse 2.4s infinite;
}
@keyframes azm-pulse {
	0% { box-shadow: 0 0 0 0 rgba(217, 164, 65, 0.45); }
	70% { box-shadow: 0 0 0 12px rgba(217, 164, 65, 0); }
	100% { box-shadow: 0 0 0 0 rgba(217, 164, 65, 0); }
}

.azm-hero__title {
	font-family: var(--font-display);
	font-weight: 370;
	font-size: clamp(3.2rem, 12.5vw, 11.5rem);
	line-height: 0.92;
	letter-spacing: -0.015em;
	margin: 0 0 1.6rem;
}
.azm-hero__line { display: block; overflow: hidden; }
.azm-hero__line > span, .azm-hero__line > em { display: inline-block; }
.azm-hero__line em { color: var(--gold); font-style: italic; }
.azm-hero__line--2 {
	display: flex; align-items: baseline; gap: clamp(1rem, 4vw, 3rem);
	flex-wrap: wrap;
}
.azm-hero__reg {
	font-size: 0.72rem; letter-spacing: 0.2em;
	transform: none; color: var(--bone-dim);
}

.azm-hero__sub {
	display: flex; justify-content: space-between; align-items: flex-end;
	gap: 2.5rem; flex-wrap: wrap;
	border-top: 1px solid var(--hair);
	padding-top: 1.6rem;
}
.azm-hero__sub p { max-width: 46ch; font-size: clamp(1rem, 1.4vw, 1.2rem); color: var(--bone-dim); margin: 0; }
.azm-hero__sub strong { color: var(--bone); font-weight: 500; }
.azm-hero__sub em { color: var(--gold); }
.azm-hero__actions { display: flex; gap: 1rem; flex-wrap: wrap; }

.azm-hero__scroll {
	position: absolute; right: var(--pad); bottom: calc(var(--pad) * 1.2);
	writing-mode: vertical-rl;
	display: flex; align-items: center; gap: 0.8em;
	color: var(--bone-dim); z-index: 2;
}
.azm-hero__scroll span {
	width: 1px; height: 48px; background: var(--hair);
	position: relative; overflow: hidden;
}
.azm-hero__scroll span::after {
	content: ""; position: absolute; left: 0; top: -50%;
	width: 100%; height: 50%; background: var(--gold);
	animation: azm-scrolldrip 2s var(--ease-out) infinite;
}
@keyframes azm-scrolldrip { to { top: 110%; } }
@media (max-width: 900px) { .azm-hero__scroll { display: none; } }

/* ---------------------------------------------------------- buttons */
.azm-btn {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--font-mono); font-size: 0.74rem;
	letter-spacing: 0.14em; text-transform: uppercase;
	padding: 1em 1.9em; border-radius: 999px;
	position: relative; overflow: hidden;
	transition: color 0.3s var(--ease-out), border-color 0.3s, transform 0.3s var(--ease-out);
	will-change: transform;
	cursor: pointer;
}
.azm-btn span { position: relative; z-index: 1; }
.azm-btn--gold { background: var(--gold); color: var(--ink); border: 1px solid var(--gold); }
.azm-btn--gold::before {
	content: ""; position: absolute; inset: 0;
	background: var(--bone);
	transform: translateY(101%); transition: transform 0.35s var(--ease-out);
}
.azm-btn--gold:hover::before { transform: translateY(0); }
.azm-btn--ghost { border: 1px solid var(--hair); color: var(--bone); background: transparent; }
.azm-btn--ghost::before {
	content: ""; position: absolute; inset: 0;
	background: var(--bone);
	transform: translateY(101%); transition: transform 0.35s var(--ease-out);
}
.azm-btn--ghost:hover { color: var(--ink); border-color: var(--bone); }
.azm-btn--ghost:hover::before { transform: translateY(0); }
.azm-btn--big { font-size: 0.85rem; padding: 1.2em 2.4em; }
.azm-btn--disabled { opacity: 0.45; pointer-events: none; border-style: dashed; }

/* ---------------------------------------------------------- marquee */
.azm-marquee {
	border-block: 1px solid var(--hair);
	overflow: clip; padding: 0.95rem 0;
	background: var(--ink-2);
}
.azm-marquee__track {
	display: flex; gap: 2.2rem; width: max-content;
	animation: azm-marquee 30s linear infinite;
}
.azm-marquee__track span {
	font-family: var(--font-mono); font-size: 0.72rem;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--bone-dim); white-space: nowrap;
}
.azm-marquee__track i { color: var(--gold); font-style: normal; }
@keyframes azm-marquee { to { transform: translateX(-50%); } }

/* ---------------------------------------------------------- sections */
.azm-section { padding: clamp(4.5rem, 11vw, 9.5rem) var(--pad); position: relative; }
.azm-section__head {
	display: flex; align-items: baseline; gap: 1.2rem;
	margin-bottom: clamp(1.8rem, 4vw, 3rem);
}
.azm-index {
	color: var(--gold); font-size: 0.72rem;
	border: 1px solid var(--hair); border-radius: 999px;
	padding: 0.45em 0.9em;
}
.azm-index--green { color: var(--prop); }
.azm-index--blue { color: var(--host); }
.azm-index--violet { color: var(--relay); }
.azm-section__label { }

.azm-h2 {
	font-family: var(--font-display); font-weight: 370;
	font-size: clamp(2.2rem, 6vw, 4.6rem);
	line-height: 1; letter-spacing: -0.01em;
	margin: 0 0 clamp(2rem, 5vw, 4rem);
}
.azm-h2 em { color: var(--gold); }

/* reveal defaults (JS adds motion; CSS keeps things visible without JS) */
[data-reveal-section] .azm-reveal { will-change: transform, opacity; }

/* ---------------------------------------------------------- intro */
.azm-intro { background: var(--ink); }
.azm-intro__statement {
	font-family: var(--font-display); font-weight: 360;
	font-size: clamp(1.7rem, 4.2vw, 3.4rem);
	line-height: 1.28; letter-spacing: -0.005em;
	max-width: 22ch; margin: 0;
}
.azm-intro__statement .azm-hl { position: relative; white-space: nowrap; }
.azm-hl::after {
	content: ""; position: absolute; left: 0; bottom: 0.08em;
	width: 100%; height: 0.08em; opacity: 0.75;
	transform: scaleX(0); transform-origin: left;
	transition: transform 0.8s var(--ease-out);
}
.is-inview .azm-hl::after { transform: scaleX(1); }
.azm-hl--gold::after { background: var(--gold); }
.azm-hl--blue::after { background: var(--host); }
.azm-hl--green::after { background: var(--prop); }
.azm-hl--violet::after { background: var(--relay); }
.azm-intro__meta {
	margin-top: clamp(2rem, 5vw, 3.5rem);
	display: flex; flex-direction: column; gap: 0.5rem;
}

/* ---------------------------------------------------------- stats */
.azm-stats { border-block: 1px solid var(--hair); background: var(--ink-2); padding-block: clamp(3rem, 7vw, 5.5rem); }
.azm-stats__grid {
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
@media (max-width: 900px) { .azm-stats__grid { grid-template-columns: repeat(2, 1fr); } }
.azm-stat { display: flex; flex-direction: column; gap: 0.7rem; }
.azm-stat__num {
	font-family: var(--font-display); font-weight: 340;
	font-size: clamp(2.6rem, 6vw, 4.8rem); line-height: 1;
	color: var(--bone);
}
.azm-stat__num i { font-style: normal; color: var(--gold); font-size: 0.6em; }

/* ---------------------------------------------------------- ventures stack */
.azm-vstack { display: flex; flex-direction: column; gap: 1.4rem; }
.azm-vcard {
	--vc: var(--gold);
	position: sticky; top: 90px;
	display: grid; grid-template-columns: 1.4fr 1fr;
	gap: 2rem;
	background: linear-gradient(140deg, var(--ink-3) 0%, var(--ink-2) 100%);
	border: 1px solid var(--hair);
	border-radius: 22px;
	padding: clamp(1.6rem, 4vw, 3.2rem);
	overflow: clip;
	transition: border-color 0.35s;
}
.azm-vcard:hover { border-color: color-mix(in srgb, var(--vc) 45%, transparent); }
.azm-vcard--host { --vc: var(--host); }
.azm-vcard--prop { --vc: var(--prop); top: 110px; }
.azm-vcard--relay { --vc: var(--relay); top: 130px; }
.azm-vcard::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(60% 90% at 85% 15%, color-mix(in srgb, var(--vc) 14%, transparent) 0%, transparent 60%);
}
.azm-vcard__no { color: var(--vc); margin: 0 0 1.2rem; }
.azm-vcard__name {
	font-family: var(--font-display); font-weight: 380;
	font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1; margin: 0 0 0.6rem;
}
.azm-vcard__tag { color: var(--vc); margin: 0 0 1.2rem; }
.azm-vcard__desc { color: var(--bone-dim); max-width: 52ch; margin: 0 0 1.4rem; }
.azm-vcard__points {
	list-style: none; padding: 0; margin: 0 0 1.8rem;
	display: flex; flex-direction: column; gap: 0.45rem;
}
.azm-vcard__points li::before { content: "+ "; color: var(--vc); }
.azm-vcard__visual {
	display: flex; align-items: center; justify-content: center;
	position: relative;
}
.azm-vcard__glyph {
	font-family: var(--font-display); font-style: italic; font-weight: 300;
	font-size: clamp(8rem, 20vw, 17rem); line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px color-mix(in srgb, var(--vc) 55%, transparent);
	user-select: none;
	transition: transform 0.6s var(--ease-out);
}
.azm-vcard:hover .azm-vcard__glyph { transform: rotate(-6deg) scale(1.06); }
@media (max-width: 900px) {
	.azm-vcard { grid-template-columns: 1fr; position: relative; top: auto !important; }
	.azm-vcard__visual { display: none; }
}

/* ---------------------------------------------------------- services rows */
.azm-svc { border-top: 1px solid var(--hair); }
.azm-svc__row {
	display: grid;
	grid-template-columns: 3rem 1.2fr 1.6fr 3rem;
	align-items: center; gap: 1.6rem;
	padding: clamp(1.6rem, 3.5vw, 2.6rem) 0.5rem;
	border-bottom: 1px solid var(--hair);
	position: relative;
	transition: background 0.35s;
}
.azm-svc__row:hover { background: var(--ink-2); }
.azm-svc__no { color: var(--gold); }
.azm-svc__name {
	font-family: var(--font-display); font-weight: 380;
	font-size: clamp(1.4rem, 3vw, 2.2rem); line-height: 1.1;
	transition: transform 0.35s var(--ease-out);
}
.azm-svc__row:hover .azm-svc__name { transform: translateX(10px); }
.azm-svc__desc { color: var(--bone-dim); font-size: 0.98rem; }
.azm-svc__arrow {
	font-size: 1.5rem; color: var(--bone-dim);
	transition: transform 0.35s var(--ease-out), color 0.35s;
}
.azm-svc__row:hover .azm-svc__arrow { transform: translateX(8px); color: var(--gold); }
@media (max-width: 900px) {
	.azm-svc__row { grid-template-columns: 2.4rem 1fr 2rem; }
	.azm-svc__desc { display: none; }
}

/* ---------------------------------------------------------- timeline */
.azm-timeline { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hair); }
.azm-tl__item {
	display: grid; grid-template-columns: 8rem 1fr;
	gap: 2rem; padding: clamp(1.4rem, 3vw, 2.2rem) 0;
	border-bottom: 1px solid var(--hair);
}
.azm-tl__when { color: var(--gold); padding-top: 0.4rem; }
.azm-tl__item h3 {
	font-family: var(--font-display); font-weight: 400;
	font-size: clamp(1.2rem, 2.4vw, 1.7rem); margin: 0 0 0.5rem;
}
.azm-tl__note { color: var(--bone-dim); margin-left: 0.6em; }
.azm-tl__item p { color: var(--bone-dim); margin: 0; max-width: 68ch; }
.azm-xp__cta { margin-top: 2.5rem; }
@media (max-width: 700px) { .azm-tl__item { grid-template-columns: 1fr; gap: 0.5rem; } }

/* ---------------------------------------------------------- selected work */
.azm-work__lede { color: var(--bone-dim); max-width: 60ch; margin: -1.5rem 0 2.5rem; }
.azm-work__grid {
	list-style: none; padding: 0; margin: 0;
	display: grid; grid-template-columns: 1fr 1fr;
	border-top: 1px solid var(--hair);
	border-left: 1px solid var(--hair);
}
@media (max-width: 800px) { .azm-work__grid { grid-template-columns: 1fr; } }
.azm-work__item {
	display: grid; grid-template-columns: 1fr auto;
	grid-template-areas: "name arrow" "meta arrow";
	align-items: center; column-gap: 1rem; row-gap: 0.3rem;
	padding: 1.4rem 1.5rem;
	border-right: 1px solid var(--hair);
	border-bottom: 1px solid var(--hair);
	position: relative;
	transition: background 0.3s;
	height: 100%;
}
.azm-work__item::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0;
	width: 2px; background: var(--gold);
	transform: scaleY(0); transform-origin: top;
	transition: transform 0.3s var(--ease-out);
}
a.azm-work__item:hover { background: var(--ink-2); }
a.azm-work__item:hover::before { transform: scaleY(1); }
.azm-work__name {
	grid-area: name;
	font-family: var(--font-display); font-weight: 400;
	font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1.15;
	transition: color 0.25s, transform 0.3s var(--ease-out);
}
a.azm-work__item:hover .azm-work__name { color: var(--gold); transform: translateX(8px); }
.azm-work__meta { grid-area: meta; transition: transform 0.3s var(--ease-out); }
a.azm-work__item:hover .azm-work__meta { transform: translateX(8px); }
.azm-work__arrow {
	grid-area: arrow;
	font-size: 1.1rem; color: var(--bone-dim);
	transition: transform 0.3s var(--ease-out), color 0.3s;
}
a.azm-work__item:hover .azm-work__arrow {
	transform: translate(4px, -4px); color: var(--gold);
}
.azm-work__past { margin-top: 2.5rem; }
.azm-work__past-label { color: var(--gold); margin: 0 0 1rem; }
.azm-work__past-list {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; gap: 0.7rem;
}
.azm-work__past-list li {
	border: 1px dashed var(--hair); border-radius: 999px;
	padding: 0.55em 1.1em;
	color: var(--bone-dim);
	letter-spacing: 0.1em;
}
.azm-work__past-list i { font-style: normal; opacity: 0.6; margin-left: 0.6em; }

/* ---------------------------------------------------------- journal */
.azm-journal__list { list-style: none; padding: 0; margin: 0; }
.azm-journal__item {
	border-bottom: 1px solid var(--hair);
	padding: clamp(1.4rem, 3vw, 2rem) 0.5rem;
	transition: background 0.3s;
}
.azm-journal__item:first-child { border-top: 1px solid var(--hair); }
.azm-journal__item:hover { background: var(--ink-2); }
.azm-journal__item .azm-journal__title { transition: transform 0.35s var(--ease-out); }
.azm-journal__item:hover .azm-journal__title { transform: translateX(10px); }
.azm-journal__date { display: block; margin-bottom: 0.5rem; color: var(--gold); }
.azm-journal__title {
	font-family: var(--font-display); font-weight: 380;
	font-size: clamp(1.4rem, 3vw, 2.1rem); line-height: 1.15; margin: 0 0 0.5rem;
}
.azm-journal__title a { transition: color 0.25s; }
.azm-journal__title a:hover { color: var(--gold); }
.azm-journal__excerpt { color: var(--bone-dim); max-width: 68ch; font-size: 0.98rem; }
.azm-journal__excerpt .wp-block-post-excerpt__more-link { color: var(--gold); font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; }
.azm-journal__more { margin-top: 2.5rem; }
.azm-pagination { margin-top: 2.5rem; display: flex; gap: 1.5rem; }

/* ---------------------------------------------------------- CTA */
.azm-cta {
	background:
		radial-gradient(80% 120% at 50% 120%, rgba(217, 164, 65, 0.13) 0%, transparent 60%),
		var(--ink-2);
	border-top: 1px solid var(--hair);
	text-align: center;
	padding-block: clamp(6rem, 14vw, 11rem);
}
.azm-cta__inner { display: flex; flex-direction: column; align-items: center; gap: 1.6rem; }
.azm-cta__title {
	font-family: var(--font-display); font-weight: 360;
	font-size: clamp(2.6rem, 8vw, 6.8rem); line-height: 1.02;
	letter-spacing: -0.015em; margin: 0;
}
.azm-cta__title span { display: block; }
.azm-cta__title em { color: var(--gold); }
.azm-cta__actions { display: flex; flex-direction: column; align-items: center; gap: 1.2rem; margin-top: 1rem; }
.azm-cta__mail {
	font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.15em;
	color: var(--bone-dim); border-bottom: 1px solid var(--hair);
	padding-bottom: 2px; transition: color 0.25s, border-color 0.25s;
}
.azm-cta__mail:hover { color: var(--gold); border-color: var(--gold); }

/* ---------------------------------------------------------- footer */
.azm-footer { border-top: 1px solid var(--hair); background: var(--ink); overflow: clip; }
.azm-footer__inner { padding: clamp(3rem, 7vw, 5.5rem) var(--pad) 1.6rem; }
.azm-footer__big { overflow: clip; margin-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.azm-footer__word {
	display: block;
	font-family: var(--font-display); font-weight: 350;
	font-size: clamp(3rem, 15vw, 16rem);
	line-height: 0.85; letter-spacing: 0.01em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(234, 230, 220, 0.16);
	white-space: nowrap;
	user-select: none;
}
.azm-footer__grid {
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 2.5rem; margin-bottom: 3.5rem;
}
@media (max-width: 900px) { .azm-footer__grid { grid-template-columns: repeat(2, 1fr); } }
.azm-eyebrow { margin: 0 0 1rem; }
.azm-footer__links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.55rem; }
.azm-footer__links a { color: var(--bone-dim); transition: color 0.25s; font-size: 0.98rem; }
.azm-footer__links a:hover { color: var(--gold); }
.azm-soon { color: var(--bone-dim); opacity: 0.6; font-size: 0.98rem; }
.azm-footer__note p:last-child { color: var(--bone-dim); font-size: 0.98rem; }
.azm-footer__bar {
	display: flex; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
	border-top: 1px solid var(--hair); padding-top: 1.4rem;
}
.azm-totop:hover { color: var(--gold); }

/* ---------------------------------------------------------- page hero (inner pages) */
.azm-pagehero {
	padding: calc(clamp(5rem, 12vw, 9rem) + 60px) var(--pad) clamp(2.5rem, 6vw, 4.5rem);
	border-bottom: 1px solid var(--hair);
	background:
		radial-gradient(70% 100% at 80% 0%, rgba(217, 164, 65, 0.07) 0%, transparent 55%),
		var(--ink);
}
.azm-pagehero__title {
	font-family: var(--font-display); font-weight: 360;
	font-size: clamp(2.6rem, 8vw, 6.4rem);
	line-height: 1.02; letter-spacing: -0.015em;
	margin: 1rem 0 0;
}
.azm-pagehero__title span { display: block; }
.azm-pagehero__title em { color: var(--gold); }
.azm-pagehero__sub {
	margin-top: 1.6rem; max-width: 58ch;
	color: var(--bone-dim); font-size: clamp(1rem, 1.4vw, 1.15rem);
}

/* ---------------------------------------------------------- about */
.azm-about__grid {
	display: grid; grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(2rem, 6vw, 5rem); align-items: start;
}
@media (max-width: 900px) { .azm-about__grid { grid-template-columns: 1fr; } }
.azm-about__media { margin: 0; position: sticky; top: 110px; }
.azm-about__media img {
	width: 100%; height: auto; border-radius: 18px;
	filter: contrast(1.02);
	border: 1px solid var(--hair);
}
.azm-about__media figcaption { margin-top: 0.8rem; }
.azm-lede {
	font-family: var(--font-display); font-weight: 370;
	font-size: clamp(1.4rem, 2.6vw, 1.9rem); line-height: 1.4;
	margin: 0 0 1.6rem;
}
.azm-about__copy p { color: var(--bone-dim); max-width: 62ch; }
.azm-about__copy p strong, .azm-about__copy p em { color: var(--bone); }
.azm-about__copy a { color: var(--gold); border-bottom: 1px solid rgba(217, 164, 65, 0.35); }
.azm-about__facts {
	display: flex; flex-wrap: wrap; gap: 1rem 2rem;
	margin-top: 2rem; padding-top: 1.6rem; border-top: 1px solid var(--hair);
}
.azm-fact-key { font-style: normal; color: var(--gold); margin-right: 0.5em; }

.azm-values {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem;
}
@media (max-width: 800px) { .azm-values { grid-template-columns: 1fr; } }
.azm-value {
	border: 1px solid var(--hair); border-radius: 18px;
	padding: clamp(1.4rem, 3vw, 2.2rem);
	background: var(--ink-2);
	transition: border-color 0.3s, transform 0.4s var(--ease-out);
}
.azm-value:hover { border-color: rgba(217, 164, 65, 0.4); transform: translateY(-4px); }
.azm-value h3 {
	font-family: var(--font-display); font-weight: 400;
	font-size: 1.35rem; margin: 0 0 0.7rem;
	display: flex; align-items: baseline; gap: 0.7em;
}
.azm-value h3 .mono { color: var(--gold); }
.azm-value p { color: var(--bone-dim); margin: 0; }

.azm-community__list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--hair); }
.azm-community__list li {
	display: flex; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap;
	padding: 1.3rem 0.5rem; border-bottom: 1px solid var(--hair);
}
.azm-community__list strong { font-weight: 500; }

/* ---------------------------------------------------------- services full */
.azm-svcfull { border-bottom: 1px solid var(--hair); }
.azm-svcfull__head { display: flex; align-items: center; gap: 1.4rem; margin-bottom: 2rem; flex-wrap: wrap; }
.azm-svcfull__head .azm-h2 { margin: 0; }
.azm-svcfull__grid {
	display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(2rem, 5vw, 4rem);
}
@media (max-width: 900px) { .azm-svcfull__grid { grid-template-columns: 1fr; } }
.azm-svcfull__grid > div > p:first-child { font-size: 1.1rem; }
.azm-svcfull__grid a { color: var(--gold); }
.azm-list { list-style: none; padding: 0; margin: 1.2rem 0 0; display: flex; flex-direction: column; gap: 0.7rem; color: var(--bone-dim); }
.azm-list li::before { content: "+ "; color: var(--gold); }
.azm-svcfull__proof {
	border-left: 1px solid var(--gold);
	padding-left: 1.4rem;
	display: flex; flex-direction: column; gap: 0.8rem;
	align-self: start;
}
.azm-svcfull__proof p { margin: 0; text-transform: none; letter-spacing: 0.04em; line-height: 1.7; }
.azm-svcfull__proof p:first-child { color: var(--gold); letter-spacing: 0.18em; }

/* ---------------------------------------------------------- hands on (courses + garden) */
.azm-hands__lede { color: var(--bone-dim); max-width: 58ch; margin: 0 0 2.5rem; }
.azm-hands__grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem;
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}
@media (max-width: 800px) { .azm-hands__grid { grid-template-columns: 1fr; } }
.azm-hands__card {
	border: 1px solid var(--hair); border-radius: 18px;
	padding: clamp(1.5rem, 3.5vw, 2.4rem);
	background: var(--ink-2);
}
.azm-hands__card h3 {
	font-family: var(--font-display); font-weight: 400;
	font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0 0 0.8rem;
}
.azm-hands__card > p { color: var(--bone-dim); margin: 0 0 0.4rem; }
.azm-hands__meta { margin-top: 1.4rem; color: var(--gold); line-height: 1.9; }

.azm-ba {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem;
}
@media (max-width: 1000px) { .azm-ba { grid-template-columns: 1fr; } }
.azm-ba__pair { margin: 0; }
.azm-ba__imgs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.azm-ba__imgs span { position: relative; display: block; }
.azm-ba__imgs img {
	width: 100%; height: 100%; object-fit: cover; display: block;
	border-radius: 10px;
	border: 1px solid var(--hair);
	aspect-ratio: 3 / 2.3;
}
.azm-ba__imgs i {
	position: absolute; left: 8px; bottom: 8px;
	font-style: normal; font-size: 0.6rem;
	font-family: var(--font-mono); letter-spacing: 0.14em;
	background: rgba(10, 10, 13, 0.78);
	border: 1px solid var(--hair);
	border-radius: 999px; padding: 0.35em 0.8em;
	color: var(--bone);
}
.azm-ba__imgs span:last-child i { color: var(--gold); border-color: rgba(217, 164, 65, 0.5); }
.azm-ba__pair figcaption { margin-top: 0.7rem; }
.azm-hands__cta { margin-top: clamp(2rem, 5vw, 3rem); }

.azm-steps {
	list-style: none; counter-reset: step; padding: 0; margin: 0;
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem;
}
@media (max-width: 1000px) { .azm-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .azm-steps { grid-template-columns: 1fr; } }
.azm-steps li {
	border: 1px solid var(--hair); border-radius: 18px;
	padding: 1.8rem 1.5rem; background: var(--ink-2);
}
.azm-steps li > .mono { color: var(--gold); display: block; margin-bottom: 1rem; }
.azm-steps h3 { font-family: var(--font-display); font-weight: 400; font-size: 1.3rem; margin: 0 0 0.6rem; }
.azm-steps p { color: var(--bone-dim); margin: 0; font-size: 0.95rem; }

/* ---------------------------------------------------------- contact */
.azm-contact__grid {
	display: grid; grid-template-columns: 1.4fr 1fr;
	gap: clamp(2.5rem, 6vw, 5rem);
}
@media (max-width: 900px) { .azm-contact__grid { grid-template-columns: 1fr; } }
.azm-field { display: flex; flex-direction: column; gap: 0.6rem; margin-bottom: 1.5rem; }
.azm-field label { color: var(--gold); }
.azm-field input, .azm-field textarea {
	background: var(--ink-2); border: 1px solid var(--hair);
	border-radius: 12px; padding: 1rem 1.2rem;
	color: var(--bone); font-family: var(--font-body); font-size: 1rem;
	transition: border-color 0.25s;
}
.azm-field input:focus, .azm-field textarea:focus {
	outline: none; border-color: var(--gold);
}
.azm-field ::placeholder { color: rgba(156, 152, 143, 0.55); }
.azm-hp { position: absolute; left: -9999px; }
.azm-field__legend {
	display: block; color: var(--bone); font-size: 0.8rem;
	margin: 1.2rem 0 0.9rem; padding-top: 1.2rem;
	border-top: 1px solid var(--hair);
}
.azm-field:first-of-type .azm-field__legend { border-top: 0; padding-top: 0; margin-top: 0; }
.azm-field__legend i { font-style: normal; color: var(--gold); margin-left: 0.6em; font-size: 0.65rem; }
.azm-opt { font-style: normal; color: var(--bone-dim); opacity: 0.7; margin-left: 0.5em; text-transform: none; letter-spacing: 0.05em; }
.azm-svc-pick { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.azm-svc-pick label { cursor: pointer; }
.azm-svc-pick input {
	position: absolute; opacity: 0; width: 1px; height: 1px;
}
.azm-svc-pick span {
	display: inline-block;
	font-family: var(--font-mono); font-size: 0.72rem;
	letter-spacing: 0.12em; text-transform: uppercase;
	border: 1px solid var(--hair); border-radius: 999px;
	padding: 0.7em 1.3em; color: var(--bone-dim);
	transition: color 0.25s, border-color 0.25s, background 0.25s, transform 0.25s var(--ease-out);
}
.azm-svc-pick label:hover span { border-color: var(--bone-dim); color: var(--bone); }
.azm-svc-pick input:checked + span {
	background: var(--gold); border-color: var(--gold); color: var(--ink);
	transform: translateY(-2px);
}
.azm-svc-pick input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 3px; }
.azm-field select {
	background: var(--ink-2); border: 1px solid var(--hair);
	border-radius: 12px; padding: 1rem 1.2rem;
	color: var(--bone); font-family: var(--font-body); font-size: 1rem;
	transition: border-color 0.25s;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239c988f' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.2rem center;
}
.azm-field select:focus { outline: none; border-color: var(--gold); }
.azm-field--cond[hidden] { display: none; }
.azm-intake__note { margin-top: 1.2rem; }
.azm-svc-hint { color: var(--gold); margin: 0.9rem 0 0; letter-spacing: 0.06em; text-transform: none; }
.azm-stepper {
	display: flex; align-items: center; gap: 0.9rem;
	margin-bottom: 2rem;
}
.azm-stepper[hidden] { display: none; }
.azm-stepper__dot {
	color: var(--bone-dim);
	border: 1px solid var(--hair); border-radius: 999px;
	padding: 0.5em 1em;
	transition: color 0.3s, border-color 0.3s, background 0.3s;
	white-space: nowrap;
}
.azm-stepper__dot.is-active { color: var(--ink); background: var(--gold); border-color: var(--gold); }
.azm-stepper__dot.is-done { color: var(--gold); border-color: rgba(217, 164, 65, 0.5); }
.azm-stepper i { flex: 1; height: 1px; background: var(--hair); min-width: 12px; }
.azm-step[hidden] { display: none; }
.azm-intake__nav { display: flex; gap: 0.9rem; align-items: center; margin-top: 0.6rem; }
.azm-intake__nav [hidden] { display: none; }

/* success state */
.azm-success { max-width: 720px; }
.azm-success__title {
	font-family: var(--font-display); font-weight: 360;
	font-size: clamp(2.4rem, 6.5vw, 5rem); line-height: 1.03;
	letter-spacing: -0.015em; margin: 1rem 0 1.2rem;
}
.azm-success__title span { display: block; }
.azm-success__title em { color: var(--gold); }
.azm-success__sub { color: var(--bone-dim); margin: 0 0 2.2rem; }
.azm-success__steps {
	list-style: none; margin: 0 0 2.5rem; padding: 0;
	display: flex; flex-direction: column; gap: 1.1rem;
}
.azm-success__steps li {
	display: flex; gap: 1.1rem; align-items: baseline;
	border-top: 1px solid var(--hair); padding-top: 1.1rem;
}
.azm-success__steps .mono { color: var(--gold); }
.azm-success__steps p { margin: 0; color: var(--bone-dim); }
.azm-success__actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.azm-notice { border-radius: 12px; padding: 1rem 1.2rem; margin-bottom: 1.5rem; }
.azm-notice--ok { border: 1px solid var(--prop); color: var(--prop); }
.azm-notice--err { border: 1px solid #e06a5a; color: #e06a5a; }

.azm-contact__lines { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; }
.azm-contact__lines li {
	display: flex; flex-direction: column; gap: 0.3rem;
	padding: 1.1rem 0; border-bottom: 1px solid var(--hair);
}
.azm-contact__lines li > .mono { color: var(--gold); }
.azm-contact__lines a { font-size: 1.05rem; transition: color 0.25s; }
.azm-contact__lines a:hover { color: var(--gold); }
.azm-contact__hint { margin-top: 2rem; }
.azm-contact__hint p:first-child { color: var(--gold); margin-bottom: 0.6rem; }
.azm-contact__hint p:last-child { color: var(--bone-dim); font-style: italic; }

/* ---------------------------------------------------------- prose (posts/pages) */
.azm-prose { padding: calc(clamp(5rem, 12vw, 8rem) + 60px) var(--pad) clamp(4rem, 9vw, 7rem); }
.azm-prose__title {
	font-family: var(--font-display); font-weight: 370;
	font-size: clamp(2.2rem, 6vw, 4.2rem); line-height: 1.05;
	margin: 0.6rem 0 2.2rem;
}
.azm-prose p { color: var(--bone-dim); line-height: 1.75; }
.azm-prose h2, .azm-prose h3 { margin-top: 2.2em; }
.azm-prose a { color: var(--gold); }
.azm-single__date { color: var(--gold); }
.azm-single__back a { color: var(--bone-dim); }
.azm-single__back a:hover { color: var(--gold); }

/* ---------------------------------------------------------- 404 */
.azm-404 { min-height: 60vh; border-bottom: 0; }
.azm-404 .azm-btn { margin-top: 1.5rem; }

/* ---------------------------------------------------------- branding page */
.azm-brand__marks {
	display: grid; grid-template-columns: 1.3fr 0.8fr 1fr; gap: 1.4rem;
}
@media (max-width: 1000px) { .azm-brand__marks { grid-template-columns: 1fr; } }
.azm-brand__mark {
	border: 1px solid var(--hair); border-radius: 18px;
	background: var(--ink-2);
	padding: clamp(1.6rem, 3.5vw, 2.6rem);
	display: flex; flex-direction: column; justify-content: center; gap: 1.6rem;
	min-height: 240px;
}
.azm-brand__wordmark {
	font-family: var(--font-display);
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	letter-spacing: 0.04em; line-height: 1;
}
.azm-brand__wordmark b { color: var(--gold); font-weight: 600; }
.azm-brand__monogram {
	display: flex; flex-direction: column; align-items: center; gap: 0.6rem;
}
.azm-brand__monogram i {
	font-family: var(--font-display); font-style: italic;
	font-size: clamp(3.4rem, 6vw, 5rem); color: var(--gold); line-height: 1;
}
.azm-brand__monogram u {
	display: block; width: 96px; height: 4px; border-radius: 2px;
	background: var(--gold); text-decoration: none;
}
.azm-brand__mark--mono { align-items: center; text-align: center; }
.azm-brand__ruleshead { color: var(--gold); margin: 0 0 0.4rem; }
.azm-brand__note { margin-top: 2rem; color: var(--gold); }
.azm-brand__lede { color: var(--bone-dim); max-width: 60ch; margin: 0 0 2.5rem; }

.azm-swatches {
	display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem;
}
@media (max-width: 1000px) { .azm-swatches { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px) { .azm-swatches { grid-template-columns: repeat(2, 1fr); } }
.azm-swatch {
	background: var(--ink-2); border: 1px solid var(--hair); border-radius: 14px;
	padding: 0.8rem; cursor: pointer; text-align: left;
	display: flex; flex-direction: column; gap: 0.55rem;
	color: var(--bone);
	transition: border-color 0.25s, transform 0.3s var(--ease-out);
	font-family: var(--font-body);
}
.azm-swatch:hover { border-color: color-mix(in srgb, var(--sw) 60%, var(--hair)); transform: translateY(-3px); }
.azm-swatch i {
	display: block; height: 74px; border-radius: 9px;
	background: var(--sw);
	border: 1px solid var(--hair);
}
.azm-swatch span { font-size: 0.92rem; font-weight: 500; }
.azm-swatch em { font-style: normal; color: var(--bone-dim); }
.azm-swatch.is-copied { border-color: var(--gold); }
.azm-swatch.is-copied em { color: var(--gold); }

.azm-type { border-top: 1px solid var(--hair); }
.azm-type__row {
	padding: clamp(1.8rem, 4vw, 2.8rem) 0.5rem;
	border-bottom: 1px solid var(--hair);
}
.azm-type__specimen { margin: 0 0 1rem; }
.azm-type__specimen--display {
	font-family: var(--font-display); font-weight: 380;
	font-size: clamp(2rem, 5.5vw, 4.2rem); line-height: 1.05;
}
.azm-type__specimen--body {
	font-size: clamp(1.05rem, 1.6vw, 1.3rem); color: var(--bone);
	max-width: 62ch; line-height: 1.6;
}
.azm-type__specimen--mono {
	font-family: var(--font-mono); font-size: 0.95rem;
	letter-spacing: 0.2em; color: var(--gold);
}
.azm-type__meta { color: var(--bone-dim); }

.azm-voice { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3rem); }
@media (max-width: 800px) { .azm-voice { grid-template-columns: 1fr; } }
.azm-voice__label { color: var(--gold); margin: 0 0 1rem; }
.azm-voice__lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.azm-voice__lines li {
	font-family: var(--font-display); font-style: italic;
	font-size: clamp(1.15rem, 2vw, 1.5rem); color: var(--bone);
	border-left: 2px solid var(--gold); padding-left: 1rem;
}

.azm-brand__assets {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem;
}
@media (max-width: 900px) { .azm-brand__assets { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .azm-brand__assets { grid-template-columns: 1fr; } }
.azm-brand__asset { margin: 0; }
.azm-brand__asset--wide { grid-column: 1 / -1; }
.azm-brand__asset img {
	width: 100%; height: auto; display: block;
	border-radius: 14px; border: 1px solid var(--hair);
}
.azm-brand__asset figcaption {
	margin-top: 0.7rem; display: flex; justify-content: space-between; gap: 1rem;
}
.azm-brand__asset figcaption a { color: var(--gold); }

/* logo formats */
.azm-logos {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem;
}
@media (max-width: 900px) { .azm-logos { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .azm-logos { grid-template-columns: 1fr; } }
.azm-logo-card { margin: 0; border: 1px solid var(--hair); border-radius: 14px; overflow: hidden; background: var(--ink-2); }
.azm-logo-card__view {
	display: flex; align-items: center; justify-content: center;
	padding: 2rem; min-height: 150px; background: var(--ink);
}
.azm-logo-card__view img { max-width: 100%; height: auto; display: block; }
.azm-logo-card__view--sq { min-height: 180px; }
.azm-logo-card--check .azm-logo-card__view {
	background-color: #1a1a20;
	background-image:
		linear-gradient(45deg, #14141a 25%, transparent 25%),
		linear-gradient(-45deg, #14141a 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #14141a 75%),
		linear-gradient(-45deg, transparent 75%, #14141a 75%);
	background-size: 22px 22px;
	background-position: 0 0, 0 11px, 11px -11px, -11px 0;
}
.azm-logo-card figcaption {
	display: flex; justify-content: space-between; gap: 1rem;
	padding: 0.9rem 1.1rem;
}
.azm-logo-card figcaption a { color: var(--gold); font-size: 1rem; }

/* email signature */
.azm-sig { border: 1px solid var(--hair); border-radius: 18px; overflow: hidden; }
.azm-sig__preview { background: #f3f0e8; padding: clamp(1.6rem, 4vw, 2.8rem); overflow-x: auto; }
.azm-sig__actions { display: flex; gap: 1rem; flex-wrap: wrap; padding: 1.4rem; }
.azm-brand .azm-sig__actions { padding: 1.4rem; }

/* invoice doc card */
.azm-doc-card {
	display: grid; grid-template-columns: 300px 1fr; gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	border: 1px solid var(--hair); border-radius: 18px; background: var(--ink-2);
	padding: clamp(1.5rem, 4vw, 2.6rem);
}
@media (max-width: 720px) { .azm-doc-card { grid-template-columns: 1fr; } }
.azm-doc-card__mock {
	background: #fff; border-radius: 8px; padding: 22px; aspect-ratio: 3/4;
	display: flex; flex-direction: column; gap: 10px;
	box-shadow: 0 14px 40px rgba(0,0,0,0.35);
}
.azm-doc-card__brand { font-family: var(--font-display); font-size: 18px; color: #1a1a1f; }
.azm-doc-card__brand b { color: #b8862f; }
.azm-doc-card__title { font-family: var(--font-display); font-size: 26px; letter-spacing: 0.06em; color: #1a1a1f; align-self: flex-end; margin-top: -22px; }
.azm-doc-card__rule { height: 2px; background: #1a1a1f; }
.azm-doc-card__lines { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.azm-doc-card__lines i { height: 8px; background: #e3ded3; border-radius: 2px; }
.azm-doc-card__lines i:nth-child(2) { width: 80%; }
.azm-doc-card__lines i:nth-child(3) { width: 60%; }
.azm-doc-card__total { margin-top: auto; align-self: flex-end; font-family: var(--font-display); font-size: 16px; color: #b8862f; border-top: 2px solid #1a1a1f; padding-top: 8px; }
.azm-doc-card__body h3 { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0 0 0.8rem; }
.azm-doc-card__body p { color: var(--bone-dim); margin: 0 0 1.4rem; max-width: 52ch; }

/* social layouts */
.azm-social { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
@media (max-width: 720px) { .azm-social { grid-template-columns: 1fr; } }
.azm-social__item { margin: 0; }
.azm-social__item--wide { grid-column: 1 / -1; }
.azm-social__item img { width: 100%; height: auto; display: block; border-radius: 12px; border: 1px solid var(--hair); }
.azm-social__item figcaption { margin-top: 0.7rem; display: flex; justify-content: space-between; gap: 1rem; }
.azm-social__item figcaption a { color: var(--gold); }

/* ==========================================================================
   BRAND SYSTEM PAGE  (Hostingerz-style: hero + sticky TOC + template library)
   ========================================================================== */

/* ---- hero ---- */
.azm-bs-hero {
	padding: calc(clamp(5rem, 12vw, 9rem) + 60px) var(--pad) clamp(2.5rem, 6vw, 4rem);
	border-bottom: 1px solid var(--hair);
	background:
		radial-gradient(60% 100% at 82% 0%, rgba(217, 164, 65, 0.08) 0%, transparent 55%),
		var(--ink);
}
.azm-bs-crumb { color: var(--bone-dim); margin: 0 0 1.4rem; }
.azm-bs-badge {
	display: inline-block; padding: 0.5em 1.1em; border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--gold) 45%, var(--hair));
	background: rgba(217, 164, 65, 0.08); color: var(--gold-bright);
	font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase;
}
.azm-bs-title {
	font-family: var(--font-display); font-weight: 360;
	font-size: clamp(2.6rem, 8vw, 6rem); line-height: 1.01; letter-spacing: -0.015em;
	margin: 1.3rem 0 0; max-width: 16ch;
}
.azm-bs-title em { color: var(--gold); font-style: italic; }
.azm-bs-sub {
	margin: 1.6rem 0 0; max-width: 62ch;
	color: var(--bone-dim); font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.6;
}
.azm-bs-cta { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.2rem; }

/* ---- two-column shell ---- */
.azm-bs {
	display: grid; grid-template-columns: 210px minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	padding: clamp(3rem, 7vw, 6rem) var(--pad);
	align-items: start;
}
@media (max-width: 900px) { .azm-bs { grid-template-columns: 1fr; } }

/* ---- sticky table of contents ---- */
.azm-bs-toc {
	position: sticky; top: 92px; align-self: start;
	/* the nav is taller than most viewports; cap it and let it scroll on its own
	   so the lower groups (Identity, Downloads) stay reachable when pinned */
	max-height: calc(100vh - 112px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-right: 8px;
	scrollbar-width: thin;
	scrollbar-color: var(--hair) transparent;
}
.azm-bs-toc::-webkit-scrollbar { width: 6px; }
.azm-bs-toc::-webkit-scrollbar-track { background: transparent; }
.azm-bs-toc::-webkit-scrollbar-thumb { background: var(--hair); border-radius: 3px; }
.azm-bs-toc:hover { scrollbar-color: color-mix(in srgb, var(--gold) 40%, var(--hair)) transparent; }
@media (max-width: 900px) { .azm-bs-toc { display: none; } }
.azm-bs-toc__title { color: var(--gold); margin: 0 0 1rem; font-size: 0.7rem; letter-spacing: 0.2em; }
.azm-bs-toc__nav { display: flex; flex-direction: column; gap: 0.15rem; }
.azm-bs-toc__label {
	color: var(--bone-dim); margin: 1.2rem 0 0.5rem; font-size: 0.66rem; letter-spacing: 0.16em;
	scroll-margin-top: 92px;
}
.azm-bs-toc__label:first-of-type { margin-top: 0; }
.azm-bs-toc__nav a {
	color: var(--bone-dim); text-decoration: none; font-size: 0.9rem;
	padding: 0.34rem 0.7rem; border-radius: 8px; border-left: 2px solid transparent;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.azm-bs-toc__nav a:hover { color: var(--bone); }
.azm-bs-toc__nav a.is-active {
	color: var(--gold-bright); background: rgba(217, 164, 65, 0.08);
	border-left-color: var(--gold);
}

/* ---- section frame ---- */
.azm-bs-main { min-width: 0; }
.azm-bs-sec { scroll-margin-top: 92px; padding: 0 0 clamp(3.5rem, 8vw, 6rem); }
.azm-bs-sec:not(:first-child) { padding-top: clamp(2.5rem, 6vw, 4rem); border-top: 1px solid var(--hair); }
.azm-bs-tag {
	display: inline-block; padding: 0.42em 1em; border-radius: 999px;
	border: 1px solid color-mix(in srgb, var(--gold) 40%, var(--hair));
	background: rgba(217, 164, 65, 0.07); color: var(--gold-bright);
	font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase;
}
.azm-bs-h2 {
	font-family: var(--font-display); font-weight: 360;
	font-size: clamp(1.7rem, 4vw, 2.9rem); line-height: 1.05; letter-spacing: -0.01em;
	margin: 1.1rem 0 0;
}
.azm-bs-lede { color: var(--bone-dim); max-width: 64ch; margin: 1rem 0 2.2rem; line-height: 1.6; }
.azm-bs-lede b { color: var(--bone); font-weight: 500; }

/* ---- logo lockups ---- */
.azm-lock { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
@media (max-width: 1080px) { .azm-lock { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .azm-lock { grid-template-columns: 1fr; } }
.azm-lock__card {
	margin: 0; border: 1px solid var(--hair); border-radius: 16px; overflow: hidden;
	display: flex; flex-direction: column;
}
.azm-lock__card > :first-child {
	flex: 1; display: flex; align-items: center; justify-content: center;
	padding: 2rem 1.2rem; min-height: 130px; text-align: center;
}
.azm-lock__card--ink > :first-child { background: var(--ink); }
.azm-lock__card--paper > :first-child { background: #f3f0e8; }
.azm-lock__mark { font-family: var(--font-display); font-size: 1.7rem; letter-spacing: 0.02em; color: var(--bone); }
.azm-lock__mark b { color: var(--gold); font-weight: 600; }
.azm-lock__mark--ink { color: #1a1a1f; }
.azm-lock__mark--ink b { color: #b8862f; }
.azm-lock__mono {
	display: flex; align-items: center; justify-content: center;
	width: 66px; height: 66px; border-radius: 14px; background: var(--ink-3);
	border: 1px solid color-mix(in srgb, var(--gold) 30%, var(--hair));
}
.azm-lock__mono i { font-family: var(--font-display); font-style: italic; font-size: 1.7rem; color: var(--gold); }
.azm-lock__files { color: #6b6862; font-size: 0.72rem; line-height: 1.7; }
.azm-lock__card figcaption { padding: 1rem 1.1rem 1.2rem; border-top: 1px solid var(--hair); }
.azm-lock__card figcaption b { display: block; font-weight: 500; margin-bottom: 0.35rem; }
.azm-lock__card figcaption span { color: var(--bone-dim); font-size: 0.85rem; line-height: 1.55; }

/* ---- colour tokens ---- */
.azm-palette__label { color: var(--gold); margin: 0 0 0.9rem; font-size: 0.72rem; letter-spacing: 0.16em; }
.azm-palette__label:not(:first-of-type) { margin-top: 2rem; }
.azm-tokens { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.9rem; }
@media (max-width: 1000px) { .azm-tokens { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .azm-tokens { grid-template-columns: repeat(2, 1fr); } }
.azm-token i { height: 58px; }

/* ---- typography specimens ---- */
.azm-typerows { border-top: 1px solid var(--hair); }
.azm-typerow { padding: clamp(1.6rem, 4vw, 2.6rem) 0; border-bottom: 1px solid var(--hair); }
.azm-typerow__spec { margin: 0 0 0.9rem; }
.azm-typerow__spec--display { font-family: var(--font-display); font-weight: 360; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.05; }
.azm-typerow__spec--body { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: var(--bone); max-width: 62ch; line-height: 1.6; }
.azm-typerow__spec--mono { font-family: var(--font-mono); font-size: 0.95rem; letter-spacing: 0.2em; color: var(--gold); }
.azm-typerow__meta { color: var(--bone-dim); font-size: 0.85rem; }

/* ---- voice do / don't ---- */
.azm-voicegrid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
@media (max-width: 760px) { .azm-voicegrid { grid-template-columns: 1fr; } }
.azm-vpair { border: 1px solid var(--hair); border-radius: 16px; padding: clamp(1.4rem, 3vw, 2rem); background: var(--ink-2); }
.azm-vpair__head { margin: 0 0 1rem; font-size: 0.72rem; letter-spacing: 0.18em; }
.azm-vpair--do { border-color: color-mix(in srgb, var(--prop) 40%, var(--hair)); }
.azm-vpair--do .azm-vpair__head { color: var(--prop); }
.azm-vpair--dont { border-color: color-mix(in srgb, #d8604f 40%, var(--hair)); }
.azm-vpair--dont .azm-vpair__head { color: #e07a6b; }
.azm-vpair ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.85rem; }
.azm-vpair li { color: var(--bone-dim); font-size: 0.94rem; line-height: 1.5; padding-left: 1.5rem; position: relative; }
.azm-vpair li::before { position: absolute; left: 0; top: 0; }
.azm-vpair--do li::before { content: "✓"; color: var(--prop); }
.azm-vpair--dont li::before { content: "✕"; color: #e07a6b; }

/* ---- ui components ---- */
.azm-comp { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; }
@media (max-width: 820px) { .azm-comp { grid-template-columns: 1fr; } }
.azm-comp__cell { border: 1px solid var(--hair); border-radius: 16px; background: var(--ink-2); padding: 1.4rem; }
.azm-comp__label { color: var(--bone-dim); margin: 0 0 1.1rem; font-size: 0.68rem; letter-spacing: 0.16em; }
.azm-comp__row { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: center; }
.azm-comp__card {
	display: block; border: 1px solid var(--hair); border-radius: 14px; background: var(--ink-3);
	padding: 1rem 1.1rem; color: var(--bone-dim); font-size: 0.88rem; line-height: 1.5;
}

/* ---- transactional email mock ---- */
.azm-email { border: 1px solid var(--hair); border-radius: 18px; overflow: hidden; max-width: 620px; background: var(--ink-2); }
.azm-email__bar { display: flex; justify-content: space-between; align-items: center; padding: 0.9rem 1.2rem; border-bottom: 1px solid var(--hair); background: var(--ink-3); }
.azm-email__bar .mono { font-size: 0.72rem; letter-spacing: 0.1em; color: var(--bone-dim); }
.azm-email__from { color: var(--gold) !important; }
.azm-email__body { padding: clamp(1.6rem, 4vw, 2.4rem); }
.azm-email__body p { color: var(--bone-dim); line-height: 1.65; margin: 0 0 1rem; }
.azm-email__brand { font-family: var(--font-display); font-size: 1.3rem; color: var(--bone) !important; margin: 0 0 1.4rem !important; }
.azm-email__brand b { color: var(--gold); font-weight: 600; }
.azm-email__h { font-family: var(--font-display); font-size: clamp(1.3rem, 2.5vw, 1.7rem); color: var(--bone) !important; margin: 0 0 1.2rem !important; }
.azm-email__soft { color: var(--bone-dim); font-size: 0.9rem !important; }
.azm-email__sign { color: var(--bone) !important; margin-top: 1.6rem !important; }
.azm-email__sign .mono { display: inline-block; margin-top: 0.3rem; color: var(--bone-dim); font-size: 0.75rem; letter-spacing: 0.08em; }

/* ---- paper documents ---- */
.azm-paper {
	background: #f4f1e9; color: #2a2822; border-radius: 10px;
	padding: clamp(1.6rem, 4vw, 2.8rem);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
	font-size: 0.9rem; line-height: 1.55;
	max-width: 720px;
}
.azm-paper--receipt { max-width: 420px; }
.azm-doc__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.azm-doc__brand { font-family: var(--font-display); font-size: 1.35rem; color: #1a1a1f; letter-spacing: 0.02em; }
.azm-doc__brand b { color: #b8862f; font-weight: 600; }
.azm-doc__contact { color: #6b6862; font-size: 0.72rem; line-height: 1.6; text-align: right; }
.azm-doc__title { font-family: var(--font-display); font-size: 1.8rem; letter-spacing: 0.08em; color: #1a1a1f; }
.azm-doc__title--sm { font-size: 1.1rem; letter-spacing: 0.14em; align-self: center; color: #6b6862; }
.azm-doc__meta { display: flex; justify-content: space-between; gap: 1rem; color: #6b6862; font-size: 0.72rem; line-height: 1.6; margin-top: 1rem; }
.azm-doc__meta--stack { flex-direction: column; gap: 0.3rem; }
.azm-doc__rule { height: 2px; background: #b8862f; margin: 1rem 0 1.2rem; }
.azm-doc__lines { display: flex; flex-direction: column; gap: 0.7rem; }
.azm-doc__lines i { display: block; height: 8px; border-radius: 2px; background: #ddd7c8; }
.azm-doc__lines i[style*="width:0"] { background: transparent; height: 2px; }
.azm-doc__prose p { margin: 0 0 0.9rem; color: #3a382f; }
.azm-doc__prose p b { color: #1a1a1f; }
.azm-doc__sig { font-family: var(--font-display); font-size: 1.15rem; color: #1a1a1f; margin-top: 1.4rem !important; }
.azm-doc__sig b { color: #b8862f; }
.azm-doc__table { width: 100%; border-collapse: collapse; margin-top: 0.4rem; }
.azm-doc__table th { text-align: left; font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; color: #8a8578; padding: 0.4rem 0.6rem; border-bottom: 1px solid #d8d2c4; }
.azm-doc__table th:last-child, .azm-doc__table td:last-child { text-align: right; }
.azm-doc__table th:nth-child(2), .azm-doc__table td:nth-child(2), .azm-doc__table th:nth-child(3), .azm-doc__table td:nth-child(3) { text-align: right; }
.azm-doc__table td { padding: 0.55rem 0.6rem; border-bottom: 1px solid #e5e0d3; color: #3a382f; }
.azm-doc__totals { display: flex; flex-direction: column; align-items: flex-end; gap: 0.35rem; margin-top: 1rem; font-size: 0.8rem; color: #6b6862; letter-spacing: 0.04em; }
.azm-doc__total { font-family: var(--font-display); font-size: 1.15rem; color: #1a1a1f; border-top: 2px solid #1a1a1f; padding-top: 0.5rem; margin-top: 0.3rem; }
.azm-doc__paid { color: #16a34a; border-top-color: #16a34a; }
.azm-doc__foot { margin-top: 1.6rem; padding-top: 0.9rem; border-top: 1px solid #d8d2c4; color: #8a8578; font-size: 0.6rem; letter-spacing: 0.08em; }
.azm-doc__clauses { display: flex; flex-direction: column; gap: 1rem; }
.azm-doc__clause span { display: block; font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.1em; color: #b8862f; margin-bottom: 0.25rem; }
.azm-doc__clause p { margin: 0; color: #3a382f; }
.azm-doc__signrow { display: flex; gap: 2rem; margin-top: 2rem; }
.azm-doc__signrow span { flex: 1; font-size: 0.75rem; color: #6b6862; }
.azm-doc__signrow i { display: block; height: 1px; background: #1a1a1f; margin-bottom: 0.4rem; }
.azm-doc__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; }
.azm-doc__cols--three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 560px) { .azm-doc__cols, .azm-doc__cols--three { grid-template-columns: 1fr; } }
.azm-doc__k { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; color: #b8862f; margin: 0 0 0.35rem; }
.azm-doc__cols p:not(.azm-doc__k) { margin: 0 0 1rem; color: #3a382f; }
.azm-doc__price { font-family: var(--font-display); font-size: 1.15rem; color: #1a1a1f; }
.azm-doc__casehead { font-family: var(--font-display); font-size: clamp(1.2rem, 2.6vw, 1.7rem); color: #1a1a1f; margin: 0 0 1.2rem; }
.azm-doc__stat { font-family: var(--font-display); font-size: 2.4rem; color: #b8862f; line-height: 1; margin: 0; }
.azm-doc__stat span { display: block; font-family: var(--font-body); font-size: 0.72rem; color: #6b6862; margin-top: 0.3rem; }
.azm-doc__checks { display: flex; flex-direction: column; gap: 0.9rem; }
.azm-doc__checks p { margin: 0; color: #3a382f; padding-left: 2.2rem; position: relative; }
.azm-doc__checks span { position: absolute; left: 0; top: 0; font-family: var(--font-mono); font-size: 0.7rem; color: #b8862f; }

/* ---- proposal cover (dark) ---- */
.azm-cover {
	border: 1px solid color-mix(in srgb, var(--gold) 22%, var(--hair)); border-radius: 16px;
	background: radial-gradient(80% 120% at 85% 0%, rgba(217, 164, 65, 0.1), transparent 55%), var(--ink);
	padding: clamp(2rem, 5vw, 3.4rem); max-width: 620px; aspect-ratio: 3 / 4;
	display: flex; flex-direction: column; justify-content: space-between;
}
.azm-cover__eyebrow { color: var(--bone-dim); font-size: 0.7rem; letter-spacing: 0.16em; }
.azm-cover__brand { font-family: var(--font-display); font-size: 1.4rem; margin: 0; }
.azm-cover__brand b { color: var(--gold); font-weight: 600; }
.azm-cover__title { font-family: var(--font-display); font-weight: 360; font-size: clamp(1.5rem, 4vw, 2.6rem); line-height: 1.1; margin: 0; }
.azm-cover__title em { color: var(--gold); font-style: italic; }
.azm-cover__foot { display: flex; justify-content: space-between; gap: 1rem; color: var(--bone-dim); font-size: 0.72rem; letter-spacing: 0.06em; }

/* ---- pitch deck ---- */
.azm-deck { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 680px) { .azm-deck { grid-template-columns: 1fr; } }
.azm-slide {
	margin: 0; border: 1px solid var(--hair); border-radius: 14px; background: var(--ink-2);
	aspect-ratio: 16 / 9; padding: clamp(1.2rem, 3vw, 1.8rem);
	display: flex; flex-direction: column; justify-content: space-between; overflow: hidden;
}
.azm-slide--title, .azm-slide--close { background: radial-gradient(90% 120% at 80% 10%, rgba(217, 164, 65, 0.12), transparent 55%), var(--ink); }
.azm-slide__tag { color: var(--bone-dim); font-size: 0.62rem; letter-spacing: 0.14em; }
.azm-slide__brand { font-family: var(--font-display); font-size: 1.4rem; margin: 0; }
.azm-slide__brand b { color: var(--gold); font-weight: 600; }
.azm-slide__lead { font-family: var(--font-display); font-weight: 360; font-size: clamp(1.2rem, 3vw, 1.8rem); line-height: 1.1; margin: 0; }
.azm-slide__lead em { color: var(--gold); font-style: italic; }
.azm-slide__big { font-family: var(--font-display); font-size: clamp(1.4rem, 3.5vw, 2.1rem); line-height: 1.05; margin: 0; }
.azm-slide__big em { color: var(--gold); font-style: italic; }
.azm-slide__stat { font-family: var(--font-display); font-size: clamp(2.4rem, 7vw, 3.6rem); color: var(--gold); line-height: 1; margin: 0; }
.azm-slide__stat span { font-size: 0.9rem; color: var(--bone); }
.azm-slide__note { color: var(--bone-dim); font-size: 0.8rem; margin: 0; }

/* ---- business card ---- */
.azm-cards { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.azm-cardface {
	width: 340px; max-width: 100%; aspect-ratio: 85 / 55; border-radius: 12px;
	border: 1px solid var(--hair); padding: 1.4rem;
	display: flex; flex-direction: column; justify-content: space-between;
}
.azm-cardface--front { background: var(--ink); }
.azm-cardface--back { background: radial-gradient(70% 100% at 50% 40%, rgba(217, 164, 65, 0.14), transparent 60%), var(--ink-2); align-items: center; justify-content: center; }
.azm-cardface__brand { font-family: var(--font-display); font-size: 1.5rem; letter-spacing: 0.02em; }
.azm-cardface__brand b { color: var(--gold); font-weight: 600; }
.azm-cardface__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; font-size: 0.78rem; color: var(--bone); }
.azm-cardface__foot .mono { color: var(--bone-dim); font-size: 0.62rem; letter-spacing: 0.08em; }
.azm-cardface__c { text-align: right; }
.azm-cardface__mono i { font-family: var(--font-display); font-style: italic; font-size: 3rem; color: var(--gold); }

/* ---- social avatars ---- */
.azm-avatars { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem; margin-bottom: 2.6rem; }
.azm-avatar { margin: 0; text-align: center; }
.azm-avatar img {
	width: 128px; height: 128px; border-radius: 50%; object-fit: cover;
	border: 1px solid color-mix(in srgb, var(--gold) 30%, var(--hair));
	display: block;
}
.azm-avatar figcaption { margin-top: 0.7rem; color: var(--bone-dim); font-size: 0.66rem; letter-spacing: 0.08em; }
.azm-avatar figcaption a { color: var(--gold); margin-left: 0.3rem; }
.azm-avatars__note { flex: 1; min-width: 240px; color: var(--bone-dim); font-size: 0.9rem; line-height: 1.55; margin: 0; max-width: 46ch; }
.azm-social + .azm-palette__label { margin-top: 2.4rem; }

/* ---- downloads ---- */
.azm-dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.8rem; }
@media (max-width: 820px) { .azm-dl { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .azm-dl { grid-template-columns: 1fr; } }
.azm-dl__item {
	display: flex; align-items: center; gap: 0.9rem; text-decoration: none;
	border: 1px solid var(--hair); border-radius: 12px; background: var(--ink-2);
	padding: 0.9rem 1.1rem; color: var(--bone);
	transition: border-color 0.2s, transform 0.25s var(--ease-out);
}
.azm-dl__item:hover { border-color: color-mix(in srgb, var(--gold) 55%, var(--hair)); transform: translateY(-2px); }
.azm-dl__k { color: var(--gold); font-size: 0.62rem; letter-spacing: 0.08em; min-width: 2.6em; }
.azm-dl__item b { flex: 1; font-weight: 500; font-size: 0.9rem; }
.azm-dl__c { color: var(--bone-dim); }

/* ---------------------------------------------------------- headline motion */
/* masked line rise for section headings (JS wraps their content in .azm-rise) */
.azm-hl-head { overflow: hidden; padding-bottom: 0.08em; }
.azm-hl-head .azm-rise { display: block; transform: translateY(112%); will-change: transform, filter; }
.azm-hl-head.is-in .azm-rise { animation: azm-rise 1.05s cubic-bezier(0.22, 1, 0.36, 1) both; }
@keyframes azm-rise {
	from { transform: translateY(112%); filter: blur(10px); }
	to { transform: translateY(0); filter: blur(0); }
}
/* one-shot specular sweep across a gold word; JS removes the class on animationend */
@keyframes azm-spec-sweep {
	from { background-position: 130% 0; }
	to { background-position: -30% 0; }
}
.azm-spec {
	background: linear-gradient(100deg, var(--gold) 40%, var(--gold-bright) 50%, var(--gold) 60%);
	background-size: 240% 100%;
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent;
	animation: azm-spec-sweep 0.75s ease-out forwards;
}

/* stat counter: tabular figures + a gold underline that seals on lock */
.azm-stat__num { position: relative; font-variant-numeric: tabular-nums; }
.azm-stat__num::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -0.14em; height: 2px;
	background: var(--gold); transform: scaleX(0); transform-origin: left;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.azm-stat.is-counted .azm-stat__num::after { transform: scaleX(1); }

/* services as a running pipeline: gold rail + travelling packet, rows flip to OK */
.azm-svc { position: relative; }
.azm-svc__rail {
	position: absolute; left: -0.7rem; top: 0; bottom: 0; width: 2px;
	background: var(--hair); border-radius: 2px; overflow: hidden;
}
.azm-svc__rail i { position: absolute; left: 0; top: 0; width: 100%; height: 0; background: var(--gold); }
.azm-svc__pkt {
	position: absolute; left: -0.7rem; top: 0; margin-left: -3px; width: 8px; height: 8px;
	border-radius: 50%; background: var(--gold-bright);
	box-shadow: 0 0 10px 2px rgba(240, 190, 90, 0.5); opacity: 0; will-change: transform;
}
.azm-svc__row.is-lit .azm-svc__no { color: var(--prop); }
.azm-svc__row.is-lit .azm-svc__name { color: var(--gold-bright); transform: translateX(8px); }
@media (max-width: 620px) { .azm-svc__rail, .azm-svc__pkt { left: -0.4rem; } }

/* venture glyph: gold dust assembles into the initial, then the stroked letter resolves */
.azm-vcard__dust { position: absolute; inset: 0; pointer-events: none; }

/* ---------------------------------------------------------- touch niceties */
html { -webkit-tap-highlight-color: transparent; }
a, button { touch-action: manipulation; }

/* ---------------------------------------------------------- motion safety */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	html { scroll-behavior: auto; }
	body::after { display: none; }
	/* content highlights must not depend on scroll-triggered classes */
	.azm-hl::after { transform: scaleX(1); }
}
