/* Legal pages (Privacy, Terms): the existing document layout, moved into one shared file.
   Only the greys were darkened so the small text passes the accessibility contrast rule. */

		
		
		#pp {
			--navy: #243A5E;
			--navy-2: #415678;
			--navy-3: #46688A;
			--tint: #EDF4FA;
			--border: #CFE3F1;
			--ink: #243A5E;
			--text: #3a4a5e;
			--muted: #5b6882;
			--muted-2: #5b6882;
			--green: #2E9E6B;
			--soft: #f8f8fc;
			--radius: 15px;
			font-family: 'Heebo', sans-serif;
			color: var(--text);
			line-height: 1.7;
		}

		#pp *, #pp *::before, #pp *::after { box-sizing: border-box; }

		#pp .pp-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
		#pp .pp-hero { background: linear-gradient(180deg, var(--tint), #fff); border-bottom: 1px solid var(--border); padding: 130px 0 56px; }
		#pp .pp-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: var(--navy-2); margin: 0 0 14px; }
		#pp .pp-hero h1 { font-family: 'Heebo', sans-serif; font-weight: 900; font-size: clamp(2.3rem, 5vw, 3.3rem); line-height: 1.08; letter-spacing: -.02em; color: var(--navy); margin: 0 0 18px; }
		#pp .pp-hero h1 span { color: var(--navy-3); }
		#pp .pp-hero p { max-width: 700px; color: var(--muted); font-size: 1.05rem; margin: 0; }
		#pp .pp-updated { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; background: #fff; border: 1px solid var(--border); padding: 8px 16px; border-radius: 30px; font-size: .86rem; color: var(--muted); }
		#pp .pp-updated b { color: var(--navy); font-weight: 700; }
		#pp .pp-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); display: inline-block; }
		#pp .pp-doc { display: grid; grid-template-columns: 250px 1fr; gap: 56px; padding: 54px 0 20px; align-items: start; }
		@media (max-width: 920px) { #pp .pp-doc { grid-template-columns: 1fr; gap: 8px; }
}

		#pp .pp-toc { position: sticky; top: 96px; }
		#pp .pp-toc h2 { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted-2); margin: 0 0 14px; font-weight: 700; }
		#pp .pp-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: t; }
		#pp .pp-toc li { counter-increment: t; }
		#pp .pp-toc a { display: flex; gap: 10px; padding: 7px 0 7px 14px; font-size: .9rem; color: var(--muted); border-left: 2px solid transparent; margin-left: -2px; text-decoration: none; transition: color .15s, border-color .15s; }
		#pp .pp-toc a::before { content: counter(t, decimal-leading-zero); font-size: 12px; color: var(--muted-2); font-weight: 700; min-width: 20px; }
		#pp .pp-toc a:hover, #pp .pp-toc a.active { color: var(--navy); border-color: var(--navy); }
		#pp .pp-toc a.active::before { color: var(--navy); }
		@media (max-width: 920px) {
			#pp .pp-toc { position: static; background: var(--soft); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 24px; margin-bottom: 24px; }
			#pp .pp-toc ol { columns: 2; column-gap: 24px; }
}
		@media (max-width: 520px) { #pp .pp-toc ol { columns: 1; }
}
		#pp .ppc section { padding: 14px 0 30px; scroll-margin-top: 96px; }
		#pp .ppc section + section { border-top: 1px solid var(--border); }
		#pp .ppc h2 { font-family: 'Heebo', sans-serif; font-weight: 800; font-size: 1.55rem; color: var(--navy); margin: 18px 0 14px; letter-spacing: -.01em; text-transform: none; display: flex; align-items: baseline; gap: 12px; }
		#pp .ppc h2 .num { font-size: .85rem; color: var(--navy-2); font-weight: 700; }
		#pp .ppc h3 { font-family: 'Heebo', sans-serif; font-weight: 700; font-size: 1.06rem; color: var(--navy-2); margin: 22px 0 8px; text-transform: none; }
		#pp .ppc p { margin: 0 0 14px; color: var(--text); }
		#pp .ppc a { color: var(--navy-2); text-decoration: underline; text-underline-offset: 2px; }
		#pp .ppc ul { margin: 0 0 16px; padding-left: 0; list-style: none; }
		#pp .ppc ul li { position: relative; padding-left: 26px; margin-bottom: 9px; color: var(--text); }
		#pp .ppc ul li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 7px; height: 7px; border-radius: 50%; background: var(--navy-2); opacity: .6; }
		#pp .ppc strong { color: var(--navy); font-weight: 700; }
		#pp .ppc .lead { font-size: 1.08rem; }
		#pp .ppc ol.alpha { list-style: lower-alpha; margin: 0 0 16px; padding-left: 22px; }
		#pp .ppc ol.alpha li { margin-bottom: 9px; color: var(--text); padding-left: 4px; }
		#pp .ppc ol.alpha li::marker { color: var(--navy-2); font-weight: 700; }
		#pp .pp-defs { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; margin: 8px 0 0; }
		#pp .pp-defs dl { margin: 0; }
		#pp .pp-defs .row { display: grid; grid-template-columns: 210px 1fr; }
		#pp .pp-defs .row + .row { border-top: 1px solid var(--border); }
		#pp .pp-defs dt { font-weight: 700; color: var(--navy); background: var(--soft); padding: 13px 18px; font-size: .93rem; }
		#pp .pp-defs dd { margin: 0; padding: 13px 18px; color: var(--text); font-size: .95rem; }
		@media (max-width: 560px) { #pp .pp-defs .row { grid-template-columns: 1fr; } #pp .pp-defs dt { border-bottom: 1px solid var(--border); }
}
		#pp .pp-table { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); margin: 6px 0 4px; }
		#pp table.data { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 540px; }
		#pp table.data th, #pp table.data td { text-align: left; padding: 13px 18px; vertical-align: top; }
		#pp table.data thead th { background: var(--navy); color: #fff; font-weight: 700; font-size: .82rem; }
		#pp table.data tbody tr + tr { border-top: 1px solid var(--border); }
		#pp table.data tbody tr:nth-child(even) { background: var(--soft); }
		#pp table.data td:first-child { font-weight: 700; color: var(--navy); white-space: nowrap; }
		@media (max-width: 560px) { #pp table.data td:first-child { white-space: normal; }
}
		#pp .pp-callout { background: linear-gradient(155deg, var(--navy-2), var(--navy)); color: #fff; border-radius: var(--radius); padding: 30px 32px; box-shadow: 0 18px 40px rgba(36, 58, 94, .18); }
		#pp .pp-callout .tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, .15); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; padding: 6px 13px; border-radius: 30px; margin-bottom: 14px; }
		#pp .pp-callout h3 { color: #fff; margin: 0 0 10px; font-family: 'Heebo', sans-serif; font-weight: 700; font-size: 1.2rem; }
		#pp .pp-callout p { color: rgba(255, 255, 255, .88); }
		#pp .pp-callout p:last-child { margin-bottom: 0; }
		#pp .pp-callout a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
		#pp .pp-region { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 6px 0 4px; }
		@media (max-width: 640px) { #pp .pp-region { grid-template-columns: 1fr; }
}
		#pp .pp-rcard { background: var(--soft); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; }
		#pp .pp-rcard .flag { font-size: 12px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--navy-2); font-weight: 700; margin-bottom: 6px; }
		#pp .pp-rcard h3 { margin: 0 0 12px; }
		#pp .pp-note { font-size: .9rem; color: var(--muted); background: var(--soft); border: 1px solid var(--border); border-left: 3px solid var(--navy-2); border-radius: 10px; padding: 14px 18px; margin: 20px 0 0; }
		#pp .pp-cbox { background: var(--tint); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px 30px; margin-top: 6px; }
		#pp .pp-cgrid { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 16px; }
		#pp .pp-pill { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 14px 18px; min-width: 200px; }
		#pp .pp-pill span { display: block; font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--muted-2); font-weight: 700; margin-bottom: 4px; }
		#pp .pp-pill b { font-weight: 700; color: var(--navy); font-size: .98rem; }

		#tc {
			--navy: #243A5E;
			--navy-2: #415678;
			--navy-3: #46688A;
			--tint: #EDF4FA;
			--border: #CFE3F1;
			--ink: #243A5E;
			--text: #3a4a5e;
			--muted: #5b6882;
			--muted-2: #5b6882;
			--green: #2E9E6B;
			--soft: #f8f8fc;
			--radius: 15px;
			font-family: 'Heebo', sans-serif;
			color: var(--text);
			line-height: 1.7;
		}

		#tc *, #tc *::before, #tc *::after { box-sizing: border-box; }

		#tc .tc-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

		#tc .tc-hero { background: linear-gradient(180deg, var(--tint), #fff); border-bottom: 1px solid var(--border); padding: 130px 0 56px; }
		#tc .tc-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: 4px; text-transform: uppercase; color: var(--navy-2); margin: 0 0 14px; }
		#tc .tc-hero h1 { font-family: 'Heebo', sans-serif; font-weight: 900; font-size: clamp(2.3rem, 5vw, 3.3rem); line-height: 1.08; letter-spacing: -.02em; color: var(--navy); margin: 0 0 18px; }
		#tc .tc-hero h1 span { color: var(--navy-3); }
		#tc .tc-hero p { max-width: 700px; color: var(--muted); font-size: 1.05rem; margin: 0; }
		#tc .tc-updated { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; background: #fff; border: 1px solid var(--border); padding: 8px 16px; border-radius: 30px; font-size: .86rem; color: var(--muted); }
		#tc .tc-updated b { color: var(--navy); font-weight: 700; }
		#tc .tc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); display: inline-block; }

		#tc .tc-doc { display: grid; grid-template-columns: 250px 1fr; gap: 56px; padding: 54px 0 20px; align-items: start; }

		@media (max-width: 920px) { #tc .tc-doc { grid-template-columns: 1fr; gap: 8px; }
}

		#tc .tc-toc { position: sticky; top: 96px; }
		#tc .tc-toc h2 { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted-2); margin: 0 0 14px; font-weight: 700; }
		#tc .tc-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: t; }
		#tc .tc-toc li { counter-increment: t; }
		#tc .tc-toc a { display: flex; gap: 10px; padding: 7px 0 7px 14px; font-size: .9rem; color: var(--muted); border-left: 2px solid transparent; margin-left: -2px; text-decoration: none; transition: color .15s, border-color .15s; }
		#tc .tc-toc a::before { content: counter(t, decimal-leading-zero); font-size: 12px; color: var(--muted-2); font-weight: 700; min-width: 20px; }
		#tc .tc-toc a:hover, #tc .tc-toc a.active { color: var(--navy); border-color: var(--navy); }
		#tc .tc-toc a.active::before { color: var(--navy); }
		@media (max-width: 920px) {
			#tc .tc-toc { position: static; background: var(--soft); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 24px; margin-bottom: 24px; }
			#tc .tc-toc ol { columns: 2; column-gap: 24px; }
}
		@media (max-width: 520px) { #tc .tc-toc ol { columns: 1; }
}

		#tc .tcc section { padding: 14px 0 30px; scroll-margin-top: 96px; }
		#tc .tcc section + section { border-top: 1px solid var(--border); }
		#tc .tcc h2 { font-family: 'Heebo', sans-serif; font-weight: 800; font-size: 1.55rem; color: var(--navy); margin: 18px 0 14px; letter-spacing: -.01em; text-transform: none; display: flex; align-items: baseline; gap: 12px; }
		#tc .tcc h2 .num { font-size: .85rem; color: var(--navy-2); font-weight: 700; }
		#tc .tcc h3 { font-family: 'Heebo', sans-serif; font-weight: 700; font-size: 1.06rem; color: var(--navy-2); margin: 22px 0 8px; text-transform: none; }
		#tc .tcc p { margin: 0 0 14px; color: var(--text); }
		#tc .tcc a { color: var(--navy-2); text-decoration: underline; text-underline-offset: 2px; }
		#tc .tcc ul { margin: 0 0 16px; padding-left: 0; list-style: none; }
		#tc .tcc ul li { position: relative; padding-left: 26px; margin-bottom: 9px; color: var(--text); }
		#tc .tcc ul li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 7px; height: 7px; border-radius: 50%; background: var(--navy-2); opacity: .6; }
		#tc .tcc strong { color: var(--navy); font-weight: 700; }
		#tc .tcc .lead { font-size: 1.08rem; }

		#tc .tcc ol.alpha { list-style: lower-alpha; margin: 0 0 16px; padding-left: 22px; }
		#tc .tcc ol.alpha li { margin-bottom: 9px; color: var(--text); padding-left: 4px; }
		#tc .tcc ol.alpha li::marker { color: var(--navy-2); font-weight: 700; }

		#tc .tc-defs { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; margin: 8px 0 0; }
		#tc .tc-defs dl { margin: 0; }
		#tc .tc-defs .row { display: grid; grid-template-columns: 210px 1fr; }
		#tc .tc-defs .row + .row { border-top: 1px solid var(--border); }
		#tc .tc-defs dt { font-weight: 700; color: var(--navy); background: var(--soft); padding: 13px 18px; font-size: .93rem; }
		#tc .tc-defs dd { margin: 0; padding: 13px 18px; color: var(--text); font-size: .95rem; }
		@media (max-width: 560px) { #tc .tc-defs .row { grid-template-columns: 1fr; } #tc .tc-defs dt { border-bottom: 1px solid var(--border); }
}

		#tc .tc-table { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); margin: 6px 0 4px; }
		#tc table.data { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 540px; }
		#tc table.data th, #tc table.data td { text-align: left; padding: 13px 18px; vertical-align: top; }
		#tc table.data thead th { background: var(--navy); color: #fff; font-weight: 700; font-size: .82rem; }
		#tc table.data tbody tr + tr { border-top: 1px solid var(--border); }
		#tc table.data tbody tr:nth-child(even) { background: var(--soft); }
		#tc table.data td:first-child { font-weight: 700; color: var(--navy); white-space: nowrap; }
		@media (max-width: 560px) { #tc table.data td:first-child { white-space: normal; }
}

		#tc .tc-callout { background: linear-gradient(155deg, var(--navy-2), var(--navy)); color: #fff; border-radius: var(--radius); padding: 30px 32px; box-shadow: 0 18px 40px rgba(36, 58, 94, .18); }
		#tc .tc-callout .tag { display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, .15); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; padding: 6px 13px; border-radius: 30px; margin-bottom: 14px; }
		#tc .tc-callout h3 { color: #fff; margin: 0 0 10px; font-family: 'Heebo', sans-serif; font-weight: 700; font-size: 1.2rem; }
		#tc .tc-callout p { color: rgba(255, 255, 255, .88); }
		#tc .tc-callout p:last-child { margin-bottom: 0; }
		#tc .tc-callout a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

		#tc .tc-note { font-size: .9rem; color: var(--muted); background: var(--soft); border: 1px solid var(--border); border-left: 3px solid var(--navy-2); border-radius: 10px; padding: 14px 18px; margin: 20px 0 0; }
		#tc .tc-cbox { background: var(--tint); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px 30px; margin-top: 6px; }
		#tc .tc-cgrid { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 16px; }
		#tc .tc-pill { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 14px 18px; min-width: 200px; }
		#tc .tc-pill span { display: block; font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--muted-2); font-weight: 700; margin-bottom: 4px; }
		#tc .tc-pill b { font-weight: 700; color: var(--navy); font-size: .98rem; }

/* the definition tables use the class "row"; stop Bootstrap's row margins leaking into them */
#pp .pp-defs .row, #tc .tc-defs .row { margin: 0 }
