
html, body { max-width: 100%; overflow-x: clip; }

/* Media and embeds never exceed their container. */
img, svg, video, canvas, iframe, embed, object, figure, picture { max-width:100%; }
img, video, canvas { height: auto; }
pre, code, kbd, samp { overflow-x: auto; max-width: 100%; }

picture { display: block; height: 100%; }

h1, h2, h3, h4, h5, h6,
[class*='lockup'], [class*='display'], [class*='headline'], [class*='title'],
[class*='hero'] h1, [class*='hero'] h2 {
	overflow-wrap:break-word;

	word-break:normal;
	hyphens:manual;
}
[class*='lockup'], [class*='lockup'] > * { white-space: normal !important; }

h1, h2, h3 { text-wrap: balance; }
td, th, time, output, data,
[class*='price'], [class*='cost'], [class*='rate'], [class*='amount'],
[class*='figure'], [class*='stat'], [class*='number'], [class*='count'] { font-variant-numeric:lining-nums tabular-nums; }

p, li, dd, dt, blockquote, figcaption, address, a, span, td, th,
div, strong, b, em, i, small, label, output, time, cite, abbr, code, summary,
h1, h2, h3, h4, h5, h6 { overflow-wrap:break-word; }

[class*='grid'] > *, [class*='row'] > *, [class*='flex'] > *,
[class*='cols'] > *, [class*='columns'] > * { min-width: 0; }

:not(img):not(picture):not(svg):not(video):not(canvas):only-child { grid-column:1 / -1; }

@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration:.28s; }
@media (prefers-reduced-motion: reduce) {
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) { animation: none !important; }
}

.fico959 {
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	container-type:inline-size;
}
.fico959 > table { width: 100%; }
@media (max-width: 48rem) {
	.fico959 > table { font-size: .94em; }
}
.fico959 > table,
.fico959 > table > thead, .fico959 > table > tbody,
.fico959 > table > tfoot, .fico959 > table tr,
.fico959 > table th, .fico959 > table td { display: revert; }
.fico959 > table th, .fico959 > table td {
	inline-size:auto;
	min-inline-size:0;
}


@media (max-width: 30rem) {
	:root {
		--togi-f4e:clamp(2.2rem, 9vw, 3rem);
		--togi-721:clamp(2rem, 8vw, 2.7rem);
		--togi-5a5:clamp(1.8rem, 7vw, 2.4rem);
		--togi-d63:clamp(1.55rem, 6vw, 2.05rem);
		--togi-7ed:clamp(1.35rem, 5vw, 1.8rem);
	}
}
@media (min-width: 30.01rem) and (max-width: 48rem) {
	:root {
		--togi-f4e:clamp(2.8rem, 8vw, 4.6rem);
		--togi-721:clamp(2.5rem, 7vw, 4rem);
		--togi-5a5:clamp(2.2rem, 6vw, 3.4rem);
	}
}

/* Touch targets stay usable. */
@media (pointer: coarse) {
	a.btn, button, [role='button'], .btn,
	input[type='submit'], input[type='button'] { min-height: 44px; }
}

a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible,
[tabindex]:focus-visible, [role='button']:focus-visible {
	outline:2px solid var(--focus-ring, currentColor);
	outline-offset:3px;
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='color']),
textarea, button, [type='submit'], [type='button'] {
	-webkit-appearance:none;
	appearance:none;
}

@media (pointer: coarse) and (max-width: 767px) {
	input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='file']):not([type='color']),
	select, textarea { font-size: max(16px, 1em) !important; }
}

@container (max-width: 26rem) {
	.fico959.hopu45b.pare2d3 > table,
	.fico959.hopu45b.pare2d3 > table > tbody,
	.fico959.hopu45b.pare2d3 > table > tbody > tr,
	.fico959.hopu45b.pare2d3 > table > tbody > tr > td,
	.fico959.hopu45b.pare2d3 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.fico959.hopu45b.pare2d3 > table > thead { display: none; }
	.fico959.hopu45b.pare2d3 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.fico959.hopu45b.pare2d3 > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.fico959.hopu45b.pare2d3 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.fico959.hopu45b.pare2d3 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 35rem) {
	.fico959.hopu45b.bane83f > table,
	.fico959.hopu45b.bane83f > table > tbody,
	.fico959.hopu45b.bane83f > table > tbody > tr,
	.fico959.hopu45b.bane83f > table > tbody > tr > td,
	.fico959.hopu45b.bane83f > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.fico959.hopu45b.bane83f > table > thead { display: none; }
	.fico959.hopu45b.bane83f > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.fico959.hopu45b.bane83f > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.fico959.hopu45b.bane83f > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.fico959.hopu45b.bane83f > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 44rem) {

	.fico959.hopu45b.pece901 > table,
	.fico959.hopu45b.pece901 > table > tbody,
	.fico959.hopu45b.pece901 > table > tbody > tr,
	.fico959.hopu45b.pece901 > table > tbody > tr > td,
	.fico959.hopu45b.pece901 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.fico959.hopu45b.pece901 > table > thead { display: none; }
	.fico959.hopu45b.pece901 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.fico959.hopu45b.pece901 > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.fico959.hopu45b.pece901 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.fico959.hopu45b.pece901 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 52rem) {
	.fico959.hopu45b.tekad95 > table,
	.fico959.hopu45b.tekad95 > table > tbody,
	.fico959.hopu45b.tekad95 > table > tbody > tr,
	.fico959.hopu45b.tekad95 > table > tbody > tr > td,
	.fico959.hopu45b.tekad95 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.fico959.hopu45b.tekad95 > table > thead { display: none; }
	.fico959.hopu45b.tekad95 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.fico959.hopu45b.tekad95 > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.fico959.hopu45b.tekad95 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.fico959.hopu45b.tekad95 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 61rem) {
	.fico959.hopu45b.tcols-7 > table,
	.fico959.hopu45b.tcols-7 > table > tbody,
	.fico959.hopu45b.tcols-7 > table > tbody > tr,
	.fico959.hopu45b.tcols-7 > table > tbody > tr > td,
	.fico959.hopu45b.tcols-7 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.fico959.hopu45b.tcols-7 > table > thead { display: none; }
	.fico959.hopu45b.tcols-7 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.fico959.hopu45b.tcols-7 > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.fico959.hopu45b.tcols-7 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.fico959.hopu45b.tcols-7 > table > tbody > tr > td:empty { display: none; }
}


/* Consent — a corner card on a desk, a short bar on a phone, and late. */
@keyframes consent-arrive { from { opacity: 0; } }
.cookie-bar {
	max-height:30vh;
	overflow:auto;
	box-sizing:border-box;
	top:auto;
	bottom:0;
}
html body .cookie-bar.cookie-bar { animation:consent-arrive .6s ease-out 1.8s backwards !important; }
@media (min-width: 48rem) {
	html body .cookie-bar.cookie-bar {
		position:fixed !important;
		top:auto !important;
		bottom:var(--consent-bottom, 1.25rem) !important;
		left:var(--consent-left, 1.25rem) !important;
		right:auto !important;
		width:min(380px, calc(100vw - 2.5rem)) !important;
		max-width:380px !important;
		max-height:min(60vh, 30rem) !important;
		margin:0 !important;
		padding:1.1rem 1.25rem !important;
		flex-direction:column !important;
		align-items:stretch !important;

		justify-content:flex-start !important;
		gap:.8rem !important;
	}
	.cookie-bar > :where(div, form, section, nav):not([hidden]) {
		display:flex !important;
		flex-direction:column !important;
		align-items:stretch !important;
		justify-content:flex-start !important;
		gap:.8rem !important;
	}
	/* A `flex: 1 1 320px` written for a row is a 320px HEIGHT in a column. */
	.cookie-bar > :not([hidden]),
	.cookie-bar > :where(div, form, section, nav):not([hidden]) > :not([hidden]) {
		flex:0 0 auto !important;
		min-width:0;
		width:auto !important;
		max-width:none !important;
		margin:0 !important;
	}
	.cookie-bar :where(div, p, nav, form, section) { flex-wrap:wrap; }
}
@media (prefers-reduced-motion: reduce) {
	html body .cookie-bar.cookie-bar { animation-duration: .01s !important; }
}

/* out of room at 390px, fitted at 768px */
@media (max-width: 767px) { figcaption.essay-figure__caption { flex-wrap: wrap !important; } }

/* MEASURED: grids found holding text in a chimney */
/* 5.3 characters a line in 4 columns holding 4 item(s) */
div.essay-inset__grid { grid-template-columns: none !important; }

/* MEASURED: controls that stood on, or against, other words */
/* a.nav-rail__link stood clear at 1024px with this; left as designed from 1440px */
@media (max-width: 1439px) { header.legal-margin-header { padding-left: 88px !important; } }
@media (max-width: 1439px) { header.page-header-simple { padding-left: 88px !important; } }
/* a.nav-rail__link stood clear at 1024px with this; left as designed from 1440px */
@media (max-width: 1439px) { header.statute-header { padding-left: 88px !important; } }
/* button.cookie-btn.cookie-btn--allow stood clear at 768px with this; left as designed from 1024px */
@media (max-width: 1023px) { aside.cookie-bar.is-visible { --consent-bottom: 72px !important; } }
/* button.cookie-btn.cookie-btn--allow stood clear at 768px with this; left as designed from 1024px */
@media (max-width: 1023px) { aside.cookie-bar.is-visible { bottom: 72px !important; } }
/* button.chat-launcher stood clear at 390px with this; left as designed from 768px */
@media (max-width: 767px) { button.chat-launcher { bottom: 158px !important; } }
/* button.chat-launcher stood clear at 320px with this; left as designed from 390px */
@media (max-width: 389px) { button.chat-launcher { bottom: 282px !important; } }

/* MEASURED: display sizes that hold the longest word on one line */
@media (max-width: 389px) { div.pricing-card-clean__figure.tabular { font-size: clamp(23.3px, 7.28vw, 29px) !important; } }
/* div.pricing-card-clean__figure.tabular broke "$15,000–$20,000" at 1024px; 24.4px holds it */
@media (min-width: 1024px) and (max-width: 1439px) { div.pricing-card-clean__figure.tabular { font-size: clamp(24.4px, 2.38vw, 29px) !important; } }
/* div.pricing-card-clean__figure.tabular broke "$15,000–$20,000" at 1440px; 31.8px holds it */
@media (min-width: 1440px) and (max-width: 1919px) { div.pricing-card-clean__figure.tabular { font-size: clamp(31.8px, 2.21vw, 36px) !important; } }
/* div.pricing-card-clean__figure.tabular broke "$9,000–$14,000" at 1920px; 32.4px holds it */
@media (min-width: 1920px) { div.pricing-card-clean__figure.tabular { font-size: clamp(32.4px, 1.69vw, 40px) !important; } }
@media (max-width: 389px) { h1.page-header-simple__title { font-size: clamp(28.6px, 8.94vw, 35px) !important; } }
/* h1 broke "Commercial" at 320px; 33.6px holds it */
@media (max-width: 389px) { header.statute-header h1 { font-size: clamp(33.6px, 10.50vw, 35px) !important; } }

/* MEASURED: running text held to a reading measure */
/* p ran 85 characters a line */
article.essay-flow p { max-width: 32.4em !important; }
/* p ran 86 characters a line */
div.service-spec-col p { max-width: 31.1em !important; }
/* p.lead-paragraph ran 85 characters a line */
p.lead-paragraph { max-width: 33em !important; }
/* p ran 85 characters a line */
section.essay-flow-section p { max-width: 32.4em !important; }
section.statute-entry.feva434 p { max-width: 32.7em !important; }
