/* =========================================================
 * PRESS 365 — Standard Page
 * Version: 1.1.0
 * =========================================================
 *
 * Typography aligned with PRESS 365 Core Design System.
 * Existing layout, TOC and Astra reset preserved.
 * ======================================================= */


/* =========================================================
 * 1. Astra Reset
 * ======================================================= */

body.p365-standard-page-body
#content.site-content {
	width: 100%;
	margin: 0;
	padding: 0;
}


body.p365-standard-page-body
#content.site-content > .ast-container {
	display: block !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}


body.p365-standard-page-body
#primary,
body.p365-standard-page-body
#primary.p365-standard-page-template {
	float: none !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}


body.p365-standard-page-body
.site-main {
	width: 100%;
	max-width: none;

	margin: 0;
	padding: 0;
}


/* =========================================================
 * 2. Page
 * ======================================================= */

.p365-standard-page {
	width: 100%;

	padding-top:
		24px;
}


/* =========================================================
 * 3. Hero
 * ======================================================= */

.p365-standard-page__hero-shell {
	position: relative;

	display: flex;

	align-items: center;

	min-height:
		360px;

	overflow:
		hidden;

	padding:
		52px 58px;

	border-radius:
		var(--p365-radius-lg);

	background:
		linear-gradient(
			125deg,
			var(--p365-dark) 0%,
			#043d42 62%,
			var(--p365-teal) 100%
		);

	color:
		var(--p365-white);

	box-shadow:
		var(--p365-shadow-sm);
}


.p365-standard-page__hero-content {
	position: relative;

	z-index:
		2;

	width:
		min(820px, 75%);
}


/* =========================================================
 * 4. Breadcrumb
 * ======================================================= */

.p365-standard-page__breadcrumb {
	display: flex;

	align-items: center;

	flex-wrap: wrap;

	gap:
		8px;

	margin-bottom:
		34px;

	color:
		rgba(255,255,255,.48);

	font-size:
		11px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.5;
}


.p365-standard-page__breadcrumb a {
	color:
		rgba(255,255,255,.72);

	font-weight:
		var(--p365-weight-semibold);
}


.p365-standard-page__breadcrumb a:hover {
	color:
		var(--p365-orange);
}


/* =========================================================
 * 5. Hero Typography
 * ======================================================= */

.p365-standard-page__eyebrow {
	display: block;

	margin-bottom:
		8px;

	color:
		var(--p365-orange);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-standard-page__title {
	max-width:
		800px;

	margin:
		0 0 15px;

	color:
		var(--p365-white);

	font-size:
		44px;

	font-weight:
		var(--p365-weight-black);

	line-height:
		1.35;

	letter-spacing:
		-.015em;
}


.p365-standard-page__description {
	max-width:
		720px;

	margin:
		0 0 22px;

	color:
		rgba(255,255,255,.68);

	font-size:
		16px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.9;
}


/* =========================================================
 * 6. Updated
 * ======================================================= */

.p365-standard-page__updated {
	display: flex;

	align-items: center;

	flex-wrap: wrap;

	gap:
		6px;

	color:
		rgba(255,255,255,.46);

	font-size:
		10px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.4;
}


.p365-standard-page__updated-dot {
	width:
		6px;

	height:
		6px;

	flex:
		0 0 6px;

	border-radius:
		50%;

	background:
		var(--p365-orange);
}


/* =========================================================
 * 7. Hero Mark
 * ======================================================= */

.p365-standard-page__hero-mark {
	position: absolute;

	direction:
		ltr;

	left:
		-30px;

	bottom:
		-110px;

	color:
		rgba(255,255,255,.035);

	font-size:
		340px;

	font-weight:
		var(--p365-weight-bold);

	line-height:
		1;

	pointer-events:
		none;
}


/* =========================================================
 * 8. Main Body
 * ======================================================= */

.p365-standard-page__body {
	padding-top:
		24px;
}


.p365-standard-page__layout {
	display: grid;

	grid-template-columns:
		270px minmax(0,1fr);

	gap:
		24px;

	align-items:
		start;
}


.p365-standard-page__layout.no-toc {
	display:
		block;
}


/* =========================================================
 * 9. Sidebar
 * ======================================================= */

.p365-standard-page__sidebar {
	min-width:
		0;
}


.p365-standard-page__toc {
	position: sticky;

	top:
		25px;

	overflow:
		hidden;

	border:
		1px solid var(--p365-border);

	border-radius:
		var(--p365-radius-lg);

	background:
		var(--p365-white);

	box-shadow:
		var(--p365-shadow-sm);
}


/* =========================================================
 * 10. TOC Header
 * ======================================================= */

.p365-standard-page__toc-header {
	position: relative;

	padding:
		22px 22px 18px;

	border-bottom:
		1px solid var(--p365-border);
}


.p365-standard-page__toc-header::before {
	content:
		"";

	position:
		absolute;

	top:
		22px;

	right:
		0;

	width:
		4px;

	height:
		36px;

	border-radius:
		4px 0 0 4px;

	background:
		var(--p365-orange);
}


.p365-standard-page__toc-header span {
	display: block;

	margin-bottom:
		3px;

	color:
		var(--p365-orange);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-standard-page__toc-header h2 {
	margin:
		0;

	color:
		var(--p365-dark);

	font-size:
		19px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


/* =========================================================
 * 11. TOC List
 * ======================================================= */

.p365-standard-page__toc-list {
	padding:
		8px 0;
}


.p365-standard-page__toc-item {
	display: grid;

	grid-template-columns:
		30px minmax(0,1fr);

	align-items:
		start;

	gap:
		6px;

	padding:
		9px 18px;

	color:
		var(--p365-muted);

	font-size:
		14px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.6;

	transition:
		background-color var(--p365-transition),
		color var(--p365-transition);
}


.p365-standard-page__toc-item:hover {
	background:
		#fff9f0;

	color:
		var(--p365-dark);
}


.p365-standard-page__toc-number {
	color:
		var(--p365-orange);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.5;
}


.p365-standard-page__toc-text {
	min-width:
		0;
}


.p365-standard-page__toc-item.is-active {
	background:
		#fff8ed;

	color:
		var(--p365-dark);

	font-weight:
		var(--p365-weight-bold);
}


.p365-standard-page__toc-top {
	display: block;

	padding:
		14px 18px;

	border-top:
		1px solid var(--p365-border);

	color:
		var(--p365-teal);

	font-size:
		11px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-standard-page__toc-top:hover {
	color:
		var(--p365-orange);
}


/* =========================================================
 * 12. Article
 * ======================================================= */

.p365-standard-page__article {
	min-width:
		0;

	overflow:
		hidden;

	border:
		1px solid var(--p365-border);

	border-radius:
		var(--p365-radius-lg);

	background:
		var(--p365-white);

	box-shadow:
		var(--p365-shadow-sm);
}


.p365-standard-page__content {
	width:
		100%;

	max-width:
		var(--p365-standard-content-width, 900px);

	margin:
		0 auto;

	padding:
		52px 58px 62px;

	color:
		var(--p365-text-dark);

	font-size:
		16px;

	font-weight:
		var(--p365-weight-regular);

	line-height:
		2;
}


/* =========================================================
 * 13. First Paragraph
 * ======================================================= */

.p365-standard-page__content > p:first-child {
	margin-top:
		0;

	color:
		var(--p365-text);

	font-size:
		17px;

	font-weight:
		var(--p365-weight-medium);

	line-height:
		1.95;
}


/* =========================================================
 * 14. Paragraphs
 * ======================================================= */

.p365-standard-page__content p {
	margin:
		0 0 22px;
}


/* =========================================================
 * 15. H2
 * ======================================================= */

.p365-standard-page__content h2 {
	position: relative;

	margin:
		54px 0 20px;

	padding:
		0 48px 15px 0;

	border-bottom:
		1px solid var(--p365-border);

	color:
		var(--p365-dark);

	font-size:
		28px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.45;

	scroll-margin-top:
		35px;
}


.p365-standard-page__content h2:first-child {
	margin-top:
		0;
}


.p365-standard-page__content h2::before {
	content:
		attr(data-p365-number);

	position:
		absolute;

	top:
		5px;

	right:
		0;

	width:
		34px;

	color:
		var(--p365-orange);

	font-size:
		20px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.5;
}


/* =========================================================
 * 16. H3
 * ======================================================= */

.p365-standard-page__content h3 {
	margin:
		35px 0 14px;

	color:
		var(--p365-dark);

	font-size:
		22px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.5;
}


/* =========================================================
 * 17. Links
 * ======================================================= */

.p365-standard-page__content a {
	color:
		var(--p365-teal);

	font-weight:
		var(--p365-weight-semibold);

	text-decoration:
		underline;

	text-decoration-thickness:
		1px;

	text-underline-offset:
		3px;
}


.p365-standard-page__content a:hover {
	color:
		var(--p365-orange);
}


/* =========================================================
 * 18. Lists
 * ======================================================= */

.p365-standard-page__content ul,
.p365-standard-page__content ol {
	margin:
		0 0 24px;

	padding:
		0 26px 0 0;
}


.p365-standard-page__content li {
	margin-bottom:
		9px;

	padding-right:
		4px;
}


.p365-standard-page__content ul li::marker {
	color:
		var(--p365-orange);
}


/* =========================================================
 * 19. Blockquote
 * ======================================================= */

.p365-standard-page__content blockquote {
	margin:
		30px 0;

	padding:
		22px 25px;

	border-right:
		4px solid var(--p365-orange);

	border-radius:
		8px 0 0 8px;

	background:
		#fff9f0;

	color:
		var(--p365-dark);

	font-size:
		17px;

	font-weight:
		var(--p365-weight-bold);

	line-height:
		1.8;
}


.p365-standard-page__content blockquote p:last-child {
	margin-bottom:
		0;
}


/* =========================================================
 * 20. Tables
 * ======================================================= */

.p365-standard-page__content table {
	width:
		100%;

	margin:
		30px 0;

	border-collapse:
		collapse;

	font-size:
		14px;

	font-weight:
		var(--p365-weight-regular);

	line-height:
		1.6;
}


.p365-standard-page__content th,
.p365-standard-page__content td {
	padding:
		12px 14px;

	border:
		1px solid var(--p365-border);

	text-align:
		right;
}


.p365-standard-page__content th {
	background:
		var(--p365-dark);

	color:
		var(--p365-white);

	font-weight:
		var(--p365-weight-bold);
}


/* =========================================================
 * 21. Horizontal Rule
 * ======================================================= */

.p365-standard-page__content hr {
	height:
		1px;

	margin:
		40px 0;

	border:
		0;

	background:
		var(--p365-border);
}


/* =========================================================
 * 22. Mobile TOC
 * ======================================================= */

.p365-standard-page__toc-mobile-wrap {
	display:
		none;

	padding-top:
		18px;
}


.p365-standard-page__toc-mobile {
	overflow:
		hidden;

	border:
		1px solid var(--p365-border);

	border-radius:
		12px;

	background:
		var(--p365-white);
}


.p365-standard-page__toc-mobile summary {
	display: flex;

	align-items: center;

	justify-content:
		space-between;

	gap:
		20px;

	padding:
		17px 19px;

	color:
		var(--p365-dark);

	font-size:
		14px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.5;

	cursor:
		pointer;

	list-style:
		none;
}


.p365-standard-page__toc-mobile summary::-webkit-details-marker {
	display:
		none;
}


.p365-standard-page__toc-mobile[open] summary {
	border-bottom:
		1px solid var(--p365-border);
}


/* =========================================================
 * 23. End Note
 * ======================================================= */

.p365-standard-page__end {
	padding:
		24px 0 32px;
}


.p365-standard-page__end-shell {
	display: flex;

	align-items: center;

	justify-content:
		space-between;

	gap:
		30px;

	padding:
		30px 34px;

	border-radius:
		var(--p365-radius-lg);

	background:
		var(--p365-dark);

	color:
		var(--p365-white);
}


.p365-standard-page__end-shell > div > span {
	display: block;

	margin-bottom:
		4px;

	color:
		var(--p365-orange);

	font-size:
		10px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;
}


.p365-standard-page__end-shell strong {
	display: block;

	margin-bottom:
		4px;

	color:
		var(--p365-white);

	font-size:
		21px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.45;
}


.p365-standard-page__end-shell p {
	margin:
		0;

	color:
		rgba(255,255,255,.55);

	font-size:
		12px;

	font-weight:
		var(--p365-weight-regular);

	line-height:
		1.7;
}


.p365-standard-page__end-shell > a {
	display: inline-flex;

	align-items: center;

	gap:
		10px;

	min-height:
		44px;

	padding:
		9px 18px;

	border-radius:
		7px;

	background:
		var(--p365-orange);

	color:
		var(--p365-white);

	font-size:
		13px;

	font-weight:
		var(--p365-weight-extrabold);

	line-height:
		1.4;

	white-space:
		nowrap;
}


.p365-standard-page__end-shell > a:hover {
	background:
		var(--p365-orange-dark);

	color:
		var(--p365-white);
}


/* =========================================================
 * 24. Tablet
 * ======================================================= */

@media (max-width: 1050px) {

	.p365-standard-page__layout {
		grid-template-columns:
			230px minmax(0,1fr);

		gap:
			18px;
	}


	.p365-standard-page__hero-shell {
		min-height:
			330px;

		padding:
			45px;
	}


	.p365-standard-page__title {
		font-size:
			38px;
	}


	.p365-standard-page__content {
		padding:
			44px 42px 52px;
	}


	.p365-standard-page__content h2 {
		font-size:
			27px;
	}
}


/* =========================================================
 * 25. Mobile / Small Tablet
 * ======================================================= */

@media (max-width: 820px) {

	.p365-standard-page {
		padding-top:
			18px;
	}


	.p365-standard-page__hero-shell {
		min-height:
			300px;

		padding:
			34px 26px;
	}


	.p365-standard-page__hero-content {
		width:
			100%;
	}


	.p365-standard-page__breadcrumb {
		margin-bottom:
			27px;
	}


	.p365-standard-page__title {
		font-size:
			32px;

		font-weight:
			var(--p365-weight-black);

		line-height:
			1.4;
	}


	.p365-standard-page__description {
		font-size:
			15px;

		font-weight:
			var(--p365-weight-medium);
	}


	.p365-standard-page__toc-mobile-wrap {
		display:
			block;
	}


	.p365-standard-page__layout {
		display:
			block;
	}


	.p365-standard-page__sidebar {
		display:
			none;
	}


	.p365-standard-page__body {
		padding-top:
			18px;
	}


	.p365-standard-page__content {
		max-width:
			none;

		padding:
			36px 28px 44px;

		font-size:
			16px;
	}


	.p365-standard-page__content > p:first-child {
		font-size:
			17px;
	}


	.p365-standard-page__content h2 {
		font-size:
			26px;
	}


	.p365-standard-page__content h3 {
		font-size:
			21px;
	}


	.p365-standard-page__end-shell {
		align-items:
			flex-start;

		flex-direction:
			column;
	}
}


/* =========================================================
 * 26. Small Mobile
 * ======================================================= */

@media (max-width: 520px) {

	.p365-standard-page__hero-shell {
		min-height:
			270px;

		padding:
			30px 21px;
	}


	.p365-standard-page__breadcrumb {
		margin-bottom:
			22px;

		font-size:
			10px;
	}


	.p365-standard-page__eyebrow {
		font-size:
			11px;
	}


	.p365-standard-page__title {
		font-size:
			30px;

		font-weight:
			var(--p365-weight-black);

		line-height:
			1.42;

		letter-spacing:
			0;
	}


	.p365-standard-page__description {
		font-size:
			14px;

		font-weight:
			var(--p365-weight-medium);

		line-height:
			1.85;
	}


	.p365-standard-page__updated {
		font-size:
			10px;
	}


	.p365-standard-page__hero-mark {
		font-size:
			230px;

		bottom:
			-70px;
	}


	.p365-standard-page__toc-mobile summary {
		font-size:
			13px;
	}


	.p365-standard-page__content {
		padding:
			30px 21px 38px;

		font-size:
			15px;

		line-height:
			1.95;
	}


	.p365-standard-page__content > p:first-child {
		font-size:
			16px;

		font-weight:
			var(--p365-weight-medium);
	}


	.p365-standard-page__content h2 {
		margin-top:
			45px;

		padding-right:
			42px;

		font-size:
			24px;

		font-weight:
			var(--p365-weight-extrabold);
	}


	.p365-standard-page__content h2::before {
		font-size:
			18px;
	}


	.p365-standard-page__content h3 {
		font-size:
			20px;

		font-weight:
			var(--p365-weight-extrabold);
	}


	.p365-standard-page__content blockquote {
		font-size:
			16px;
	}


	.p365-standard-page__end-shell {
		padding:
			25px 21px;
	}


	.p365-standard-page__end-shell strong {
		font-size:
			19px;
	}


	.p365-standard-page__end-shell p {
		font-size:
			11px;
	}


	.p365-standard-page__end-shell > a {
		font-size:
			12px;
	}
}