/* Clubhouse (Page Lemon app template). The member pages use the shared app kit (kit.css); this file sets the club's brand
   tokens and the few pieces the kit doesn't have (outing cards, the reply switch, the judge's note, the public page).
   Colours: edit the tokens below; the dark scheme follows the device. */
:root {
  --k-brand: #1f3a73; --k-brand-ink: #ffffff; --k-brand-soft: #e6ecf8;
  --k-hero: #141d36; --k-hero-ink: #f7efd9; --k-gold: #e2a72e;
  --k-bg: #f1ece0; --k-surface: #fffdf8; --k-surface-2: #ebe4d3; --k-line: #e3dbc7; --k-line-strong: #cfc4a8;
  --mustard: #e2a72e; --mustard-ink: #261a00; --pin: #c7372b;
}
@media (prefers-color-scheme: dark) {
  :root { --k-brand: #8fb0f5; --k-brand-ink: #0c1530; --k-brand-soft: rgba(143, 176, 245, .15); --k-hero: #18223f; --k-bg: #0f1220; --k-surface: #181c2e; --k-surface-2: #222842; }
}

/* ---------- brand bits ---------- */
.c-pennants { display: flex; height: 14px; margin: 0 -16px; }
.c-pennants span { flex: 1; clip-path: polygon(8% 0, 92% 0, 50% 100%); background: var(--k-brand); }
.c-pennants span:nth-child(3n+2) { background: var(--mustard); }
.c-pennants span:nth-child(3n) { background: var(--pin); }
.c-ico { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.c-tag { display: inline-block; padding: 2px 10px; border-radius: 6px; background: var(--mustard); color: var(--mustard-ink); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

/* ---------- home ---------- */
.c-hello h1 { font-size: var(--k-t-1); font-weight: 800; }
.c-hero-meta { display: flex; justify-content: space-between; align-items: baseline; margin-top: var(--k-4); font-size: var(--k-t-sub); }
.c-hero-meta b { font-family: var(--k-font-display); font-size: 2.25rem; font-weight: 800; letter-spacing: -.03em; }
.c-hero-meta b small { font-size: 1rem; opacity: .7; font-weight: 600; letter-spacing: 0; margin-left: 4px; }
.c-hero-card .k-dots { --k-dots: 10; gap: 6px; }
.c-next { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--k-4); align-items: center; }
.c-next img { width: 96px; height: 96px; border-radius: var(--k-r-m); object-fit: cover; }
.c-mine:empty { display: none; }
.c-mine { margin-top: var(--k-3); }
.c-mine .k-row { padding: 10px 0; min-height: 0; }
.c-mine .k-empty { padding: 12px 0 0; text-align: left; }
.c-inline-empty { display: flex; align-items: center; justify-content: space-between; gap: var(--k-3); margin-top: var(--k-3); padding: 12px 14px; border-radius: var(--k-r-m); background: var(--k-surface-2); font-size: var(--k-t-sub); color: var(--k-muted); }
.c-inline-empty .k-btn { flex: none; }
.c-reply-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: var(--k-3); font-size: var(--k-t-sub); color: var(--k-muted); }
.c-reply-line .k-badge { height: 26px; }

/* Replies coloured by app.js: Yes, Maybe, No. */
.c-yes { background: var(--k-ok-soft) !important; color: var(--k-ok) !important; }
.c-maybe { background: var(--k-warn-soft) !important; color: var(--k-warn) !important; }
.c-no { background: var(--k-surface-2) !important; color: var(--k-muted) !important; }

/* Programme (Tuesdays) and noticeboard */
.c-prog .k-row-end b { font-size: var(--k-t-foot); }
.c-board { display: grid; gap: var(--k-3); }
.c-note { position: relative; background: var(--k-surface); border-radius: var(--k-r-m); padding: var(--k-4) var(--k-4) var(--k-4) var(--k-5); box-shadow: var(--k-shadow-1); }
.c-note::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 4px; border-radius: 0 4px 4px 0; background: var(--mustard); }
.c-note h3 { font-size: 1rem; font-weight: 700; }
.c-note p { color: var(--k-muted); font-size: var(--k-t-sub); margin-top: 4px; }
.c-note small { display: block; margin-top: 8px; color: var(--k-faint); font-size: var(--k-t-cap); font-weight: 600; letter-spacing: .02em; }

/* ---------- outings ---------- */
.c-outings { display: grid; gap: var(--k-4); }
.c-outing { background: var(--k-surface); border-radius: var(--k-r-l); box-shadow: var(--k-shadow-1); overflow: hidden; scroll-margin-top: 80px; }
.c-outing > img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.c-outing-body { padding: var(--k-4) var(--k-5) var(--k-5); display: grid; gap: var(--k-3); }
.c-when { display: flex; align-items: center; gap: 12px; }
.c-date { flex: none; width: 52px; text-align: center; border-radius: 12px; background: var(--k-brand-soft); color: var(--k-brand); padding: 6px 0 4px; line-height: 1; }
.c-date small { display: block; font-size: .6875rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.c-date b { display: block; font-size: 1.375rem; font-weight: 800; margin-top: 2px; }
.c-when h2 { font-size: 1.1875rem; font-weight: 800; }
.c-when p { color: var(--k-muted); font-size: var(--k-t-foot); margin-top: 2px; }
.c-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: var(--k-t-sub); }
.c-facts li { display: flex; gap: 10px; align-items: flex-start; }
.c-facts .k-i { width: 20px; height: 20px; color: var(--k-muted); margin-top: 2px; }
.c-reply { display: grid; gap: var(--k-3); padding-top: var(--k-3); border-top: 1px solid var(--k-line); }
.c-reply fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.c-reply legend { font-size: var(--k-t-foot); font-weight: 600; color: var(--k-muted); margin-bottom: 6px; padding: 0; }
.c-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; border-radius: 14px; background: var(--k-surface-2); }
.c-seg label { position: relative; }
.c-seg input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.c-seg span { display: grid; place-items: center; min-height: 44px; border-radius: 10px; font-weight: 700; font-size: var(--k-t-sub); color: var(--k-muted); }
.c-seg input:checked + span { background: var(--k-surface); color: var(--k-text); box-shadow: var(--k-shadow-1); }
.c-seg input:focus-visible + span { outline: 3px solid var(--k-brand); outline-offset: 1px; }
.c-reply .k-pair { grid-template-columns: 110px minmax(0, 1fr); align-items: end; }
.c-reply textarea { min-height: 50px; resize: vertical; }
.c-past { opacity: .82; }

/* ---------- entries ---------- */
.c-brief { display: grid; gap: var(--k-4); }
.c-brief img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--k-r-l); }
.c-rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: var(--k-t-sub); }
.c-rules li { display: flex; gap: 10px; }
.c-rules .k-i { width: 20px; height: 20px; color: var(--k-brand); margin-top: 2px; }
.c-drop { display: grid; gap: 6px; justify-items: center; text-align: center; padding: var(--k-5) var(--k-4); border-radius: var(--k-r-m); border: 2px dashed var(--k-line-strong); background: var(--k-surface-2); }
.c-drop .c-ico { width: 32px; height: 32px; color: var(--k-brand); }
.c-drop input[type="file"] { max-width: 100%; font-size: var(--k-t-sub); }
.c-entry { background: var(--k-surface); border-radius: var(--k-r-l); box-shadow: var(--k-shadow-1); overflow: hidden; display: grid; }
.c-entry > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--k-surface-2); }
.c-entry-body { padding: var(--k-4) var(--k-5) var(--k-5); display: grid; gap: 6px; }
.c-entry-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.c-entry h3 { font-size: 1.125rem; font-weight: 800; }
.c-entry .c-memo { color: var(--k-muted); font-size: var(--k-t-sub); }
.c-entry .c-memo:empty { display: none; }
.c-judge { margin-top: var(--k-3); padding: 14px 16px; border-radius: var(--k-r-m); background: var(--k-brand-soft); font-size: var(--k-t-sub); }
.c-judge b { display: flex; align-items: center; gap: 6px; font-size: var(--k-t-foot); color: var(--k-brand); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.c-judge:has(q:empty) { display: none; }
.c-judge q.k-reply { display: block; quotes: none; margin: 0; padding: 0; background: none; color: var(--k-text); }
.c-judge q.k-reply::before, .c-judge q.k-reply::after { content: none; }
.c-entries { display: grid; gap: var(--k-4); }
@media (min-width: 720px) { .c-entries { grid-template-columns: repeat(2, minmax(0, 1fr)); } .c-entry { grid-template-rows: auto 1fr; } }
@media (min-width: 1024px) { .c-entry-wide { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .c-entry-wide > img { height: 100%; aspect-ratio: auto; } }
.c-results { display: grid; gap: var(--k-3); }
.c-result { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; }
.c-result img { width: 72px; height: 72px; border-radius: 12px; object-fit: cover; }
.c-result b { display: block; }
.c-result span { color: var(--k-muted); font-size: var(--k-t-foot); }

/* ---------- card ---------- */
.c-card-hero .k-scan { margin-top: var(--k-4); }
.c-rule-line { display: flex; gap: 10px; align-items: flex-start; font-size: var(--k-t-sub); color: var(--k-muted); }
.c-rule-line .k-i { width: 20px; height: 20px; flex: none; color: var(--k-brand); margin-top: 2px; }

/* ---------- welcome / signed out ---------- */
.c-welcome-cta { display: flex; flex-wrap: wrap; gap: var(--k-3); margin-top: var(--k-5); }
.c-out { display: grid; gap: var(--k-4); justify-items: start; padding: var(--k-6) 0; max-width: 34rem; }
.c-out h1 { font-size: var(--k-t-1); font-weight: 800; }
.c-out p { color: var(--k-muted); }

/* ---------- public page and privacy (k-app without the tab bar) ---------- */
.c-pub .k-main { padding-bottom: 48px; }
@media (min-width: 1024px) { body.k-app.c-pub { display: block; } .c-pub .k-top { padding: 16px 40px; } .c-pub .k-top .k-brand { display: flex; } }
.c-pub-nav { display: none; gap: 20px; font-weight: 600; font-size: var(--k-t-sub); }
.c-pub-nav a { text-decoration: none; color: var(--k-muted); }
@media (min-width: 720px) { .c-pub-nav { display: flex; } }
.c-hero { display: grid; gap: var(--k-5); padding: var(--k-5) 0 var(--k-6); }
.c-hero h1 { font-size: var(--k-t-hero); font-weight: 800; letter-spacing: -.035em; line-height: 1.04; }
.c-hero .k-lead { color: var(--k-muted); font-size: 1.125rem; margin-top: var(--k-3); max-width: 38ch; }
.c-hero figure { margin: 0; border-radius: var(--k-r-xl); overflow: hidden; box-shadow: var(--k-shadow-2); }
.c-hero figure img { width: 100%; aspect-ratio: 20 / 21; object-fit: cover; }
@media (min-width: 900px) { .c-hero { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 56px; padding-top: var(--k-7); } }
.c-steps { counter-reset: s; list-style: none; margin: 0; padding: 0; display: grid; gap: var(--k-3); }
.c-steps li { counter-increment: s; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: start; }
.c-steps li::before { content: counter(s); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--k-brand); color: var(--k-brand-ink); font-weight: 800; }
.c-steps b { display: block; }
.c-steps span { color: var(--k-muted); font-size: var(--k-t-sub); }
.c-shot { display: grid; gap: var(--k-3); }
.c-shot img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--k-r-l); }
.c-prose { max-width: 44rem; }
.c-prose h1 { font-size: var(--k-t-1); font-weight: 800; margin: var(--k-4) 0 var(--k-3); }
.c-prose h2 { font-size: var(--k-t-3); margin: var(--k-6) 0 var(--k-2); }
.c-prose p, .c-prose li { color: var(--k-text); margin: 0 0 var(--k-3); }
.c-prose ul { padding-left: 1.2em; }
.c-tip { padding: 12px 16px; border-radius: var(--k-r-m); background: var(--k-warn-soft); color: var(--k-warn); font-weight: 600; font-size: var(--k-t-sub); }
.blank { background: var(--k-warn-soft); color: var(--k-text); padding: 0 4px; border-radius: 4px; }
.c-row-flat { padding: 0; min-height: 0; }
.k-app .c-gap { margin-top: var(--k-4); }
.c-prog .k-row-title { white-space: normal; }
@media (max-width: 1023px) { .k-split > .k-aside { margin-top: var(--k-6); } }
.k-tabs .k-tabs-brand span { white-space: normal; line-height: 1.2; }
@media (min-width: 1440px) {
  .c-outing { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .c-outing > img { height: 100%; aspect-ratio: auto; min-height: 240px; }
}
.c-entry-body { align-content: start; }
.c-drop input[type="file"] { width: 100%; min-width: 0; }
/* Tap targets of 44 px for the footer and section links (kit gap). */
.k-foot { align-items: center; }
.k-foot a, .k-section-head a { display: inline-flex; align-items: center; min-height: 44px; }
.k-section-head { align-items: center; }
.c-memo-line { flex-basis: 100%; font-size: var(--k-t-foot); }
.c-memo-line:empty { display: none; }
/* Review round 2 */
.c-drop { position: relative; cursor: pointer; }
.c-drop input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.c-drop:focus-within { border-color: var(--k-brand); box-shadow: 0 0 0 4px var(--k-brand-soft); }
.c-drop .k-btn { margin-top: 6px; pointer-events: none; }
.c-ready { display: flex; gap: 12px; align-items: flex-start; margin-top: var(--k-4); padding: 14px 16px; border-radius: var(--k-r-m); background: var(--mustard); color: var(--mustard-ink); font-size: var(--k-t-sub); }
.c-ready .k-i { width: 22px; height: 22px; flex: none; }
.c-asked h3 { font-size: 1rem; }
.c-asked p { color: var(--k-text); }
.c-result .c-tag { color: var(--mustard-ink); font-size: .6875rem; }
@media (min-width: 720px) and (max-width: 1023px) { .c-entries { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 1024px) { .c-entries { grid-template-columns: minmax(0, 1fr); } .c-entry-wide { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); grid-template-rows: none; } .c-entry-wide > img { min-height: 260px; } }
/* Review round 3 */
.c-mine .c-entry-top .k-row-title { white-space: normal; }
.c-acct { max-width: 920px; }
.c-plan-now { display: flex; gap: 14px; align-items: flex-start; }
.c-plan-now h3 { font-size: 1.0625rem; }
.c-plan-now p { color: var(--k-muted); font-size: var(--k-t-sub); margin-top: 4px; }
.c-acct .k-grid .k-card > .k-tile { margin-bottom: var(--k-3); }
.c-acct .k-grid .k-card p { color: var(--k-muted); font-size: var(--k-t-sub); margin-top: 4px; overflow-wrap: anywhere; }
/* Codex review */
.c-guests { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--k-r-pill); background: var(--k-surface-2); color: var(--k-muted); font-size: .75rem; font-weight: 700; }
.k-row-end .c-guests { background: none; padding: 0; height: auto; }
@media (max-width: 419px) { .c-reply .k-pair { grid-template-columns: minmax(0, 1fr); } }
.c-entry > img { object-fit: contain; background: var(--k-surface-2); padding: 18px; filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .25)); }
.c-result img { object-fit: cover; }
@media (max-width: 719px) { .k-welcome-art { aspect-ratio: auto; height: 180px; } .k-welcome-art figcaption { bottom: 12px; } }
.k-welcome-art { width: 100%; }
.k-welcome .k-perks { margin-top: var(--k-5); }
@media (max-width: 719px) { .c-welcome-cta .k-btn { flex: 1 1 100%; } }
.c-is-replaced { opacity: .62; }
.c-is-replaced .k-steps, .c-is-replaced .c-judge { display: none; }
.c-replaced { background: var(--k-warn-soft); color: var(--k-warn); }
.k-toast { margin-bottom: var(--k-4); }
/* Results as a print wall: white mounts, captions under each print */
.c-gallery { display: grid; gap: var(--k-4); }
.c-print { position: relative; margin: 0; padding: 12px 12px 10px; background: #fbfaf6; border-radius: 4px; box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 10px 24px rgba(20, 14, 8, .14); color: #1c1916; }
.c-print img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
.c-print figcaption { padding-top: 8px; display: grid; gap: 1px; }
.c-print figcaption b { font-size: var(--k-t-sub); font-weight: 700; }
.c-print figcaption span { font-size: var(--k-t-cap); color: #5c554e; }
.c-print-hero { padding: 16px 16px 14px; }
.c-print-hero .c-tag { position: absolute; top: 24px; left: 24px; z-index: 1; color: var(--mustard-ink); }
.c-print-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--k-3); }
.c-print-pair .c-print { padding: 8px 8px 6px; }
.c-print-pair figcaption b { font-size: var(--k-t-foot); }
@media (min-width: 1024px) { .c-entry-wide > img { height: auto; min-height: 0; aspect-ratio: 4 / 3; align-self: start; padding: 14px; } .c-entry-wide { background: linear-gradient(90deg, var(--k-surface-2) 40%, var(--k-surface) 40%); } }

/* ===== Redesign 2026-10-22: serif, brand hero, float tabs. A camera club: print mounts, a film strip card, a felt noticeboard ===== */
.c-hello { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--k-4); }
.c-hello h1 { font-weight: 700; }
.c-bunting { display: flex; gap: 3px; flex: none; margin-bottom: 8px; }
.c-bunting i { width: 18px; height: 24px; background: var(--k-brand); clip-path: polygon(0 0, 100% 0, 50% 100%); }
.c-bunting i:nth-child(3n+2) { background: var(--mustard); }
.c-bunting i:nth-child(3n) { background: var(--pin); }
@media (max-width: 479px) { .c-bunting i { width: 12px; height: 18px; } }
.c-home { margin-top: var(--k-2); }
.c-home .k-col { display: grid; gap: var(--k-4); align-content: start; }
@media (min-width: 1024px) {
  .k-board.c-home > .c-a { grid-column: 1 / 8; grid-row: 1; }
  .k-board.c-home > .c-b { grid-column: 8 / 13; grid-row: 1 / 3; }
  .k-board.c-home > .c-c { grid-column: 1 / 8; grid-row: 2; }
  .k-board.c-home > .c-d { grid-column: 1 / -1; grid-row: 3; }
}

/* Print mount: the next outing as a matted print with its caption underneath */
.c-mount { background: var(--k-surface); border-radius: 6px; padding: 14px; box-shadow: 0 1px 0 rgba(0,0,0,.05), 0 14px 30px rgba(31, 24, 10, .13); display: grid; gap: var(--k-4); }
.c-mount-photo { position: relative; display: block; }
.c-mount-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.c-mount-photo .c-tag { position: absolute; left: 12px; top: 12px; }
.c-mount-body { display: grid; gap: var(--k-3); align-content: start; padding: 2px 6px 6px; }
.c-live h2 { font-size: 1.5rem; line-height: 1.12; }
.c-live .c-date { border-radius: 4px; background: var(--k-brand); color: var(--k-brand-ink); width: 58px; padding: 8px 0 6px; }
.c-live .c-date b { font-size: 1.75rem; font-family: var(--k-font-display); }
.c-live .c-when { align-items: flex-start; gap: 14px; }
.c-live .c-when p { font-size: var(--k-t-sub); }
.c-live .c-mine { margin-top: 0; padding-top: var(--k-3); border-top: 1px dashed var(--k-line-strong); }
.c-more { margin: 0; }
.c-more a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; color: var(--k-brand); }
@media (min-width: 720px) { .c-live { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--k-5); padding: 16px; align-items: start; } .c-live .c-mount-photo img { aspect-ratio: 4 / 5; } }
@media (min-width: 720px) and (max-width: 1023px) { .c-live .c-mount-photo img { aspect-ratio: 4 / 3; } .c-live { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }

/* Film strip member card */
.c-film { border-radius: var(--k-r-l); }
.c-film .c-hero-meta b { font-size: 2.5rem; }
.c-film .k-dots { --k-dots: 10; position: relative; gap: 4px; margin: var(--k-4) 0 0; padding: 22px 8px; background: #0a0d16; border-radius: 4px; }
.c-film .k-dots::before, .c-film .k-dots::after { content: ""; position: absolute; left: 8px; right: 8px; height: 6px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.5) 0 7px, transparent 7px 14px); border-radius: 1px; }
.c-film .k-dots::before { top: 8px; } .c-film .k-dots::after { bottom: 8px; }
.c-film .k-dots li { aspect-ratio: 3 / 4; border-radius: 2px; border: 1px solid rgba(255,255,255,.22); }
.c-film .k-dots li.on { border: 0; background: var(--mustard); box-shadow: none; }
.c-film .k-dots li.on::before { background: rgba(38, 26, 0, .8); }
.c-film .k-dots li.k-free { border: 1px dashed rgba(255,255,255,.7); background: transparent; box-shadow: none; }
.c-film .k-dots li.k-free::before { font-size: .5rem; color: #fff; }
.c-film .k-dots li.k-free.on { background: var(--mustard); border: 0; }
.c-film .k-dots li.k-free.on::before { color: var(--mustard-ink); }
.c-film .k-note { margin-top: var(--k-3); }

/* Noticeboard: paper notes pinned on a felt strip */
.c-d { background: var(--k-hero); border-radius: var(--k-r-l); padding: var(--k-5); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), inset 0 2px 30px rgba(0,0,0,.28); }
.c-felt-h { color: #f7efd9; font-size: 1.125rem; margin-bottom: var(--k-4); }
.c-d .c-board { gap: var(--k-4); }
@media (min-width: 720px) { .c-d .c-board { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.c-d .c-note { background: #fbf5e4; color: #1c1916; border-radius: 3px; padding: 22px var(--k-4) var(--k-4); box-shadow: 0 8px 16px rgba(0,0,0,.3); transform: rotate(-.6deg); }
.c-d .c-note:nth-child(2) { transform: rotate(.5deg); } .c-d .c-note:nth-child(3) { transform: rotate(-.3deg); }
.c-d .c-note::before { left: 50%; top: 8px; bottom: auto; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--pin); box-shadow: 0 2px 3px rgba(0,0,0,.4), inset -2px -2px 0 rgba(0,0,0,.2); }
.c-d .c-note p { color: #4a443d; }
.c-d .c-note small { color: #6d655b; }

/* Other pages */
.k-pagehead h1 { font-weight: 700; }
.c-outing, .c-entry { border-radius: 6px; }
.c-outing > img { margin: 12px 12px 0; width: calc(100% - 24px); box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); }
.c-outing .c-date { border-radius: 4px; background: var(--k-brand); color: var(--k-brand-ink); }
@media (min-width: 1440px) { .c-outing > img { height: calc(100% - 24px); margin: 12px 0 12px 12px; width: calc(100% - 12px); } }
.c-acct { max-width: none; }
.c-club { display: grid; gap: var(--k-3); }
.c-club .k-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 14px; align-items: start; }
.c-club .k-card > .k-tile { grid-row: 1 / 3; margin: 0; }
.c-club .k-card h3 { font-size: 1.0625rem; } .c-club .k-card p { grid-column: 2; }
.c-acct .k-card > .k-tile { margin-bottom: 0; }
.k-board > .k-col { display: grid; gap: var(--k-4); align-content: start; }
.k-board > .k-col > * { min-width: 0; }
@media (max-width: 1023px) { .k-board { gap: var(--k-6); } }
/* Round 1 fixes */
@media (min-width: 1024px) { .c-outing > img { height: auto; aspect-ratio: 4 / 5; align-self: start; } }
@media (min-width: 1024px) { .c-entry-wide { background: var(--k-surface); } .c-entry-wide > img { background: var(--k-surface-2); } }
.c-card-hero .k-dots { margin-top: var(--k-4); }
.k-board > .k-col, .c-home .k-col { grid-template-columns: minmax(0, 1fr); }
.c-club .k-card p { color: var(--k-muted); font-size: var(--k-t-sub); overflow-wrap: anywhere; min-width: 0; }
.c-club .k-card > * { min-width: 0; }

/* ===== Review round 1 ===== */
/* One shape (soft), ink rail; the bunting is the top band of the home */
.c-hello { flex-wrap: wrap; }
.c-bunting { order: -1; flex: 1 1 100%; width: 100%; margin: 0 0 var(--k-3); gap: 2px; }
.c-bunting i { flex: 1; width: auto; height: 20px; }
.c-bunting i:nth-child(n+13) { display: none; }
@media (min-width: 720px) { .c-bunting i:nth-child(n+13) { display: block; } }
.c-mount, .c-outing, .c-entry { border-radius: var(--k-r-m); }
.c-mount-photo img { border-radius: 2px; }
.c-d .c-note { border-radius: 4px; }

/* Home: the card leads on phones, the board stretches on desktop */
.c-live { height: 100%; }
@media (max-width: 1023px) {
  .c-home > .c-film { order: -2; }
  .c-home > .c-a { order: 0; } .c-home > .c-c { order: 1; } .c-home > .c-e { order: 2; } .c-home > .c-d { order: 3; }
  .c-live .c-mount-photo img { aspect-ratio: 16 / 9; }
}
@media (min-width: 1024px) {
  .k-board.c-home { align-items: stretch; }
  .k-board.c-home > .c-a { grid-column: 1 / 8; grid-row: 1; }
  .k-board.c-home > .c-film { grid-column: 8 / 13; grid-row: 1; align-self: stretch; display: flex; flex-direction: column; }
  .k-board.c-home > .c-film .k-btn { margin-top: auto; }
  .k-board.c-home > .c-c { grid-column: 1 / 8; grid-row: 2; }
  .k-board.c-home > .c-e { grid-column: 8 / 13; grid-row: 2; }
  .k-board.c-home > .c-d { grid-column: 1 / -1; grid-row: 3; }
  .c-live .c-mount-photo img { aspect-ratio: 4 / 5; max-height: 360px; width: 100%; }
}
.c-scan-gap { display: none; }
.c-home .c-e .k-panel, .c-home .c-c .k-panel { height: 100%; }
.k-app .k-row-sub { white-space: normal; }
@media (min-width: 720px) { .c-d .c-board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.c-d .c-note { padding-top: 30px; }

/* Contact-sheet strip: numbered frames, no sprocket holes */
.c-film .k-dots { counter-reset: fr; padding: 10px 8px; background: #0a0d16; }
.c-film .k-dots::before, .c-film .k-dots::after { content: none; }
.c-film .k-dots li { position: relative; counter-increment: fr; }
.c-film .k-dots li::after { content: counter(fr, decimal-leading-zero); position: absolute; left: 0; right: 0; bottom: 2px; text-align: center; font: 700 .5rem/1 ui-monospace, Menlo, monospace; color: rgba(255,255,255,.55); }
.c-film .k-dots li.on::after { color: rgba(38, 26, 0, .7); }
.c-film .k-dots li.k-free.on::before { content: ""; width: 52%; height: 52%; }
.c-film .k-dots li::before { margin-bottom: 8px; }
.c-film .k-dots li.k-free::before { margin-bottom: 8px; }
@media (prefers-color-scheme: dark) {
  .k-app[data-k-hero="brand"] .c-film { --k-hero: #1f3263; --k-hero-ink: #f7efd9; background: linear-gradient(160deg, #26407a, #1a2a56); color: #f7efd9; }
  .c-d { border: 1px solid rgba(255, 255, 255, .14); background: #1b2a52; }
}

/* Outings: forms fold away once answered */
.c-fold > summary { list-style: none; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: var(--k-r-pill); background: var(--k-brand); color: var(--k-brand-ink); font-weight: 700; cursor: pointer; }
.c-fold > summary::-webkit-details-marker { display: none; }
.c-fold[open] > summary { background: var(--k-surface-2); color: var(--k-muted); font-weight: 600; min-height: 44px; margin-bottom: var(--k-3); }
.c-fold[open] > summary span::after { content: " (close)"; font-weight: 400; }
.c-fold > summary:focus-visible { outline: 3px solid var(--k-brand); outline-offset: 2px; }
@media (min-width: 1024px) { .c-outing > img { height: calc(100% - 24px); min-height: 0; aspect-ratio: auto; align-self: stretch; object-fit: cover; } }
@media (min-width: 1440px) { .c-outing > img { aspect-ratio: auto; } }

/* Entries: print mounts full height, no floating shadow */
@media (min-width: 1024px) { .c-entry-wide > img { height: 100%; aspect-ratio: auto; align-self: stretch; min-height: 260px; filter: none; } }
.c-entry > img { filter: none; }

/* Card page */
.c-nights { --k-cols: 1.2fr 1fr 1.4fr; }
.c-nights .k-td-end { font-size: var(--k-t-sub); color: var(--k-muted); }

/* Account: the club summary sits above billing on phones */
@media (max-width: 1023px) {
  .c-acct .k-board > .k-col { display: contents; }
  .c-sec-m { order: 0; } .c-sec-c { order: 1; } .c-sec-b { order: 2; }
}
.c-club .k-card p { font-size: .875rem; }

/* ===== Review round 2 ===== */
.c-nights { --k-cols: 1.6fr 1fr; }
.c-nights .k-td-main small { color: var(--k-muted); font-size: var(--k-t-sub); margin-left: 8px; font-weight: 400; }
.c-nights .k-td-end { text-align: right; white-space: nowrap; }
@media (max-width: 1023px) {
  .c-nights .k-tr { flex-wrap: nowrap; justify-content: space-between; align-items: center; min-height: 52px; padding: 10px 16px; }
  .c-nights .k-tr::after { display: none; }
}
.k-card[data-k-ready]:has(> [data-k-if-no-reward][hidden]) { display: none; }
.c-fold[open] > summary span::after { content: none; }
.c-club a[href^="mailto"] p { grid-column: 1 / -1; }
.c-film .k-dots li::after { font-size: .5625rem; bottom: 3px; }
.c-film .k-dots li::before { margin-bottom: 10px; }
.c-film .k-dots li.k-free::before { margin-bottom: 10px; }
.c-home .c-c { align-self: start; }
.c-home .c-c .k-panel { height: auto; }
@media (min-width: 1024px) { .c-outing > img { height: auto; aspect-ratio: 4 / 5; align-self: start; } }
@media (max-width: 1023px) { .k-app[data-k-tabs~="float"] .k-tabs a[aria-current="page"] { background: var(--k-brand); color: var(--k-brand-ink); } }
.c-nights .k-td-main { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; min-width: 0; }
.c-nights .k-td-main small { display: inline; margin-left: 0; }
/* Round 3 polish */
.c-outing-body { align-content: start; }
.c-club a[href^="mailto"] p { color: var(--k-brand); text-decoration: underline; }

/* art direction 2026-10-25 */
/* Clubhouse: a light box. Mounts sit on a glowing panel; the member card is a yellow film box end. Lit, yellow and red. */
:root {
  --k-font-display: "League Spartan", "Arial Narrow", Arial, sans-serif;
  --k-font: Lexend, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --k-brand: #f6c700; --k-brand-ink: #161616; --k-brand-soft: #fff1b0;
  --k-info: #161616; --k-info-soft: #fff1b0;
  --k-hero: #161616; --k-hero-ink: #f7f7f2; --k-gold: #f6c700;
  --k-bg: #f7f7f2; --k-surface: #ffffff; --k-surface-2: #ecebe3;
  --k-line: rgba(22, 22, 22, .12); --k-line-strong: rgba(22, 22, 22, .3);
  --k-text: #161616; --k-muted: #4a4a45; --k-faint: #5e5e57;
  --k-ok: #176b46; --k-ok-soft: #dcf1e5; --k-warn: #6e4600; --k-warn-soft: #fff1b0;
  --k-danger: #c41c23; --k-link: #1c2d5a; --k-focus: #161616;
  --k-shadow-1: 0 1px 2px rgba(22, 22, 22, .08), 0 2px 8px rgba(22, 22, 22, .06);
  --k-shadow-2: 0 2px 6px rgba(22, 22, 22, .1), 0 12px 32px rgba(22, 22, 22, .12);
  --mustard: #f6c700; --mustard-ink: #161616; --pin: #c41c23;
}
@media (prefers-color-scheme: dark) {
  :root {
    --k-bg: #161616; --k-surface: #222222; --k-surface-2: #2c2c2c;
    --k-line: rgba(247, 247, 242, .14); --k-line-strong: rgba(247, 247, 242, .3);
    --k-text: #f7f7f2; --k-muted: #b5b5ad; --k-faint: #a3a39b;
    --k-hero: #0d0d0d; --k-hero-ink: #f7f7f2;
    --k-brand-soft: rgba(246, 199, 0, .16); --k-link: #9db4e8; --k-focus: #f6c700;
    --k-ok: #6fd19b; --k-ok-soft: rgba(111, 209, 155, .14); --k-warn: #f2c25a; --k-warn-soft: rgba(242, 194, 90, .14);
    --k-danger: #ff6b61; --pin: #e0463d;
    --k-shadow-1: 0 1px 2px rgba(0, 0, 0, .4); --k-shadow-2: 0 12px 32px rgba(0, 0, 0, .45);
  }
}
body.k-app { background: var(--k-bg); color: var(--k-text); font-family: var(--k-font); }
:where(.k-app) :is(h1, h2, h3) { font-family: var(--k-font-display); font-weight: 700; letter-spacing: .005em; }
.k-app :focus-visible { outline: 3px solid var(--k-focus); outline-offset: 2px; }
.c-tag { background: var(--k-brand); color: var(--k-brand-ink); border-radius: 2px; letter-spacing: .08em; font-family: var(--k-font-display); }
.c-tag b, .c-link { color: var(--k-link); }
.c-more a, .c-club a[href^="mailto"] p, .c-asked b { color: var(--k-link); }
@media (prefers-color-scheme: dark) { .c-more a, .c-club a[href^="mailto"] p, .c-asked b { color: var(--k-link); } }

/* Public page: the light box and the red band */
.c-pub .k-main { max-width: 1200px; padding-bottom: 48px; }
.c-hero { margin: 8px -16px 0; }
.c-box {
  position: relative; display: grid; gap: 28px; padding: 32px 20px 28px; min-height: 540px; overflow: hidden;
  background: radial-gradient(ellipse at 50% 40%, #fffbea 0%, #f3ebc8 70%); border: 2px solid #161616; border-radius: 4px;
}
.c-copy { position: relative; z-index: 1; display: grid; gap: 16px; justify-items: start; }
.c-copy .c-tag { font-size: .8125rem; }
.c-hero h1 { font-family: var(--k-font-display); font-weight: 800; text-transform: uppercase; color: #161616; font-size: clamp(2.5rem, 8vw, 6.25rem); line-height: .92; letter-spacing: -.01em; margin: 0; }
.c-hero .k-lead { color: #4a4a45; font-size: 1.0625rem; margin: 0; max-width: 40ch; }
.c-hero .c-welcome-cta { margin-top: 4px; }
.c-slides { position: relative; z-index: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.c-slide { margin: 0; padding: 8px 8px 0; background: #fff; border: 1px solid #d8d4c8; box-shadow: 0 6px 14px rgba(22, 22, 22, .16); transform: rotate(var(--r, 0deg)); min-width: 0; }
.c-slide img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.c-slide figcaption { font-family: var(--k-font-display); font-weight: 700; font-size: .6875rem; letter-spacing: .06em; text-transform: uppercase; color: #161616; padding: 7px 2px 8px; white-space: nowrap; overflow: hidden; }
.c-s1 { --r: -2deg; } .c-s2 { --r: 2deg; } .c-s3 { --r: -1deg; } .c-s4 { --r: 2deg; } .c-s5 { --r: -2deg; } .c-s6 { --r: 1deg; }
@media (min-width: 900px) {
  .c-pub .k-main { display: block; }
  .c-hero { display: block; margin: 8px calc(50% - 50vw) 0; width: 100vw; }
  .c-box { display: block; width: 100%; min-height: 640px; padding: 56px; box-sizing: border-box; }
  .c-copy { max-width: 60%; }
  .c-hero h1 { font-size: clamp(3rem, 5vw, 5.5rem); }
  .c-slides { position: absolute; right: 48px; bottom: 48px; width: 36%; gap: 16px; }
  .c-s1 { --r: -2deg; } .c-s2 { --r: 1.5deg; }
}
.c-band {
  margin: 0 -16px; padding: 18px 16px; min-height: 64px; display: flex; align-items: center; justify-content: center; text-align: center;
  background: #c41c23; color: #fff; font-family: var(--k-font-display); font-weight: 700; font-size: 1.125rem; letter-spacing: .05em; text-transform: uppercase; line-height: 1.3;
}
@media (min-width: 1024px) { .c-band { margin: 0 calc(50% - 50vw); width: 100vw; } }
#join h2 { margin-bottom: 16px; }
@media (min-width: 1024px) { .c-pub .k-split { align-items: stretch; } }
.c-shot img { aspect-ratio: 4 / 3; width: 100%; height: auto; }

/* Member card: a yellow film box end with black bands; 7 of 10 frames exposed */
.k-app .k-hero-card.c-film {
  --k-hero: #f6c700; --k-hero-ink: #161616; background: #f6c700; color: #161616; box-shadow: var(--k-shadow-2);
  border: 0; border-top: 24px solid #161616; border-bottom: 24px solid #161616; border-radius: 4px; padding: 20px 22px 26px; position: relative;
}
.k-app .c-film::after { display: none; }
.k-app .c-film .k-hero-top, .k-app .c-film .k-note, .k-app .c-film .c-hero-meta span { color: #161616; }
.k-app .c-film .c-hero-meta b, .k-app .c-film .k-big { font-family: var(--k-font-display); font-weight: 800; font-size: 6rem; line-height: .9; color: #161616; letter-spacing: -.02em; }
.k-app .c-film .c-hero-meta b small { font-size: 1.125rem; font-weight: 700; color: #161616; }
.k-app .c-film .k-hero-top > span:first-child { font-family: var(--k-font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 1.125rem; }
.c-tab { display: inline-flex; align-self: flex-start; padding: 6px 10px; background: #c41c23; color: #fff; font-family: var(--k-font-display); font-weight: 700; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; border-radius: 2px; }
.k-app .c-film .k-dots { --k-dots: 10; gap: 6px; margin-top: 18px; padding: 0; background: none; border-radius: 0; }
.k-app .c-film .k-dots::before, .k-app .c-film .k-dots::after { content: none; }
.k-app .c-film .k-dots li { aspect-ratio: 1; border: 2px solid #161616; border-radius: 2px; background: transparent; box-shadow: none; }
.k-app .c-film .k-dots li.on { background: #161616; border-color: #161616; }
.k-app .c-film .k-dots li.k-free { border-style: dashed; }
.k-app .c-film .k-dots li.k-free.on { background: #c41c23; border-color: #c41c23; }
.k-app .c-film .k-dots li::after { color: #161616; bottom: 4px; }
.k-app .c-film .k-dots li.on::after { color: #f6c700; }
.k-app .c-film .k-btn-on-hero { background: #161616; color: #f7f7f2; }
.k-app .c-film .c-ready { background: #c41c23; color: #fff; }
.k-app .c-film .c-ready .k-i { color: #fff; }
.k-app .c-film .k-note { color: #161616; }

/* Entries: white slide mounts on a light-box panel; the note lifts on hover, focus or tap */
.c-entries { padding: 16px; border-radius: 4px; border: 2px solid #161616; background: radial-gradient(ellipse at 50% 40%, #fffbea 0%, #f3ebc8 70%); }
.c-entry {
  background: #fff; color: #161616; border: 12px solid #fff; border-bottom-width: 12px; border-radius: 2px;
  outline: 1px solid #d8d4c8; box-shadow: 0 6px 16px rgba(22, 22, 22, .14); overflow: visible; transition: transform .18s ease, box-shadow .18s ease;
}
.c-entry > img { width: 100%; aspect-ratio: 1; height: auto; object-fit: cover; background: #ecebe3; padding: 0; filter: none; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.c-entry-body { padding: 10px 6px 4px; gap: 6px; }
.c-entry h3 { font-size: 1.0625rem; font-weight: 700; }
.c-entry .c-entry-top { flex-wrap: wrap; }
.c-entry .c-entry-top .c-replaced { max-width: 100%; height: auto; white-space: normal; }
.c-entry .c-memo, .c-entry .k-steps, .c-entry .c-judge, .c-entry .k-help { display: none; }
.c-entry:hover .c-memo, .c-entry:focus-within .c-memo, .c-entry:hover .k-steps, .c-entry:focus-within .k-steps,
.c-entry:hover .c-judge, .c-entry:focus-within .c-judge, .c-entry:hover .k-help, .c-entry:focus-within .k-help { display: block; }
.c-entry:hover .k-steps, .c-entry:focus-within .k-steps { display: grid; }
.c-entry:hover .c-judge, .c-entry:focus-within .c-judge { display: block; }
.c-entry .c-memo, .c-entry .k-help { color: #4a4a45; font-size: var(--k-t-foot); }
.c-entry .c-judge { background: #fff1b0; color: #161616; }
.c-entry .c-judge b { color: #161616; }
.c-entry .c-judge:has(q:empty) { display: none; }
.c-entry .k-badge-state, .c-entry .k-badge-brand { font-family: var(--k-font-display); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
@media (prefers-reduced-motion: no-preference) {
  .c-entry:hover, .c-entry:focus-within { transform: translateY(-12px) rotate(-1deg); box-shadow: 0 18px 30px rgba(0, 0, 0, .25); }
}
@media (min-width: 1024px) {
  .c-entries { grid-template-columns: repeat(auto-fill, 240px); justify-content: start; gap: 28px; }
  .c-entry.c-entry-wide { display: grid; grid-template-columns: none; }
  .c-entry-wide > img { height: auto; min-height: 0; align-self: auto; aspect-ratio: 1; }
  .c-entry-wide { background: #fff; }
}
/* Results as a print wall: white mounts, captions under each print */
.c-print { margin: 0; padding: 12px 12px 10px; background: #fff; border-radius: 2px; box-shadow: 0 1px 0 rgba(0, 0, 0, .04), 0 10px 24px rgba(22, 22, 22, .14); color: #161616; outline: 1px solid #d8d4c8; }
.c-print img { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.c-print figcaption span { color: #4a4a45; }
.c-print-hero .c-tag { color: #161616; }

/* Outings: past chips read Going; past titles wrap */
.c-past .k-row-title { white-space: normal; overflow: visible; text-overflow: clip; display: block; -webkit-line-clamp: unset; line-clamp: unset; }
.c-outing .c-date { background: var(--k-brand); color: var(--k-brand-ink); }
.c-outing-body .c-when h2 { font-family: var(--k-font-display); font-weight: 700; }
.c-outing > img, .c-brief img { aspect-ratio: auto; }
.c-brief img { width: 100%; height: auto; object-fit: contain; border-radius: var(--k-r-m); }

/* Noticeboard: felt board, notes tilted on purpose */
.c-d { background: #222222; border: 0; }
.c-d .c-note { transform: rotate(-1deg); }
.c-d .c-note:nth-child(2) { transform: rotate(1deg); }
.c-d .c-note:nth-child(3) { transform: rotate(-1deg); }
.c-felt-h { color: #f7f7f2; }

/* Account: the club summary stays in view beside billing on wide screens */
@media (min-width: 1024px) { .c-acct .k-board > .c-sec-c { position: sticky; top: 24px; align-self: start; } }

/* Reduced motion: no animation, transitions, rotations or press movement */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .k-btn:active { transform: none; }
  .c-slide, .c-entry, .c-entry:hover, .c-entry:focus-within { transform: none !important; }
  .c-slide { --r: 0deg; }
}

/* art direction 2026-10-25 round 2 */
/* Light surfaces keep light tokens in dark mode (the light box, the entries panel and the prints). */
.c-box, .c-entries, .c-print, .c-lightbox { --k-focus: #161616; --k-text: #161616; --k-muted: #4a4a45; --k-faint: #5e5e57; --k-surface: #fff; --k-surface-2: #ecebe3; --k-line-strong: rgba(22, 22, 22, .3); --k-ok: #176b46; --k-ok-soft: #dcf1e5; --k-warn: #6e4600; --k-warn-soft: #fff1b0; --k-brand-soft: #fff1b0; --k-link: #1c2d5a; color: #161616; }
.c-box .k-btn-line { color: #161616; box-shadow: inset 0 0 0 1.5px #161616; }
.c-pub { overflow-x: clip; }

/* Yellow is never text on white or cream: ink on yellow, navy or red for words. */
.k-app .c-rules .k-i, .k-app .c-rule-line .k-i, .k-app .c-drop .c-ico { color: #161616; }
.k-app .c-film .k-dots li.k-free:not(.on)::before { color: #161616; }

/* Public hero: a full-bleed light box, a black frame with a glowing inner edge, square mounts */
.c-box { background: radial-gradient(ellipse at 65% 45%, #FFFDF0 0%, #FBEFB0 55%, #F6C700 100%); border: 0; border-radius: 0; min-height: 0; padding: 36px 16px 28px; gap: 28px; }
.c-hero h1 { font-size: clamp(2rem, 8.5vw, 6.25rem); overflow-wrap: anywhere; line-height: .9; }
.c-hero h1 .c-hot { color: #C41C23; }
.c-slides { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; background: #161616; box-shadow: inset 0 0 60px rgba(255, 250, 220, .9); }
.c-slide { background: #F7F7F2; border: 0; border-radius: 2px; padding: 10px 10px 26px; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
.c-slide figcaption { color: #161616; font-size: .75rem; padding: 6px 0 0; }
.c-s1 { --r: -2deg; } .c-s2 { --r: 1deg; } .c-s3 { --r: -1deg; } .c-s4 { --r: 1deg; } .c-s5 { --r: -2deg; } .c-s6 { --r: -1deg; }
@media (min-width: 900px) {
  .c-box { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); column-gap: 32px; row-gap: 32px; align-items: start; min-height: 88vh; padding: 64px 56px 56px; }
  .c-copy { display: contents; }
  .c-copy .c-tag { grid-column: 1; grid-row: 1; justify-self: start; }
  .c-hero h1 { grid-column: 1 / -1; grid-row: 2; font-size: clamp(56px, 9vw, 132px); }
  .c-hero .k-lead { grid-column: 1; grid-row: 3; max-width: 36ch; }
  .c-hero .c-welcome-cta { grid-column: 1; grid-row: 4; margin-top: 0; }
  .c-slides { position: relative; right: auto; bottom: auto; width: auto; grid-column: 2; grid-row: 3 / span 2; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 24px; box-shadow: inset 0 0 80px rgba(255, 250, 220, .9); }
  .c-slide { padding: 18px 18px 34px; }
  .c-slide figcaption { font-size: .75rem; }
  .c-s1 { --r: -2deg; } .c-s2 { --r: 1deg; } .c-s3 { --r: -1deg; } .c-s4 { --r: 1deg; } .c-s5 { --r: -2deg; } .c-s6 { --r: -1deg; }
}

/* What members get: a Club Navy band with square slide mounts */
#app { --k-text: #F7F7F2; --k-muted: #E3E6EE; --k-line: rgba(247, 247, 242, .2); background: #1C2D5A; color: #F7F7F2; width: 100vw; margin: 24px calc(50% - 50vw) 0; padding: 56px 16px; }
#app .k-section-head h2 { color: #F7F7F2; font-size: 2rem; }
#app .c-shot { --k-text: #161616; --k-muted: #4a4a45; background: #F7F7F2; color: #161616; border: 0; border-radius: 2px; padding: 14px 14px 18px; gap: 12px; align-content: start; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
#app .c-shot img { aspect-ratio: auto; height: 160px; border-radius: 0; }
#app .c-shot h3 { font-family: var(--k-font-display); font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #161616; }
#app .c-shot p { color: #4a4a45; font-size: var(--k-t-sub); }
@media (min-width: 900px) {
  #app { padding: 96px 56px; }
  #app .c-shot img { height: 220px; }
  #app .c-shot:nth-child(1) { transform: rotate(-2deg); }
  #app .c-shot:nth-child(2) { transform: rotate(1deg); }
  #app .c-shot:nth-child(3) { transform: rotate(-1deg); }
}

/* Club nights: a two-column list with 1px ink rules, no white card on cream */
#visit { align-items: start; }
#visit > .k-card { background: transparent; box-shadow: none; border: 0; padding: 0; }
#visit .c-facts { grid-template-columns: minmax(0, 1fr); gap: 0; }
#visit .c-facts li { padding: 14px 0; border-top: 1px solid #161616; }
@media (min-width: 720px) { #visit .c-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; } }

/* Full member: a yellow film box end with black bands and a 72px price */
.c-pub .k-plan-feature { background: #F6C700; color: #161616; --k-text: #161616; --k-muted: #161616; border: 0; border-top: 12px solid #161616; border-bottom: 12px solid #161616; border-radius: 0; box-shadow: none; padding: 24px 22px 28px; }
.c-pub .k-plan-feature h3, .c-pub .k-plan-feature li { color: #161616; }
.c-pub .k-plan-feature .k-price { font-family: var(--k-font-display); font-size: 72px; line-height: 1; font-weight: 800; color: #161616; }
.c-pub .k-plan-feature .k-price small { font-size: 1rem; font-weight: 700; }

/* Entries: a lit panel in a black frame; square white mounts that lift 8px on hover, focus or tap */
.c-entries { background: radial-gradient(#FFFDF0, #F3E7A8); border: 12px solid #161616; border-radius: 0; padding: 16px; }
.c-entry { background: #fff; color: #161616; border: 14px solid #fff; border-radius: 0; outline: 0; box-shadow: 0 6px 16px rgba(22, 22, 22, .14); }
.c-entry > img { border-radius: 0; }
.c-entry .c-entry-top .k-badge-brand { border-radius: 2px; }
.c-entry [data-k-state="ok"] .k-badge-state { background: #DDF3E4; color: #1E6B3A; }
@media (prefers-reduced-motion: no-preference) {
  .c-entry:hover, .c-entry:focus-within { transform: translateY(-8px); box-shadow: 0 14px 30px rgba(0, 0, 0, .3); }
}
@media (min-width: 1024px) {
  .c-entries { padding: 28px; }
}

/* Mount notes: hover reveals them on mouse; touch shows them by default with a button to fold them away */
.c-notes { display: grid; gap: 6px; }
.c-entry-body { position: relative; }
.c-entry .c-memo, .c-entry .k-help, .c-entry .c-judge { display: block; }
.c-entry .k-steps { display: grid; }
.c-entry .c-judge:has(q:empty) { display: none; }
.c-entry.c-is-replaced .k-steps, .c-entry.c-is-replaced .c-judge { display: none; }
.c-note-toggle { display: none; }
@media (hover: hover) {
  .c-entry .c-notes { display: none; }
  .c-entry:hover .c-notes, .c-entry:focus-within .c-notes { display: grid; }
}
@media (hover: none) {
  .c-note-toggle { display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; padding: 0 6px; border: 0; background: none; color: #1C2D5A; font: 700 .875rem/1 var(--k-font); text-decoration: underline; cursor: pointer; }
  .c-entry .c-notes.is-collapsed { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
}

/* Replaced: only the photo fades; the words stay full ink */
.c-entry.c-is-replaced { opacity: 1; color: #161616; }
.c-entry.c-is-replaced > img { opacity: .7; }
.c-entry.c-is-replaced .c-entry-body, .c-entry.c-is-replaced h3 { color: #161616; }

/* Print of the month: red tag, white words */
.c-print-hero .c-tag { background: #C41C23; color: #fff; }

/* Feature and board frames */
.c-d { background: #222; }

/* Member card: a 560px film box with a 160px count */
.c-card-hero { max-width: 560px; }
@media (min-width: 1024px) { .c-card-hero .k-big { font-size: 10rem; line-height: .9; } }
@media (max-width: 1023px) { .c-card-hero .k-big { font-size: 6rem; } }

/* Account: the camera and other values wrap, never cut */
.c-acct .k-account, .c-acct .k-account * { white-space: normal; text-overflow: clip; overflow-wrap: anywhere; min-width: 0; }

/* Reduced motion: no lifts, rotations or transitions */
@media (prefers-reduced-motion: reduce) {
  .c-entry, .c-entry:hover, .c-entry:focus-within, #app .c-shot { transform: none !important; }
}

/* art direction 2026-10-25 round 3 */
/* Mount signature: a mount lifts 8px and tilts on hover or focus; its notes strip (Lexend 12px) shows under the photo. */
.c-mount-m, .c-entry, .c-slide { transition: transform .18s ease, box-shadow .18s ease; }
.c-mount-m { background: #fff; color: #161616; border: 0; border-radius: 2px; padding: 14px 14px 12px; gap: 0; box-shadow: 0 6px 16px rgba(22, 22, 22, .18); outline: 1px solid #d8d4c8; min-width: 0; position: relative; }
.c-mount-m > img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; background: #ecebe3; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.c-mount-cap { display: grid; gap: 6px; padding: 10px 2px 0; font-size: 12px; min-width: 0; }
.c-mount-cap .c-mount-title, .c-mount-m .c-entry-top .k-row-title { font-family: var(--k-font-display); font-weight: 700; font-size: 14px; letter-spacing: .05em; text-transform: uppercase; color: #161616; overflow-wrap: anywhere; }
.c-mount-m .c-notes, .c-entry .c-notes { font-family: var(--k-font); font-size: 12px; line-height: 1.4; color: #4a4a45; gap: 6px; }
.c-mount-m .c-notes .k-steps { font-size: 12px; }
.c-mount-m .k-help, .c-mount-m .c-notes span { font-size: 12px; color: #4a4a45; }
.c-mount-m .c-note-toggle { font-size: 12px; }
.c-lb-grid .c-mount-s { cursor: default; }
@media (hover: hover) {
  .c-mount-m .c-notes { display: none; }
  .c-mount-m:hover .c-notes, .c-mount-m:focus-within .c-notes { display: grid; }
}
@media (hover: none) {
  .c-mount-m .c-notes.is-collapsed { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
}
@media (prefers-reduced-motion: no-preference) {
  .c-mount-m:hover, .c-mount-m:focus-within, .c-entry:hover, .c-entry:focus-within, .c-slide:hover, #app .c-shot:hover, #app .c-shot:focus-within {
    transform: translateY(-8px) rotate(-1.5deg); box-shadow: 0 18px 30px rgba(22, 22, 22, .25);
  }
}

/* Home light box: a glowing panel in a black frame, mounts in a grid; it leads the left column */
.c-lightbox { background: radial-gradient(ellipse at 50% 40%, #FFFFFF 0%, #FFFBEA 55%, #F3E9C2 100%); border: 6px solid #161616; border-radius: 0; box-shadow: 0 0 60px rgba(246, 199, 0, .45); padding: 18px; --k-text: #161616; --k-muted: #4a4a45; --k-surface: #fff; --k-link: #1c2d5a; color: #161616; }
.c-lightbox .k-panel-head { border-bottom: 0; padding-bottom: 6px; }
.c-lightbox .k-panel-head h2 { color: #161616; }
.c-lightbox .k-panel-head a, .c-reply-line .k-btn-ghost { color: #1c2d5a; text-decoration: underline; background: none; box-shadow: none; }
.c-lb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.c-lb-grid .c-mine { display: contents; margin: 0; }
.c-lb-grid .c-inline-empty { grid-column: 1 / -1; }
@media (min-width: 720px) { .c-lb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; } }
.c-lightbox .c-mount-m .c-entry-top { display: grid; gap: 4px; }
.c-lightbox .c-mount-m .c-entry-top .k-badge-state { justify-self: start; }
.c-lightbox .c-mount-m .k-steps { font-size: 12px; }
@media (max-width: 719px) { .c-lightbox { padding: 12px; } }
.c-lightbox .c-mount-m .c-entry-top .k-row-title, .c-lightbox .c-mount-cap .c-mount-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-clamp: 2; }
.c-lightbox .c-mount-m { height: 100%; }

/* Home order: the light box leads, then the film card, the next outing as a compact row, then the club nights */
@media (min-width: 1024px) {
  .k-board.c-home { align-items: stretch; }
  .k-board.c-home > .c-c { grid-column: 1 / 8; grid-row: 1; align-self: stretch; }
  .k-board.c-home > .c-film { grid-column: 8 / 13; grid-row: 1; }
  .k-board.c-home > .c-a { grid-column: 1 / 8; grid-row: 2; }
  .k-board.c-home > .c-e { grid-column: 8 / 13; grid-row: 2; }
  .k-board.c-home > .c-d { grid-column: 1 / -1; grid-row: 3; }
}
@media (max-width: 1023px) {
  .k-board.c-home > .c-c { order: 0; }
  .k-board.c-home > .c-film { order: 1; }
  .k-board.c-home > .c-a { order: 2; }
  .k-board.c-home > .c-e { order: 3; }
  .k-board.c-home > .c-d { order: 4; }
}
/* Next outing: a compact row, small photo beside the details */
.c-live { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding: 12px; align-items: start; height: auto; }
.c-live .c-mount-photo img { aspect-ratio: 1; height: auto; width: 100%; max-height: none; }
.c-live .c-mount-photo .c-tag { font-size: .625rem; left: 6px; top: 6px; padding: 2px 6px; }
.c-live h2 { font-size: 1.25rem; }
.c-live .c-when { gap: 10px; }
.c-live .c-date { width: auto; padding: 4px 8px; }
@media (min-width: 720px) { .c-live { grid-template-columns: 180px minmax(0, 1fr); } }
@media (max-width: 1023px) { .c-live .c-mount-photo img { aspect-ratio: 1; } }
.c-live .c-mount-body .c-when { flex-wrap: wrap; }

/* Outing date blocks: League Spartan 800, the day at 48px ("NOV 8") */
.c-date { display: inline-flex; align-items: baseline; justify-content: center; gap: 6px; width: auto; min-width: 0; padding: 8px 12px 6px; font-family: var(--k-font-display); font-weight: 800; line-height: 1; white-space: nowrap; }
.c-date small { display: inline; font-family: var(--k-font-display); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.c-date b { display: inline; font-family: var(--k-font-display); font-size: 48px; font-weight: 800; line-height: 1; margin-top: 0; letter-spacing: -.01em; }
.c-live .c-date b { font-size: 48px; }

/* Public: the light table, a black frame, square mounts; four mounts on phones */
.c-hero { margin-top: 0; }
.c-box { padding-top: 28px; }
.c-box .c-welcome-cta { margin-top: 32px; }
.c-slides { background: radial-gradient(ellipse at 50% 40%, #FFFFFF 0%, #FFFBEA 55%, #F3E9C2 100%); border: 6px solid #161616; box-shadow: 0 0 60px rgba(246, 199, 0, .45); border-radius: 0; padding: 14px; }
.c-slide { background: #F7F7F2; border-radius: 4px; padding: 14px 14px 12px; }
.c-slide img { aspect-ratio: 1; }
.c-slide figcaption { padding-top: 8px; }
@media (max-width: 899px) { .c-s5, .c-s6 { display: none; } }
@media (min-width: 900px) { .c-slides { padding: 24px; } .c-slide { padding: 14px 14px 12px; } }

/* Yellow words only on dark or ink grounds: judge labels and tags carry ink on yellow */
.c-judge b { color: var(--k-text); }
.c-entry .k-badge-brand, .c-mount-m .k-badge-brand, .k-app .k-badge-brand { background: #F6C700; color: #161616; }
.c-entry [data-k-status] .k-badge-brand { background: #F6C700; color: #161616; }

/* Entries at 1440: the light box spans the content width, three mounts a row, centred; results and the cup share a row below */
.c-entries { --k-text: #161616; }
@media (min-width: 1024px) {
  .k-board > .c-entries { grid-column: 1 / -1; grid-template-columns: repeat(auto-fill, minmax(240px, 320px)); justify-content: center; gap: 28px; }
  .k-board > .c-entries .c-entry { width: 100%; }
  .k-board:has(> .c-entries) > aside.k-col { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--k-4); align-items: start; }
  .k-board:has(> .c-entries) > aside.k-col > * { min-width: 0; margin-top: 0; }
}

/* Dark: the avatar, the line icons and the film box ends are yellow or outlined, never grey */
@media (prefers-color-scheme: dark) {
  .k-app .k-avatar { background: #F6C700; color: #161616; }
  .k-app .k-avatar .k-i { color: #161616; }
  .k-app .c-film { outline: 1px solid #3A3A3A; outline-offset: 0; }
  .k-app .k-tile .k-i, .k-app .c-facts .k-i, .k-app .c-rules .k-i, .k-app .c-rule-line .k-i, .k-app .k-empty-art .k-i, .k-app .k-plan .k-i { color: #F6C700; }
  .k-app .c-film .c-ready .k-i { color: #fff; }
}

/* Member card: on phones the club name and "Member card" stack, and the tenth frame's FREE label fits */
@media (max-width: 399px) {
  .k-app .c-film .k-hero-top { flex-direction: column; align-items: flex-start; gap: 2px; }
}
@media (max-width: 479px) {
  .k-app .c-film .k-dots li.k-free::before { font-size: .4rem; letter-spacing: 0; white-space: nowrap; overflow: visible; }
}

/* Reduced motion: no lifts, tilts or transitions on mounts */
@media (prefers-reduced-motion: reduce) {
  .c-mount-m, .c-mount-m:hover, .c-mount-m:focus-within, .c-slide, .c-slide:hover, #app .c-shot:hover, #app .c-shot:focus-within { transform: none !important; transition: none !important; }
}
.c-mount-s { margin: 0; }
.c-mount-m .c-entry-top .k-row-title { white-space: normal; text-overflow: clip; overflow: visible; }
.c-mount-m .c-entry-top .k-row-title { position: static; display: block; height: auto; max-height: none; line-clamp: unset; -webkit-line-clamp: unset; }

/* Slide mounts everywhere a print is shown: square corners, a dark window edge and a frame number in Kodachrome red */
.c-fr { font-family: var(--k-font-display); font-weight: 800; font-size: 12px; letter-spacing: .08em; line-height: 1; color: #C41C23; }
.c-pub .c-slides .c-slide, .c-pub .c-slides .c-slide img { border-radius: 0; }
.c-pub .c-slides .c-slide { padding: 10px 10px 8px; }
.c-pub .c-slide img { box-shadow: 0 0 0 1px rgba(22, 22, 22, .7); }
.c-pub .c-slide figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; padding: 8px 0 0; }
.c-pub .c-slide figcaption span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c-pub .c-slide figcaption b { color: #C41C23; font-weight: 800; }
@media (min-width: 900px) { .c-pub .c-slides .c-slide { padding: 14px 14px 10px; } }
.c-lb-grid { counter-reset: c-frame; }
.c-lb-grid .c-mount-m { counter-increment: c-frame; border-radius: 0; padding-bottom: 30px; }
.c-lb-grid .c-mount-m::after, .c-entry::after, .c-gallery .c-print::after { content: counter(c-frame, decimal-leading-zero); position: absolute; right: 14px; bottom: 10px; font-family: var(--k-font-display); font-weight: 800; font-size: 12px; letter-spacing: .08em; line-height: 1; color: #C41C23; }
.c-mount-m > img, .c-entry > img, .c-print img, .c-mount-photo img { box-shadow: 0 0 0 1px rgba(22, 22, 22, .6); border-radius: 0; }
.c-mount, .c-print { border-radius: 0; }
.c-entries { counter-reset: c-frame; }
.c-entry { counter-increment: c-frame; position: relative; }
.c-entry .c-entry-body { padding-bottom: 22px; }
.c-entry::after { right: 2px; bottom: 2px; }
.c-gallery { counter-reset: c-frame; }
.c-gallery .c-print { counter-increment: c-frame; position: relative; }
.c-gallery .c-print figcaption { padding-right: 28px; }
.c-gallery .c-print::after { right: 12px; bottom: 12px; }
.c-brief img { border-radius: 0; }

/* Outings: each outing photo sits in a slide mount; the programme runs the full width, replies and rules share a row below */
.c-outing { border-radius: 0; padding: 12px; overflow: visible; }
.c-om { margin: 0; background: #F7F7F2; padding: 12px 12px 10px; outline: 1px solid #d8d4c8; box-shadow: 0 6px 16px rgba(22, 22, 22, .16); }
.c-om img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 0 0 0 1px rgba(22, 22, 22, .6); }
.c-om figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding-top: 9px; font-family: var(--k-font-display); font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #161616; }
.c-outing .c-outing-body { padding: 16px 6px 6px; }
@media (min-width: 1024px) {
  .k-board.c-pg-out > * { grid-column: 1 / -1; }
  .c-outing { display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: start; padding: 16px; }
  .c-outing .c-outing-body { padding: 4px 8px 4px 28px; }
  .k-board.c-pg-out > aside.c-out-more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
  .k-board.c-pg-out > aside.c-out-more > * { margin-top: 0; min-width: 0; }
  .k-board.c-pg-out > aside.c-out-more > .k-card { grid-column: 1 / -1; }
}
@media (min-width: 1280px) {
  .c-outing { grid-template-columns: 300px minmax(0, 1fr); }
  .c-outing .c-outing-body { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: 32px; align-items: start; }
  .c-outing .c-outing-body { grid-template-rows: auto auto 1fr; }
  .c-outing-body > .c-when { grid-column: 1; grid-row: 1; }
  .c-outing-body > .c-facts { grid-column: 1; grid-row: 2 / span 2; }
  .c-outing-body > .c-mine { grid-column: 2; grid-row: 1 / span 2; margin-top: 0; }
  .c-outing-body > .c-fold { grid-column: 2; grid-row: 3; }
  .k-board.c-pg-out > aside.c-out-more { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .k-board.c-pg-out > aside.c-out-more > .k-card { grid-column: auto; margin-top: 46px; }
}

/* Entries at 1024 and up: four mounts a row on the light box; the three results prints share one row, then the cup */
@media (min-width: 1024px) {
  .k-board > .c-entries { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); justify-content: stretch; }
  .c-gallery { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); align-items: start; }
  .c-print-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--k-4); }
  .c-print-pair .c-print { padding: 12px 12px 10px; }
  .c-print-pair .c-print img { aspect-ratio: 1; }
  .c-print-hero img { aspect-ratio: 1; }
}

/* Public page below the poster: a navy band of title slides, the lit light table with fee mounts, a yellow band with a film strip */
#app.c-get { margin-top: 0; padding: 56px 16px 64px; }
.c-get-head { max-width: 1200px; margin: 0 auto 32px; display: grid; gap: 12px; justify-items: start; }
.c-get-head h2, .c-table h2, .c-join h2 { font-family: var(--k-font-display); font-weight: 800; text-transform: uppercase; font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: .95; letter-spacing: -.005em; margin: 0; }
.c-get-head h2 { color: #F7F7F2; }
.c-get-head p:not(.c-tag) { margin: 0; color: #E3E6EE; font-size: 1.0625rem; }
.c-titles { list-style: none; margin: 0 auto; padding: 0; max-width: 1200px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.c-title { position: relative; background: #F7F7F2; color: #161616; padding: 14px 14px 40px; display: grid; gap: 8px; align-content: start; box-shadow: 0 12px 28px rgba(0, 0, 0, .35); }
.c-title-win { position: relative; aspect-ratio: 1; margin: 0 0 8px; background: #fff; box-shadow: 0 0 0 1px rgba(22, 22, 22, .7); overflow: hidden; }
.c-title-win img { display: block; width: 100%; height: 100%; object-fit: cover; }
.c-title-win span { position: absolute; left: 10px; bottom: 10px; background: #F6C700; color: #161616; font-family: var(--k-font-display); font-weight: 800; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; line-height: 1; padding: 5px 8px; }
.c-title h3 { font-family: var(--k-font-display); font-weight: 700; font-size: 1rem; letter-spacing: .05em; text-transform: uppercase; color: #161616; margin: 0; }
.c-title p { margin: 0; color: #4a4a45; font-size: var(--k-t-sub); }
.c-title > .c-fr, .c-fee > .c-fr { position: absolute; right: 14px; bottom: 14px; }
@media (min-width: 720px) { .c-titles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
  #app.c-get { padding: 88px 56px 96px; }
  .c-titles { gap: 32px; }
  .c-title:nth-child(1) { transform: rotate(-1.5deg); } .c-title:nth-child(2) { transform: rotate(1deg); } .c-title:nth-child(3) { transform: rotate(-.5deg); }
}
.c-visit { display: grid; gap: 28px; padding: 48px 0 8px; }
.c-table { --k-text: #161616; --k-muted: #4a4a45; display: grid; gap: 12px; align-content: start; justify-items: start; padding: 28px 22px; color: #161616; background: radial-gradient(ellipse at 50% 40%, #FFFFFF 0%, #FFFBEA 55%, #F3E9C2 100%); border: 6px solid #161616; box-shadow: 0 0 60px rgba(246, 199, 0, .35); }
.c-table h2 { color: #161616; }
#visit .c-table .c-facts { width: 100%; grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 8px; }
#visit .c-table .c-facts li { padding: 16px 0; border-top: 2px solid #161616; font-size: 1rem; color: #161616; }
#visit .c-table .c-facts .k-i { color: #C41C23; }
.c-pub .c-fees { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: stretch; }
.c-pub .c-fee { --k-text: #161616; --k-muted: #4a4a45; position: relative; display: grid; gap: 14px; align-content: start; margin: 0; padding: 14px 14px 44px; background: #F7F7F2; color: #161616; border: 0; border-radius: 0; outline: 1px solid #d8d4c8; box-shadow: 0 12px 28px rgba(22, 22, 22, .18); transform: none; }
.c-pub .c-fee-win { display: grid; gap: 6px; align-content: end; min-height: 160px; padding: 18px 16px; background: #F6C700; color: #161616; box-shadow: 0 0 0 1px rgba(22, 22, 22, .7); }
.c-pub .c-fee-navy .c-fee-win { background: #1C2D5A; color: #F7F7F2; }
.c-pub .c-fee h3 { margin: 0; color: inherit; font-family: var(--k-font-display); font-weight: 700; font-size: .9375rem; letter-spacing: .06em; text-transform: uppercase; }
.c-pub .c-fee .k-price { margin: 0; color: inherit; font-family: var(--k-font-display); font-weight: 800; font-size: 4rem; line-height: .95; }
.c-pub .c-fee .k-price small { color: inherit; font-size: 1rem; font-weight: 700; }
.c-pub .c-fee ul { list-style: none; margin: 0; padding: 0 2px; display: grid; gap: 8px; font-size: var(--k-t-sub); color: #161616; }
.c-pub .c-fee li { display: flex; gap: 8px; align-items: flex-start; color: #161616; }
.c-pub .c-fee .k-i { width: 18px; height: 18px; flex: none; margin-top: 2px; color: #176b46; }
@media (min-width: 560px) { .c-pub .c-fees { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 720px) { #visit .c-table .c-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; } .c-table { padding: 36px 32px; } }
@media (min-width: 1024px) { .c-visit { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: stretch; padding: 88px 0 24px; } .c-pub .c-fee:nth-child(1) { transform: rotate(-1deg); } .c-pub .c-fee:nth-child(2) { transform: rotate(1.5deg); } }
.c-join { --k-text: #161616; --k-muted: #2e2e2a; width: 100vw; margin: 56px calc(50% - 50vw) 0; padding: 56px 16px 64px; background: #F6C700; color: #161616; }
.c-join-head { max-width: 1200px; margin: 0 auto 28px; display: grid; gap: 10px; }
#join.c-join h2 { color: #161616; margin: 0; }
.c-join-head p { margin: 0; font-size: 1.0625rem; font-weight: 500; }
.c-strip { counter-reset: c-step; position: relative; list-style: none; max-width: 1200px; margin: 0 auto; padding: 16px 34px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; background: #161616; }
.c-strip::before, .c-strip::after { content: ""; position: absolute; top: 0; bottom: 0; width: 10px; left: 12px; background: repeating-linear-gradient(180deg, #161616 0 10px, #F6C700 10px 20px); }
.c-strip::after { left: auto; right: 12px; }
.c-strip li { counter-increment: c-step; display: grid; gap: 6px; align-content: start; padding: 20px 18px 18px; background: #FFFBEA; color: #161616; box-shadow: inset 0 0 40px rgba(246, 199, 0, .25); }
.c-strip li::before { content: counter(c-step, decimal-leading-zero); font-family: var(--k-font-display); font-weight: 800; font-size: 2rem; line-height: 1; color: #C41C23; }
.c-strip b { font-family: var(--k-font-display); font-weight: 700; font-size: 1.125rem; color: #161616; }
.c-strip span { color: #4a4a45; font-size: var(--k-t-sub); }
.c-join .k-btn-row { max-width: 1200px; margin: 28px auto 0; }
.c-pub .c-btn-ink { background: #161616; color: #F6C700; border-color: #161616; }
.c-pub .c-btn-ink:hover { background: #2a2a2a; color: #F6C700; }
@media (min-width: 720px) {
  .c-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 34px 18px; gap: 18px; }
  .c-strip::before, .c-strip::after { left: 0; right: 0; top: 12px; bottom: auto; width: auto; height: 10px; background: repeating-linear-gradient(90deg, #161616 0 12px, #F6C700 12px 24px); }
  .c-strip::after { top: auto; bottom: 12px; }
}
@media (min-width: 1024px) { .c-join { padding: 88px 56px 96px; } }
@media (prefers-reduced-motion: reduce) { .c-title, .c-pub .c-fee { transform: none !important; } }
