/* hover colour: navy on light, amber on dark/inverted */
:root{--v17k-h:light-dark(#0B2545,#F2A541)}
.band--inv,.cta-band,.site-footer,.legal{--v17k-h:#F2A541}
/* ERECE v17k: clean inline links (no chip borders), hover/focus states, balanced grids, upload field */
main :is(p,li,dd,td,address) a:not([class],:is(.crumbs,.share,.nf-cards,.pcard,.pillar) a),.check label a,.share a,.gk-pill,.v17k-link{display:inline;min-block-size:0;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--accent,#1B998B);font-weight:600;line-height:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);cursor:pointer;transition:color .15s ease,text-decoration-color .15s ease}
main :is(p,li,dd,td,address) a:not([class],:is(.crumbs,.share,.nf-cards,.pcard,.pillar) a):hover,.check label a:hover,.share a:hover,.gk-pill:hover,.v17k-link:hover,
main :is(p,li,dd,td,address) a:not([class],:is(.crumbs,.share,.nf-cards,.pcard,.pillar) a):focus-visible,.check label a:focus-visible,.share a:focus-visible,.v17k-link:focus-visible{background:none;border:0;color:var(--v17k-h);text-decoration-color:currentColor;text-decoration-thickness:2px}
:is(main a,.v17k-link,.site-footer a,.legal a,.tap):focus-visible{outline:2px solid var(--amber,#F2A541);outline-offset:3px;border-radius:2px}
.share a{padding-inline:.15rem}
.share{gap:.25rem .9rem}
/* contact-card and footer links: plain text, clear hover */
.tap,.site-footer address a,.legal a,.site-footer li a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;cursor:pointer;transition:color .15s ease,text-decoration-color .15s ease}
.tap:hover,.site-footer address a:hover,.legal a:hover,.site-footer li a:hover{color:var(--v17k-h);text-decoration-color:currentColor}
.contact-card .tap{font-weight:600;color:var(--accent,#1B998B)}
.contact-card .tap:hover{color:var(--v17k-h)}
.cta-band .v17k-link{color:#fff;text-decoration-color:rgba(255,255,255,.6)}
.cta-band .v17k-link:hover,.cta-band .v17k-link:focus-visible{color:var(--v17k-h)}
/* talk lengths: plain text, no pills */
.v14-chips span{border:0;border-radius:0;padding:0;opacity:1;font-size:.95rem}
.v14-chips span+span::before{content:"\00b7";margin-inline-end:.4rem;opacity:.7}
/* no sticky mobile call bar (removed from the HTML in v17k) */
.callbar{display:none!important}
/* Tools and software: 7 tiles as 4 + 3, full rows */
.v17-logos{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));gap:.75rem}
.v17-logos li{grid-column:span 3;min-width:0}
.v17-logos li:nth-child(n+5){grid-column:span 4}
@media (max-width:64rem){.v17-logos{grid-template-columns:repeat(6,minmax(0,1fr))}.v17-logos li{grid-column:span 2}.v17-logos li:nth-child(n+5){grid-column:span 2}.v17-logos li:nth-child(7){grid-column:span 6}}
@media (max-width:36rem){.v17-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.v17-logos li,.v17-logos li:nth-child(n+5){grid-column:span 1}.v17-logos li:nth-child(7){grid-column:span 2}}
/* Professional associations: 5 cards as 3 + 2, full rows */
.v10-assoc{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.v10-assoc>li{grid-column:span 2}
.v10-assoc>li:nth-child(4),.v10-assoc>li:nth-child(5){grid-column:span 3}
@media (max-width:56rem){.v10-assoc{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v10-assoc>li,.v10-assoc>li:nth-child(4){grid-column:span 1}.v10-assoc>li:nth-child(5){grid-column:span 2}}
@media (max-width:36rem){.v10-assoc{grid-template-columns:minmax(0,1fr)!important}.v10-assoc>li,.v10-assoc>li:nth-child(5){grid-column:span 1}}
/* Project case studies: 6 cards, 3 + 3 / 2 x 3 / 1 col */
.pg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:64rem){.pg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:36rem){.pg-grid{grid-template-columns:minmax(0,1fr)}}
/* Upload field */
.v17k-upload input[type=file]{display:block;inline-size:100%;max-inline-size:100%;padding:.9rem;border:2px dashed var(--accent,#1B998B);border-radius:6px;background:color-mix(in srgb,var(--accent,#1B998B) 6%,transparent);cursor:pointer;font:inherit}
.v17k-upload input[type=file]:hover,.v17k-upload input[type=file]:focus-visible{border-color:var(--v17k-h)}
.v17k-upload input[type=file]::file-selector-button{margin-inline-end:.75rem;padding:.5rem 1rem;border:0;border-radius:4px;background:#0B2545;color:#fff;font-weight:600;cursor:pointer}
.v17k-err{margin:.4rem 0 0;font-size:.9rem;font-weight:600}
/* remove the grey chip background on footer, fine-print and note links (site.css) */
main p a:not([class]),main li a:not([class]),main td a:not([class]),main dd a:not([class]),.faq a:not([class]),.prose a:not([class]),footer a:not([class]),.fine a:not([class]),.small a:not([class]),.note a:not([class]){background-color:transparent;border-radius:0;box-shadow:none;padding:0;margin:0}
main p a:not([class]):hover,main li a:not([class]):hover,main td a:not([class]):hover,main dd a:not([class]):hover,.faq a:not([class]):hover,.prose a:not([class]):hover,footer a:not([class]):hover,.fine a:not([class]):hover,.small a:not([class]):hover,.note a:not([class]):hover{background-color:transparent;box-shadow:none;transform:none}
footer li a:not([class]){padding:.3em 0}
.site-footer address a,.legal a{display:inline-flex;align-items:center;min-block-size:2.75rem}
/* project cards keep their card layout */
main .pg-grid li.pg-card>a{display:flex;flex-direction:column;gap:.4rem;color:inherit;font-weight:inherit;text-decoration:none;line-height:1.45;padding:0 0 1rem;border:1px solid rgba(127,127,127,.3);border-radius:.5rem;background:none;height:100%}
main .pg-grid li.pg-card>a:hover,main .pg-grid li.pg-card>a:focus-visible{border-color:var(--accent,#1B998B);color:inherit}
main .pg-grid li.pg-card>a:hover strong{color:var(--accent,#1B998B);text-decoration:underline;text-underline-offset:.2em}
