
:root{--k-coral:#ff4d3d;--k-sunflower:#ffc21a;--k-lagoon:#00b3a4;--k-cobalt:#2b5bff;--k-mint:#5fe3d4;--k-on:#0b0b14;--k-on-cobalt:#ffffff;--k-band:#0b0b14;--k-band-fg:#fafafa;
--k-ink:var(--fg);--k-muted:var(--muted);--k-line:var(--line);--k-card:var(--card);--k-card-2:var(--card-2,var(--bg));
--s1:var(--k-coral);--s2:var(--k-lagoon);--s3:var(--k-sunflower);--s4:var(--k-cobalt);--s5:var(--k-mint);
--st-paid:var(--k-lagoon);--st-due:var(--k-sunflower);--st-lapsed:var(--k-coral);--st-comp:var(--k-cobalt);--st-other:var(--k-strong);
--k-coral-text:#cc2b1c;--k-lagoon-text:#00796f;--k-sun-text:#7a4f00;--k-cobalt-text:#2b5bff;--k-good-bg:#e0f5f3;--k-good-fg:#00796f;--k-warn-bg:#fff4d6;--k-warn-fg:#7a4f00;--k-bad-bg:#fde4e1;--k-bad-fg:#b42318;--k-flat-bg:#f0f0f5;--k-flat-fg:#4a4a5a;--k-track:#ececf3;--k-link:#2448d8;--k-strong:#8a8a9c;--k-shadow:0 1px 2px rgba(11,11,20,.04),0 6px 24px rgba(11,11,20,.05);--k-shadow-lift:0 10px 30px rgba(11,11,20,.12);--k-info-bg:#f0f0f5;--k-depth:0 0 0 1px rgba(11,11,20,.02),0 1px 2px rgba(11,11,20,.05),0 8px 28px -12px rgba(11,11,20,.12);--k-depth-lift:0 0 0 1px rgba(11,11,20,.03),0 2px 4px rgba(11,11,20,.06),0 18px 40px -16px rgba(11,11,20,.2)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--k-coral-text:#ff7a6b;--k-lagoon-text:#33d1c1;--k-sun-text:#ffd35c;--k-cobalt-text:#7c9cff;--k-good-bg:rgba(0,179,164,.16);--k-good-fg:#5fe3d4;--k-warn-bg:rgba(255,194,26,.14);--k-warn-fg:#ffd35c;--k-bad-bg:rgba(255,77,61,.16);--k-bad-fg:#ff8a7d;--k-flat-bg:rgba(255,255,255,.08);--k-flat-fg:#c6c6d8;--k-track:rgba(255,255,255,.08);--k-link:#7c9cff;--k-strong:#6e6e82;--k-shadow:none;--k-shadow-lift:0 10px 30px rgba(0,0,0,.5);--k-info-bg:rgba(255,255,255,.08);--k-depth:inset 0 1px 0 rgba(255,255,255,.06),0 14px 36px -20px rgba(0,0,0,.8);--k-depth-lift:inset 0 1px 0 rgba(255,255,255,.08),0 20px 44px -20px rgba(0,0,0,.9)}}
:root[data-theme=dark]{--k-coral-text:#ff7a6b;--k-lagoon-text:#33d1c1;--k-sun-text:#ffd35c;--k-cobalt-text:#7c9cff;--k-good-bg:rgba(0,179,164,.16);--k-good-fg:#5fe3d4;--k-warn-bg:rgba(255,194,26,.14);--k-warn-fg:#ffd35c;--k-bad-bg:rgba(255,77,61,.16);--k-bad-fg:#ff8a7d;--k-flat-bg:rgba(255,255,255,.08);--k-flat-fg:#c6c6d8;--k-track:rgba(255,255,255,.08);--k-link:#7c9cff;--k-strong:#6e6e82;--k-shadow:none;--k-shadow-lift:0 10px 30px rgba(0,0,0,.5);--k-info-bg:rgba(255,255,255,.08);--k-depth:inset 0 1px 0 rgba(255,255,255,.06),0 14px 36px -20px rgba(0,0,0,.8);--k-depth-lift:inset 0 1px 0 rgba(255,255,255,.08),0 20px 44px -20px rgba(0,0,0,.9)}
@media print{:root,:root:not([data-theme=light]),:root[data-theme=dark]{--k-coral-text:#cc2b1c;--k-lagoon-text:#00796f;--k-sun-text:#7a4f00;--k-cobalt-text:#2b5bff;--k-good-bg:#e0f5f3;--k-good-fg:#00796f;--k-warn-bg:#fff4d6;--k-warn-fg:#7a4f00;--k-bad-bg:#fde4e1;--k-bad-fg:#b42318;--k-flat-bg:#f0f0f5;--k-flat-fg:#4a4a5a;--k-track:#ececf3;--k-link:#2448d8;--k-strong:#8a8a9c;--k-shadow:0 1px 2px rgba(11,11,20,.04),0 6px 24px rgba(11,11,20,.05);--k-shadow-lift:0 10px 30px rgba(11,11,20,.12);--k-info-bg:#f0f0f5;--k-depth:0 0 0 1px rgba(11,11,20,.02),0 1px 2px rgba(11,11,20,.05),0 8px 28px -12px rgba(11,11,20,.12);--k-depth-lift:0 0 0 1px rgba(11,11,20,.03),0 2px 4px rgba(11,11,20,.06),0 18px 40px -16px rgba(11,11,20,.2)}}
.k-acc-coral{--acc:var(--k-coral);--acc-text:var(--k-coral-text);--acc-on:var(--k-on)}
.k-acc-sunflower{--acc:var(--k-sunflower);--acc-text:var(--k-sun-text);--acc-on:var(--k-on)}
.k-acc-lagoon{--acc:var(--k-lagoon);--acc-text:var(--k-lagoon-text);--acc-on:var(--k-on)}
.k-acc-cobalt{--acc:var(--k-cobalt);--acc-text:var(--k-cobalt-text);--acc-on:var(--k-on-cobalt)}
.k-acc-mint{--acc:var(--k-mint);--acc-text:var(--k-lagoon-text);--acc-on:var(--k-on)}
.k-acc-ink{--acc:var(--k-ink);--acc-text:var(--k-ink);--acc-on:var(--k-card)}
.k-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.k-fig{margin:0}
.k-fig,.k-sec,.k-kpi,.k-qa,.k-act,.k-band,.k-steps,.k-hp-list,.k-empty{box-sizing:border-box}
.k-fig *,.k-sec *,.k-kpi *,.k-qa *,.k-act *,.k-band *,.k-steps *{box-sizing:border-box}

/* Buttons the kit draws inside its parts. */
.k-btn-2{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;background:var(--k-card);color:var(--k-ink);border:2px solid var(--k-ink);font:800 17px/1.1 var(--font-sans,Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif);text-decoration:none;white-space:nowrap}
.k-btn-2:hover{background:var(--k-card-2)}

.k-btn,.k-btn-3{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:800 17px/1.1 var(--font-sans,Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif);text-decoration:none;white-space:nowrap;cursor:pointer}
.k-btn{background:var(--k-coral);color:var(--k-on);border:0}
.k-btn:hover{background:color-mix(in srgb,var(--k-coral) 88%,var(--k-on))}
.k-btn-3{min-height:48px;padding:0 12px;background:transparent;color:var(--k-link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.k-btn-3:hover{background:var(--k-card-2)}
.k-btn:focus-visible,.k-btn-2:focus-visible,.k-btn-3:focus-visible{outline:3px solid var(--k-cobalt);outline-offset:2px}

/* A row of number tiles. */
.k-kpis{margin:0 0 28px}
.k-grid{display:grid;gap:16px}
.k-grid>*{min-width:0}
.k-grid-2,.k-grid-3,.k-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){.k-grid{gap:10px}.k-grid .k-kpi-in{padding:16px 14px 12px}.k-grid .k-kpi-l{font-size:15px;gap:8px}.k-grid .k-dot{width:28px;height:28px}.k-grid .k-spark{width:84px}.k-grid .k-kpi .k-table{margin:0 12px 6px 14px}}
@media(min-width:1000px){.k-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.k-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.k-kpis>.k-table{margin-top:8px}
/* Three tiles on a phone: the third takes the whole row, so the row never ends with a gap. */
@media(max-width:999px){.k-grid-3>.k-kpi:nth-child(3):last-child{grid-column:1/-1}}
/* Two blocks side by side on a laptop, one over the other on a phone. */
.k-2up{display:grid;gap:16px;margin:0 0 28px}.k-2up>*{min-width:0}.k-2up .k-sec{margin:0}
@media(min-width:900px){.k-2up{grid-template-columns:repeat(2,minmax(0,1fr))}.k-2up>.k-wide{grid-column:1/-1}}
.k-trend{white-space:normal}


/* Steps in time. */
.k-tl{list-style:none;margin:0;padding:0}
.k-tl li{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:start;padding:0 0 22px}
.k-tl li:last-child{padding-bottom:0}
.k-tl li::before{content:"";position:absolute;left:17px;top:36px;bottom:0;width:2px;background:var(--k-line)}
.k-tl li:last-child::before{display:none}
.k-tdot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--st-paid);color:var(--k-on)}
.k-tl-next .k-tdot{background:var(--k-card);color:var(--k-sun-text);border:3px dashed var(--k-sunflower)}
.k-tl-bad .k-tdot{background:var(--st-lapsed)}
.k-tl-info .k-tdot{background:var(--st-comp);color:var(--k-on-cobalt)}
.k-tl-t{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:5px}
.k-tl-t b{font-weight:800;font-size:17px;line-height:1.3;color:var(--k-ink)}
.k-tl-t>span{font-weight:500;font-size:16px;line-height:1.4;color:var(--k-muted)}
.k-tl-open{align-self:flex-start;margin:4px 0 0 -12px}
.k-tl-a{padding-top:5px;font:800 18px/1.2 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--k-ink)}

/* Status pill: a word and a shape on the status colour. */
.k-pill,.k-pl{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:2px 12px 2px 8px;border-radius:999px;font-weight:800;font-size:15px;line-height:1.2;white-space:nowrap;color:var(--k-on);background:var(--st-other)}
.k-pill-paid{background:var(--st-paid);box-shadow:inset 0 0 0 2px var(--k-lagoon-text)}.k-pill-due{background:var(--st-due);box-shadow:inset 0 0 0 2px var(--k-sun-text)}.k-pill-lapsed{background:var(--st-lapsed);box-shadow:inset 0 0 0 2px var(--k-coral-text)}
.k-pill-comp{background:var(--st-comp);color:var(--k-on-cobalt)}.k-pill-other{background:var(--k-flat-bg);color:var(--k-flat-fg);box-shadow:inset 0 0 0 2px var(--k-muted)}

/* Coloured section header. */
.k-sec{border-radius:24px;background:var(--k-card);border:1px solid var(--k-line);box-shadow:var(--k-depth);overflow:hidden;margin:0 0 28px}
/* The header (24 October 2026): on the card itself, the icon in a tinted rounded square, the title in the display face, the line under it muted. */
.k-sec-h{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:20px 22px 4px}
.k-sec-ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 16%,var(--k-card));color:var(--acc-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 34%,transparent);flex:none}
.k-sec-t{flex:1 1 150px;min-width:0}
.k-sec-t h2{margin:0;font:800 21px/1.2 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.025em;color:var(--k-ink)}
.k-sec-t p{margin:3px 0 0;font-weight:600;font-size:15px;line-height:1.45;color:var(--k-muted)}
.k-sec-b{padding:16px 22px 22px}
@media(max-width:520px){.k-sec-h{padding:18px 18px 2px;gap:12px}.k-sec-b{padding:14px 18px 18px}.k-sec-ic{width:40px;height:40px;border-radius:12px}}

/* KPI tile. */
.k-kpi{border-radius:20px;background:var(--k-card);border:1px solid var(--k-line);box-shadow:var(--k-depth);position:relative;overflow:hidden;color:var(--k-ink);padding:0 0 4px;transition:box-shadow .2s,transform .2s}
.k-kpi::before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--acc)}
.k-kpi-in{display:flex;flex-direction:column;gap:6px;padding:20px 20px 14px;color:var(--k-ink);text-decoration:none;min-height:48px}
.k-kpi:has(a.k-kpi-in:hover){box-shadow:var(--k-depth-lift);transform:translateY(-1px)}
.k-kpi .k-table{margin:0 20px 8px}
/* A count with its whole: the bar, then "266 of 289 active members paid up". */
.k-of{display:flex;flex-direction:column;gap:7px;margin:2px 0 2px}
.k-of-bar{display:block;height:6px;border-radius:999px;background:var(--k-track);overflow:hidden}
.k-of-bar i{display:block;height:100%;border-radius:999px;background:var(--acc);box-shadow:inset 0 0 0 1px var(--acc-text)}
.k-of-w{font-weight:600;font-size:15px;line-height:1.35;color:var(--k-muted)}.k-of-w b{font-weight:800;color:var(--k-ink);font-variant-numeric:tabular-nums}
.k-kpi-l{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;line-height:1.3;color:var(--k-muted)}
/* Tiles side by side keep their figures on one line: room for a label of two lines in each. */
.k-grid .k-kpi-l{min-height:2.6em}.k-dot{flex:none}
.k-dot{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 18%,var(--k-card));color:var(--acc-text)}
.k-kpi-v{font:800 clamp(30px,4.4vw,40px)/1.05 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
/* The figure always fits its tile: sized from the tile's own width and the figure's length (--n, set on the tile), at every width. */
.k-kpi{container-type:inline-size}.k-kpi-v{white-space:nowrap;font-size:clamp(16px,calc((100cqi - 48px) / (var(--n,6) * .7)),40px)}
.k-kpi-words .k-kpi-v{white-space:normal;line-height:1.2;font-size:clamp(17px,calc((100cqi - 48px) / 7),26px)}
.k-kpi-s{font-weight:600;font-size:15px;line-height:1.4;color:var(--k-muted)}
/* The trend and the sparkline share a line when they fit; the line shrinks a little, then drops below rather than leave the tile. */
.k-kpi-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 10px;flex-wrap:wrap}
.k-trend{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-weight:800;font-size:15px;line-height:1.2;white-space:nowrap}
.k-trend-up{background:var(--k-good-bg);color:var(--k-good-fg)}.k-trend-down{background:var(--k-bad-bg);color:var(--k-bad-fg)}.k-trend-flat{background:var(--k-flat-bg);color:var(--k-flat-fg)}
.k-spark{width:120px;height:40px;flex:1 1 72px;min-width:72px;max-width:120px;margin-left:auto;overflow:visible}
.k-spark polyline{fill:none;stroke:var(--acc);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.k-spark .k-area{fill:color-mix(in srgb,var(--acc) 16%,transparent);stroke:none}
.k-spark circle{fill:var(--acc);stroke:var(--k-card);stroke-width:2}

/* Shared by the charts. */
.k-cap{margin:0 0 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.k-cap b{font:800 clamp(36px,6vw,48px)/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.045em;font-variant-numeric:tabular-nums;color:var(--k-ink)}
.k-cap span{font-weight:600;font-size:16px;line-height:1.4;color:var(--k-muted)}
.k-table{margin:14px 0 0}
/* Show the numbers, as a quiet disclosure: a small table mark, the words, and a chevron that turns when it opens. */
.k-table>summary{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 14px 0 12px;border-radius:999px;border:1px solid var(--k-line);background:transparent;font-weight:700;font-size:15px;line-height:1;color:var(--k-muted);list-style:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.k-table>summary::-webkit-details-marker{display:none}
.k-table>summary::before,.k-table>summary::after{content:"";flex:none;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.k-table>summary::before{--m:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203v18h18%22%2F%3E%3Cpath%20d%3D%22M7%2015l4-4%203%203%206-6%22%2F%3E%3C%2Fsvg%3E");width:16px;height:16px}
.k-table>summary::after{--m:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E");width:14px;height:14px;transition:transform .2s}
.k-table[open]>summary::after{transform:rotate(180deg)}
.k-table>summary:hover{background:var(--k-card-2);color:var(--k-ink);border-color:var(--k-strong)}
.k-table>summary:focus-visible{outline:3px solid var(--k-cobalt);outline-offset:2px}
.k-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:16px;line-height:1.4;color:var(--k-ink);margin-top:10px;background:var(--k-card-2);border-radius:14px;overflow:hidden}
.k-table th,.k-table td{text-align:left;padding:11px 14px;border-bottom:1px solid color-mix(in srgb,var(--k-line) 75%,transparent);font-weight:500}
.k-table tbody tr:last-child>*{border-bottom:0}
.k-table td,.k-table thead th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.k-table thead th{font-weight:700;font-size:15px;color:var(--k-muted)}
.k-table tbody th{font-weight:700}
.k-sw{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none;vertical-align:0;box-shadow:inset 0 0 0 2px var(--edge,transparent)}

/* Donut with legend. */
/* The ring sits over its key on a narrow card and beside it on a wide one, never beside an empty half. */
.k-fig-d{container-type:inline-size}
.k-donut{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;gap:10px 32px}
.k-donut svg{width:min(210px,70%);height:auto;flex:none;overflow:visible}
.k-donut .k-legend{width:100%;margin:0}
@container (min-width:540px){.k-donut{grid-template-columns:210px minmax(0,1fr);justify-items:stretch}.k-donut svg{width:210px}}
.k-dv{font:800 28px var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);fill:var(--k-ink);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.k-ds{font-weight:600;font-size:15px;fill:var(--k-muted)}
.k-dv-s{font-size:22px}.k-dv-xs{font-size:16px}
/* The key of a chart, as soft rows: a tinted pill with the part's dot, the count, the share, a slim bar of the share. */
.k-key{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:4px;grid-template-columns:minmax(0,1fr);min-width:0}
.k-key li{min-width:0}
.k-key li>a,.k-key li>.k-li{display:grid;grid-template-columns:minmax(0,1fr) auto 3.4em;align-items:center;gap:8px 12px;min-height:56px;padding:10px 12px;border-radius:14px;color:var(--k-ink);text-decoration:none;transition:background .15s}
.k-key li>a:hover{background:var(--k-card-2)}
.k-key li>a:focus-visible{outline:3px solid var(--k-cobalt);outline-offset:1px}
.k-kchip{justify-self:start;max-width:100%;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px 4px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 15%,var(--k-card));font-weight:700;font-size:16px;line-height:1.2;color:var(--k-ink)}
.k-kchip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-key b{font:800 21px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-align:right}
.k-key em{font-style:normal;font-weight:600;font-size:15px;line-height:1;color:var(--k-muted);text-align:right;font-variant-numeric:tabular-nums}
.k-kbar{grid-column:1/-1;display:block;height:6px;border-radius:999px;background:var(--k-track);overflow:hidden}
.k-kbar i{display:block;height:100%;border-radius:999px}

/* Progress ring. */
.k-ring-in{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap}
.k-ring svg{width:120px;height:120px;flex:none}
.k-ring-arc{stroke:var(--acc)}.k-ring-edge{stroke:var(--acc-text)}
.k-ring-t{flex:1 1 180px;min-width:0}
.k-ring-t b{display:block;font-weight:800;font-size:18px;line-height:1.3;color:var(--k-ink)}
.k-ring-t span{display:block;font-weight:600;font-size:16px;line-height:1.45;color:var(--k-muted)}
.k-rv{font:800 28px var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);fill:var(--k-ink);letter-spacing:-.03em}.k-rv-s{font-size:20px}

/* Bars with a highlighted bar. */
.k-vbars{display:flex;align-items:flex-end;gap:8px;height:200px;padding-top:8px;border-bottom:2px solid var(--k-line)}
.k-vb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%}
.k-vb i{display:block;width:min(100%,40px);border-radius:10px 10px 4px 4px;background:color-mix(in srgb,var(--acc) 55%,var(--k-card));box-shadow:inset 0 0 0 2px var(--acc-text)}
/* The edge in the accent's text colour keeps every bar at 3 to 1 against its card, light and dark, whatever the fill. */
.k-vb.k-hi i{background:var(--acc)}
.k-vb .k-v{font-weight:800;font-size:15px;line-height:1;color:var(--k-ink);white-space:nowrap}
.k-vlab{display:flex;gap:8px;margin-top:8px}
.k-vlab>span{flex:1;text-align:center;font-weight:600;font-size:15px;line-height:1.2;color:var(--k-muted);min-width:0;overflow:hidden;white-space:nowrap}
.k-vlab>span.k-hi{color:var(--k-ink);font-weight:800}
.k-vlab .k-short{display:none}
.k-vbars:not(.k-many)+.k-vlab>span{white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.k-vbars.k-many{gap:5px}.k-vbars.k-many+.k-vlab{gap:5px}.k-vbars.k-many+.k-vlab>span{overflow:visible;text-overflow:clip}
.k-all .k-vb:not(.k-hi) .k-v{font-weight:700;color:var(--k-muted)}
@media(max-width:600px){.k-all .k-vb:not(.k-hi) .k-v{visibility:hidden}}
@media(max-width:600px){.k-vlab .k-long{display:none}.k-vlab .k-short{display:inline}}

/* Stacked status bar: tall, each part a rounded block with a gap and a soft shine, the part that matters named above it. */
.k-hbar{display:flex;height:40px;gap:4px}
.k-hbar span{position:relative;display:block;height:100%;min-width:8px;border-radius:8px}
.k-hbar span::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 55%);pointer-events:none}
.k-hbar span:first-child{border-top-left-radius:14px;border-bottom-left-radius:14px}.k-hbar span:last-child{border-top-right-radius:14px;border-bottom-right-radius:14px}
.k-hbar-lab{display:flex;gap:4px;margin:0 0 10px}
.k-hbar-lab span{min-width:0;white-space:nowrap;font-weight:700;font-size:15px;line-height:1;color:var(--k-muted)}
.k-hbar-lab span:first-child{flex-basis:auto!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding-bottom:3px}
.k-hbar-lab b{font:800 24px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.035em;color:var(--k-ink);font-variant-numeric:tabular-nums;margin-right:2px}
.k-hbar-key.k-key{grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr));column-gap:10px}
/* The same key on pages built before the kit's rows (attendance): a word and a dot in a line. */
.k-hbar-key:not(.k-key){list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.k-hbar-key:not(.k-key) li{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;line-height:1.3;color:var(--k-ink)}

/* Timeline (the member's payments, N189). */
.ptl{list-style:none;margin:0;padding:0}
.ptl li{position:relative;display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:start;padding:0 0 18px}
.ptl li:last-child{padding-bottom:0}
.ptl li::before{content:"";position:absolute;left:10px;top:20px;bottom:-2px;width:2px;background:var(--brand,var(--k-lagoon))}
.ptl li:last-child::before{display:none}
.ptl-dot{width:20px;height:20px;border-radius:50%;border:3px solid var(--brand-text,var(--k-lagoon-text));background:var(--k-card);margin-top:2px;position:relative;z-index:1}
.ptl-returned .ptl-dot{border-color:var(--bad,var(--k-bad-fg))}.ptl-pending .ptl-dot{border-style:dashed}
.ptl-next .ptl-dot{border-color:#c08400}
.ptl-info .ptl-dot{border-color:var(--k-cobalt)}
.ptl-t{display:flex;flex-direction:column;gap:2px;min-width:0}.ptl-t b{font-size:17px}.ptl-t span{font-size:16px;color:var(--k-muted)}
.ptl-a{font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}

/* Receipt card (N189). */
.rcpt{position:relative;overflow:hidden}.rcpt::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#ff4d3d,#ffc21a 50%,#00b3a4)}
.rcpt-top{display:flex;gap:14px;align-items:center}.rcpt-top h2{margin:0;font-size:1.2rem}
.rcpt-ic{width:44px;height:44px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--brand,var(--k-lagoon));color:var(--brand-ink,var(--k-on))}
.rcpt-date{font-size:17px;color:var(--k-muted)}
.rcpt-amt{font:800 clamp(40px,10vw,52px)/1.05 var(--font-display,"Bricolage Grotesque","Arial Black",Arial,sans-serif);letter-spacing:-.04em;margin:14px 0 6px;font-variant-numeric:tabular-nums}
.rcpt-how{margin:0;font-size:17px;color:var(--k-muted)}
.rcpt-to{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--k-line);font-size:17px}.rcpt-to span{color:var(--k-muted)}

/* Activity feed. */
.k-feed{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.k-feed li{display:flex;gap:14px;align-items:flex-start;padding:12px 4px;border-bottom:1px solid var(--k-line)}
.k-feed li:last-child{border-bottom:0}
.k-fi{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--acc);color:var(--acc-on)}
.k-ft{flex:1;min-width:0;font-weight:500;font-size:17px;line-height:1.45;color:var(--k-ink)}
.k-ft b{font-weight:800}
.k-feed time{display:block;font-weight:600;font-size:15px;color:var(--k-muted)}

/* Date tile and calendar strip. */
.k-date{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:none;width:56px;min-height:56px;padding:6px 0;border-radius:14px;background:var(--acc);color:var(--acc-on);line-height:1.1}
.k-date:not(.k-date-club){box-shadow:inset 0 0 0 2px var(--acc-text)}
.k-dm{font-weight:800;font-size:15px}.k-dd{font:800 22px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.02em}
.k-cal{list-style:none;margin:0;padding:4px 2px 10px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin}
.k-cal li{flex:0 0 auto}
.k-cal li>a,.k-cal li>.k-ci{display:flex;flex-direction:column;align-items:center;gap:2px;width:100px;min-height:118px;padding:12px 8px;border-radius:16px;background:var(--k-card);border:1px solid var(--k-line);color:var(--k-ink);text-decoration:none;text-align:center}
.k-cm{font-weight:700;font-size:15px;color:var(--k-muted)}
.k-cd{font:800 30px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.03em}
.k-ce{margin-top:6px;font-weight:700;font-size:15px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.k-cal li.k-has>a,.k-cal li.k-has>.k-ci{border:2px solid var(--acc,var(--k-coral));background:color-mix(in srgb,var(--acc,var(--k-coral)) 10%,var(--k-card))}
.k-cal li.k-today>a,.k-cal li.k-today>.k-ci{background:var(--k-ink);color:var(--k-card);border-color:var(--k-ink)}
.k-cal li.k-today .k-cm{color:var(--k-card)}

/* Attendance. */
.k-att{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.k-att li{display:grid;gap:6px}
.k-at{display:flex;justify-content:space-between;gap:12px;font-weight:600;font-size:16px;line-height:1.3;color:var(--k-muted)}
.k-at b{color:var(--k-ink)}
.k-atn{font:800 18px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);font-variant-numeric:tabular-nums}
.k-ab{display:flex;height:22px;gap:3px;border-radius:8px;overflow:hidden;background:var(--k-track)}
.k-ab i{display:block;height:100%;background:var(--s2);box-shadow:inset 0 0 0 2px var(--k-lagoon-text)}.k-ab i+i{background:var(--s3);box-shadow:inset 0 0 0 2px var(--k-sun-text)}

/* Top list. */
.k-top{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:k}
.k-top li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:4px 14px;align-items:center;counter-increment:k}
.k-top li::before{content:counter(k);grid-row:span 2;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;background:var(--k-card-2);color:var(--k-ink);border:2px solid var(--k-line)}
.k-top li:nth-child(1)::before{background:var(--k-sunflower);border-color:var(--k-sunflower);color:var(--k-on)}
.k-tn{font-weight:800;font-size:17px;line-height:1.3;color:var(--k-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-tv{font:800 18px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);font-variant-numeric:tabular-nums;text-align:right}
.k-tb{grid-column:2/4;height:10px;border-radius:999px;background:var(--k-track);overflow:hidden}
.k-tb i{display:block;height:100%;border-radius:999px;background:var(--acc);box-shadow:inset 0 0 0 2px var(--acc-text)}

/* Empty state. */
.k-empty{text-align:center;padding:36px 22px;border-radius:24px;border:2px dashed var(--k-strong);background:var(--k-card-2);color:var(--k-ink)}
.k-ei{display:inline-flex;width:64px;height:64px;border-radius:20px;align-items:center;justify-content:center;background:var(--acc);color:var(--acc-on);margin-bottom:14px}
.k-empty h3{margin:0 0 6px;font:800 22px/1.25 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.02em}
.k-empty p{margin:0 auto 18px;max-width:420px;font-size:17px;line-height:1.5;color:var(--k-muted)}
.k-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* Avatar stack. */
.k-avs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.k-avs ul{list-style:none;margin:0;padding:0 0 0 10px;display:flex}
.k-avs li{margin-left:-10px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid var(--k-card);font-weight:800;font-size:15px;color:var(--k-on)}
.k-avs li:nth-child(4n+1){background:var(--s1)}.k-avs li:nth-child(4n+2){background:var(--s2)}.k-avs li:nth-child(4n+3){background:var(--s3)}
.k-avs li:nth-child(4n+4){background:var(--s4);color:var(--k-on-cobalt)}.k-avs li.k-more{background:var(--k-ink);color:var(--k-card)}
.k-avs p{margin:0;font-weight:700;font-size:16px;color:var(--k-ink)}

/* What do you want to do? */
.k-qa-sec{margin:0 0 8px}
.k-qa-h{margin:0 0 12px;font:800 22px/1.2 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.02em;color:var(--k-ink)}
.k-qa{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.k-qa{grid-template-columns:repeat(4,minmax(0,1fr))}}
.k-qa a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:120px;height:100%;padding:16px;border-radius:16px;background:color-mix(in srgb,var(--acc) 12%,var(--k-card));border:2px solid color-mix(in srgb,var(--acc) 45%,var(--k-card));color:var(--k-ink);text-decoration:none;box-shadow:var(--k-shadow)}
.k-qa a:hover{border-color:var(--acc)}
.k-qi{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--acc);color:var(--acc-on)}
.k-qa b{font-weight:800;font-size:18px;line-height:1.25}
.k-qa a>span:last-child{font-weight:600;font-size:15px;line-height:1.35;color:var(--k-muted)}

/* Action row. */
.k-act{display:flex;gap:14px;align-items:center;min-height:72px;padding:14px 16px;border-radius:16px;background:var(--k-card);border:2px solid color-mix(in srgb,var(--acc) 45%,var(--k-card));color:var(--k-ink);text-decoration:none}
.k-act:hover{border-color:var(--acc)}
.k-act-ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--acc);color:var(--acc-on)}
.k-act-t{flex:1;min-width:0;display:flex;flex-direction:column}.k-act-t b{font-weight:800;font-size:17px;line-height:1.3}.k-act-t span{font-weight:500;font-size:15px;line-height:1.4;color:var(--k-muted)}
.k-act-go{display:inline-flex;align-items:center;gap:4px;flex:none;font-weight:800;font-size:16px;color:var(--acc-text);white-space:nowrap}
@media(max-width:480px){.k-act-go{font-size:0;gap:0}.k-act-go .ic{font-size:16px}}

/* Status band. */
.k-band{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:16px 18px;border-radius:16px;margin:0 0 16px}
.k-band-good{background:var(--k-good-bg);color:var(--k-good-fg)}.k-band-warn{background:var(--k-warn-bg);color:var(--k-warn-fg)}
.k-band-bad{background:var(--k-bad-bg);color:var(--k-bad-fg)}.k-band-info{background:var(--k-info-bg);color:var(--k-ink)}
.k-band-ic{width:44px;height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--k-card);color:inherit}
.k-band-t{flex:1 1 220px;min-width:0}.k-band-t b{display:block;font-weight:800;font-size:18px;line-height:1.3}.k-band-t span{display:block;font-weight:600;font-size:16px;line-height:1.45;color:var(--k-ink)}

/* Step bar. */
.k-steps{list-style:none;margin:0 0 20px;padding:0;display:flex;gap:8px;flex-wrap:wrap;counter-reset:s}
.k-steps li{flex:1 1 140px;min-width:0}
.k-steps li>a,.k-steps li>.k-si{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 12px;border-radius:14px;background:var(--k-card-2);border:2px solid var(--k-line);color:var(--k-ink);text-decoration:none;font-weight:700;font-size:16px;line-height:1.25}
.k-sn{width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex:none;font-weight:800;font-size:16px;border:2px solid var(--k-strong)}
.k-step-done .k-sn{background:var(--k-lagoon);border-color:var(--k-lagoon);color:var(--k-on)}
.k-step-now>*{border-color:var(--k-ink)!important;background:var(--k-card)!important}
.k-step-now .k-sn{background:var(--k-ink);border-color:var(--k-ink);color:var(--k-card)}

/* Need help? and the help for this page. */
button.k-helpchip,.k-helpchip{position:relative;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px 0 5px;border-radius:999px;background:var(--k-good-bg);color:var(--k-ink);border:1.5px solid var(--k-lagoon);font-weight:700;font-size:15px;line-height:1;cursor:pointer;white-space:nowrap;box-shadow:none;transform:none;font-family:inherit}
button.k-helpchip:hover{background:var(--k-lagoon);color:var(--k-on);box-shadow:none;transform:none}
.k-helpchip .k-q{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--k-lagoon);color:var(--k-on);font-weight:800;font-size:15px}
/* Smaller to look at (Jeremiah, 24 Oct 2026: "too big"), still a 48px place to tap. */
.k-helpchip::after{content:"";position:absolute;inset:-5px -2px}
button.k-helpchip:hover .k-q{background:var(--k-on);color:var(--k-lagoon)}
.k-hp-sec{margin:0 0 18px}
.k-hp-sec>h3{margin:0 0 10px;font-weight:800;font-size:17px;line-height:1.3;color:var(--k-muted)}
.k-hp-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.k-hp-list li{padding:12px 16px;border-radius:16px;background:var(--k-card-2);border:1px solid var(--k-line)}
.k-hp-list a.k-hp-a{display:flex;align-items:center;min-height:48px;color:var(--k-ink);text-decoration:none;font-weight:800;font-size:17px;line-height:1.35}
.k-hp-list a.k-hp-a:hover{text-decoration:underline}
.k-hp-list p{margin:0 0 10px;font-weight:500;font-size:16px;line-height:1.45;color:var(--k-muted)}
.k-hp-acts{display:flex;gap:8px;flex-wrap:wrap}
.k-show{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:999px;background:var(--k-lagoon);color:var(--k-on);font-weight:800;font-size:16px;text-decoration:none}
.k-read{display:inline-flex;align-items:center;min-height:48px;padding:0 12px;color:var(--k-link);font-weight:800;font-size:16px;text-decoration:underline;text-underline-offset:3px}
.k-hp-all{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:0 20px;border-radius:999px;border:2px solid var(--k-ink);background:var(--k-card);color:var(--k-ink);font-weight:800;font-size:17px;text-decoration:none}
.k-hp-all:hover{background:var(--k-card-2)}

/* Group B: status colour on any part (--st), its edge in the status text colour so a ring is 3 to 1 against its card. */
.k-st-paid{--st:var(--st-paid);--st-edge:var(--k-lagoon-text)}.k-st-due{--st:var(--st-due);--st-edge:var(--k-sun-text)}
.k-st-lapsed{--st:var(--st-lapsed);--st-edge:var(--k-coral-text)}.k-st-comp{--st:var(--st-comp);--st-edge:var(--k-cobalt-text)}.k-st-other{--st:var(--k-flat-bg);--st-edge:var(--k-muted)}
.k-hbar span{box-shadow:inset 0 0 0 2px var(--edge,transparent)}
.k-shape{display:inline-block;width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--shape) center/contain no-repeat;mask:var(--shape) center/contain no-repeat}
.k-shape-paid,.k-pl.k-pill-paid{--shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%2F%3E%3C%2Fsvg%3E")}.k-shape-due,.k-pl.k-pill-due{--shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%207v5l3%202%22%2F%3E%3C%2Fsvg%3E")}.k-shape-lapsed,.k-pl.k-pill-lapsed{--shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%208v5M12%2016.5v.01%22%2F%3E%3C%2Fsvg%3E")}.k-shape-comp,.k-pl.k-pill-comp{--shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v4M12%2017v4M3%2012h4M17%2012h4M5.6%205.6l2.8%202.8M15.6%2015.6l2.8%202.8M5.6%2018.4l2.8-2.8M15.6%208.4l2.8-2.8%22%2F%3E%3C%2Fsvg%3E")}.k-shape-other,.k-pl.k-pill-other{--shape:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22%2F%3E%3C%2Fsvg%3E")}
/* The light pill draws its shape before its word, from the same mask. */
.k-pl::before{content:"";display:inline-block;width:15px;height:15px;flex:none;background:currentColor;-webkit-mask:var(--shape) center/contain no-repeat;mask:var(--shape) center/contain no-repeat}
/* Avatar ringed in its status colour (a member row's .m-av is one). */
.k-mlist .m-av,.k-av{width:48px;height:48px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;line-height:1;color:var(--k-ink);background:color-mix(in srgb,var(--st,var(--k-lagoon)) 22%,var(--k-card));box-shadow:inset 0 0 0 3px var(--st-edge,var(--k-lagoon-text))}
.k-av-l{width:56px;height:56px;font-size:18px}
/* The member list row. */
.mlist.k-mlist{border-top:0;display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
/* On a phone the status pill goes under the name, in line with it, so a long status never pushes the row past the screen. */
.k-mlist .m-email:empty,.k-mlist .m-came:empty{display:none}
@media(max-width:600px){.k-mlist .mrow>a{flex-wrap:wrap;row-gap:6px;padding-top:12px;padding-bottom:12px}.k-mlist .mrow>a>.m-tx{flex:1 1 calc(100% - 60px)}.k-mlist .mrow>a>.k-pl{margin-left:60px}}
.k-mlist .mrow{border:1px solid var(--k-line);border-radius:16px;background:var(--k-card);padding:0 8px 0 10px;flex-wrap:nowrap}
.k-mlist .mrow:hover{border-color:var(--k-strong)}
.k-mlist .mrow>a{min-height:76px;border-radius:16px}.k-mlist .mrow>a:hover{background:transparent}
.k-mlist .mrow>input[type=checkbox]{width:24px;height:24px;flex:none}
.k-mlist .m-tx{min-width:0}.k-mlist .m-tx b{font-weight:800;font-size:18px;line-height:1.3}.k-mlist .m-tx>span{color:var(--k-muted);font-size:15px}
.k-mlist .m-email,.k-mlist .m-came{color:var(--k-muted);font-size:15px}
.k-mlist .k-pl{flex:none}
.k-pill .k-shape{width:15px;height:15px}
/* Status hero. */
.k-hero{display:flex;gap:16px 20px;align-items:center;flex-wrap:wrap;padding:20px 22px;margin:0 0 28px;border-radius:24px;background:color-mix(in srgb,var(--st) 14%,var(--k-card));border:2px solid var(--st-edge);color:var(--k-ink);box-sizing:border-box}
.k-hero-ic{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--st);color:var(--k-on);flex:none}
.k-hero.k-st-comp .k-hero-ic{color:var(--k-on-cobalt)}.k-hero.k-st-other .k-hero-ic{background:var(--k-ink);color:var(--k-card)}
.k-hero-t{flex:1 1 240px;min-width:0}
.k-hero-t b{display:block;font:800 clamp(24px,4vw,32px)/1.15 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.03em;overflow-wrap:anywhere}
.k-hero-t span{display:block;font-weight:600;font-size:17px;line-height:1.45;color:var(--k-muted);margin-top:4px}
/* Waiting rows. */
.k-wait{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.k-wait a{display:flex;gap:14px;align-items:center;min-height:72px;padding:12px 16px;border-radius:16px;text-decoration:none;color:var(--k-ink);background:color-mix(in srgb,var(--acc) 10%,var(--k-card));border:2px solid var(--acc-text);box-sizing:border-box}
.k-wait a:hover{background:color-mix(in srgb,var(--acc) 20%,var(--k-card))}
.k-wait-ic{width:44px;height:44px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--acc);color:var(--acc-on)}
.k-wait-t{flex:1;min-width:0}.k-wait-t b{display:block;font-weight:800;font-size:17px;line-height:1.3}.k-wait-t span{display:block;font-weight:500;font-size:15px;line-height:1.4;color:var(--k-muted)}
.k-wait-go{flex:none;color:var(--k-muted)}
/* Status chips. */
.k-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;overflow:visible}
.k-chips a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px 0 8px;border-radius:999px;border:2px solid var(--k-line);background:var(--k-card);color:var(--k-ink);text-decoration:none;font-weight:800;font-size:16px;line-height:1;box-sizing:border-box}
.k-chips a:hover{border-color:var(--k-strong)}
.k-chips .k-ci{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--st);color:var(--k-on);box-shadow:inset 0 0 0 2px var(--st-edge)}
.k-chips a.k-st-comp .k-ci{color:var(--k-on-cobalt)}.k-chips a.k-st-other .k-ci{color:var(--k-ink)}
.k-chips a b{font:800 17px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);color:var(--k-muted);font-variant-numeric:tabular-nums}
.k-chips a[aria-current=page]{background:var(--k-ink);border-color:var(--k-ink);color:var(--k-card)}.k-chips a.k-st-other[aria-current=page] .k-ci{background:var(--k-card);color:var(--k-ink)}.k-chips a[aria-current=page] b{color:var(--k-card)}
/* Form steps and numbers. */
.k-sn-big{font:800 22px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif)}
.k-fstep .k-sec-b>:first-child{margin-top:0}
.k-num{width:40px;height:40px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--k-ink);color:var(--k-card);font:800 18px/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif)}
.k-numrow{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 28px}
/* Choice tiles. */
.k-choices{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin:8px 0 0;padding:0;border:0;min-width:0}
.k-choices legend{font-weight:700;margin:0 0 8px;padding:0;font-size:17px}
.k-choices label{display:flex;gap:12px;align-items:center;min-height:64px;margin:0;padding:12px 14px;border-radius:16px;border:2px solid var(--k-strong);background:var(--k-card);cursor:pointer;font-weight:700;box-sizing:border-box}
.k-choices label:has(input:checked){border-color:var(--k-coral-text);background:color-mix(in srgb,var(--k-coral) 8%,var(--k-card))}
.k-choices input{width:22px;height:22px;min-height:0;flex:none;margin:0;accent-color:var(--k-coral-text)}
.k-choices label>span{display:flex;flex-direction:column;min-width:0}
.k-choices .k-ct{font-weight:800;font-size:17px;line-height:1.25;color:var(--k-ink)}
.k-choices .k-cb{font:800 22px/1.1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);font-variant-numeric:tabular-nums;color:var(--k-ink)}
.k-choices small{font-weight:600;font-size:15px;line-height:1.3;color:var(--k-muted)}
/* Person card. */
.k-person{display:block;padding:18px;border-radius:20px;border:1px solid var(--k-line);background:var(--k-card);box-shadow:var(--k-shadow);min-width:0;box-sizing:border-box}
.k-person-h{display:flex;gap:14px;align-items:center;margin:0 0 12px}
.k-person-t{flex:1 1 0;min-width:0}
.k-person-t .k-pname{display:block;font-weight:800;font-size:20px;line-height:1.25;color:var(--k-ink)}
.k-person-t a.k-pname{display:inline-flex;align-items:center;min-height:48px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.k-person-t>span{display:block;font-weight:500;font-size:15px;line-height:1.45;color:var(--k-muted);overflow-wrap:anywhere}
.k-person-p{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.k-person form{margin:0}
.k-cards{display:grid;gap:20px;margin:0}.k-cards>*{min-width:0;margin:0}
@media(min-width:900px){.k-cards.k-two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-tag{display:inline-flex;align-items:center;min-height:32px;padding:2px 12px;border-radius:999px;background:var(--k-flat-bg);color:var(--k-ink);font-weight:700;font-size:15px;line-height:1.2}
.k-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.k-big{font:800 clamp(32px,5vw,44px)/1 var(--font-display,"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--k-ink)}
.k-match{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 12px;border-radius:999px;font-weight:800;font-size:15px;line-height:1.2;background:var(--k-good-bg);color:var(--k-good-fg)}
/* Facts and quotes. */
.k-facts{margin:0;display:grid}
.k-facts>div{display:flex;justify-content:space-between;align-items:center;gap:6px 16px;flex-wrap:wrap;min-height:52px;padding:8px 0;border-bottom:1px solid var(--k-line)}
.k-facts>div:last-child{border-bottom:0}
.k-facts dt{color:var(--k-muted);font-weight:600;font-size:16px;line-height:1.4}
.k-facts dd{margin:0;font-weight:800;font-size:17px;line-height:1.4;text-align:right;overflow-wrap:anywhere;min-width:0;color:var(--k-ink)}
.k-quote{margin:0 0 12px;padding:14px 16px;border-left:6px solid var(--acc-text,var(--k-lagoon-text));border-radius:0 16px 16px 0;background:var(--k-card-2);font-weight:600;font-size:18px;line-height:1.5;color:var(--k-ink);overflow-wrap:anywhere}
/* The head of a group B page: the actions under the title. */
.k-acts-top{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 28px}
.k-stack{display:grid;gap:28px;margin:0 0 28px}.k-stack>*{margin:0!important;min-width:0}
.k-sec .k-sec-b>:last-child{margin-bottom:0}
.k-sec .form1{max-width:none;margin:0;border:0;box-shadow:none;padding:0;background:transparent}
.k-sec table{width:100%}
.k-scroll{overflow-x:auto}
ul.k-plain{list-style:none;padding:0}
a.k-inl,.k-feed .k-ft a{display:inline-flex;align-items:center;min-height:48px}
.k-h3{margin:14px 0 8px;font-weight:800;font-size:17px;line-height:1.3;color:var(--k-ink)}
.k-swap{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin:0 0 16px}
@media(min-width:700px){.k-swap{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}}
.k-swap>div{padding:14px 16px;border-radius:16px;border:2px solid var(--k-line);background:var(--k-card-2);overflow-wrap:anywhere;min-width:0}
.k-swap>div span{display:block;font-weight:700;font-size:15px;line-height:1.3;color:var(--k-muted)}
.k-swap>div b{font-weight:800;font-size:17px;line-height:1.35;word-break:break-all;color:var(--k-ink)}
.k-swap>div.k-new{border-color:var(--k-lagoon-text);background:var(--k-good-bg)}
.k-swap .k-arrow{justify-self:center;color:var(--k-muted)}
@media(max-width:699px){.k-swap .k-arrow{transform:rotate(90deg)}}
.k-matchrow{padding:12px 0;border-top:1px solid var(--k-line)}
ol.k-nsteps{list-style:none;margin:0;padding:0;display:grid;gap:18px}ol.k-nsteps>li{display:flex;gap:14px;align-items:flex-start}ol.k-nsteps>li>div{flex:1;min-width:0}
ul.k-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.k-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 16px;border:3px dashed var(--k-lagoon-text);border-radius:16px;background:color-mix(in srgb,var(--k-lagoon) 10%,var(--k-card));color:var(--k-lagoon-text);margin:6px 0 4px}
.k-drop input{width:100%}
.k-more{margin:12px 0 0}.k-more .k-btn-3{margin-left:-12px}
.k-flag::before{content:"";display:inline-block;width:15px;height:15px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%208v5M12%2016.5v.01%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%208v5M12%2016.5v.01%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.k-flag{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:2px 10px 2px 6px;border-radius:999px;border:2px solid var(--k-sun-text);background:var(--k-warn-bg);color:var(--k-warn-fg);font-weight:800;font-size:15px;line-height:1.2}
.k-showing{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}.k-showing .note{flex:1 1 200px;font-size:16px;margin:0}
a.k-rm{min-height:48px;padding:0 16px;text-decoration:none}
.k-mlist .m-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}

/* Gentle on load (24 October 2026): cards rise, bars grow from the left, rings turn into place. None of it for a reader who asked for less motion. */
@keyframes k-rise{from{opacity:0;transform:translateY(8px)}}
@keyframes k-grow{from{transform:scaleX(0)}}
@keyframes k-turn{from{opacity:0;transform:rotate(-200deg)}to{opacity:1;transform:rotate(-90deg)}}
@media (prefers-reduced-motion:no-preference){
.k-sec,.k-kpi{animation:k-rise .45s cubic-bezier(.2,.7,.2,1) both}
.k-hbar span,.k-kbar i,.k-of-bar i{transform-origin:left center;animation:k-grow .8s .1s cubic-bezier(.2,.7,.2,1) both}
.k-donut svg>g{transform-origin:70px 70px;transform:rotate(-90deg);animation:k-turn .9s cubic-bezier(.2,.7,.2,1) both}
}
@media (prefers-reduced-motion:reduce){.k-qa a,.k-act,.k-kpi-in,.k-kpi,.k-key a,.k-table>summary,.k-table>summary::after{transition:none!important;transform:none!important}.k-fold-ch{transition:none!important}}
@media print{.k-helpchip,.k-table{display:none!important}.k-kpi,.k-fig,.k-sec,.k-band,.k-tl li{break-inside:avoid;box-shadow:none}.k-kpi,.k-sec-h,.k-sec-ic,.k-dot,.k-trend,.k-pill,.k-tdot,.k-vb i,.k-hbar span,.k-tb i,.k-sw,.k-kbar i,.k-kchip,.k-of-bar i,.k-band{-webkit-print-color-adjust:exact;print-color-adjust:exact}}


:root{--font-display:"Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;--font-sans:Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif}
.club-bar a,.powered a{display:inline-flex;align-items:center;min-height:48px}
:root:has(.k-pf){--bg:#f5f5f8;--card:#ffffff}
.wrap:has(.k-pf){max-width:1040px}
.wrap:has(.k-narrow){max-width:640px}
:root:has(.k-pf) .club-bar .inner{max-width:1040px}
.k-pf{--k-tap:48px}
.k-pf h1{font:800 clamp(32px,5.4vw,46px)/1.06 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.04em;margin:0;color:var(--k-ink);overflow-wrap:anywhere}
.k-lead{font-weight:500;font-size:19px;line-height:1.55;color:var(--k-muted);margin:0 0 24px;max-width:46em}
.k-pf .k-sec{margin:0 0 28px}
.k-pf .k-btn,.k-pf button.k-btn{font-family:Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif}
button.k-btn,button.k-btn-2{box-shadow:none;cursor:pointer}
button.k-btn{background:var(--k-coral);color:var(--k-on);border:0}
button.k-btn-2{background:var(--k-card);color:var(--k-ink);border:2px solid var(--k-ink)}
/* The club's colour on its own main button, card and date chips. */
.k-club.k-btn,button.k-club.k-btn{background:var(--brand,var(--k-coral));color:var(--brand-ink,var(--k-on));box-shadow:0 6px 18px color-mix(in srgb,var(--brand,var(--k-coral)) 30%,transparent)}
.k-club.k-btn:hover{background:color-mix(in srgb,var(--brand,var(--k-coral)) 88%,var(--brand-ink,var(--k-on)))}
.k-wide{width:100%}
@media(max-width:600px){.k-submit .k-btn,.k-submit .k-btn-2{width:100%}.k-submit .k-btn-2{white-space:normal;text-align:center;line-height:1.25;padding-top:10px;padding-bottom:10px}}
.k-submit{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:8px 0 0}
.k-submit .k-btn{min-width:min(100%,260px)}

/* The utility row under the club bar: Read to me on the left, Need help? on the right, the same slim chips. */
.k-util{display:flex;align-items:center;gap:10px;min-height:48px;margin:0 0 14px}
.k-util .rz-helprow{margin:0 0 0 auto}
button.k-readchip.rz-read,.k-util .k-readchip.rz-read{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:38px;min-width:0;padding:0 12px 0 5px;border-radius:999px;background:var(--k-card);color:var(--k-ink);border:1.5px solid var(--k-strong);font:700 15px/1 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;cursor:pointer;white-space:nowrap;box-shadow:none;width:auto}
.k-readchip::after{content:"";position:absolute;inset:-5px -2px}
.k-readchip .k-rq{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--k-ink);color:var(--k-card)}
.k-readchip .k-rq svg{width:16px;height:16px}
.k-util .k-readchip.rz-read[aria-pressed=true]{background:var(--k-ink);color:var(--k-card)}.k-readchip[aria-pressed=true] .k-rq{background:var(--k-card);color:var(--k-ink)}
.k-readchip:focus-visible{outline:3px solid var(--k-cobalt);outline-offset:2px}
/* The top bar: the title with Read this to me and Need help? beside it. */
.k-topbar{display:flex;gap:12px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 20px}
.k-topbar>h1{flex:1 1 260px;min-width:0}
.k-topacts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.k-topacts .rz-readline{margin:0}
.k-topacts .rz-helprow{margin:0}

/* The member's five places: a bar at the foot of a phone, a row on a laptop. */
.k-ptabs{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:4px 2px calc(4px + env(safe-area-inset-bottom));margin:0;background:var(--k-card);border-top:1px solid var(--k-line);box-shadow:0 -4px 20px rgba(11,11,20,.06)}
.k-ptabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:0;border-radius:14px;color:var(--k-muted);text-decoration:none;font:800 15px/1.1 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;text-align:center;min-width:0}
.k-ptabs a>span{overflow-wrap:normal;letter-spacing:-.01em}
.k-ptabs a[aria-current=page]{color:var(--k-ink);background:color-mix(in srgb,var(--k-coral) 14%,var(--k-card))}
.k-ptabs a[aria-current=page] .ic{color:var(--k-coral-text)}
.k-ptab-here{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body:has(.k-ptabs){padding-bottom:calc(84px + env(safe-area-inset-bottom))}
@media(min-width:760px){body:has(.k-ptabs){padding-bottom:0}
.k-ptabs{position:static;display:flex;flex-wrap:wrap;gap:8px;padding:8px;margin:0 0 28px;border:1px solid var(--k-line);border-radius:20px;box-shadow:var(--k-shadow)}
.k-ptabs a{flex-direction:row;gap:10px;padding:0 20px;font-size:17px;min-height:52px}
.k-ptabs a[aria-current=page]{outline:2px solid var(--k-coral-text);outline-offset:-2px}
.k-ptabs a[aria-current=page] .k-ptab-here{position:static;width:auto;height:auto;overflow:visible;clip:auto;font:700 15px/1 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-muted);margin-left:4px}}
.k-ptabs a:focus-visible{outline:3px solid var(--k-cobalt);outline-offset:2px}

/* Form fields: big, labelled, the hint under. */
.k-field{display:grid;gap:8px;margin:0 0 20px;min-width:0}
.k-field>label{display:block;margin:0;font:800 18px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink)}
.k-field>label small,.k-picks legend small{font:600 15px Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-muted)}
.k-pf .k-in,.k-in{width:100%;box-sizing:border-box;min-height:56px;padding:12px 16px;font:600 18px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink);background:var(--k-card);border:2px solid var(--k-strong);border-radius:12px}
textarea.k-in{min-height:140px;resize:vertical}
select.k-in{appearance:auto}
.k-in-big{min-height:64px;font-size:20px}
.k-in:focus{outline:3px solid var(--k-cobalt);outline-offset:2px;border-color:var(--k-ink)}
.k-in::placeholder{color:var(--k-muted)}
input[type=file].k-in{padding:12px;font-size:16px}
.k-hint{font-weight:500;font-size:16px;line-height:1.5;color:var(--k-muted);margin:0}
.k-fgrid{display:grid;gap:0 16px}
@media(min-width:640px){.k-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-qbig{display:block;font:800 clamp(24px,4.4vw,30px)/1.2 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.02em;margin:0 0 12px;color:var(--k-ink)}
.k-qbig:focus{outline:none}

/* Tick and choice tiles. */
fieldset.k-picks{border:0;padding:0;margin:0 0 20px;min-width:0}
fieldset.k-picks legend{padding:0;margin:0 0 10px;font:800 18px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink)}
fieldset.k-picks legend.k-qbig{font:800 clamp(24px,4.4vw,30px)/1.2 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif}
.k-pick-g{display:grid;gap:10px}
@media(min-width:760px){.k-pick-2{grid-template-columns:repeat(2,minmax(0,1fr))}.k-pick-3{grid-template-columns:repeat(3,minmax(0,1fr))}.k-pick-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:520px) and (max-width:759px){.k-pick-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:759px){.k-picks:has(.k-pick-price) .k-pick-g{grid-template-columns:repeat(2,minmax(0,1fr))}label.k-pick-price{min-height:112px;padding:14px 12px}.k-pick-v{font-size:28px!important}
/* Two price tiles side by side on a phone: the tick sits above the name, so a name like Household keeps its whole width. */
.k-picks label.k-pick-price input{position:static}.k-picks label.k-pick-price .k-pick-t>b{padding-right:0;overflow-wrap:normal;word-break:normal}}
label.k-pick{display:flex;align-items:center;gap:14px;min-height:64px;margin:0;padding:12px 16px;border:2px solid var(--k-strong);border-radius:16px;background:var(--k-card);color:var(--k-ink);font:700 17px/1.35 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;cursor:pointer;box-sizing:border-box;min-width:0}
label.k-pick input{width:28px;height:28px;min-height:0;margin:0;flex:none;accent-color:var(--k-lagoon-text)}
label.k-pick:has(input:checked){border-color:var(--k-lagoon-text);background:var(--k-good-bg);box-shadow:0 0 0 1px var(--k-lagoon-text)}
label.k-pick:has(input:focus-visible){outline:3px solid var(--k-cobalt);outline-offset:2px}
.k-pick-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.k-pick-t>b{font:800 18px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;overflow-wrap:anywhere}
.k-pick-t>span{font-weight:500;font-size:16px;line-height:1.4;color:var(--k-muted)}
label.k-pick-price{flex-direction:column;align-items:flex-start;gap:4px;min-height:124px;position:relative;padding:16px}
label.k-pick-price input{position:absolute;top:14px;right:14px}
label.k-pick-price .k-pick-t>b{padding-right:36px}
.k-pick-v{font:800 34px/1.05 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif!important;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--k-ink)!important}
.k-pick-v small{font:700 16px Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-muted);letter-spacing:0}
.k-pick-t>.k-pick-agree{font:700 17px/1.45 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink)}
.k-pick-t>.k-pick-n{font-weight:600;font-size:15px;line-height:1.4;color:var(--k-muted)}

/* Amount chips. */
fieldset.k-chips-f{border:0;padding:0;margin:0 0 16px;min-width:0}
fieldset.k-chips-f legend{padding:0;margin:0 0 10px;font:800 18px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink)}
.k-amts{display:flex;gap:10px;flex-wrap:wrap}
label.k-chip{position:relative;display:inline-flex;margin:0;cursor:pointer}
label.k-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
label.k-chip span{display:inline-flex;align-items:center;justify-content:center;min-height:60px;min-width:100px;padding:0 20px;border-radius:999px;border:2px solid var(--k-ink);background:var(--k-card);color:var(--k-ink);font:800 22px/1 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;box-sizing:border-box}
label.k-chip input:checked+span{background:var(--k-ink);color:var(--k-card)}
label.k-chip input:focus-visible+span{outline:3px solid var(--k-cobalt);outline-offset:2px}

/* Step dots: one question at a time. */
.k-dots{list-style:none;margin:0 0 20px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.k-dots li{display:flex;align-items:center;gap:8px;font:700 15px/1.2 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-muted)}
.k-dots li>span{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;font:800 16px Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;background:var(--k-card);border:2px solid var(--k-strong);color:var(--k-ink)}
.k-dots li[aria-current=step]{color:var(--k-ink)}
.k-dots li[aria-current=step]>span{background:var(--k-ink);border-color:var(--k-ink);color:var(--k-card)}
.k-dots li.k-dot-done>span{background:var(--k-lagoon);border-color:var(--k-lagoon-text);color:var(--k-on)}
.k-dots li+li::before{content:"";width:18px;height:2px;background:var(--k-strong)}
.k-wstep{border:0;margin:0 0 8px;padding:0}
.k-wstep+.k-wstep{margin-top:24px;padding-top:24px;border-top:1px solid var(--k-line)}
.k-wiz-on .k-wstep+.k-wstep{margin-top:0;padding-top:0;border-top:0}
.k-wiz .k-wnav{display:none}
.k-wiz-on .k-wnav{display:flex}
.k-wiz-on .k-wonly-end{display:none}
.k-wiz-on .k-wstep:last-of-type .k-wonly-end{display:flex}
.k-then{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px}
.k-then li{display:flex;align-items:center;gap:14px;min-height:56px;padding:10px 16px;border-radius:16px;border:2px dashed var(--k-strong);color:var(--k-muted);font:700 17px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif}
.k-then li[hidden]{display:none}
.k-then li>span{width:32px;height:32px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;border:2px solid var(--k-strong);font:800 15px Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink)}
.k-then-js{display:none}.k-wiz-on .k-then-js{display:block;margin-top:28px}.k-wiz-on .k-then-js[hidden]{display:none}
.k-then-h{font:800 20px Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;margin:0 0 12px;color:var(--k-ink)}

/* A share as a bar. */
.k-prog{display:grid;gap:6px;margin:8px 0}
.k-prog-t{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font:700 16px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink)}
.k-prog-t b{font:800 18px/1.1 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;font-variant-numeric:tabular-nums}
.k-prog-b{height:16px;border-radius:999px;background:var(--k-track);box-shadow:inset 0 0 0 1px var(--k-strong);overflow:hidden}
.k-prog-b i{display:block;height:100%;border-radius:999px;background:var(--acc);box-shadow:inset 0 0 0 2px var(--acc-text)}

/* The membership card, in the club's own colour. */
.k-mcard{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px 18px;align-items:start;padding:22px;border-radius:24px;background:var(--brand);color:var(--brand-ink);box-shadow:var(--k-shadow-lift);position:relative;overflow:hidden;margin:0 0 14px;box-sizing:border-box}
.k-mcard .k-face{width:76px;height:76px;border-radius:20px;border:3px solid color-mix(in srgb,var(--brand-ink) 60%,var(--brand));display:flex;align-items:center;justify-content:center;font:800 30px "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;background:color-mix(in srgb,var(--brand-ink) 12%,var(--brand));color:var(--brand-ink);object-fit:cover;box-sizing:border-box}
.k-mc-t{min-width:0}
.k-mc-club{display:flex;align-items:center;gap:8px;font:700 16px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif}
.k-mc-club img{width:24px;height:24px;border-radius:6px;background:#ffffff;padding:2px;object-fit:contain}
.k-mc-nm{font:800 clamp(28px,6vw,38px)/1.08 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.03em;margin:2px 0 10px;overflow-wrap:anywhere}
.k-mcard .k-pill{box-shadow:inset 0 0 0 2px var(--brand-ink)}
.k-mc-meta{font:600 17px/1.45 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;margin:8px 0 0}
.k-mc-meta b{font-weight:800}
.k-mc-qr{grid-column:1/-1;justify-self:stretch;display:flex;align-items:center;gap:16px;background:#ffffff;color:#111418;padding:12px;border-radius:18px;line-height:1.3}
.k-mc-qr svg{width:150px;height:150px;flex:none}
.k-mc-qr span{font:800 17px/1.35 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif}
@media(max-width:400px){.k-mc-qr{flex-direction:column;text-align:center}.k-mc-qr svg{width:200px;height:200px}}
@media(min-width:760px){.k-mcard{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:28px}.k-mc-qr{grid-column:auto;flex-direction:column;gap:6px;text-align:center}.k-mc-qr svg{width:150px;height:150px}.k-mcard .k-face{width:96px;height:96px;font-size:36px}}

.k-mcard.k-mface{display:inline-flex;padding:0;margin:0;background:none;box-shadow:none;border-radius:20px;flex:none}
.k-mcard.k-mface .k-face{background:var(--brand);border-color:var(--brand-ink)}
.k-pf .k-band{margin:0 0 20px}
.k-pf h2:not([class]){font:800 24px/1.2 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.02em;margin:0 0 12px;color:var(--k-ink)}
.k-cardx .btn,.k-cardx button:not(.k-btn):not(.k-btn-2){white-space:normal;max-width:100%}
.k-cardx .row{flex-wrap:wrap}
.k-clublogo{width:72px;height:72px;border-radius:18px;background:#ffffff;padding:6px;object-fit:contain;border:1px solid var(--k-line);flex:none;box-sizing:border-box}
.k-dir{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}
@media(min-width:700px){.k-dir{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.k-dir{grid-template-columns:repeat(3,minmax(0,1fr))}}
.k-dir .k-person{margin:0;height:100%}.k-dir .k-person-h{margin:0}.k-dir li.k-me .k-person{border:2px solid var(--k-lagoon-text)}
.k-bigsteps{list-style:none;padding:0;margin:8px 0 20px;display:grid;gap:14px}
.k-bigstep{display:flex;gap:18px;align-items:flex-start;padding:18px;border-radius:20px;background:var(--k-card);border:1px solid var(--k-line);box-shadow:var(--k-shadow)}
.k-bsn{flex:none;width:56px;height:56px;border-radius:50%;background:var(--brand,var(--k-ink));color:var(--brand-ink,var(--k-card));display:inline-flex;align-items:center;justify-content:center;font:800 26px "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif}
.k-bst{font-size:21px;line-height:1.45;padding-top:8px;min-width:0}
.k-bst .note{font-size:17px!important}
.big-phone p{font-size:19px}
/* Action rows. */
.k-arows{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.k-arow{display:grid;grid-template-columns:48px minmax(0,1fr);gap:6px 14px;align-items:center;padding:16px;border-radius:16px;background:var(--k-card);border:2px solid color-mix(in srgb,var(--acc) 40%,var(--k-card));color:var(--k-ink);text-decoration:none;box-shadow:var(--k-shadow);box-sizing:border-box}
a.k-arow:hover{border-color:var(--acc);box-shadow:var(--k-shadow-lift)}
a.k-arow:focus-visible{outline:3px solid var(--k-cobalt);outline-offset:2px}
.k-arow-ic{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--acc);color:var(--acc-on);flex:none}
.k-arow-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.k-arow-t b{font:800 18px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;overflow-wrap:anywhere}
.k-arow-t span{font-weight:500;font-size:16px;line-height:1.45;color:var(--k-muted);overflow-wrap:anywhere}
.k-arow-go{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 18px;border-radius:999px;border:2px solid var(--k-ink);background:var(--k-card);font:800 16px/1 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink);white-space:nowrap}
@media(min-width:640px){.k-arow{grid-template-columns:48px minmax(0,1fr) auto}.k-arow-go{grid-column:auto;justify-self:end}}
.k-arow-warn{border-style:dashed;border-color:var(--k-sun-text);background:var(--k-warn-bg)}

/* A date chip, in the club's colour. */
.k-dchip{flex:none;width:64px;min-height:68px;border-radius:16px;background:var(--brand,var(--k-ink));color:var(--brand-ink,var(--k-card));display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font:800 15px/1.1 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;box-sizing:border-box}
.k-dchip b{font:800 28px/1 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.03em}
.k-rz .k-dchip{background:var(--k-ink);color:var(--k-card)}

/* An event, a shift or a vote as a card with its date chip. */
.k-ev{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px 16px;align-items:start}
.k-ev h3{margin:0 0 4px;font:800 20px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink);overflow-wrap:anywhere}
.k-ev p{margin:0 0 4px}
.k-ev-acts{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.k-ev-acts form{margin:0}
@media(min-width:760px){.k-ev{grid-template-columns:72px minmax(0,1fr) auto}.k-ev-acts{grid-column:auto;flex-direction:column;align-items:stretch}.k-ev .k-dchip{width:72px}}
.k-cardx{background:var(--k-card);color:var(--k-ink);border:1px solid var(--k-line);border-radius:24px;box-shadow:var(--k-shadow);padding:22px;margin:0 0 28px;position:relative;overflow:hidden;box-sizing:border-box}
.k-cardx h2,.k-cardx h3{margin:0 0 8px;font:800 22px/1.25 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.02em;color:var(--k-ink)}
.k-cardx>p:last-child,.k-cardx>form:last-child>:last-child{margin-bottom:0}
.k-stripe::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#ff4d3d,#ffc21a 50%,#00b3a4)}
.k-stack-s{display:grid;gap:16px;margin:0 0 28px}.k-stack-s>*{margin:0!important;min-width:0}
.k-going{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:2px 12px 2px 6px;border-radius:999px;background:var(--k-warn-bg);color:var(--k-ink);font:800 15px/1.2 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;margin:4px 0 6px}
.k-going .ic{color:var(--k-sun-text)}
.k-tagx{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 12px 4px 8px;border-radius:16px;font:800 15px/1.3 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;white-space:normal;max-width:100%;box-sizing:border-box;background:var(--k-flat-bg);color:var(--k-flat-fg)}
.k-tagx-good{background:var(--k-good-bg);color:var(--k-good-fg)}.k-tagx-warn{background:var(--k-warn-bg);color:var(--k-warn-fg)}.k-tagx-bad{background:var(--k-bad-bg);color:var(--k-bad-fg)}
.k-muted{color:var(--k-muted)}
.k-said{display:flex;align-items:flex-start;gap:10px;text-align:left;margin:0 0 16px;padding:12px 16px;font-size:17px;line-height:1.4;border-radius:16px}.k-said .ic,.k-said svg{flex:none}
.k-small{font-weight:600;font-size:15px;line-height:1.5;color:var(--k-muted)}
.k-pf :is(p,span)>a:not([class]){color:var(--k-link);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:48px}
.k-pf .k-tiles{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 20px}
@media(min-width:900px){.k-pf .k-tiles.k-t4{grid-template-columns:repeat(4,minmax(0,1fr))}.k-pf .k-tiles.k-t3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.k-pf .k-tiles.k-t3>*:last-child:nth-child(odd){grid-column:1/-1}
@media(min-width:900px){.k-pf .k-tiles.k-t3>*:last-child:nth-child(odd){grid-column:auto}}
.k-pf .k-tiles .k-kpi{margin:0}
.k-ic-lg{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--acc);color:var(--acc-on)}
.k-two{display:grid;gap:16px;margin:0 0 28px}.k-two>*{margin:0;min-width:0}@media(min-width:700px){.k-two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-two .k-ic-lg{margin:0 0 12px}
.k-row2{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.k-row2>div{flex:1 1 220px;min-width:0}

/* The door's pay link: an amount, and the line to show the door. */
.k-door-amt{margin:0 0 4px;font:800 clamp(40px,9vw,56px)/1.05 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--k-ink)}
.k-door-hi{margin:0 0 6px;font:700 19px/1.4 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink)}
.k-door-show{margin:0;font:800 19px/1.4 Manrope,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--k-ink)}
/* A thank you with a big mark. */
.k-done{display:flex;gap:16px;align-items:center;margin:0 0 20px}
.k-done-ic{width:72px;height:72px;border-radius:22px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--k-lagoon);color:var(--k-on);box-shadow:inset 0 0 0 2px var(--k-lagoon-text)}
.k-done-sun .k-done-ic{background:var(--k-sunflower);box-shadow:inset 0 0 0 2px var(--k-sun-text)}
.k-done-bad .k-done-ic{background:var(--k-coral);box-shadow:inset 0 0 0 2px var(--k-coral-text)}
.k-done-info .k-done-ic{background:var(--k-cobalt);color:var(--k-on-cobalt)}
.k-done-t{flex:1;min-width:0}
.k-done-t h1,.k-done-t h2{margin:0;font:800 clamp(28px,5vw,40px)/1.1 "Bricolage Grotesque","Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.03em;color:var(--k-ink)}
.k-done-t p{margin:6px 0 0;font-size:18px;color:var(--k-muted)}

/* renuzy's own band, on renuzy's pages. */
.k-rzband{background:#0b0b14;color:#fafafa;position:relative}
.k-rzband::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,#ff4d3d,#ffc21a 50%,#00b3a4)}
.k-rz-in{max-width:1040px;margin:0 auto;padding:10px 16px;min-height:64px;display:flex;align-items:center;gap:12px;box-sizing:border-box}
.k-rz-logo{display:inline-flex;align-items:center;min-height:48px;flex:1}
.k-rz-r{display:flex;align-items:center;gap:10px}
.k-rz-r a{color:#fafafa;font-weight:800;display:inline-flex;align-items:center;min-height:48px}
.k-rz .k-btn,.k-rz button.k-btn{background:var(--k-coral);color:var(--k-on)}

@media print{.k-ptabs,.k-topacts{display:none!important}.k-mcard,.k-dchip,.k-arow-ic{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
