/* ---------- 1.1.0 icons (generated by gen_icons.py) ---------- */
.tp-ico::before { content: ""; display: block; flex: none; width: 52px; height: 52px; border-radius: 14px; margin-bottom: .35rem; background: var(--tp-ico-bg, rgba(0,109,33,.08)) var(--tp-ico) center / 26px 26px no-repeat; transition: background-color .25s; }
.tp-ico:hover::before { background-color: var(--tp-ico-bg-hover, rgba(0,109,33,.14)); }
.tp-pillars .tp-ico::before { --tp-ico-bg: rgba(255,255,255,.1); --tp-ico-bg-hover: rgba(255,255,255,.18); }
.tp-ico-inline::before { content: ""; display: inline-block; width: 1.25em; height: 1.25em; margin: 0 .45em -.3em 0; background: var(--tp-ico) center / contain no-repeat; }
.tp-ico--row::before { margin-bottom: .1rem; }
.tp-svc.tp-ico .tp-svc__num, .tp-pillar.tp-ico .tp-pillar__num { position: absolute; top: 1.5rem; right: 1.5rem; margin: 0; }
.tp-downloads li a::before { content: ""; display: inline-block; width: 18px; height: 18px; margin: 0 .55rem -3px 0; background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v12m0 0l-4-4m4 4l4-4M4 17v3h16v-3'/></svg>") center / contain no-repeat; }
.tp-pin { position: absolute; top: 1.25rem; left: 1.25rem; margin: 0; display: inline-flex; align-items: center; gap: .45rem; background: rgba(255,255,255,.94); color: var(--tp-green-dark); font-size: .78rem; font-weight: 600; padding: .5rem .8rem; border-radius: 999px; }
.tp-pin::before { content: ""; width: 15px; height: 15px; background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23DF0000' d='M12 2a7 7 0 00-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 00-7-7zm0 9.5A2.5 2.5 0 1112 6a2.5 2.5 0 010 5.5z'/></svg>") center / contain no-repeat; }
.tp-service span { display: inline-flex; align-items: center; gap: .55rem; }
.tp-service span::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--tp-ico) center / contain no-repeat; }
.tp-service:has(input[value=write]) { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16v12H7l-3 3z M8 9h8M8 12h5'/></svg>"); }
.tp-service:has(input[value=write]:checked) { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16v12H7l-3 3z M8 9h8M8 12h5'/></svg>"); }
.tp-service:has(input[value=audience]) { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 3v4M16 3v4M4 10h16M5 5h14a1 1 0 011 1v14a1 1 0 01-1 1H5a1 1 0 01-1-1V6a1 1 0 011-1z'/></svg>"); }
.tp-service:has(input[value=audience]:checked) { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 3v4M16 3v4M4 10h16M5 5h14a1 1 0 011 1v14a1 1 0 01-1 1H5a1 1 0 01-1-1V6a1 1 0 011-1z'/></svg>"); }
.tp-service:has(input[value=press]) { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5h16v14H4z M8 9h8M8 13h5'/></svg>"); }
.tp-service:has(input[value=press]:checked) { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5h16v14H4z M8 9h8M8 13h5'/></svg>"); }
.tp-service:has(input[value=info]) { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h9l5 5v13H6z M14 3v5h5 M9 13h7M9 17h7'/></svg>"); }
.tp-service:has(input[value=info]:checked) { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h9l5 5v13H6z M14 3v5h5 M9 13h7M9 17h7'/></svg>"); }
.tp-ico--mail { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16v12H7l-3 3z M8 9h8M8 12h5'/></svg>"); }
.tp-pillars .tp-ico--mail, .tp-ico-light.tp-ico--mail { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16v12H7l-3 3z M8 9h8M8 12h5'/></svg>"); }
.tp-ico--calendar { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 3v4M16 3v4M4 10h16M5 5h14a1 1 0 011 1v14a1 1 0 01-1 1H5a1 1 0 01-1-1V6a1 1 0 011-1z'/></svg>"); }
.tp-pillars .tp-ico--calendar, .tp-ico-light.tp-ico--calendar { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 3v4M16 3v4M4 10h16M5 5h14a1 1 0 011 1v14a1 1 0 01-1 1H5a1 1 0 01-1-1V6a1 1 0 011-1z'/></svg>"); }
.tp-ico--press { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5h16v14H4z M8 9h8M8 13h5'/></svg>"); }
.tp-pillars .tp-ico--press, .tp-ico-light.tp-ico--press { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 5h16v14H4z M8 9h8M8 13h5'/></svg>"); }
.tp-ico--document { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h9l5 5v13H6z M14 3v5h5 M9 13h7M9 17h7'/></svg>"); }
.tp-pillars .tp-ico--document, .tp-ico-light.tp-ico--document { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h9l5 5v13H6z M14 3v5h5 M9 13h7M9 17h7'/></svg>"); }
.tp-ico--download { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v12m0 0l-4-4m4 4l4-4M4 17v3h16v-3'/></svg>"); }
.tp-pillars .tp-ico--download, .tp-ico-light.tp-ico--download { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v12m0 0l-4-4m4 4l4-4M4 17v3h16v-3'/></svg>"); }
.tp-ico--globe { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3a9 9 0 100 18 9 9 0 000-18z M3 12h18 M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9 M12 3c-2.5 2.6-3.8 5.6-3.8 9s1.3 6.4 3.8 9'/></svg>"); }
.tp-pillars .tp-ico--globe, .tp-ico-light.tp-ico--globe { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3a9 9 0 100 18 9 9 0 000-18z M3 12h18 M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9 M12 3c-2.5 2.6-3.8 5.6-3.8 9s1.3 6.4 3.8 9'/></svg>"); }
.tp-ico--chart { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 20h16 M6 16l4-5 3 3 5-7 M15 7h3v3'/></svg>"); }
.tp-pillars .tp-ico--chart, .tp-ico-light.tp-ico--chart { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 20h16 M6 16l4-5 3 3 5-7 M15 7h3v3'/></svg>"); }
.tp-ico--landmark { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 21h18 M5 21V10 M9.5 21V10 M14.5 21V10 M19 21V10 M3 10l9-6 9 6z'/></svg>"); }
.tp-pillars .tp-ico--landmark, .tp-ico-light.tp-ico--landmark { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 21h18 M5 21V10 M9.5 21V10 M14.5 21V10 M19 21V10 M3 10l9-6 9 6z'/></svg>"); }
.tp-ico--people { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 11a3 3 0 100-6 3 3 0 000 6z M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6 M16 5.2a3 3 0 010 5.6 M21 20c0-2.6-1.6-4.8-4-5.6'/></svg>"); }
.tp-pillars .tp-ico--people, .tp-ico-light.tp-ico--people { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 11a3 3 0 100-6 3 3 0 000 6z M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6 M16 5.2a3 3 0 010 5.6 M21 20c0-2.6-1.6-4.8-4-5.6'/></svg>"); }
.tp-ico--shield { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l8 3v6c0 4.5-3.3 8.3-8 9-4.7-.7-8-4.5-8-9V6z M9 12l2 2 4-4'/></svg>"); }
.tp-pillars .tp-ico--shield, .tp-ico-light.tp-ico--shield { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l8 3v6c0 4.5-3.3 8.3-8 9-4.7-.7-8-4.5-8-9V6z M9 12l2 2 4-4'/></svg>"); }
.tp-ico--building { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 21V6l8-3 8 3v15 M3 21h18 M9 9h1M14 9h1M9 13h1M14 13h1 M10 21v-4h4v4'/></svg>"); }
.tp-pillars .tp-ico--building, .tp-ico-light.tp-ico--building { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 21V6l8-3 8 3v15 M3 21h18 M9 9h1M14 9h1M9 13h1M14 13h1 M10 21v-4h4v4'/></svg>"); }
.tp-ico--mic { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3a3 3 0 00-3 3v6a3 3 0 006 0V6a3 3 0 00-3-3z M5 11a7 7 0 0014 0 M12 18v3 M8 21h8'/></svg>"); }
.tp-pillars .tp-ico--mic, .tp-ico-light.tp-ico--mic { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3a3 3 0 00-3 3v6a3 3 0 006 0V6a3 3 0 00-3-3z M5 11a7 7 0 0014 0 M12 18v3 M8 21h8'/></svg>"); }
.tp-ico--flag { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 21V4 M5 4h12l-2.5 4L17 12H5'/></svg>"); }
.tp-pillars .tp-ico--flag, .tp-ico-light.tp-ico--flag { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 21V4 M5 4h12l-2.5 4L17 12H5'/></svg>"); }
.tp-ico--ticket { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7h16v3a2 2 0 000 4v3H4v-3a2 2 0 000-4z M14 7v10'/></svg>"); }
.tp-pillars .tp-ico--ticket, .tp-ico-light.tp-ico--ticket { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7h16v3a2 2 0 000 4v3H4v-3a2 2 0 000-4z M14 7v10'/></svg>"); }
.tp-ico--steps { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M10 6h10M10 12h10M10 18h10 M4.5 6h.01M4.5 12h.01M4.5 18h.01'/></svg>"); }
.tp-pillars .tp-ico--steps, .tp-ico-light.tp-ico--steps { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M10 6h10M10 12h10M10 18h10 M4.5 6h.01M4.5 12h.01M4.5 18h.01'/></svg>"); }
.tp-ico--at { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h18v12H3z M3 7l9 6 9-6'/></svg>"); }
.tp-pillars .tp-ico--at, .tp-ico-light.tp-ico--at { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 6h18v12H3z M3 7l9 6 9-6'/></svg>"); }
.tp-ico--pin { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23006D21' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2a7 7 0 00-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 00-7-7z M12 11.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/></svg>"); }
.tp-pillars .tp-ico--pin, .tp-ico-light.tp-ico--pin { --tp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2a7 7 0 00-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 00-7-7z M12 11.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/></svg>"); }
