/* AgriPurpose – Approved Regenerating
 * Colours sampled from the AgriPurpose logo and the Approved Regenerating badges.
 * Typography is inherited from the site (Bricks) so headings and body match the rest of agripurpose.farm.
 * Override any token in Bricks → Settings → Custom CSS, e.g.  .ap-scheme { --ap-sticky-top: 120px; }
 */
.ap-scheme {
	--ap-ink: #1c6976;        /* logo wordmark teal */
	--ap-blue: #027cbf;       /* logo blue */
	--ap-leaf: #98c669;       /* logo light green */
	--ap-green: #51826b;      /* badge: approved */
	--ap-gold: #cfab42;       /* badge: lower field */
	--ap-orange: #f07d19;     /* badge: first down year */
	--ap-red: #e30613;        /* badge: second down year / not approved */
	--ap-text: inherit;
	--ap-muted: #5d6d68;
	--ap-line: #d8e2dc;
	--ap-surface: #f2f6f3;
	--ap-radius: 10px;
	--ap-sticky-top: 110px;   /* clears the sticky site header */
	--ap-hex: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);

	color: var(--ap-text);
	line-height: 1.6;
	margin-block: 0 4rem;
}
.ap-scheme *,
.ap-scheme *::before,
.ap-scheme *::after { box-sizing: border-box; }
.ap-scheme a { color: var(--ap-blue); text-underline-offset: 3px; }
.ap-scheme a:hover { color: var(--ap-ink); }
.ap-scheme :focus-visible { outline: 3px solid var(--ap-gold); outline-offset: 2px; border-radius: 4px; }
.ap-scheme ul[role="list"] { list-style: none; margin: 0; padding: 0; }
.ap-scheme img { max-width: 100%; height: auto; }
.ap-scheme .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* ---------- Shared pieces ---------- */
.ap-intro { max-width: 46rem; margin-bottom: 2.5rem; }
.ap-intro h2 { margin: 0 0 .75rem; }
.ap-lead { font-size: 1.2em; line-height: 1.5; color: var(--ap-ink); margin: 0 0 .75rem; }
.ap-intro p:last-child { margin-bottom: 0; }
.ap-sub { display: block; margin: 0; font-size: .875em; color: var(--ap-muted); }
.ap-note { margin-top: 2rem; font-size: .9em; color: var(--ap-muted); max-width: 52rem; }
.ap-empty {
	padding: 2rem; border: 1px dashed var(--ap-line); border-radius: var(--ap-radius);
	color: var(--ap-muted); text-align: center;
}

/* Hexagon chip: the badge outline reused to mark document IDs */
.ap-hex {
	--s: 2.5rem;
	display: inline-grid; place-items: center; flex: none;
	width: var(--s); height: calc(var(--s) * 1.125);
	clip-path: var(--ap-hex);
	background: var(--ap-green); color: #fff;
	font-weight: 700; font-size: calc(var(--s) * .34); line-height: 1; letter-spacing: .01em;
}
.ap-hex--core { background: var(--ap-ink); font-size: calc(var(--s) * .27); }
.ap-hex--sm { --s: 1.6rem; }
.ap-hex--lg { --s: 3.5rem; }
.ap-hex--mono { background: var(--ap-surface); color: var(--ap-ink); box-shadow: inset 0 0 0 2px var(--ap-line); }

.ap-pill {
	display: inline-block; padding: .1em .65em; border-radius: 999px;
	background: color-mix(in srgb, var(--ap-green) 14%, #fff); color: var(--ap-green);
	font-size: .85em; font-weight: 600; white-space: nowrap;
}

.ap-btn {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .6rem 1.15rem; border-radius: 999px; border: 2px solid var(--ap-green);
	background: var(--ap-green); color: #fff !important; font: inherit; font-weight: 600; font-size: .95em;
	text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s;
}
.ap-btn:hover { background: var(--ap-ink); border-color: var(--ap-ink); }
.ap-btn--ghost { background: transparent; color: var(--ap-green) !important; }
.ap-btn--ghost:hover { background: var(--ap-surface); color: var(--ap-ink) !important; border-color: var(--ap-ink); }

.ap-icon-btn {
	display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%;
	color: var(--ap-green) !important; border: 1px solid var(--ap-line);
}
.ap-icon-btn:hover { background: var(--ap-surface); }

/* Toolbar: search, chips, select (mirrors the filter on /our-partners/) */
.ap-toolbar { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin: 2rem 0 1.25rem; }
.ap-search { flex: 1 1 18rem; }
.ap-search input,
.ap-select select {
	width: 100%; font: inherit; font-size: .95em; padding: .65rem 1rem;
	border: 1px solid var(--ap-line); border-radius: 999px; background: #fff; color: inherit;
}
.ap-search input:focus,
.ap-select select:focus { outline: none; border-color: var(--ap-green); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ap-green) 22%, transparent); }
.ap-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.ap-chip {
	font: inherit; font-size: .9em; padding: .45rem .95rem; border-radius: 999px; cursor: pointer;
	border: 1px solid var(--ap-line); background: #fff; color: inherit;
}
.ap-chip:hover { border-color: var(--ap-green); }
.ap-chip[aria-pressed="true"] { background: var(--ap-green); border-color: var(--ap-green); color: #fff; }
.ap-count { opacity: .7; font-size: .85em; margin-left: .15em; }

/* ---------- Documentation hub ---------- */
.ap-hub-intro { display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: center; max-width: 60rem; }
.ap-hub-badge { width: 150px; }
@media (max-width: 640px) {
	.ap-hub-intro { grid-template-columns: 1fr; }
	.ap-hub-badge { width: 110px; }
}

.ap-roles {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	border-block: 1px solid var(--ap-line); margin-bottom: 3rem;
}
.ap-roles > div { padding: 1.5rem 1.5rem 1.5rem 0; }
.ap-roles > div + div { padding-left: 1.5rem; border-left: 1px solid var(--ap-line); }
.ap-roles h3 { font-size: 1.05em; margin: 0 0 .35rem; color: var(--ap-ink); }
.ap-roles p { margin: 0; font-size: .95em; }
@media (max-width: 760px) {
	.ap-roles > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--ap-line); }
}

.ap-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .5rem 2rem; }
.ap-section-head h2 { margin: 0; }
.ap-link-download { font-weight: 600; }
.ap-register-group { font-size: 1em; color: var(--ap-muted); font-weight: 600; margin: 2.25rem 0 .25rem; }

.ap-register-item {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 1.25rem; align-items: center;
	padding: 1.1rem 0; border-bottom: 1px solid var(--ap-line);
}
.ap-register-title { font-weight: 700; font-size: 1.05em; color: inherit !important; text-decoration: none; }
.ap-register-title:hover { color: var(--ap-green) !important; text-decoration: underline; }
.ap-register-main p { margin: .2rem 0 0; font-size: .92em; color: var(--ap-muted); }
.ap-register-meta { display: flex; gap: 1.5rem; margin: 0; }
.ap-register-meta div { min-width: 7.5rem; }
.ap-register-meta dt { font-size: .78em; color: var(--ap-muted); }
.ap-register-meta dd { margin: 0; font-size: .92em; }
@media (max-width: 760px) {
	.ap-register-item { grid-template-columns: auto minmax(0, 1fr) auto; }
	.ap-register-meta { grid-column: 2 / 3; grid-row: 2; gap: 1rem; }
	.ap-register-item .ap-icon-btn { grid-column: 3; grid-row: 1; }
}

.ap-related {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; margin-top: 3.5rem;
}
.ap-related a {
	display: block; padding: 1.25rem 1.4rem; border-radius: var(--ap-radius); text-decoration: none;
	background: var(--ap-surface); color: inherit !important; border-top: 4px solid var(--ap-gold);
}
.ap-related a:hover { background: color-mix(in srgb, var(--ap-leaf) 22%, #fff); }
.ap-related strong { display: block; color: var(--ap-ink); }
.ap-related span { font-size: .9em; color: var(--ap-muted); }

/* ---------- Single document (knowledge-hub layout) ---------- */
.ap-doc-layout {
	display: grid; gap: 2.5rem;
	grid-template-columns: 15rem minmax(0, 1fr) 13rem;
	align-items: start;
}
@media (max-width: 1279px) { .ap-doc-layout { grid-template-columns: 14rem minmax(0, 1fr); } .ap-doc-toc { display: none; } }
@media (max-width: 1023px) { .ap-doc-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; } }

.ap-doc-nav,
.ap-doc-toc { position: sticky; top: var(--ap-sticky-top); max-height: calc(100vh - var(--ap-sticky-top) - 1rem); overflow-y: auto; font-size: .9em; }
@media (max-width: 1023px) { .ap-doc-nav { position: static; max-height: none; } }

.ap-doc-nav-inner > summary {
	cursor: pointer; font-weight: 700; padding: .6rem 0; color: var(--ap-ink); list-style-position: inside;
}
@media (min-width: 1024px) { .ap-doc-nav-inner > summary { pointer-events: none; list-style: none; } .ap-doc-nav-inner > summary::-webkit-details-marker { display: none; } }
@media (max-width: 1023px) { .ap-doc-nav-inner { border: 1px solid var(--ap-line); border-radius: var(--ap-radius); padding: 0 1rem .5rem; } }
.ap-doc-nav-home { display: block; margin: .25rem 0 .75rem; font-weight: 600; }
.ap-doc-nav-group { margin: 1rem 0 .35rem; font-size: .85em; color: var(--ap-muted); font-weight: 600; }
.ap-doc-nav li a {
	display: flex; gap: .6rem; align-items: center; padding: .35rem .5rem; border-radius: 6px;
	color: inherit !important; text-decoration: none; line-height: 1.3;
}
.ap-doc-nav li a:hover { background: var(--ap-surface); }
.ap-doc-nav li a[aria-current="page"] { background: var(--ap-surface); font-weight: 700; color: var(--ap-ink) !important; }

.ap-doc { min-width: 0; }
.ap-doc-head { padding-bottom: 1.75rem; border-bottom: 1px solid var(--ap-line); margin-bottom: 2rem; }
.ap-doc-title { display: flex; gap: 1.1rem; align-items: center; }
.ap-doc-title h1 { margin: 0; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem); line-height: 1.15; }
.ap-doc-type { margin: 0 0 .2rem; color: var(--ap-muted); font-size: .9em; }
.ap-doc-meta { display: flex; flex-wrap: wrap; gap: .75rem 2.25rem; margin: 1.5rem 0 0; }
.ap-doc-meta dt { font-size: .78em; color: var(--ap-muted); }
.ap-doc-meta dd { margin: 0; font-weight: 600; font-size: .95em; }
.ap-doc-meta-wide { flex-basis: 100%; }
.ap-doc-meta-wide dd { font-weight: 400; }
.ap-doc-binding {
	margin: 1.25rem 0 0; padding: .85rem 1.1rem; border-left: 4px solid var(--ap-green);
	background: var(--ap-surface); border-radius: 0 var(--ap-radius) var(--ap-radius) 0; font-size: .93em;
}
.ap-doc-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem; }

/* Document body typography */
.ap-doc-body { max-width: 46rem; }
.ap-doc-body h2 {
	margin: 2.75rem 0 .9rem; padding-top: .25rem; font-size: 1.45em; line-height: 1.25;
	scroll-margin-top: calc(var(--ap-sticky-top) + 1rem);
}
.ap-doc-body h3 { margin: 2rem 0 .6rem; font-size: 1.12em; line-height: 1.3; color: var(--ap-ink); scroll-margin-top: calc(var(--ap-sticky-top) + 1rem); }
.ap-doc-body h2:first-child,
.ap-doc-body h3:first-child { margin-top: 0; }
.ap-doc-body p,
.ap-doc-body li { margin: 0 0 .75rem; }
.ap-doc-body ul,
.ap-doc-body ol { padding-left: 1.4rem; margin: 0 0 1.25rem; }
.ap-doc-body li > p { margin: 0 0 .35rem; }
.ap-doc-body li::marker { color: var(--ap-green); }
.ap-doc-body img { display: block; margin: 1.25rem 0; border-radius: 6px; }
.ap-doc-body img.ap-doc-icon { display: inline-block; width: 44px; height: auto; margin: 0; border-radius: 0; }

.ap-doc-table { overflow-x: auto; margin: 1.25rem 0 1.75rem; border: 1px solid var(--ap-line); border-radius: var(--ap-radius); }
.ap-doc-table table { width: 100%; border-collapse: collapse; font-size: .92em; margin: 0; border: 0; }
.ap-doc-table th,
.ap-doc-table td { padding: .65rem .85rem; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--ap-line); }
.ap-doc-table tr:last-child > * { border-bottom: 0; }
.ap-doc-table thead th,
.ap-doc-table tr:first-child th { background: var(--ap-surface); font-weight: 700; }
.ap-doc-table p { margin: 0 0 .35rem; }
.ap-doc-table img { margin: 0; }

/* Steps and notes from the SOC Sampling Protocol */
.ap-doc-step {
	display: flex; gap: 1rem; align-items: center; margin: 2.75rem 0 .75rem; padding-bottom: .6rem;
	border-bottom: 3px solid var(--ap-gold);
}
.ap-doc-step h2,
.ap-doc-step h3 { margin: 0; }
.ap-doc-role { display: inline-block; margin: 0 0 1rem; font-size: .85em; font-weight: 600; color: var(--ap-ink); background: var(--ap-surface); padding: .15rem .7rem; border-radius: 999px; }
.ap-doc-note {
	display: flex; gap: 1rem; align-items: flex-start; margin: 1.25rem 0; padding: 1rem 1.15rem;
	background: color-mix(in srgb, var(--ap-gold) 13%, #fff); border-radius: var(--ap-radius);
}
.ap-doc-note p:last-child { margin-bottom: 0; }

.ap-doc-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid var(--ap-line); }
.ap-doc-pager a {
	display: block; padding: 1rem 1.2rem; border: 1px solid var(--ap-line); border-radius: var(--ap-radius);
	color: inherit !important; text-decoration: none; font-weight: 600; line-height: 1.35;
}
.ap-doc-pager a:hover { border-color: var(--ap-green); }
.ap-doc-pager span { display: block; font-weight: 400; font-size: .85em; color: var(--ap-muted); margin-bottom: .2rem; }
.ap-doc-next { grid-column: 2; text-align: right; }

.ap-doc-toc-title { margin: .6rem 0 .5rem; font-weight: 700; color: var(--ap-ink); }
.ap-doc-toc ul { border-left: 2px solid var(--ap-line); }
.ap-doc-toc a {
	display: block; padding: .25rem 0 .25rem .9rem; margin-left: -2px; border-left: 2px solid transparent;
	color: var(--ap-muted) !important; text-decoration: none; line-height: 1.35;
}
.ap-doc-toc .ap-toc-l3 a { padding-left: 1.7rem; font-size: .95em; }
.ap-doc-toc a:hover { color: var(--ap-ink) !important; }
.ap-doc-toc a[aria-current] { border-left-color: var(--ap-green); color: var(--ap-ink) !important; font-weight: 600; }

/* ---------- Certified farms ---------- */
.ap-legend {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr)); gap: 1rem 1.75rem;
	padding: 1.5rem; background: var(--ap-surface); border-radius: var(--ap-radius);
}
/* Badges are shown at 120 px – the on-screen minimum in the Logo Use Guideline (Annex G §3). */
.ap-legend-item { display: flex; flex-direction: column; gap: .75rem; align-items: flex-start; }
.ap-legend-item img { width: 120px; flex: none; }
.ap-legend-item p { margin: 0; font-size: .9em; }
.ap-legend-item .ap-legend-label { font-weight: 700; font-size: 1em; margin-bottom: .15rem; }
.ap-st--approved .ap-legend-label { color: var(--ap-green); }
.ap-st--down-year-1 .ap-legend-label { color: #c25e08; }  /* darker orange for text contrast */
.ap-st--down-year-2 .ap-legend-label,
.ap-st--suspended .ap-legend-label { color: #c00510; }
@media (max-width: 640px) { .ap-legend { grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; padding: 1.1rem; } }
.ap-legend-more { grid-column: 1 / -1; margin: 0; font-size: .9em; }

.ap-farm-row {
	display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(0, 1.2fr) minmax(0, 1.3fr) minmax(0, .9fr);
	gap: 1rem; align-items: center; padding: 1rem .25rem; border-bottom: 1px solid var(--ap-line);
}
.ap-farm-row[hidden] { display: none; }
.ap-farm-row--head { padding-block: .5rem; font-size: .8em; color: var(--ap-muted); font-weight: 600; border-bottom-width: 2px; }
.ap-farm-name { display: flex; gap: .9rem; align-items: center; }
/* Rows use a plain status marker, not the mark itself (too small to meet Annex G). */
.ap-status-hex { --c: var(--ap-green); width: 1.1rem; height: 1.25rem; flex: none; clip-path: var(--ap-hex); background: var(--c); }
.ap-st--down-year-1 .ap-status-hex { --c: var(--ap-orange); }
.ap-st--down-year-2 .ap-status-hex { --c: var(--ap-red); }
.ap-st--suspended .ap-status-hex,
.ap-st--expired .ap-status-hex { --c: transparent; box-shadow: inset 0 0 0 3px var(--ap-red); background: repeating-linear-gradient(45deg, var(--ap-red) 0 2px, transparent 2px 6px); }
.ap-farm-title { margin: 0; font-weight: 700; line-height: 1.3; }
.ap-farm-title a { color: inherit !important; }
.ap-status { font-weight: 600; font-size: .92em; }
.ap-st--approved .ap-status { color: var(--ap-green); }
.ap-st--down-year-1 .ap-status { color: #c25e08; }
.ap-st--down-year-2 .ap-status,
.ap-st--suspended .ap-status,
.ap-st--expired .ap-status { color: #c00510; }
.ap-level { display: block; margin-top: .2rem; font-size: .8em; color: var(--ap-muted); }
.ap-level--certified { color: var(--ap-ink); font-weight: 600; }
.ap-cert { font-variant-numeric: tabular-nums; font-weight: 600; font-size: .92em; }
.ap-farm-row.ap-st--suspended,
.ap-farm-row.ap-st--expired { background: color-mix(in srgb, var(--ap-red) 4%, #fff); }

@media (max-width: 760px) {
	.ap-farm-row--head { display: none; }
	.ap-farm-row { grid-template-columns: 1fr 1fr; gap: .6rem 1rem; padding: 1.1rem .25rem; }
	.ap-farm-name { grid-column: 1 / -1; }
	.ap-farm-row [data-label]::before { content: attr(data-label); display: block; font-size: .75em; color: var(--ap-muted); }
	.ap-farm-row .ap-cell-status { grid-column: 1 / -1; }
}

/* ---------- Consultants, samplers, labs ---------- */
.ap-partner-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: 1.25rem; }
.ap-partner {
	display: flex; flex-direction: column; gap: 1rem; padding: 1.5rem;
	border: 1px solid var(--ap-line); border-radius: var(--ap-radius); background: #fff;
}
.ap-partner[hidden] { display: none; }
.ap-partner-head { display: flex; gap: 1rem; align-items: center; }
.ap-partner-logo { width: 4.5rem; height: 4.5rem; flex: none; display: grid; place-items: center; }
.ap-partner-logo img { max-height: 100%; object-fit: contain; }
.ap-partner-name { margin: 0 0 .1rem; font-size: 1.1em; line-height: 1.3; }
.ap-partner-text { font-size: .93em; }
.ap-partner-text p { margin: 0 0 .5rem; }
.ap-partner-facts { margin: 0; display: grid; gap: .5rem; font-size: .9em; }
.ap-partner-facts dt { font-size: .82em; color: var(--ap-muted); }
.ap-partner-facts dd { margin: 0; }
.ap-partner-contact {
	margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--ap-line);
	display: flex; flex-direction: column; gap: .2rem; font-size: .92em; word-break: break-word;
}

/* ---------- Motion & print ---------- */
@media (prefers-reduced-motion: reduce) {
	.ap-scheme * { transition: none !important; scroll-behavior: auto !important; }
}

@media print {
	.ap-doc-nav, .ap-doc-toc, .ap-doc-actions, .ap-doc-pager,
	#brx-header, #brx-footer, header.brx-header, footer.brx-footer { display: none !important; }
	.ap-doc-layout { display: block; }
	.ap-doc-body { max-width: none; }
	.ap-doc-binding { border-left-color: #000; background: none; }
	.ap-doc-table { overflow: visible; }
	.ap-scheme a { color: inherit; }
}

:root{color-scheme:light;--pvh:84px;--ap-hex:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);--teal:#1c6976;--teal-deep:#14505a;--ink:#16313a;--sage:#f2f6f3;--line:#dfe8e3;
 box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(var(--pvh) + 16px + env(safe-area-inset-top,0px))}
body{margin:0;background:#fff;color:#22332e;font-family:"Barlow",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:18px;line-height:1.6}
h1,h2,h3,h4{font-family:"Barlow Semi Condensed","Barlow",system-ui,sans-serif;color:var(--ink);letter-spacing:-.005em}
.pv-wrap{max-width:1280px;margin:0 auto;padding:0 clamp(18px,4vw,56px)}
.pv-banner{background:#d7aa21;color:#16313a;font-size:14px;font-weight:600;padding:8px 18px;text-align:center}
/* header */
.pv-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.pv-head .pv-wrap{display:flex;align-items:center;gap:28px;height:var(--pvh)}
.pv-logo img{width:58px;height:auto;display:block}
.pv-nav{display:flex;gap:30px;margin-left:auto;align-items:center;font-weight:500}
.pv-nav>a:not(.pv-btn),.pv-about>button{color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:8px 0}
.pv-nav>a:not(.pv-btn):hover,.pv-about>button:hover{color:#51826b}
.pv-about{position:relative}
.pv-about ul{display:none;position:absolute;left:-16px;top:100%;background:#fff;border-radius:14px;padding:10px;margin:0;list-style:none;min-width:300px;box-shadow:0 18px 40px rgba(22,49,58,.16)}
.pv-about:hover ul,.pv-about:focus-within ul{display:block}
.pv-about li a{display:block;padding:9px 14px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:16px}
.pv-about li a:hover{background:var(--sage)}
.pv-about li.pv-sep{border-top:1px solid var(--line);margin:6px 8px}
.pv-about li.pv-new a::after{content:"new";margin-left:8px;font-size:11px;font-weight:700;color:#51826b;background:#e3eee7;border-radius:999px;padding:1px 7px;vertical-align:2px}
.pv-app{font-size:15px;color:var(--teal)!important}
.pv-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:999px;font:inherit;font-weight:600;font-size:16px;text-decoration:none;cursor:pointer;border:2px solid #51826b;background:#51826b;color:#fff!important;transition:background-color .15s,color .15s,border-color .15s}
.pv-btn:hover{background:var(--teal);border-color:var(--teal)}
.pv-btn--ghost{background:transparent;color:#51826b!important}
.pv-btn--ghost:hover{background:#fff;color:var(--teal)!important}
.pv-btn--light{background:#fff;border-color:#fff;color:var(--teal)!important}
.pv-btn--light:hover{background:#e9f2ee;border-color:#e9f2ee}
.pv-btn--outline-light{background:transparent;border-color:rgba(255,255,255,.6);color:#fff!important}
.pv-btn--outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff}
/* hero */
.pv-hero{position:relative;background:radial-gradient(120% 140% at 85% 0%,#227e8c 0%,var(--teal) 45%,var(--teal-deep) 100%);color:#e6f1ee;padding:clamp(36px,6vw,72px) 0 clamp(110px,12vw,150px);overflow:hidden}
.pv-hero--compact{padding-bottom:clamp(96px,10vw,128px)}
.pv-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.pv-hero h1{color:#fff;margin:0 0 6px;font-size:clamp(1.05rem,.9rem + .6vw,1.35rem);font-weight:600;letter-spacing:.01em;opacity:.92}
.pv-statement{color:#fff;margin:0 0 18px;font-size:clamp(2.1rem,1.3rem + 3vw,3.6rem);line-height:1.08;font-weight:700;max-width:18ch}
.pv-hero--compact .pv-statement{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);font-weight:500;opacity:.85;max-width:none;margin:10px 0 0}
.pv-hero-lead{font-size:clamp(1.05rem,1rem + .35vw,1.25rem);max-width:58ch;margin:0;color:#d5e7e2}
.pv-crumb{margin:0 0 26px;font-size:14px;color:#b9d6cf}
.pv-crumb a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.pv-crumb a:hover{border-bottom-color:#fff}
.pv-hero-badge{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:28px}
.pv-hero-badge img{display:block;width:clamp(130px,16vw,190px);height:auto}
.pv-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(70px,9vw,140px)}
.pv-doc-h1{display:flex;align-items:center;gap:18px;font-size:clamp(1.9rem,1.2rem + 2.4vw,3rem);font-weight:700;line-height:1.1;opacity:1}
.pv-hero--compact h1{font-size:inherit;opacity:1}
.ap-hex--light{background:#fff!important;color:var(--teal)!important}
.pv-doc-hero-side{min-width:280px}
.pv-doc-meta{display:grid;grid-template-columns:auto auto;gap:10px 28px;margin:0 0 10px}
.pv-doc-meta dt{font-size:13px;color:#b9d6cf}
.pv-doc-meta dd{margin:0;font-weight:600;color:#fff}
.pv-doc-by{font-size:14px;color:#b9d6cf;margin:0 0 18px;max-width:34ch}
.pv-doc-actions{display:flex;gap:10px;flex-wrap:wrap}
.pv-binding{margin:-30px 0 40px;position:relative;z-index:2;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(22,49,58,.10);padding:16px 22px;border-left:5px solid #51826b;font-size:16px;max-width:900px}
@media(max-width:900px){.pv-hero-grid{grid-template-columns:1fr}.pv-hero-badge{justify-self:start}}
/* stats like the home page counters */
.pv-stats{padding:10px 0 30px}
.pv-stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
.pv-stats strong{display:block;font-family:"Barlow Semi Condensed","Barlow",sans-serif;font-size:clamp(2.4rem,2rem + 1.4vw,3.2rem);line-height:1;color:var(--teal);margin-bottom:8px}
.pv-stats span{color:#53635e;font-size:16px}
/* sections */
.pv-section{padding:clamp(48px,6vw,88px) 0}
.pv-section--tint{background:var(--sage)}
.pv-head2{max-width:780px;margin-bottom:36px}
.pv-head2 h2{font-size:clamp(1.8rem,1.3rem + 1.8vw,2.6rem);line-height:1.15;margin:0 0 10px}
.pv-sub{font-size:1.15rem;color:#53635e;margin:0}
.pv-head2 a,.pv-about a{color:#027cbf;text-underline-offset:3px}
.pv-about p{font-size:clamp(1.1rem,1rem + .4vw,1.3rem);line-height:1.6;max-width:62ch;margin:0;padding-left:24px;border-left:5px solid #d7aa21}
.pv-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.pv-features article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}
.pv-features h3{margin:18px 0 4px;font-size:1.4rem}
.pv-feat-lead{font-weight:600;color:var(--teal);margin:0 0 10px}
.pv-features p{margin:0}
.pv-feat-icon{display:block;width:46px;height:52px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.pv-c1{background:#51826b}.pv-c2{background:#027cbf}.pv-c3{background:#d7aa21}.pv-c4{background:#98c669}
.pv-card{background:#fff;border-radius:20px;padding:8px 24px;box-shadow:0 2px 0 rgba(22,49,58,.03)}
.pv-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.pv-tiles a{position:relative;display:block;padding:24px 24px 56px;border-radius:20px;background:var(--sage);text-decoration:none;color:inherit;transition:background-color .15s,transform .15s}
.pv-tiles a:hover{background:#e3eee7;transform:translateY(-2px)}
.pv-tiles strong{display:block;font-family:"Barlow Semi Condensed","Barlow",sans-serif;font-size:1.3rem;color:var(--ink);margin-bottom:4px}
.pv-tiles span{color:#53635e;font-size:16px}
.pv-tiles svg{position:absolute;left:24px;bottom:22px;color:#51826b}
.pv-claims{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:0 0 24px}
.pv-claim{border:1px solid var(--line);border-radius:20px;padding:22px 24px;background:#fff}
.pv-claim--cert{border-color:#51826b;box-shadow:inset 0 0 0 1px #51826b}
.pv-claim p{margin:0;font-size:16px;color:#53635e}
.pv-claim .pv-claim-line{margin-top:8px;font-weight:600;color:var(--ink)}
.pv-claim-tag{display:inline-block;margin-bottom:10px;padding:3px 12px;border-radius:999px;background:#e3eee7;color:#16313a;font-weight:600;font-size:14px}
.pv-claim--cert .pv-claim-tag{background:#51826b;color:#fff}
/* footer like the site's Get In Touch block */
.pv-foot{background:var(--teal-deep);color:#cfe3dd;padding:64px 0 28px;font-size:16px}
.pv-foot h2{color:#fff;font-size:clamp(1.8rem,1.4rem + 1.4vw,2.4rem);margin:0 0 30px}
.pv-foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.pv-foot h4{color:#fff;margin:0 0 8px;font-size:1.05rem}
.pv-foot p{margin:0}
.pv-foot a{color:#fff}
.pv-foot-legal{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:14px}
.pv-foot-legal div{display:flex;gap:20px}
/* plugin components re-tuned to the site look */
.ap-scheme{--ap-sticky-top:calc(var(--pvh) + 24px);--ap-radius:16px;--ap-surface:#f2f6f3;margin:0}
.ap-register-item{background:#fff;border:0;border-radius:16px;padding:20px 22px;margin-bottom:12px;box-shadow:0 1px 0 rgba(22,49,58,.04)}
.ap-register-group{font-family:"Barlow Semi Condensed","Barlow",sans-serif;font-size:1.1rem;color:var(--teal);margin:34px 0 12px}
.ap-register-title{font-family:"Barlow Semi Condensed","Barlow",sans-serif;font-size:1.25rem}
.ap-section-head{align-items:flex-end;margin-bottom:6px}
.ap-legend{background:var(--sage);border-radius:20px;padding:30px}
.ap-chip{padding:9px 18px;font-weight:500}
.ap-search input,.ap-select select{padding:12px 20px;background:#fff}
.ap-partner{border:0;border-radius:20px;padding:28px;box-shadow:0 1px 0 rgba(22,49,58,.04)}
.ap-partner-name{font-family:"Barlow Semi Condensed","Barlow",sans-serif;font-size:1.3rem}
.ap-hex--mono{background:#e3eee7;box-shadow:none}
.ap-farm-row--head{border-bottom-color:var(--line)}
.ap-doc-body{font-size:17px}
.ap-doc-body h2{font-family:"Barlow Semi Condensed","Barlow",sans-serif}
.ap-doc-nav li a[aria-current="page"],.ap-doc-nav li a:hover{background:var(--sage)}
@media(max-width:1000px){.pv-app{display:none}}
@media(max-width:860px){.pv-nav>a:not(.pv-btn){display:none}}
@media(max-width:560px){.pv-nav .pv-btn{display:none}}

/* standalone site additions */
.pv-about>button{display:flex;align-items:center;gap:4px}
.pv-about.is-open ul{display:block}
.pv-doc-by{margin:0}
.ap-empty a{color:#027cbf}
@media(max-width:560px){.pv-about ul{right:-12px;left:auto;min-width:260px}}
/* one-page layout */
:root{--pvh:72px}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--pvh) + 12px + env(safe-area-inset-top,0px))}
.pv-head .pv-wrap{gap:clamp(12px,3vw,32px)}
.pv-logo{flex:none}
.pv-logo img{width:48px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.pv-secnav{flex:1;min-width:0;display:flex;justify-content:flex-end}
.pv-secnav ul{display:flex;gap:4px;list-style:none;margin:0;padding:4px 0;overflow-x:auto;scrollbar-width:none;max-width:100%}
.pv-secnav ul::-webkit-scrollbar{display:none}
.pv-secnav a{display:block;white-space:nowrap;padding:7px 14px;border-radius:999px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:500}
.pv-secnav a:hover{background:var(--sage)}
.pv-secnav a[aria-current]{background:#51826b;color:#fff}
.pv-hero{padding-top:clamp(32px,5vw,64px)}
.pv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;counter-reset:none}
.pv-steps li{background:#fff;border-radius:20px;padding:26px;position:relative}
.pv-steps h3{margin:14px 0 6px;font-size:1.25rem}
.pv-steps p{margin:0;font-size:16px}
.pv-steps a{color:#027cbf}
.pv-step-no{display:inline-grid;place-items:center;width:44px;height:50px;clip-path:var(--ap-hex);background:#1c6976;color:#fff;font-weight:700;font-family:"Barlow Semi Condensed","Barlow",sans-serif;font-size:1.2rem}
.ap-legend--white{background:#fff}
#farms .ap-farms{margin-top:8px}
.pv-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 28px;padding:6px;background:var(--sage);border-radius:999px;width:fit-content;max-width:100%}
.pv-tabs button{font:inherit;font-weight:600;font-size:16px;border:0;background:transparent;color:var(--ink);padding:10px 20px;border-radius:999px;cursor:pointer}
.pv-tabs button:hover{background:#e3eee7}
.pv-tabs button[aria-selected="true"]{background:#51826b;color:#fff}
@media(max-width:560px){.pv-tabs{border-radius:16px}.pv-tabs button{padding:8px 14px;font-size:15px}}
.pv-panel-intro{max-width:820px;margin-bottom:8px}
.pv-panel-intro h3{font-size:1.6rem;margin:0 0 6px}
.pv-panel-lead{font-size:1.15rem;color:var(--teal);margin:0 0 10px}
.pv-panel-intro a{color:#027cbf}
#partners .ap-partner{border:1px solid var(--line)}
.ap-icon-btn--none{visibility:hidden}
.ap-register-meta div{min-width:8.5rem}
.ap-register-item{grid-template-columns:auto minmax(0,1fr) 19rem auto}
@media(max-width:760px){.ap-register-item{grid-template-columns:auto minmax(0,1fr) auto}}
