.ag{
	margin:0 auto;
	padding-block:var(--space-6) var(--space-16);
	font-family:var(--font-family);
	font-size:var(--font-size-base);
	line-height:var(--line-height-normal);
	color:var(--color-text);
	text-align:left;
}

.ag *,
.ag *::before,
.ag *::after{
	box-sizing:border-box;
}

:where(.ag) :where(h1,h2,h3,h4,p,ol,ul,address){
	margin:0;
	padding:0;
}

:where(.ag) :where(ol,ul){
	list-style:none;
}

.ag [id]{
	scroll-margin-top:var(--space-6);
}

.ag--nocopy{
	-webkit-user-select:none;
	user-select:none;
	-webkit-touch-callout:none;
}

.ag-top{
	margin-bottom:var(--space-8);
}

.ag .ag-top__title{
	margin-bottom:var(--space-2);
	font-size:clamp(1.6rem,1.1rem + 2vw,2.5rem);
	font-weight:var(--font-weight-bold);
	line-height:1.1;
	letter-spacing:-.025em;
	color:var(--color-text);
}

.ag-effective{
	margin-top:var(--space-12);
	padding-top:var(--space-5);
	border-top:1px solid var(--color-border);
	font-weight:var(--font-weight-semibold);
	color:var(--color-text-secondary);
}

.ag-layout{
	display:grid;
	grid-template-columns:17rem minmax(0,1fr);
	gap:var(--space-10);
	align-items:start;
}

.ag-toc{
	position:sticky;
	top:var(--space-6);
	max-height:calc(100vh - 2 * var(--space-6));
	overflow:auto;
	padding:var(--space-4);
	background:var(--color-surface);
	border:1px solid var(--color-border);
	border-radius:var(--radius-lg);
	font-size:var(--font-size-sm);
	line-height:var(--line-height-tight);
}

.ag-toc__title{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-2);
	font-weight:var(--font-weight-bold);
	color:var(--color-text);
	list-style:none;
	cursor:pointer;
}

.ag-toc__title::-webkit-details-marker{
	display:none;
}

.ag-toc__title::after{
	content:"";
	width:.5em;
	height:.5em;
	border-right:2px solid currentColor;
	border-bottom:2px solid currentColor;
	transform:translateY(-25%) rotate(45deg);
	transition:transform var(--transition-fast);
}

.ag-toc[open] .ag-toc__title::after{
	transform:translateY(25%) rotate(-135deg);
}

.ag-toc__nav{
	margin-top:var(--space-3);
}

.ag .ag-toc__doc{
	display:block;
	margin-top:var(--space-4);
	font-weight:var(--font-weight-semibold);
	color:var(--color-text);
	text-decoration:none;
}

.ag .ag-toc__doc:first-child{
	margin-top:0;
}

.ag-toc__list{
	margin-top:var(--space-2);
}

.ag .ag-toc__list a{
	display:block;
	padding:var(--space-1) 0 var(--space-1) var(--space-3);
	border-left:2px solid var(--color-border-light);
	color:var(--color-text-secondary);
	text-decoration:none;
}

.ag .ag-toc__list a:hover,
.ag .ag-toc__doc:hover{
	color:var(--color-primary);
	border-left-color:var(--color-primary);
}

.ag-body{
	max-width:50rem;
	min-width:0;
}

.ag-doc + .ag-doc{
	margin-top:var(--space-16);
	padding-top:var(--space-10);
	border-top:1px solid var(--color-border);
}

.ag-doc > :first-child,
.ag-doc > span:first-child + *{
	margin-top:0;
}

.ag .ag-doc__title{
	margin-bottom:var(--space-6);
	font-size:clamp(1.4rem,1.1rem + 1.2vw,1.875rem);
	font-weight:var(--font-weight-bold);
	line-height:1.15;
	letter-spacing:-.02em;
	color:var(--color-text);
}

.ag .ag-h3{
	margin:var(--space-10) 0 var(--space-4);
	font-size:var(--font-size-xl);
	font-weight:var(--font-weight-bold);
	line-height:var(--line-height-tight);
	color:var(--color-text);
}

.ag .ag-h4{
	margin:var(--space-8) 0 var(--space-3);
	font-size:var(--font-size-lg);
	font-weight:var(--font-weight-semibold);
	line-height:var(--line-height-tight);
	color:var(--color-text);
}

.ag-doc p{
	margin-bottom:var(--space-3);
	line-height:var(--line-height-relaxed);
}

.ag-doc a{
	color:var(--color-secondary);
	text-decoration:none;
}

.ag-doc a:hover{
	text-decoration:underline;
}

.ag .ag-n{
	font-weight:var(--font-weight-semibold);
	font-variant-numeric:tabular-nums;
	color:var(--color-text);
}

.ag a.ag-n:hover{
	color:var(--color-primary);
	text-decoration:none;
}

.ag-li{
	padding-left:var(--space-6);
}

.ag-p:target,
.ag-table tr:target{
	background:color-mix(in srgb,var(--color-warning) 16%,transparent);
	box-shadow:0 0 0 var(--space-2) color-mix(in srgb,var(--color-warning) 16%,transparent);
	border-radius:var(--radius-sm);
}

.ag-flow{
	padding:var(--space-3) var(--space-4);
	background:var(--color-bg-light-gray);
	border-radius:var(--radius-md);
	font-weight:var(--font-weight-semibold);
	text-align:center;
}

.ag .ag-ul{
	margin-bottom:var(--space-3);
	padding-left:1.5em;
	list-style:disc;
	line-height:var(--line-height-relaxed);
}

.ag-ul li + li{
	margin-top:var(--space-1);
}

.ag-table{
	margin:var(--space-4) 0 var(--space-6);
	overflow-x:auto;
	border:1px solid var(--color-border);
	border-radius:var(--radius-lg);
}

.ag-table table{
	width:100%;
	border-collapse:collapse;
	font-size:var(--font-size-sm);
	line-height:var(--line-height-normal);
}

.ag-table th{
	padding:var(--space-3);
	background:var(--color-bg-light-gray);
	font-weight:var(--font-weight-semibold);
	text-align:left;
	vertical-align:bottom;
}

.ag-table td{
	padding:var(--space-3);
	border-top:1px solid var(--color-border);
	vertical-align:top;
}

.ag-table th + th,
.ag-table td + td{
	border-left:1px solid var(--color-border-light);
}

.ag-table td:first-child{
	font-weight:var(--font-weight-medium);
	overflow-wrap:anywhere;
}

.ag-contact{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:var(--space-4);
	margin-bottom:var(--space-4);
	padding:var(--space-5);
	background:var(--color-surface);
	border:1px solid var(--color-border);
	border-radius:var(--radius-lg);
	font-style:normal;
}

.ag-contact p{
	margin:0;
}

.ag-date{
	color:var(--color-text-secondary);
}

@media screen and (max-width:960px){
	.ag-layout{
		grid-template-columns:minmax(0,1fr);
		gap:var(--space-6);
	}

	.ag-toc{
		position:static;
		max-height:none;
	}

	.ag-body{
		max-width:none;
	}
}

@media screen and (max-width:720px){
	.ag-li{
		padding-left:var(--space-4);
	}

	.ag-table{
		border:0;
		overflow:visible;
	}

	.ag-table table,
	.ag-table tbody,
	.ag-table tr,
	.ag-table td{
		display:block;
	}

	.ag-table thead{
		position:absolute;
		width:1px;
		height:1px;
		overflow:hidden;
		clip:rect(0 0 0 0);
	}

	.ag-table tr{
		margin-bottom:var(--space-3);
		padding:var(--space-2) var(--space-4);
		border:1px solid var(--color-border);
		border-radius:var(--radius-md);
	}

	.ag-table td,
	.ag-table td + td{
		padding:var(--space-2) 0;
		border:0;
	}

	.ag-table td + td{
		border-top:1px solid var(--color-border-light);
	}

	.ag-table td::before{
		content:attr(data-label);
		display:block;
		margin-bottom:var(--space-1);
		font-size:var(--font-size-xs);
		font-weight:var(--font-weight-semibold);
		color:var(--color-text-secondary);
	}

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

@page{
	size:A4;
	margin:16mm 15mm 18mm;
}

@media print{
	html,
	body{
		background:#fff !important;
	}

	.hd_bar,
	.bc_bar,
	.ft_root,
	.mobile_scroll_head,
	#fancybox-thumbs-banner,
	.ag-toc,
	ins.adsbygoogle,
	.fc-consent-root,
	.skiptranslate,
	iframe{
		display:none !important;
	}

	.container:has(> .ag){
		width:auto !important;
		max-width:none !important;
		margin:0 !important;
		padding:0 !important;
	}

	.ag{
		padding:0;
		font-size:10.5pt;
		line-height:1.45;
		color:#000;
	}

	.ag-top{
		margin-bottom:8mm;
		padding-bottom:4mm;
		border-bottom:1px solid #000;
	}

	.ag .ag-top__title{
		font-size:18pt;
		color:#000;
	}

	.ag-date{
		color:#000;
	}

	.ag-effective{
		margin-top:8mm;
		padding-top:3mm;
		border-top:1px solid #000;
		color:#000;
		break-inside:avoid;
	}

	.ag-layout{
		display:block;
	}

	.ag-body{
		max-width:none;
	}

	.ag-doc + .ag-doc{
		margin-top:0;
		padding-top:0;
		border-top:0;
		break-before:page;
	}

	.ag .ag-doc__title{
		margin-bottom:6mm;
		font-size:16pt;
		color:#000;
	}

	.ag .ag-h3{
		margin:7mm 0 3mm;
		font-size:13pt;
		color:#000;
	}

	.ag .ag-h4{
		margin:5mm 0 2mm;
		font-size:11.5pt;
		color:#000;
	}

	.ag .ag-h3,
	.ag .ag-h4,
	.ag .ag-doc__title{
		break-after:avoid;
		break-inside:avoid;
	}

	.ag-doc p,
	.ag-ul{
		margin-bottom:2mm;
		line-height:1.45;
		orphans:3;
		widows:3;
	}

	.ag-doc a,
	.ag .ag-n{
		color:#000;
		text-decoration:none;
	}

	.ag-p:target,
	.ag-table tr:target{
		background:none;
		box-shadow:none;
	}

	.ag-flow{
		background:none;
		border:1px solid #000;
	}

	.ag-table{
		overflow:visible;
		border:0;
		border-radius:0;
	}

	.ag-table table{
		font-size:9pt;
	}

	.ag-table thead{
		display:table-header-group;
	}

	.ag-table tr{
		break-inside:avoid;
	}

	.ag-table th,
	.ag-table td,
	.ag-table th + th,
	.ag-table td + td{
		padding:1.5mm 2mm;
		border:1px solid #666;
	}

	.ag-table th{
		background:none;
	}

	.ag-contact{
		padding:0;
		background:none;
		border:0;
		break-inside:avoid;
	}
}
