.iplot-a11y {
	position: fixed;
	z-index: 9998;
	right: 1.25rem;
	bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.45;
}

.iplot-a11y__trigger,
.iplot-a11y__close,
.iplot-a11y__sizes button,
.iplot-a11y__option,
.iplot-a11y__reset {
	font: inherit;
}

.iplot-a11y__trigger {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	gap: .55rem;
	padding: .7rem 1rem;
	color: #fff;
	background: #0f2f25;
	border: 2px solid #fff;
	border-radius: 999px;
	box-shadow: 0 0 0 2px #0f2f25, 0 8px 24px rgba(0,0,0,.2);
	cursor: pointer;
	font-weight: 800;
}

.iplot-a11y__trigger:hover { color: #fff; background: #9d561f; }
.iplot-a11y__trigger svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; }

.iplot-a11y__panel {
	position: absolute;
	right: 0;
	bottom: calc(100% + .85rem);
	width: min(340px, calc(100vw - 2rem));
	max-height: min(680px, calc(100vh - 6rem));
	overflow: auto;
	padding: 1.15rem;
	color: #16201b;
	background: #fff;
	border: 1px solid #cbd3cd;
	border-radius: 1rem;
	box-shadow: 0 18px 55px rgba(8,27,21,.26);
}

.iplot-a11y__panel[hidden] { display: none; }
.iplot-a11y__panel p { margin: 0 0 1rem; color: #3e4943; font-size: .88rem; }
.iplot-a11y__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .35rem; }
.iplot-a11y__header strong { color: #16201b; font-size: 1.2rem; }
.iplot-a11y__close { display: grid; width: 44px; height: 44px; flex: 0 0 auto; padding: 0; place-items: center; color: #16201b; background: #f4f0e7; border: 1px solid #cbd3cd; border-radius: 50%; cursor: pointer; font-size: 1.55rem; line-height: 1; }

.iplot-a11y__fieldset { margin: 0 0 .9rem; padding: 0; border: 0; }
.iplot-a11y__fieldset legend { margin-bottom: .45rem; color: #16201b; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.iplot-a11y__sizes { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
.iplot-a11y__sizes button { min-height: 44px; padding: .45rem; color: #173f31; background: #fff; border: 1px solid #839088; border-radius: .5rem; cursor: pointer; font-weight: 800; }
.iplot-a11y__sizes button[aria-pressed="true"] { color: #fff; background: #173f31; border-color: #173f31; }

.iplot-a11y__toggles { display: grid; gap: .45rem; }
.iplot-a11y__option { display: grid; width: 100%; min-height: 54px; gap: .1rem; padding: .65rem .75rem; color: #16201b; background: #fff; border: 1px solid #839088; border-radius: .55rem; cursor: pointer; text-align: left; }
.iplot-a11y__option strong { font-size: .9rem; }
.iplot-a11y__option span { color: #46534c; font-size: .74rem; }
.iplot-a11y__option[aria-pressed="true"] { background: #e8f2ed; border-color: #173f31; box-shadow: inset 4px 0 0 #173f31; }

.iplot-a11y__reset { width: 100%; min-height: 44px; margin-top: .75rem; padding: .55rem; color: #173f31; background: transparent; border: 0; border-radius: .4rem; cursor: pointer; font-size: .8rem; font-weight: 750; text-decoration: underline; text-underline-offset: .2em; }
.iplot-a11y__statement { display: flex; min-height: 44px; align-items: center; justify-content: space-between; margin-top: .45rem; padding-top: .75rem; color: #173f31; border-top: 1px solid #dce1dc; font-size: .85rem; font-weight: 800; text-decoration: none; }

.iplot-a11y :focus-visible {
	outline: 2px solid #fff;
	outline-offset: 0;
	box-shadow: 0 0 0 4px #0f2f25;
}

html.iplot-a11y-text-large { font-size: 115%; }
html.iplot-a11y-text-xlarge { font-size: 125%; }

html.iplot-a11y-links body a:not(.iplot-a11y__trigger) {
	text-decoration: underline !important;
	text-decoration-thickness: .12em !important;
	text-underline-offset: .18em !important;
}

html.iplot-a11y-contrast {
	--ink: #000;
	--ink-soft: #202722;
	--forest: #082d22;
	--forest-2: #001c14;
	--copper-dark: #743606;
	--sand: #fff;
	--paper: #fff;
	--line: #59635d;
}

html.iplot-a11y-contrast .site-footer,
html.iplot-a11y-contrast .section--forest,
html.iplot-a11y-contrast .topbar { background-color: #00150f; }
html.iplot-a11y-contrast :is(.hero__lead, .hero__proof li, .feature-card p, .section--forest p, .site-footer, .site-footer p, .site-footer a) { color: #fff; }
html.iplot-a11y-contrast .hero::after,
html.iplot-a11y-contrast .feature-card::after { opacity: 1; }

html.iplot-a11y-reduce-motion,
html.iplot-a11y-reduce-motion body { scroll-behavior: auto !important; }
html.iplot-a11y-reduce-motion *,
html.iplot-a11y-reduce-motion *::before,
html.iplot-a11y-reduce-motion *::after {
	animation-duration: .01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: .01ms !important;
	scroll-behavior: auto !important;
}

.iplot-a11y-statement__lead { padding: 1.2rem 1.35rem; color: #173f31; background: #edf3ef; border-left: 4px solid #9d561f; border-radius: .45rem; font-size: 1.08rem; }
.iplot-a11y-statement h2 { margin-top: 1.6em; }
.iplot-a11y-statement__contact { padding: 1rem 1rem 1rem 2.25rem; background: #f4f0e7; border-radius: .55rem; }
.iplot-a11y-statement__facts { display: grid; gap: 1px; overflow: hidden; margin-top: 1.25rem; background: #dce1dc; border: 1px solid #dce1dc; border-radius: .65rem; }
.iplot-a11y-statement__facts > div { padding: 1rem; background: #fff; }
.iplot-a11y-statement__facts dt { color: #173f31; font-weight: 800; }
.iplot-a11y-statement__facts dd { margin: .25rem 0 0; }

@media (max-width: 820px) {
	.iplot-a11y { z-index: 90; top: calc(var(--header-height, 72px) + 3.25rem + env(safe-area-inset-top, 0px)); right: 1rem; bottom: auto; }
	.iplot-a11y__trigger { width: 48px; height: 48px; justify-content: center; padding: 0; }
	.iplot-a11y__trigger span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
	.iplot-a11y__panel { position: fixed; top: calc(var(--header-height, 72px) + 3.25rem + env(safe-area-inset-top, 0px)); right: 1rem; bottom: 1rem; left: 1rem; width: auto; max-height: none; }
}

@media (max-width: 782px) {
	body.admin-bar .iplot-a11y,
	body.admin-bar .iplot-a11y__panel { top: calc(46px + var(--header-height, 72px) + 3.25rem + env(safe-area-inset-top, 0px)); }
}

@media (min-width: 783px) and (max-width: 820px) {
	body.admin-bar .iplot-a11y,
	body.admin-bar .iplot-a11y__panel { top: calc(32px + var(--header-height, 72px) + 3.25rem + env(safe-area-inset-top, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
	.iplot-a11y *, .iplot-a11y *::before, .iplot-a11y *::after { transition-duration: .01ms !important; }
}

@media print {
	.iplot-a11y { display: none !important; }
}
