/* Was inline in page 218 (policy-administration) until 4 September 2026; moved by the
   audit's CSS pass so git, review and the theme comparison can see it. */
@keyframes gnPulse { 0%,100% { box-shadow: 0 0 0 0 rgb(from var(--genasys-sea-green) r g b / 0.3); } 50% { box-shadow: 0 0 0 8px rgb(from var(--genasys-sea-green) r g b / 0); } }
.gn-awards-badge-oncover { background: var(--pa-accent); color: var(--pa-white); animation: gnPulse 1.8s ease infinite; }
/* The logos on this page sit on plain white (Ed). */
.gn-logos-fade { background-image: none; }

/* §416 Policy administration for insurers, MGAs and brokers */
.gn-da-heading span { color: var(--wp--preset--color--accent); }
.gn-da-intro { max-width: 760px; margin-inline: auto !important; }
.gn-da .gn-icards { --gn-icard-cols: 3; margin-top: 48px; }
.gn-da .gn-icard { padding-top: 0; overflow: visible; }
.gn-da .gn-icard::before, .gn-da .gn-icard::after { display: none; }
/* A full brand colour behind each screen, a contrasting blob, and the heading and link in the card colour (Ed). */
.gn-da .gn-icard { --gn-textlink-colour: var(--hue); }
.gn-da .gn-icard.gn-hue-primary { --da-blob: var(--wp--preset--color--accent); }
.gn-da .gn-icard.gn-hue-purple { --da-blob: var(--wp--preset--color--cta-hover); }
.gn-da .gn-icard.gn-hue-accent { --da-blob: var(--wp--preset--color--primary); }
.gn-da .gn-icard h3 { color: var(--hue); }
/* Each card opens with a small working screen on a tint of the card's colour. */
.gn-da-pic { position: relative; width: calc(100% + 56px); max-width: none !important; margin: 0 -28px 24px !important; padding: 28px 28px 30px; border-radius: var(--card-radius) var(--card-radius) 0 0; background: var(--hue); overflow: hidden; }
.gn-da-pic::before { content: ""; position: absolute; right: -40px; bottom: -50px; width: 170px; height: 150px; border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; background: var(--da-blob); }
.gn-da-screen { position: relative; border-radius: 12px; background: var(--wp--preset--color--white); box-shadow: 0 8px 24px var(--shadow-mid); font-size: 13px; line-height: 1.3; color: var(--wp--preset--color--ink); }
.gn-da-hd { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 10px 14px; border-radius: 12px 12px 0 0; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); font-weight: 700; }
.gn-da-hd small { font-size: 11px; font-weight: 600; opacity: 0.75; }
.gn-da-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid var(--neutral-100); }
.gn-da-row:last-child { border-bottom: 0; }
.gn-da-row b { font-weight: 700; }
.gn-da-row--bar { grid-template-columns: 92px 1fr auto; }
.gn-da-bar { height: 8px; border-radius: 4px; background: var(--neutral-100); overflow: hidden; }
.gn-da-bar i { display: block; height: 100%; border-radius: 4px; background: var(--hue); transform-origin: left; }
.gn-da-bar--55 i { width: 55%; }
.gn-da-bar--80 i { width: 80%; }
.gn-da-bar--45 i { width: 45%; }
.gn-da-swap { display: grid; justify-items: end; }
.gn-da-swap > * { grid-area: 1 / 1; }
.gn-da-pill { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 50px; font-size: 11px; font-weight: 700; white-space: nowrap; background: var(--neutral-100); color: var(--neutral-500); }
.gn-da-pill--done { background: color-mix(in srgb, var(--hue) 18%, var(--wp--preset--color--white)); color: var(--wp--preset--color--ink); }
.gn-da-total { font-weight: 700; }
/* Ticks as on the zig-zags, in the card's colour. */
.gn-da .gn-icard ul { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.gn-da .gn-icard li { position: relative; margin: 0; padding-left: 30px; }
.gn-da .gn-icard li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; background: var(--hue);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center / contain no-repeat; }
.gn-da .gn-icard .gn-textlink { margin-top: 18px !important; }
/* The screens work in a loop: bars fill, bordereaux go out, a quote binds. 9s each. */
@media (prefers-reduced-motion: no-preference) {
	.gn-da.gn-in .gn-da-bar i { animation: gn-da-grow 9s ease infinite; }
	.gn-da.gn-in .gn-da-row:nth-child(3) .gn-da-bar i { animation-delay: 0.3s; }
	.gn-da.gn-in .gn-da-row:nth-child(4) .gn-da-bar i { animation-delay: 0.6s; }
	.gn-da.gn-in .gn-da-swap .gn-da-pill:first-child { animation: gn-da-off 9s ease infinite; }
	.gn-da.gn-in .gn-da-swap .gn-da-pill--done { animation: gn-da-on 9s ease infinite; }
	.gn-da.gn-in .gn-da-row:nth-child(3) .gn-da-swap > * { animation-delay: 1.2s; }
	.gn-da.gn-in .gn-da-row:nth-child(4) .gn-da-swap > * { animation-delay: 2.4s; }
	.gn-da.gn-in .gn-da-row:nth-child(5) .gn-da-swap > * { animation-delay: 3.6s; }
}
.gn-da-swap .gn-da-pill--done { opacity: 1; }
.gn-da-swap .gn-da-pill:first-child:not(.gn-da-pill--done) { opacity: 0; }
@keyframes gn-da-grow { 0%, 6% { transform: scaleX(0); } 26%, 90% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
@keyframes gn-da-off { 0%, 12% { opacity: 1; } 18%, 90% { opacity: 0; } 96%, 100% { opacity: 1; } }
@keyframes gn-da-on { 0%, 12% { opacity: 0; } 18%, 90% { opacity: 1; } 96%, 100% { opacity: 0; } }
