/*
Theme Name: AJLinkOfficial
Theme URI: https://ajlinkofficial.com
Author: inDigital
Description: Knowledge-first and prompt-first custom WordPress theme for AJLinkOfficial.
Version: 2.1.3
Text Domain: ajlinkofficial
Requires at least: 6.7
Requires PHP: 8.2
*/

:root {
	--aj-ink: #172033;
	--aj-ink-soft: #273348;
	--aj-muted: #5f6878;
	--aj-paper: #fffefa;
	--aj-white: #fff;
	--aj-surface: #f4f6f3;
	--aj-surface-strong: #e9eeea;
	--aj-brand: #176b5b;
	--aj-brand-dark: #0d493e;
	--aj-brand-pale: #dcece7;
	--aj-accent: #d58a22;
	--aj-danger: #a52a2a;
	--aj-success: #176b45;
	--aj-line: #d9dfdb;
	--aj-line-dark: #b5c0ba;
	--aj-radius-sm: 10px;
	--aj-radius: 18px;
	--aj-radius-lg: 28px;
	--aj-shadow: 0 18px 48px rgba(23, 32, 51, .09);
	--aj-container: 1200px;
	--aj-reading: 760px;
	--aj-header-height: 72px;
	--aj-z-header: 80;
	--aj-z-overlay: 120;
	--aj-transition: 180ms ease;
	--aj-space-1: .5rem;
	--aj-space-2: .75rem;
	--aj-space-3: 1rem;
	--aj-space-4: 1.5rem;
	--aj-space-5: 2rem;
	--aj-space-6: 3rem;
	--aj-space-7: 4.5rem;
	--aj-space-8: 6.5rem;
}

*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	background: var(--aj-paper);
	color: var(--aj-ink);
	font-family: "Noto Sans Thai", "Leelawadee UI", "Tahoma", system-ui, sans-serif;
	font-size: clamp(1rem, .25vw + .95rem, 1.125rem);
	line-height: 1.72;
	margin: 0;
	overflow-wrap: break-word;
}
body.admin-bar .aj-site-header { top: 32px; }
body.admin-bar { --aj-header-offset: 32px; }
img { height: auto; max-width: 100%; }
figure { margin-inline: 0; }
a {
	color: var(--aj-brand-dark);
	text-decoration-thickness: .08em;
	text-underline-offset: .18em;
}
a:hover { color: var(--aj-brand); }
button,
input,
select,
textarea { font: inherit; }
button,
select { cursor: pointer; }
button:disabled { cursor: wait; opacity: .75; }
::selection { background: var(--aj-brand-pale); color: var(--aj-ink); }
:focus-visible {
	outline: 3px solid var(--aj-accent);
	outline-offset: 3px;
}
[hidden] { display: none !important; }
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--aj-white);
	clip: auto;
	clip-path: none;
	color: var(--aj-ink);
	height: auto;
	left: 1rem;
	padding: 1rem;
	top: 1rem;
	width: auto;
	z-index: 10000;
}
.aj-container {
	margin-inline: auto;
	max-width: var(--aj-container);
	padding-inline: clamp(1rem, 4vw, 2rem);
	width: 100%;
}
.aj-article-width { max-width: calc(var(--aj-reading) + 4rem); }
.aj-skip {
	background: var(--aj-ink);
	color: var(--aj-white);
	left: 1rem;
	padding: .75rem 1rem;
	position: fixed;
	top: -6rem;
	z-index: 10000;
}
.aj-skip:focus { top: 1rem; }

/* Header and navigation */
.aj-site-header {
	background: rgba(255, 254, 250, .97);
	border-bottom: 1px solid var(--aj-line);
	position: sticky;
	top: 0;
	z-index: 100;
}
.aj-header-row {
	align-items: center;
	display: flex;
	gap: 1rem;
	min-height: var(--aj-header-height);
}
.aj-brand {
	color: var(--aj-ink);
	flex: 0 0 auto;
	font-size: 1.18rem;
	font-weight: 850;
	letter-spacing: -.025em;
	text-decoration: none;
}
.aj-brand span { color: var(--aj-brand); }
.aj-desktop-nav { margin-left: auto; }
.aj-desktop-nav > ul {
	align-items: center;
	display: flex;
	gap: .05rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.aj-desktop-nav > ul > li { position: relative; }
.aj-desktop-nav a {
	border-radius: var(--aj-radius-sm);
	color: var(--aj-ink);
	display: block;
	font-size: .82rem;
	font-weight: 650;
	padding: .6rem .5rem;
	text-decoration: none;
	white-space: nowrap;
}
.aj-desktop-nav a:hover,
.aj-desktop-nav a:focus-visible { background: var(--aj-surface); }
.aj-nav-item { align-items: center; display: flex; }
.aj-nav-item > a { padding-right: .2rem; }
.aj-nav-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 8px;
	color: var(--aj-ink);
	display: inline-flex;
	height: 36px;
	justify-content: center;
	padding: .25rem;
	width: 28px;
}
.aj-nav-toggle[aria-expanded="true"] span[aria-hidden] { transform: rotate(180deg); }
.aj-mega-panel {
	background: var(--aj-white);
	border: 1px solid var(--aj-line);
	border-radius: 0 0 var(--aj-radius) var(--aj-radius);
	box-shadow: var(--aj-shadow);
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 180px minmax(480px, 1fr);
	left: 50%;
	padding: 1.5rem;
	position: absolute;
	top: calc(100% + 13px);
	transform: translateX(-50%);
	width: min(760px, 80vw);
}
.aj-mega-panel__intro {
	border-right: 1px solid var(--aj-line);
	display: flex;
	flex-direction: column;
	gap: .75rem;
	padding-right: 1rem;
}
.aj-mega-panel__intro strong { font-size: 1.15rem; }
.aj-mega-panel__intro a { color: var(--aj-brand); padding: 0; }
.aj-mega-panel > ul {
	display: grid;
	gap: .5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}
.aj-mega-panel > ul a {
	border-radius: var(--aj-radius-sm);
	display: grid;
	gap: .15rem;
	padding: .75rem;
	white-space: normal;
}
.aj-mega-panel > ul strong { font-size: .95rem; }
.aj-mega-panel > ul span { color: var(--aj-muted); font-size: .78rem; font-weight: 450; line-height: 1.5; }
.aj-header-tools { align-items: center; display: flex; gap: .45rem; }
.aj-icon-button,
.aj-menu-button {
	align-items: center;
	background: transparent;
	border: 1px solid transparent;
	border-radius: var(--aj-radius-sm);
	color: var(--aj-ink);
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
}
.aj-icon-button { font-size: 1.35rem; }
.aj-menu-button { display: none; gap: .5rem; padding-inline: .75rem; }
.aj-menu-icon,
.aj-menu-icon::before,
.aj-menu-icon::after {
	background: currentcolor;
	content: "";
	display: block;
	height: 2px;
	position: relative;
	width: 18px;
}
.aj-menu-icon::before { position: absolute; top: -6px; }
.aj-menu-icon::after { position: absolute; top: 6px; }
.aj-search-panel {
	background: var(--aj-surface);
	border-top: 1px solid var(--aj-line);
	padding-block: 1.25rem;
}
.aj-search-form { margin: 0; }
.aj-search-form label { display: block; font-size: .86rem; font-weight: 700; margin-bottom: .4rem; }
.aj-search-form > div { display: flex; gap: .6rem; }
.aj-search-form input { flex: 1; }
.aj-mobile-nav { background: var(--aj-white); border-top: 1px solid var(--aj-line); max-height: calc(100vh - var(--aj-header-height)); overflow-y: auto; padding: .5rem 1rem 2rem; }
.aj-mobile-nav > ul { list-style: none; margin: 0; padding: 0; }
.aj-mobile-nav > ul > li { border-bottom: 1px solid var(--aj-line); }
.aj-mobile-nav__row { align-items: center; display: flex; }
.aj-mobile-nav__row > a { color: var(--aj-ink); flex: 1; font-weight: 750; padding: .9rem 0; text-decoration: none; }
.aj-mobile-nav__row button { background: transparent; border: 0; min-height: 44px; min-width: 44px; }
.aj-mobile-nav li > ul { list-style: none; margin: 0 0 .75rem; padding: 0 0 0 .8rem; }
.aj-mobile-nav li > ul a { display: grid; gap: .05rem; padding: .65rem; text-decoration: none; }
.aj-mobile-nav li > ul span { color: var(--aj-muted); font-size: .82rem; }

/* Buttons and small UI */
.aj-button {
	align-items: center;
	background: var(--aj-brand);
	border: 1px solid var(--aj-brand);
	border-radius: 999px;
	color: var(--aj-white);
	display: inline-flex;
	font-weight: 750;
	justify-content: center;
	min-height: 46px;
	padding: .65rem 1.25rem;
	text-decoration: none;
}
.aj-button:hover { background: var(--aj-brand-dark); border-color: var(--aj-brand-dark); color: var(--aj-white); }
.aj-button--secondary { background: transparent; border-color: var(--aj-line-dark); color: var(--aj-ink); }
.aj-button--secondary:hover { background: var(--aj-surface); border-color: var(--aj-brand); color: var(--aj-brand-dark); }
.aj-text-link { font-weight: 750; text-decoration: none; }
.aj-text-link span { display: inline-block; margin-left: .2rem; }
.aj-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.75rem; }
.aj-kicker,
.aj-overline {
	color: var(--aj-brand);
	font-size: .75rem;
	font-weight: 850;
	letter-spacing: .09em;
	margin: 0 0 .5rem;
	text-transform: uppercase;
}
.aj-lead {
	color: var(--aj-muted);
	font-size: clamp(1.08rem, 1.5vw, 1.32rem);
	line-height: 1.7;
	max-width: 780px;
}
.aj-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	list-style: none;
	margin: .75rem 0 0;
	padding: 0;
}
.aj-chips li {
	background: var(--aj-surface);
	border-radius: 999px;
	color: var(--aj-ink-soft);
	font-size: .72rem;
	font-weight: 650;
	padding: .25rem .6rem;
}

/* Homepage */
.aj-home-hero { border-bottom: 1px solid var(--aj-line); padding-block: clamp(4rem, 9vw, 8rem); }
.aj-home-hero__grid {
	align-items: center;
	display: grid;
	gap: clamp(2.5rem, 7vw, 6rem);
	grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
}
.aj-home-hero h1,
.aj-archive-hero h1,
.aj-single-hero h1,
.aj-pack-hero h1 {
	font-size: clamp(2.45rem, 6.4vw, 5.7rem);
	letter-spacing: -.045em;
	line-height: 1.08;
	margin: .6rem 0 1.2rem;
	text-wrap: balance;
}
.aj-hero-guide {
	border-left: 3px solid var(--aj-brand);
	padding: 1.25rem 0 1.25rem 1.5rem;
}
.aj-hero-guide ol { display: grid; gap: 1.1rem; list-style: none; margin: 0; padding: 0; }
.aj-hero-guide li { display: grid; gap: .05rem; }
.aj-hero-guide strong { font-size: 1rem; }
.aj-hero-guide span { color: var(--aj-muted); font-size: .88rem; }
.aj-section { padding-block: clamp(3.75rem, 8vw, 7rem); }
.aj-section--muted { background: var(--aj-surface); }
.aj-section--ink { background: var(--aj-ink); color: var(--aj-white); }
.aj-section--ink .aj-overline,
.aj-section--ink .aj-text-link { color: #7ed1bb; }
.aj-section--ink .aj-section-heading > p { color: #c8d1df; }
.aj-section--ink .aj-content-card { background: var(--aj-ink-soft); border-color: #3c4b62; }
.aj-section--ink .aj-content-card h3 a,
.aj-section--ink .aj-content-card .aj-text-link { color: var(--aj-white); }
.aj-section--ink .aj-content-card p { color: #c8d1df; }
.aj-section--service { background: var(--aj-brand-pale); }
.aj-section-heading {
	align-items: end;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 2rem;
}
.aj-section-heading h2,
.aj-split h2,
.aj-trust h2,
.aj-service-callout h2,
.aj-archive-main > h2 {
	font-size: clamp(1.85rem, 4vw, 3.25rem);
	letter-spacing: -.03em;
	line-height: 1.2;
	margin: 0;
	text-wrap: balance;
}
.aj-section-heading > p,
.aj-section-copy { color: var(--aj-muted); margin: 0; max-width: 560px; }
.aj-topic-grid { display: grid; gap: 0 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-topic-link {
	align-items: center;
	border-top: 1px solid var(--aj-line-dark);
	color: var(--aj-ink);
	display: grid;
	gap: .25rem 1rem;
	grid-template-columns: 1fr auto;
	padding-block: 1.25rem;
	text-decoration: none;
}
.aj-topic-link strong { font-size: 1.08rem; }
.aj-topic-link span { color: var(--aj-muted); font-size: .86rem; grid-column: 1; }
.aj-topic-link i { grid-column: 2; grid-row: 1 / span 2; }
.aj-topic-link:hover strong { color: var(--aj-brand); }
.aj-card-grid { display: grid; gap: 1.25rem; }
.aj-card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aj-content-card {
	background: var(--aj-white);
	border-top: 3px solid var(--aj-brand);
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.aj-content-card__media { aspect-ratio: 3 / 2; display: block; overflow: hidden; }
.aj-content-card__media img { height: 100%; object-fit: cover; transition: transform .2s ease; width: 100%; }
.aj-content-card__media:hover img { transform: scale(1.02); }
.aj-content-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem 0 .25rem; }
.aj-content-card h3 { font-size: 1.2rem; line-height: 1.4; margin: .4rem 0 .65rem; }
.aj-content-card h3 a { color: var(--aj-ink); text-decoration: none; }
.aj-content-card p { color: var(--aj-muted); font-size: .9rem; margin: 0; }
.aj-card-meta { color: var(--aj-brand); display: flex; flex-wrap: wrap; font-size: .7rem; font-weight: 800; gap: .6rem; letter-spacing: .035em; text-transform: uppercase; }
.aj-card-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; margin-top: auto; padding-top: 1rem; }
.aj-copy-button {
	background: var(--aj-brand);
	border: 1px solid var(--aj-brand);
	border-radius: var(--aj-radius-sm);
	color: var(--aj-white);
	font-weight: 750;
	min-height: 44px;
	padding: .55rem .9rem;
}
.aj-copy-button--small { background: transparent; color: var(--aj-brand-dark); font-size: .78rem; }
.aj-split { align-items: start; display: grid; gap: 4rem; grid-template-columns: .8fr 1.2fr; }
.aj-level-list { border-top: 1px solid var(--aj-line-dark); }
.aj-level-list a { align-items: center; border-bottom: 1px solid var(--aj-line); color: var(--aj-ink); display: grid; gap: .75rem; grid-template-columns: minmax(120px, .35fr) 1fr; padding: 1.1rem .25rem; text-decoration: none; }
.aj-level-list span { color: var(--aj-muted); }
.aj-trust { align-items: start; display: grid; gap: 4rem; grid-template-columns: 1.2fr .8fr; }
.aj-trust-facts { border-top: 1px solid var(--aj-line-dark); }
.aj-trust-facts div { border-bottom: 1px solid var(--aj-line); display: grid; gap: .15rem; padding: 1rem 0; }
.aj-trust-facts span { color: var(--aj-muted); font-size: .9rem; }
.aj-soft-panel { background: var(--aj-surface); padding: 2rem; }
.aj-service-callout { align-items: center; display: flex; gap: 3rem; justify-content: space-between; }
.aj-service-callout > div:first-child { max-width: 760px; }
.aj-compact-list { border-top: 1px solid var(--aj-line-dark); }
.aj-compact-list article { align-items: center; border-bottom: 1px solid var(--aj-line); display: grid; gap: 1rem; grid-template-columns: 130px 1fr auto; padding: 1.25rem 0; }
.aj-compact-list time { color: var(--aj-muted); font-size: .8rem; }
.aj-compact-list h3 { font-size: 1.05rem; margin: 0; }
.aj-compact-list h3 a { color: var(--aj-ink); text-decoration: none; }

/* Archives */
.aj-archive-hero,
.aj-single-hero,
.aj-pack-hero {
	background: var(--aj-surface);
	border-bottom: 1px solid var(--aj-line);
	padding-block: clamp(3rem, 7vw, 6.5rem);
}
.aj-archive-hero h1,
.aj-single-hero h1,
.aj-pack-hero h1 { font-size: clamp(2.2rem, 5.3vw, 4.8rem); max-width: 980px; }
.aj-breadcrumbs { margin-bottom: 1.5rem; }
.aj-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: 0; padding: 0; }
.aj-breadcrumbs li { color: var(--aj-muted); font-size: .75rem; }
.aj-breadcrumbs li + li::before { content: "/"; margin-right: .35rem; }
.aj-breadcrumbs a { color: var(--aj-muted); }
.aj-archive-main { padding-block: clamp(2.5rem, 6vw, 5rem); }
.aj-archive-layout { display: grid; gap: 3rem; grid-template-columns: 260px minmax(0, 1fr); padding-block: clamp(2.5rem, 6vw, 5rem); }
.aj-filter-panel { align-self: start; position: sticky; top: calc(var(--aj-header-height) + 1rem); }
.aj-filter-panel form { background: var(--aj-surface); padding: 1.25rem; }
.aj-filter-panel h2 { font-size: 1.2rem; margin: 0 0 1rem; }
.aj-filter-panel label,
.aj-contact-form label { display: block; font-size: .82rem; font-weight: 750; margin: .8rem 0 .3rem; }
input,
select,
textarea {
	background: var(--aj-white);
	border: 1px solid var(--aj-line-dark);
	border-radius: var(--aj-radius-sm);
	color: var(--aj-ink);
	min-height: 46px;
	padding: .65rem .75rem;
	width: 100%;
}
textarea { resize: vertical; }
input:focus,
select:focus,
textarea:focus { border-color: var(--aj-brand); }
.aj-filter-panel details { margin: .75rem 0 1rem; }
.aj-filter-panel summary { font-weight: 750; padding-block: .5rem; }
.aj-filter-panel .aj-button { width: 100%; }
.aj-filter-heading { align-items: center; display: flex; justify-content: space-between; }
.aj-filter-close { align-items: center; background: transparent; border: 1px solid var(--aj-line); border-radius: 50%; display: none; font-size: 1.4rem; height: 44px; justify-content: center; width: 44px; }
.aj-filter-mobile-tools { align-items: center; display: none; justify-content: space-between; padding-block: 1rem; }
.aj-filter-mobile-tools p { color: var(--aj-muted); margin: 0; }
.aj-active-filters { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0 0 1.25rem; padding: 0; }
.aj-active-filters li { background: var(--aj-surface); border: 1px solid var(--aj-line); border-radius: 999px; font-size: .82rem; padding: .35rem .7rem; }
.aj-filter-loading { font-weight: 700; margin-bottom: 0; }
.aj-reset-link { display: block; font-size: .82rem; margin-top: .75rem; text-align: center; }
.aj-results-heading { align-items: baseline; display: flex; justify-content: space-between; margin-bottom: 1.5rem; }
.aj-results-heading h2 { font-size: 1.6rem; margin: 0; }
.aj-results-heading p { color: var(--aj-muted); margin: 0; }
.aj-showcase-row + .aj-showcase-row { margin-top: 3rem; }
.aj-showcase-row > h3 { font-size: 1.25rem; margin: 0 0 1rem; }
.aj-inline-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2.5rem; }
.aj-inline-nav a { background: var(--aj-surface); border-radius: 999px; color: var(--aj-ink); font-size: .83rem; padding: .45rem .8rem; text-decoration: none; }
.nav-links { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: 3rem; }
.page-numbers { align-items: center; border: 1px solid var(--aj-line); border-radius: 8px; display: inline-flex; justify-content: center; min-height: 44px; min-width: 44px; padding: .4rem; text-decoration: none; }
.page-numbers.current { background: var(--aj-ink); color: var(--aj-white); }
.aj-empty-state { grid-column: 1 / -1; max-width: 720px; padding: 2rem 0; }
.aj-empty-state h2,
.aj-empty-state h3 { margin-top: 0; }
.aj-empty-state--dark p { color: #c8d1df; }

/* Single content, prompt and packs */
.aj-meta-row { align-items: center; color: var(--aj-muted); display: flex; flex-wrap: wrap; font-size: .82rem; gap: .65rem 1rem; margin-top: 1.25rem; }
.aj-meta-row .aj-chips { margin: 0; }
.aj-single-body,
.aj-prose { padding-block: clamp(2.5rem, 6vw, 5rem); }
.aj-single-body > section,
.aj-prose > * { margin-block: 0 1.4rem; }
.aj-single-body section + section { margin-top: 3rem; }
.aj-single-body h2,
.aj-prose h2 { font-size: clamp(1.45rem, 3vw, 2.2rem); line-height: 1.3; margin: 0 0 .8rem; text-wrap: balance; }
.aj-prose h3 { font-size: 1.35rem; margin-top: 2rem; }
.aj-prose p,
.aj-single-body p { max-width: var(--aj-reading); }
.aj-prose blockquote { border-left: 4px solid var(--aj-brand); margin-inline: 0; padding-left: 1.25rem; }
.aj-prose img { border-radius: var(--aj-radius-sm); }
.aj-prose table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; }
.aj-prose th,
.aj-prose td { border: 1px solid var(--aj-line); min-width: 140px; padding: .65rem; text-align: left; }
.aj-prompt-box {
	background: #111927;
	border-radius: var(--aj-radius);
	color: #edf3f0;
	overflow: hidden;
}
.aj-prompt-box__header { align-items: center; border-bottom: 1px solid #344256; display: flex; justify-content: space-between; padding: .9rem 1rem; }
.aj-prompt-box__header h2 { color: var(--aj-white); font-size: .95rem; margin: 0; }
.aj-prompt-box .aj-copy-button { background: #dff1ea; border-color: #dff1ea; color: var(--aj-brand-dark); }
.aj-prompt-box pre {
	font-family: inherit;
	font-size: .96rem;
	line-height: 1.75;
	margin: 0;
	overflow: visible;
	padding: 1.25rem;
	white-space: pre-wrap;
	word-break: normal;
}
.aj-prompt-box code { font-family: inherit; }
.aj-card-prompt-preview {
	margin: .85rem 0;
	padding: .85rem 1rem;
	max-height: 10.5rem;
	overflow: auto;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	border-inline-start: 3px solid var(--aj-accent);
	background: var(--aj-surface-soft);
	color: var(--aj-text);
	font: inherit;
	font-size: .94rem;
	line-height: 1.65;
}
.aj-prompt-variable { background: #ffe2a8; border-radius: 4px; color: #352407; padding-inline: .12rem; }
.aj-variable-list { display: grid; gap: .75rem; margin: 0; }
.aj-variable-list > div { border-bottom: 1px solid var(--aj-line); display: grid; gap: .5rem; grid-template-columns: minmax(130px, .3fr) 1fr; padding-bottom: .75rem; }
.aj-variable-list dt { font-weight: 800; }
.aj-variable-list dd { color: var(--aj-muted); margin: 0; }
.aj-privacy-note,
.aj-form-privacy { color: var(--aj-muted); font-size: .8rem; }
.aj-example-box { background: var(--aj-surface); border-left: 4px solid var(--aj-brand); padding: 1.25rem; white-space: pre-wrap; }
.aj-limitations,
.aj-source-note { background: #fff6e8; border-left: 4px solid var(--aj-accent); padding: 1.25rem; }
.aj-pack-hero__grid { align-items: start; display: grid; gap: 4rem; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); }
.aj-purchase-panel { background: var(--aj-white); border-top: 4px solid var(--aj-brand); box-shadow: var(--aj-shadow); padding: 1.5rem; }
.aj-purchase-panel .aj-button { width: 100%; }
.aj-price { color: var(--aj-ink) !important; font-size: 2rem; font-weight: 850; margin: 0; }
.aj-notice { background: var(--aj-surface); font-size: .86rem; padding: .75rem; }
.aj-check-list { list-style: none; padding: 0; }
.aj-check-list li { border-bottom: 1px solid var(--aj-line); padding: .6rem 0 .6rem 1.5rem; position: relative; }
.aj-check-list li::before { color: var(--aj-brand); content: "✓"; font-weight: 850; left: 0; position: absolute; }
.aj-faq-list { border-top: 1px solid var(--aj-line-dark); }
.aj-faq-list details { border-bottom: 1px solid var(--aj-line); padding: 1rem 0; }
.aj-faq-list summary { font-weight: 750; }
.aj-faq-list p { color: var(--aj-muted); }
.aj-inline-cta { background: var(--aj-surface); padding: clamp(1.5rem, 4vw, 2.5rem); }

/* Services, about, contact, platform */
.aj-service-grid { display: grid; gap: 2.5rem 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-service-grid article { border-top: 3px solid var(--aj-brand); padding-top: 1.25rem; }
.aj-service-grid h2 { font-size: 1.55rem; line-height: 1.35; margin: .4rem 0; }
.aj-service-grid h2 a { color: var(--aj-ink); text-decoration: none; }
.aj-expertise-list { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-expertise-list article { background: var(--aj-surface); padding: 1.25rem; }
.aj-expertise-list h3 { margin-top: 0; }
.aj-contact-layout { display: grid; gap: clamp(2.5rem, 6vw, 5rem); grid-template-columns: .85fr 1.15fr; padding-block: clamp(2.5rem, 6vw, 5rem); }
.aj-contact-layout h2 { font-size: 1.65rem; margin-top: 0; }
.aj-contact-types { border-top: 1px solid var(--aj-line-dark); }
.aj-contact-types a { border-bottom: 1px solid var(--aj-line); color: var(--aj-ink); display: grid; gap: .1rem; padding: .9rem 0; text-decoration: none; }
.aj-contact-types span { color: var(--aj-muted); font-size: .82rem; }
.aj-contact-form-section { background: var(--aj-surface); padding: clamp(1.25rem, 4vw, 2rem); }
.aj-contact-form small { color: var(--aj-muted); display: block; font-size: .75rem; }
.aj-contact-form .aj-button { margin-top: 1.25rem; }
.aj-contact-form label span { color: var(--aj-muted); font-weight: 450; }
.aj-error-summary { border: 2px solid var(--aj-danger); margin-bottom: 1.5rem; padding: 1rem 1.25rem; }
.aj-error-summary h2 { font-size: 1.15rem; margin: 0 0 .5rem; }
.aj-error-summary ul { margin-bottom: 0; }
.aj-field-error { color: var(--aj-danger); font-weight: 700; }
[aria-invalid="true"] { border-color: var(--aj-danger); box-shadow: 0 0 0 1px var(--aj-danger); }
.aj-honeypot { left: -9999px; position: absolute; }
.aj-form-status { border-left: 4px solid var(--aj-danger); margin-bottom: 1rem; padding: .75rem; }
.aj-form-status.is-success { border-color: var(--aj-success); }
.aj-platform-directory { padding-block: clamp(2.5rem, 6vw, 5rem); }
.aj-platform-directory section + section { margin-top: 3.5rem; }
.aj-platform-directory h2 { font-size: 1.65rem; }
.aj-platform-links { display: grid; gap: 0 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-platform-links a { align-items: center; border-top: 1px solid var(--aj-line); color: var(--aj-ink); display: grid; gap: .1rem 1rem; grid-template-columns: 1fr auto; padding: 1rem 0; text-decoration: none; }
.aj-platform-links span { color: var(--aj-muted); font-size: .8rem; }
.aj-platform-links i { grid-column: 2; grid-row: 1 / span 2; }
.aj-taxonomy-group + .aj-taxonomy-group { margin-top: 3.5rem; }
.aj-taxonomy-group > h2 { margin-bottom: 1.25rem; }

.aj-toc { background: var(--aj-surface); border-inline-start: 4px solid var(--aj-accent); margin-bottom: 2.5rem; padding: 1.25rem 1.5rem; }
.aj-toc h2 { font-size: 1.15rem; margin-top: 0; }
.aj-toc ol { margin-bottom: 0; padding-inline-start: 1.25rem; }
.aj-toc .is-level-3 { margin-inline-start: 1rem; }

/* Generic and footer */
.aj-content { max-width: var(--aj-reading); padding-block: 4rem; }
.aj-post-list { display: grid; gap: 1.5rem; }
.aj-post-item { border-bottom: 1px solid var(--aj-line); padding-bottom: 1.25rem; }
.aj-site-footer { background: #101827; color: #dbe2ec; padding-block: 4rem 2rem; }
.aj-site-footer a { color: var(--aj-white); }
.aj-footer-grid { display: grid; gap: 3rem; grid-template-columns: 1.4fr .8fr .8fr; }
.aj-footer-intro { max-width: 520px; }
.aj-brand--footer { color: var(--aj-white) !important; }
.aj-footer-grid nav strong { color: var(--aj-white); }
.aj-footer-grid ul { list-style: none; margin: .75rem 0 0; padding: 0; }
.aj-footer-grid li + li { margin-top: .45rem; }
.aj-footer-grid a { font-size: .88rem; }
.aj-footer-bottom { align-items: center; border-top: 1px solid #344054; color: #aeb8c7; display: flex; justify-content: space-between; margin-top: 3rem; padding-top: 1.25rem; }
.aj-footer-bottom a { font-size: .8rem; }

@media (max-width: 1180px) {
	.aj-desktop-nav { display: none; }
	.aj-menu-button { display: inline-flex; }
	.aj-header-tools { margin-left: auto; }
}

@media (max-width: 1023px) {
	body.admin-bar .aj-site-header { top: 32px; }
	.aj-home-hero__grid,
	.aj-pack-hero__grid,
	.aj-trust,
	.aj-split,
	.aj-contact-layout { gap: 2.5rem; grid-template-columns: 1fr; }
	.aj-card-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aj-archive-layout { gap: 2rem; grid-template-columns: 220px minmax(0, 1fr); }
	.aj-service-callout { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 767px) {
	body.admin-bar .aj-site-header { top: 46px; }
	:root { --aj-header-height: 64px; }
	body { font-size: 1rem; line-height: 1.7; }
	.aj-header-row { min-height: var(--aj-header-height); }
	.aj-header-cta { display: none; }
	.aj-menu-button { padding-inline: .55rem; }
	.aj-home-hero h1,
	.aj-archive-hero h1,
	.aj-single-hero h1,
	.aj-pack-hero h1 { font-size: clamp(2.15rem, 11vw, 3.35rem); }
	.aj-home-hero { padding-block: 3.5rem 4.25rem; }
	.aj-hero-guide { border-left: 0; border-top: 2px solid var(--aj-brand); padding: 1.25rem 0 0; }
	.aj-section { padding-block: 3.75rem; }
	.aj-section-heading { align-items: flex-start; flex-direction: column; gap: .75rem; }
	.aj-topic-grid,
	.aj-card-grid--2,
	.aj-card-grid--3,
	.aj-service-grid,
	.aj-expertise-list,
	.aj-platform-links,
	.aj-footer-grid { grid-template-columns: 1fr; }
	.aj-content-card__body { padding-top: 1rem; }
	.aj-archive-layout { display: block; }
	.aj-filter-panel { margin-bottom: 2rem; position: static; }
	.aj-filter-panel details:not([open]) { margin-bottom: .75rem; }
	.aj-filter-mobile-tools { display: flex; }
	.aj-js .aj-filter-panel {
		background: rgba(17, 25, 39, .42);
		inset: 0;
		margin: 0;
		opacity: 0;
		padding: 0 0 0 12vw;
		pointer-events: none;
		position: fixed;
		transition: opacity var(--aj-transition);
		z-index: var(--aj-z-overlay);
	}
	.aj-js .aj-filter-panel form { height: 100%; margin-left: auto; max-width: 420px; overflow-y: auto; padding: 1.25rem; transform: translateX(100%); transition: transform var(--aj-transition); }
	.aj-js .aj-filter-panel.is-open { opacity: 1; pointer-events: auto; }
	.aj-js .aj-filter-panel.is-open form { transform: translateX(0); }
	.aj-filter-close { display: inline-flex; }
	.aj-filter-open { overflow: hidden; }
	.aj-variable-list > div { grid-template-columns: 1fr; }
	.aj-compact-list article { align-items: start; grid-template-columns: 1fr auto; }
	.aj-compact-list time { grid-column: 1 / -1; }
	.aj-footer-bottom { align-items: flex-start; flex-direction: column; gap: .75rem; }
}

@media (max-width: 480px) {
	.aj-container { padding-inline: 1rem; }
	.aj-brand { font-size: 1.04rem; }
	.aj-header-tools { gap: .15rem; }
	.aj-menu-button span:last-child { display: none; }
	.aj-actions { align-items: stretch; flex-direction: column; }
	.aj-actions .aj-button { width: 100%; }
	.aj-search-form > div { align-items: stretch; flex-direction: column; }
	.aj-level-list a { grid-template-columns: 1fr; }
	.aj-card-actions { align-items: flex-start; flex-direction: column; }
	.aj-copy-button--small { width: 100%; }
	.aj-prompt-box__header { align-items: flex-start; flex-direction: column; gap: .75rem; }
	.aj-prompt-box .aj-copy-button { width: 100%; }
}

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

@media (forced-colors: active) {
	.aj-button,
	.aj-copy-button,
	.aj-content-card { border: 1px solid ButtonText; }
}
