/* Pilotbooker Jobs v3 — shared premium detail system. */

:root {
	--cj-focus: 0 0 0 3px rgba(45, 111, 163, 0.16);
	--cj-card-shadow: 0 12px 34px rgba(11, 30, 51, 0.08);
	--cj-card-shadow-hover: 0 18px 42px rgba(11, 30, 51, 0.13);
	--cj-radius-sm: 8px;
	--cj-radius: 12px;
	--cj-radius-lg: 16px;
}

.cj-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	vertical-align: middle;
}

html.cj-drawer-open { overflow: hidden; }

.cj-brand-bug .cj-icon {
	width: 21px;
	height: 21px;
}

.cj-btn .cj-icon,
.cj-card-link .cj-icon {
	width: 16px;
	height: 16px;
}

.cj-home :is(button, a, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--cj-sky);
	outline-offset: 3px;
}

.cj-home :is(button, input, select, textarea):disabled {
	cursor: not-allowed;
	opacity: 0.62;
}

.cj-home .cj-btn {
	min-height: 42px;
	transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}

.cj-home .cj-btn:not(:disabled):hover {
	transform: translateY(-1px);
}

.cj-inner-hero,
.cj-article-hero,
.cj-legal-hero {
	position: relative;
	overflow: hidden;
	padding: 64px 0 54px;
	background:
		radial-gradient(circle at 14% -20%, rgba(242, 169, 59, 0.2), transparent 38%),
		radial-gradient(circle at 92% 10%, rgba(45, 111, 163, 0.28), transparent 42%),
		linear-gradient(145deg, var(--cj-navy), var(--cj-navy-2));
	color: #fff;
}

.cj-inner-hero::after,
.cj-article-hero::after,
.cj-legal-hero::after {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 44px 44px;
	content: "";
	pointer-events: none;
}

.cj-inner-hero .cj-wrap,
.cj-article-hero .cj-wrap,
.cj-legal-hero .cj-wrap {
	position: relative;
	z-index: 1;
}

.cj-inner-hero h1,
.cj-article-hero h1,
.cj-legal-hero h1 {
	max-width: 830px;
	margin: 8px 0 14px;
	color: #fff;
	font-size: clamp(33px, 4vw, 49px);
	font-weight: 700;
	letter-spacing: -0.025em;
}

.cj-inner-hero h1 em,
.cj-commerce-hero h1 em {
	color: #f7be63;
	font-style: normal;
}

.cj-inner-hero p,
.cj-article-hero p,
.cj-legal-hero p {
	max-width: 690px;
	color: #d3dfeb;
	font-size: 17px;
	line-height: 1.65;
}

.cj-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--cj-sky);
	font-family: "JetBrains Mono", monospace;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.cj-inner-hero .cj-kicker,
.cj-article-hero .cj-kicker,
.cj-legal-hero .cj-kicker {
	color: var(--cj-amber);
}

.cj-kicker::before {
	display: inline-block;
	width: 20px;
	height: 2px;
	background: currentColor;
	content: "";
}

.cj-section-white { background: #fff; }
.cj-spaced { margin-top: 26px !important; }

.cj-story-grid,
.cj-contact-grid,
.cj-reading-layout,
.cj-article-layout,
.cj-company-settings-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 34px;
	align-items: start;
}

.cj-story-grid {
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	align-items: center;
}

.cj-story-grid h2,
.cj-section-head h2 {
	margin: 8px 0 12px;
	font-size: clamp(25px, 3vw, 36px);
	letter-spacing: -0.018em;
}

.cj-story-grid p,
.cj-premium-card p,
.cj-resource-card p,
.cj-page-card p {
	color: #5c6b7a;
	line-height: 1.7;
}

.cj-signal-panel {
	padding: 8px;
	border: 1px solid var(--cj-cloud-dim);
	border-radius: var(--cj-radius-lg);
	background: #fff;
	box-shadow: var(--cj-card-shadow);
}

.cj-signal-panel > div {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 2px 14px;
	padding: 18px;
	border-bottom: 1px solid var(--cj-cloud-dim);
}

.cj-signal-panel > div:last-child { border-bottom: 0; }
.cj-signal-panel .cj-icon { grid-row: 1 / 3; width: 30px; height: 30px; color: var(--cj-sky); }
.cj-signal-panel strong { font-family: "Space Grotesk", sans-serif; }
.cj-signal-panel span { color: #71818f; font-size: 13px; }

.cj-feature-grid,
.cj-resource-grid,
.cj-admin-grid,
.cj-empty-reference-grid,
.cj-credential-grid,
.cj-settings-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.cj-feature-grid-2,
.cj-credential-grid,
.cj-settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.cj-premium-card,
.cj-resource-card,
.cj-admin-action {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 24px;
	border: 1px solid var(--cj-cloud-dim);
	border-radius: var(--cj-radius);
	background: #fff;
	box-shadow: 0 5px 18px rgba(11, 30, 51, 0.04);
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.cj-premium-card:hover,
.cj-resource-card:hover,
.cj-admin-action:hover {
	border-color: #afc6d8;
	box-shadow: var(--cj-card-shadow-hover);
	transform: translateY(-2px);
}

.cj-premium-card h3,
.cj-resource-card h3 {
	margin: 15px 0 7px;
	font-size: 18px;
}

.cj-card-icon,
.cj-empty-icon,
.cj-payment-icon {
	display: inline-flex;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	background: linear-gradient(145deg, #eaf2f7, #f8fbfd);
	color: var(--cj-sky);
	box-shadow: inset 0 0 0 1px rgba(45,111,163,.1);
}

.cj-card-icon .cj-icon,
.cj-empty-icon .cj-icon,
.cj-payment-icon .cj-icon { width: 24px; height: 24px; }
.cj-card-icon.is-danger { background: #fff1f0; color: var(--cj-danger); }

.cj-cta-band {
	padding: 36px 0;
	background: var(--cj-navy);
	color: #fff;
}

.cj-cta-band .cj-wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cj-cta-band h2 { color: #fff; font-size: 25px; }
.cj-cta-band p { margin-top: 5px; color: #aebfd0; }

.cj-contact-grid { grid-template-columns: minmax(0, 1fr) 410px; }
.cj-contact-form { box-shadow: var(--cj-card-shadow); }
.cj-contact-form h2 { margin-bottom: 17px; font-size: 21px; }
.cj-inline-empty { padding: 18px; border: 1px dashed var(--cj-cloud-dim); border-radius: 10px; background: var(--cj-cloud); }
.cj-response-note { display: flex; gap: 12px; margin-top: 18px; padding: 14px; border-radius: 10px; background: #effaf7; color: #285e52; font-size: 13px; }
.cj-response-note span, .cj-response-note b { display: block; }
.cj-response-note .cj-icon { color: var(--cj-teal); }

.cj-safety-list h2 { margin-bottom: 18px; }
.cj-safety-list ul { margin: 0; padding: 0; list-style: none; }
.cj-safety-list li { position: relative; margin: 0; padding: 12px 0 12px 30px; border-bottom: 1px solid var(--cj-cloud-dim); color: #445463; }
.cj-safety-list li:last-child { border-bottom: 0; }
.cj-safety-list li::before { position: absolute; top: 14px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff0ef; color: var(--cj-danger); content: "!"; font: 700 12px/18px "JetBrains Mono", monospace; text-align: center; }
.cj-sticky-card { position: sticky; top: 80px; }
.cj-sticky-card .cj-card-icon { margin-bottom: 16px; }
.cj-sticky-card h2 { margin-bottom: 9px; font-size: 20px; }
.cj-sticky-card .cj-btn { margin-top: 18px; }

.cj-faq-wrap { max-width: 880px; }
.cj-faq-item { overflow: hidden; margin-bottom: 12px; border: 1px solid var(--cj-cloud-dim); border-radius: var(--cj-radius); background: #fff; box-shadow: 0 5px 16px rgba(11,30,51,.04); }
.cj-faq-item summary { display: flex; min-height: 70px; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 20px; cursor: pointer; font-weight: 700; list-style: none; }
.cj-faq-item summary::-webkit-details-marker { display: none; }
.cj-faq-item summary small { display: block; margin-bottom: 3px; color: var(--cj-sky); font: 600 10px/1.2 "JetBrains Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.cj-faq-item summary .cj-icon { color: var(--cj-sky); transition: transform .18s ease; }
.cj-faq-item[open] { border-color: #b7cad9; }
.cj-faq-item[open] summary { background: #f8fbfd; }
.cj-faq-item[open] summary .cj-icon { transform: rotate(45deg); }
.cj-faq-item > div { padding: 0 20px 20px; color: #536270; }
.cj-faq-help { margin-top: 24px; text-align: center; }
.cj-faq-help .cj-btn { margin-top: 14px; }

.cj-topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.cj-topic-grid span { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 12px 14px; border: 1px solid var(--cj-cloud-dim); border-radius: 10px; background: #fff; font-size: 13px; font-weight: 600; }
.cj-topic-grid .cj-icon { color: var(--cj-sky); }
.cj-resource-card { min-height: 225px; }
.cj-resource-card .cj-kicker { font-size: 10px; }
.cj-resource-card .cj-card-link { margin-top: auto; padding-top: 18px; }
.cj-card-link { display: inline-flex; align-items: center; gap: 7px; color: var(--cj-sky) !important; font-size: 13px; font-weight: 700; }
.cj-live-job-card .cj-card-icon { margin-bottom: 14px; }
.cj-live-job-card h3 { margin-top: 8px; }

.cj-article-hero { padding-top: 72px; padding-bottom: 58px; }
.cj-article-hero h1 { max-width: 900px; }
.cj-article-meta { font-family: "JetBrains Mono", monospace; font-size: 12px !important; }
.cj-article-layout { grid-template-columns: minmax(0, 760px) 300px; justify-content: center; }
.cj-article-body { padding: 36px 40px; border: 1px solid var(--cj-cloud-dim); border-radius: var(--cj-radius); background: #fff; box-shadow: var(--cj-card-shadow); }
.cj-article-body > *:first-child { margin-top: 0; }
.cj-article-body h2 { margin: 32px 0 12px; font-size: 25px; }
.cj-article-body h3 { margin: 25px 0 10px; font-size: 19px; }
.cj-article-body p, .cj-article-body li { color: #374553; font-size: 16px; line-height: 1.85; }
.cj-article-body ul, .cj-article-body ol { margin: 15px 0 22px 24px; }
.cj-mini-link { display: block; padding: 12px 0; border-bottom: 1px solid var(--cj-cloud-dim); }
.cj-mini-link b, .cj-mini-link span { display: block; }
.cj-mini-link span { margin-top: 4px; color: var(--cj-sky); font-size: 12px; }

.cj-landing-search { display: flex; max-width: 720px; gap: 10px; margin-top: 25px; padding: 8px; border-radius: var(--cj-radius); background: #fff; box-shadow: 0 18px 42px rgba(4,14,26,.3); }
.cj-landing-search label { min-width: 0; flex: 1; padding: 5px 10px; }
.cj-landing-search label span { display: block; color: #728291; font: 600 10px "JetBrains Mono", monospace; letter-spacing: .07em; text-transform: uppercase; }
.cj-landing-search input { width: 100%; min-height: 32px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--cj-navy); }

.cj-legal-hero { padding: 50px 0 42px; }
.cj-legal-layout { display: grid; grid-template-columns: 250px minmax(0, 780px); gap: 40px; justify-content: center; }
.cj-legal-nav { position: sticky; top: 82px; display: flex; align-self: start; flex-direction: column; gap: 3px; padding: 18px; border: 1px solid var(--cj-cloud-dim); border-radius: 10px; background: #fff; }
.cj-legal-nav b { margin-bottom: 8px; font: 600 11px "JetBrains Mono", monospace; text-transform: uppercase; }
.cj-legal-nav a { padding: 8px; border-radius: 6px; color: #5d6d7a; font-size: 12.5px; }
.cj-legal-nav a:hover { background: var(--cj-cloud); color: var(--cj-sky); }
.cj-legal-body { padding: 35px 40px; border: 1px solid var(--cj-cloud-dim); border-radius: var(--cj-radius); background: #fff; }
.cj-legal-body section { margin-bottom: 32px; scroll-margin-top: 80px; }
.cj-legal-body h2 { margin-bottom: 10px; font-size: 21px; }
.cj-legal-body p { color: #43515e; line-height: 1.8; }
.cj-legal-note { padding: 17px; border-left: 4px solid var(--cj-amber); border-radius: 7px; background: #fff8ec; }
.cj-legal-note p { margin-top: 4px; font-size: 13px; }

.cj-premium-empty { display: flex; min-height: 250px; align-items: center; justify-content: center; flex-direction: column; padding: 38px 26px; border: 1px dashed #c7d3dd; border-radius: var(--cj-radius); background: linear-gradient(180deg, #fff, #fbfcfd); text-align: center; }
.cj-premium-empty h2 { margin: 15px 0 7px; font-size: 19px; }
.cj-premium-empty p { max-width: 570px; margin: 0 auto; color: #637381; font-size: 14px; line-height: 1.7; }
.cj-premium-empty .cj-btn { margin-top: 17px; }

/* Premium native controls used by theme and secure plugin templates. */
.cj-home :is(input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="url"], input[type="date"], input[type="search"], select, textarea) {
	border: 1px solid #cfd9e1;
	border-radius: var(--cj-radius-sm);
	background-color: #fff;
	box-shadow: inset 0 1px 2px rgba(11,30,51,.025);
	color: var(--cj-navy);
	font-family: "Inter", sans-serif;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.cj-home :is(input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="url"], input[type="date"], input[type="search"], select) { min-height: 44px; }
.cj-home :is(input, select, textarea)::placeholder { color: #98a6b2; }
.cj-home :is(input, select, textarea):hover:not(:disabled) { border-color: #afbeca; }
.cj-home :is(input, select, textarea):focus { border-color: var(--cj-sky); outline: 0; box-shadow: var(--cj-focus); }
.cj-home :is(input, select, textarea):disabled { background-color: #f1f4f6; color: #7f8d98; }

.cj-home select {
	appearance: none;
	padding-right: 42px !important;
	background-image: linear-gradient(45deg, transparent 50%, #506476 50%), linear-gradient(135deg, #506476 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
}

.cj-home input[type="checkbox"],
.cj-home input[type="radio"] {
	appearance: none;
	width: 19px !important;
	height: 19px !important;
	min-height: 19px !important;
	margin: 0;
	flex: 0 0 19px;
	border: 1.5px solid #aab9c5;
	background: #fff;
	cursor: pointer;
	vertical-align: middle;
}

.cj-home input[type="checkbox"] { border-radius: 5px; }
.cj-home input[type="radio"] { border-radius: 50%; }
.cj-home input[type="checkbox"]:checked { border-color: var(--cj-sky); background: var(--cj-sky); box-shadow: inset 0 0 0 4px var(--cj-sky); }
.cj-home input[type="checkbox"]:checked::after { display: block; width: 9px; height: 5px; margin: 4px 0 0 4px; border-bottom: 2px solid #fff; border-left: 2px solid #fff; content: ""; transform: rotate(-45deg); }
.cj-home input[type="radio"]:checked { border-color: var(--cj-sky); box-shadow: inset 0 0 0 4px #fff; background: var(--cj-sky); }
.cj-home input[type="checkbox"]:focus-visible, .cj-home input[type="radio"]:focus-visible { outline: 0; box-shadow: var(--cj-focus); }

.cj-home input[type="file"] {
	min-height: 48px;
	padding: 6px;
	border: 1px dashed #bccbd6;
	border-radius: 9px;
	background: #f9fbfc;
	color: #5d6e7c;
	font: 13px "Inter", sans-serif;
}

.cj-home input[type="file"]::file-selector-button {
	min-height: 34px;
	margin-right: 12px;
	padding: 7px 13px;
	border: 1px solid #cad5dd;
	border-radius: 7px;
	background: #fff;
	color: var(--cj-navy);
	font-weight: 700;
	cursor: pointer;
}

.cj-home input[type="file"]::file-selector-button:hover { border-color: var(--cj-sky); color: var(--cj-sky); }

/* Portal shell and plugin refinements. */
.cj-portal-sidebar {
	position: sticky;
	top: 56px;
	height: calc(100vh - 56px);
	align-self: flex-start;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #33495f transparent;
}

.admin-bar .cj-portal-sidebar { top: 88px; height: calc(100vh - 88px); }
.cj-portal-sidebar a .cj-icon { width: 18px; height: 18px; }
.cj-portal-drawer .cj-icon { width: 23px; height: 23px; }
.cj-portal-user > a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 8px; }
.cj-portal-user > a:hover { background: rgba(255,255,255,.08); color: #fff; }
.cj-portal-main { margin-right: auto; }
.cj-portal-card { box-shadow: 0 5px 18px rgba(11,30,51,.035); }
.cj-portal-tabs { scrollbar-width: thin; }
.cj-portal-tabs :is(a, button) { min-height: 44px; cursor: pointer; }
.cj-filter-empty { padding: 32px 20px; color: #758491; text-align: center; }
.cj-message-empty-icon .cj-icon { width: 38px; height: 38px; margin-bottom: 8px; color: #8da0b0; }

.cjs-profile-tabs a { position: relative; }
.cjs-profile-section { border-color: #d5dee5; box-shadow: 0 7px 22px rgba(11,30,51,.04); }
.cjs-profile-section > h2 { margin-bottom: 18px; padding-bottom: 13px; border-bottom: 1px solid var(--cj-cloud-dim); }
.cjs-document-upload-card { border-top: 3px solid var(--cj-sky); }
.cjs-document-row { padding: 15px; border: 1px solid var(--cj-cloud-dim); border-radius: 10px; background: #fff; }
.cjs-save-profile { box-shadow: 0 7px 18px rgba(242,169,59,.2); }
.cjs-notice { box-shadow: 0 4px 14px rgba(11,30,51,.04); }
.cj-switch input { margin-left: auto; }

.cj-credential-grid { margin-top: 12px; }
.cj-credential-grid .cj-portal-card { min-height: 240px; }
.cj-credential-grid h2 { margin: 12px 0 5px; font-size: 22px; }
.cj-secure-pill { display: inline-flex; align-items: center; gap: 7px; align-self: flex-start; margin-top: auto; padding: 7px 10px; border-radius: 20px; background: #eff8f5; color: #26705e; font: 600 11px "JetBrains Mono", monospace; }
.cj-secure-pill .cj-icon { width: 14px; height: 14px; }
.cj-security-callout { display: flex; gap: 15px; margin-top: 20px; border-left: 4px solid var(--cj-teal); }
.cj-security-callout > span .cj-icon { width: 30px; height: 30px; color: var(--cj-teal); }
.cj-security-callout h3 { font-size: 17px; }
.cj-security-callout p { margin-top: 4px; color: #627280; font-size: 13px; }

.cj-definition-list { margin: 18px 0; }
.cj-definition-list div { display: grid; grid-template-columns: 120px 1fr; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--cj-cloud-dim); }
.cj-definition-list dt { color: #738290; font-size: 12px; }
.cj-definition-list dd { margin: 0; font-weight: 600; word-break: break-word; }
.cj-filter-shell { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 12px; margin-bottom: 18px; padding: 18px; border: 1px solid var(--cj-cloud-dim); border-radius: var(--cj-radius); background: #fff; }
.cj-filter-shell label span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; }
.cj-filter-shell .cj-btn { align-self: end; }

.cj-admin-grid { margin-top: 24px; }
.cj-admin-action { align-items: center; flex-direction: row; gap: 14px; color: var(--cj-navy) !important; }
.cj-admin-action > .cj-icon { width: 32px; height: 32px; color: var(--cj-sky); }
.cj-admin-action span, .cj-admin-action b, .cj-admin-action small { display: block; }
.cj-admin-action small { margin-top: 3px; color: #71818f; }
.cj-admin-note { margin-top: 14px; padding: 12px 14px; border-left: 4px solid var(--cj-amber); border-radius: 7px; background: #fff8ec; color: #6e5a32; font-size: 13px; }

/* Commerce */
.cj-commerce-hero { text-align: center; }
.cj-commerce-hero h1, .cj-commerce-hero p { margin-right: auto; margin-left: auto; }
.cj-plan-description { margin-bottom: 22px; }
.cj-checkout-wrap { max-width: 980px; }
.cj-commerce-frame { padding: 25px; border: 1px solid var(--cj-cloud-dim); border-radius: var(--cj-radius); background: #fff; box-shadow: var(--cj-card-shadow); }
.cj-payment-state, .cj-error-page { display: flex; min-height: 660px; align-items: center; justify-content: center; padding: 54px 24px; background: linear-gradient(180deg, #eef3f7, var(--cj-cloud)); }
.cj-payment-card, .cj-error-panel { width: min(100%, 620px); padding: 44px; border: 1px solid var(--cj-cloud-dim); border-radius: var(--cj-radius-lg); background: #fff; box-shadow: 0 24px 54px rgba(11,30,51,.13); text-align: center; }
.cj-payment-card .cj-payment-icon, .cj-error-panel .cj-card-icon { margin-bottom: 17px; }
.cj-payment-card.is-success .cj-payment-icon { background: #e8f7f2; color: var(--cj-teal); }
.cj-payment-card.is-failed .cj-payment-icon { background: #fff0ef; color: var(--cj-danger); }
.cj-payment-card h1, .cj-error-panel h1 { margin: 8px 0 12px; font-size: 31px; }
.cj-payment-card p, .cj-error-panel p { max-width: 500px; margin: 0 auto 22px; color: #61717f; line-height: 1.7; }
.cj-error-code { display: block; color: var(--cj-amber); font: 700 72px/1 "JetBrains Mono", monospace; letter-spacing: -.08em; }
.cj-error-panel .cj-action-row { justify-content: center; }

@media (max-width: 1000px) {
	.cj-feature-grid,
	.cj-resource-grid,
	.cj-admin-grid,
	.cj-empty-reference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cj-topic-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.cj-contact-grid { grid-template-columns: 1fr; }
	.cj-contact-form { max-width: none; }
}

@media (max-width: 900px) {
	.cj-story-grid,
	.cj-reading-layout,
	.cj-article-layout,
	.cj-company-settings-layout,
	.cj-legal-layout { grid-template-columns: 1fr; }
	.cj-sticky-card,
	.cj-legal-nav { position: static; }
	.cj-legal-nav { display: none; }
	.cj-article-body { padding: 30px 26px; }
	.cj-portal-sidebar { position: fixed; top: 56px; height: auto; }
	.admin-bar .cj-portal-sidebar { top: 88px; height: auto; }
	.cj-portal-sidebar:not(.is-open) { visibility: hidden; }
	.cj-filter-shell { grid-template-columns: 1fr 1fr; }
	.cj-filter-shell .cj-btn { grid-column: 1 / -1; }
}

@media (max-width: 782px) {
	.admin-bar .cj-site-header,
	.admin-bar .cj-portal-topbar { top: 46px; }
	.admin-bar .cj-portal-sidebar { top: 102px; }
}

@media (max-width: 600px) {
	.cj-nav-row,
	.cj-portal-toprow { min-height: 52px; padding-top: 7px; padding-bottom: 7px; }
	.cj-inner-hero,
	.cj-article-hero { padding: 48px 0 42px; }
	.cj-inner-hero h1,
	.cj-article-hero h1,
	.cj-legal-hero h1 { font-size: 31px; }
	.cj-inner-hero p,
	.cj-article-hero p { font-size: 15px; }
	.cj-feature-grid,
	.cj-feature-grid-2,
	.cj-resource-grid,
	.cj-admin-grid,
	.cj-empty-reference-grid,
	.cj-credential-grid,
	.cj-settings-grid,
	.cj-topic-grid { grid-template-columns: 1fr; }
	.cj-cta-band .cj-wrap { align-items: flex-start; flex-direction: column; }
	.cj-landing-search { flex-direction: column; }
	.cj-landing-search .cj-btn { width: 100%; }
	.cj-article-body,
	.cj-legal-body,
	.cj-payment-card,
	.cj-error-panel { padding: 26px 20px; }
	.cj-filter-shell { grid-template-columns: 1fr; }
	.cj-filter-shell .cj-btn { grid-column: auto; }
	.cj-definition-list div { grid-template-columns: 1fr; gap: 3px; }
	.cj-portal-sidebar { top: 52px; }
	.admin-bar .cj-portal-sidebar { top: 98px; }
	.cjs-document-actions .cj-btn { width: 100%; }
}

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