

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


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; }
}


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



@media (max-width: 30rem) {
	:root {
		--fiji-972: clamp(2.2rem, 9vw, 3rem);
		--fiji-0ee: clamp(2rem, 8vw, 2.7rem);
		--fiji-148: clamp(1.8rem, 7vw, 2.4rem);
		--fiji-548: clamp(1.55rem, 6vw, 2.05rem);
		--fiji-774: clamp(1.35rem, 5vw, 1.8rem);
	}
}
@media (min-width: 30.01rem) and (max-width: 48rem) {
	:root {
		--fiji-972: clamp(2.8rem, 8vw, 4.6rem);
		--fiji-0ee: clamp(2.5rem, 7vw, 4rem);
		--fiji-148: clamp(2.2rem, 6vw, 3.4rem);
	}
}


@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) {
	.saricbe.wobo95b.tcols-3 > table,
	.saricbe.wobo95b.tcols-3 > table > tbody,
	.saricbe.wobo95b.tcols-3 > table > tbody > tr,
	.saricbe.wobo95b.tcols-3 > table > tbody > tr > td,
	.saricbe.wobo95b.tcols-3 > table > tbody > tr > th {
		display: block;
		inline-size: auto;
		min-inline-size: 0 !important;
	}
	.saricbe.wobo95b.tcols-3 > table > thead { display: none; }
	.saricbe.wobo95b.tcols-3 > 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;
	}
	.saricbe.wobo95b.tcols-3 > table > tbody > tr > td {
		padding-block: .4rem;
		padding-inline: .7rem;
	}
	.saricbe.wobo95b.tcols-3 > table > tbody > tr > td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: .82em;
		font-weight: 600;
		letter-spacing: .02em;
		opacity: .68;
	}
	.saricbe.wobo95b.tcols-3 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 35rem) {
	.saricbe.wobo95b.gidafb1 > table,
	.saricbe.wobo95b.gidafb1 > table > tbody,
	.saricbe.wobo95b.gidafb1 > table > tbody > tr,
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > td,
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > th {
		display: block;
		inline-size: auto;
		min-inline-size: 0 !important;
	}
	.saricbe.wobo95b.gidafb1 > table > thead { display: none; }
	.saricbe.wobo95b.gidafb1 > 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;
	}
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > td {
		padding-block: .4rem;
		padding-inline: .7rem;
	}
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: .82em;
		font-weight: 600;
		letter-spacing: .02em;
		opacity: .68;
	}
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 44rem) {
	.saricbe.wobo95b.zivu28e > table,
	.saricbe.wobo95b.zivu28e > table > tbody,
	.saricbe.wobo95b.zivu28e > table > tbody > tr,
	.saricbe.wobo95b.zivu28e > table > tbody > tr > td,
	.saricbe.wobo95b.zivu28e > table > tbody > tr > th {
		display: block;
		inline-size: auto;
		min-inline-size: 0 !important;
	}

	.saricbe.wobo95b.zivu28e > table > thead { display: none; }
	.saricbe.wobo95b.zivu28e > 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;
	}
	.saricbe.wobo95b.zivu28e > table > tbody > tr > td {
		padding-block: .4rem;
		padding-inline: .7rem;
	}
	.saricbe.wobo95b.zivu28e > table > tbody > tr > td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: .82em;
		font-weight: 600;
		letter-spacing: .02em;
		opacity: .68;
	}
	.saricbe.wobo95b.zivu28e > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 52rem) {
	.saricbe.wobo95b.tcols-6 > table,
	.saricbe.wobo95b.tcols-6 > table > tbody,
	.saricbe.wobo95b.tcols-6 > table > tbody > tr,
	.saricbe.wobo95b.tcols-6 > table > tbody > tr > td,
	.saricbe.wobo95b.tcols-6 > table > tbody > tr > th {
		display: block;
		inline-size: auto;
		min-inline-size: 0 !important;
	}
	.saricbe.wobo95b.tcols-6 > table > thead { display: none; }
	.saricbe.wobo95b.tcols-6 > 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;
	}
	.saricbe.wobo95b.tcols-6 > table > tbody > tr > td {
		padding-block: .4rem;
		padding-inline: .7rem;
	}
	.saricbe.wobo95b.tcols-6 > table > tbody > tr > td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: .82em;
		font-weight: 600;
		letter-spacing: .02em;

		opacity: .68;
	}
	.saricbe.wobo95b.tcols-6 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 61rem) {
	.saricbe.wobo95b.tcols-7 > table,
	.saricbe.wobo95b.tcols-7 > table > tbody,
	.saricbe.wobo95b.tcols-7 > table > tbody > tr,
	.saricbe.wobo95b.tcols-7 > table > tbody > tr > td,
	.saricbe.wobo95b.tcols-7 > table > tbody > tr > th {
		display: block;
		inline-size: auto;
		min-inline-size: 0 !important;
	}
	.saricbe.wobo95b.tcols-7 > table > thead { display: none; }
	.saricbe.wobo95b.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;
	}
	.saricbe.wobo95b.tcols-7 > table > tbody > tr > td {
		padding-block: .4rem;
		padding-inline: .7rem;
	}
	.saricbe.wobo95b.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;
	}
	.saricbe.wobo95b.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-banner {
	max-height: 30vh;
	overflow: auto;
	box-sizing: border-box;
	top: auto;
	bottom: 0;
}
html body #cookie-banner#cookie-banner {
	animation: consent-arrive .6s ease-out 1.8s backwards !important;
}
@media (min-width: 48rem) {
	html body #cookie-banner#cookie-banner {
		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-banner > :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-banner > :not([hidden]),
	#cookie-banner > :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-banner :where(div, p, nav, form, section) {
		flex-wrap: wrap;
	}
}
@media (prefers-reduced-motion: reduce) {
	html body #cookie-banner#cookie-banner { animation-duration: .01s !important; }
}


/* out of room at 768px, fitted at 1024px */
@media (max-width: 1023px) { li.spec-item { flex-wrap: wrap !important; } }


/* MEASURED: tables whose cells came out too narrow to read */
/* 4 columns measured unreadable in a 708px box, where the threshold was 35rem */
@container (max-width: 708px) {
	.saricbe.wobo95b.gidafb1 > table,
	.saricbe.wobo95b.gidafb1 > table > tbody,
	.saricbe.wobo95b.gidafb1 > table > tbody > tr,
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > td,
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > th {
		display: block;
		inline-size: auto;
		min-inline-size: 0 !important;
	}
	.saricbe.wobo95b.gidafb1 > table > thead { display: none; }
	.saricbe.wobo95b.gidafb1 > 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;
	}
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > td {
		padding-block: .4rem;
		padding-inline: .7rem;
	}
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-size: .82em;
		font-weight: 600;
		letter-spacing: .02em;
		opacity: .68;
	}
	.saricbe.wobo95b.gidafb1 > table > tbody > tr > td:empty { display: none; }
}


/* MEASURED: table columns starved by a neighbour full of prose */
/* column 1 measured at the width of its longest word, holding up to 24 characters */
table.standards-matrix tr > :nth-child(1) { min-width: 24ch !important; }
/* column 2 measured at the width of its longest word, holding up to 29 characters */
table.standards-matrix tr > :nth-child(2) { min-width: 28ch !important; }
table.standards-matrix tr > :nth-child(3) { min-width: 28ch !important; }
/* column 4 measured at the width of its longest word, holding up to 33 characters */
table.standards-matrix tr > :nth-child(4) { min-width: 28ch !important; }


/* MEASURED: controls that stood on, or against, other words */
/* button#consent-decline-btn stood clear at 768px with this; left as designed from 1024px */
@media (max-width: 1023px) { div.cookie-banner { --consent-bottom: 72px !important; } }
/* button#consent-decline-btn stood clear at 768px with this; left as designed from 1024px */
@media (max-width: 1023px) { div.cookie-banner { bottom: 72px !important; } }


/* MEASURED: text that could not be read on its own background */
table.standards-matrix td span.matrix-check { color: #2c995d !important; }
table.standards-matrix td span.matrix-dash { color: #888888 !important; }
/* measured 3.6:1 — rgb(255, 255, 255) on rgb(44, 153, 93), floor 4.5:1 */
a.btn.btn-primary:not(:hover):not(:focus-visible):not(:active) { background-color: #25814f !important; }
/* measured 3.6:1 — rgb(255, 255, 255) on rgb(44, 153, 93), floor 4.5:1 */
button.btn.btn-primary.btn-lg:not(:hover):not(:focus-visible):not(:active) { background-color: #25814f !important; }
/* measured 3.6:1 — rgb(255, 255, 255) on rgb(44, 153, 93), floor 4.5:1 */
button.btn.btn-primary.btn-sm:not(:hover):not(:focus-visible):not(:active) { background-color: #25814f !important; }
/* measured 3.7:1 — rgb(38, 133, 81) on rgb(29, 29, 29), floor 4.5:1 */
div.card.card-ledger div.card-price { color: #2c995d !important; }
/* measured 3.7:1 — rgb(38, 133, 81) on rgb(29, 29, 29), floor 4.5:1 */
div.card.card-ledger div.card-price small { color: #2c995d !important; }
