/* Stacks (Page Lemon app template): The Inkwell Guild's members' library. The look is the shared kit (kit.css, never edited
   here) with the axes set on the body (slab, square, line, brand hero, wide). Stacks is an archive cabinet: cool steel-grey
   paper, deep green drawer fronts and brass label holders (st-plate, st-ref, the rail's tabs). Local pieces use the st- prefix. */
:root {
  --k-brand: #1b5a58; --k-brand-ink: #ffffff; --k-brand-soft: #d9e9e8;
  --k-hero: #102f2d; --k-hero-ink: #f3efe2; --k-gold: #c9a24d;
  --st-brass: #b8923f; --st-brass-ink: #3d2f0e; --st-brass-soft: #efe3c4; --st-steel: #d6dcdc;
  --k-bg: #e5e9ea;
}
body.k-app[data-k-type="slab"] {
  --k-surface: #f9fbfa; --k-surface-2: #edf1f1; --k-line: rgba(18, 48, 42, .14); --k-line-strong: rgba(18, 48, 42, .32);
  --k-text: #11201b; --k-muted: #44544e; --k-faint: #55655f;
}
@media (prefers-color-scheme: dark) {
  :root { --k-brand: #6cc4a4; --k-brand-ink: #08241b; --k-brand-soft: rgba(108, 196, 164, .14); --k-hero: #17342d; --k-gold: #d9b36a; --st-brass: #d2ab5a; --st-brass-ink: #f2e3bd; --st-brass-soft: rgba(210, 171, 90, .16); --st-steel: #1a2421; --k-bg: #0d1311; }
  body.k-app[data-k-type="slab"] { --k-surface: #151d1a; --k-surface-2: #1c2723; --k-line: rgba(200, 230, 218, .12); --k-line-strong: rgba(200, 230, 218, .26); --k-text: #e8efeb; --k-muted: #b6c5be; --k-faint: #a3b3ab; }
}
.k-app :is(h1, h2, h3) { text-wrap: balance; }

/* The rail is the cabinet front: each tab is a brass-framed label holder */
@media (min-width: 1024px) {
  .k-app .k-tabs { background: var(--st-steel); gap: 6px; padding: 24px 18px; border-right: 1px solid var(--k-line-strong); }
  .k-app .k-tabs a:not(.k-tabs-brand) { position: relative; background: transparent; color: var(--k-text); border-radius: 0; padding: 0 12px; min-height: 50px; font-weight: 700; border-bottom: 1px solid var(--k-line-strong); }
  .k-app .k-tabs a:not(.k-tabs-brand):hover { background: var(--st-brass-soft); color: var(--k-text); }
  .k-app .k-tabs a[aria-current="page"] { background: var(--k-surface); color: var(--k-text); border: 2px solid var(--st-brass); border-radius: 2px; box-shadow: inset 0 0 0 3px var(--k-surface), inset 0 0 0 4px var(--st-brass), 3px 3px 0 var(--st-brass); }
  .k-app .k-tabs a[aria-current="page"] .k-i { color: var(--st-brass); }
  .k-app .k-tabs .k-tabs-brand span { font-family: var(--k-font-display); font-weight: 700; line-height: 1.15; }
  .k-app .k-top { background: transparent; }
}
@media (max-width: 1023px) {
  .k-app .k-tabs a[aria-current="page"] { color: var(--k-brand); }
}
.k-tabs-foot { display: none; }

/* Drawer front: the newest filing on Home */
.st-drawer { position: relative; --k-hero: var(--k-brand); background: #1b5a52; color: #f6f3e8; border-radius: 6px; padding: 0 0 48px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .25), inset 0 0 0 7px rgba(255, 255, 255, .05), inset 0 0 0 8px rgba(0, 0, 0, .2); --k-gold: var(--st-brass); }
.st-plate { display: flex; justify-content: center; padding: 20px 20px 0; }
.st-plate-in { display: inline-flex; align-items: baseline; gap: 10px; flex-wrap: wrap; justify-content: center; padding: 8px 18px; background: #f6efd8; color: #2a210a; border: 2px solid var(--st-brass); outline: 3px solid rgba(0, 0, 0, .25); outline-offset: -1px; border-radius: 2px; font-family: var(--k-font-display); font-weight: 700; font-size: .875rem; letter-spacing: .12em; text-transform: uppercase; }
.st-plate-in b { font-size: 1.0625rem; letter-spacing: .06em; }
.st-plate-in i { font-style: normal; color: #7a2e12; }
.st-drawer-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--k-5); padding: var(--k-5) var(--k-5) 0; align-items: center; }
.st-drawer-cover { width: 40%; max-width: 150px; justify-self: center; border-radius: 3px; box-shadow: 0 14px 28px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .14); transform: rotate(-3deg); }
.st-drawer .st-hero-title { font-family: var(--k-font-display); font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); font-weight: 700; line-height: 1.08; letter-spacing: -.015em; text-align: center; }
.st-drawer-note { margin-top: var(--k-3); opacity: .88; text-align: center; max-width: 44ch; margin-left: auto; margin-right: auto; }
.st-drawer-act { margin-top: var(--k-4); justify-content: center; }
.st-drawer .k-btn-on-hero { background: #f6efd8; color: #1d3a30; }
.st-drawer .k-btn-lg { min-width: 9rem; justify-content: center; }
.st-drawer .k-btn-ghost { color: #f6f3e8; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .45); background: transparent; }
.st-pull { position: absolute; left: 50%; bottom: 16px; width: 84px; height: 10px; margin-left: -42px; border-radius: 6px; background: linear-gradient(#e6c47a, #a8802f); box-shadow: 0 2px 0 rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .5); }
@media (min-width: 720px) {
  .st-drawer-body { grid-template-columns: 170px minmax(0, 1fr); gap: var(--k-6); padding: var(--k-5) var(--k-6) 0; }
  .st-drawer-cover { width: 100%; max-width: none; }
  .st-drawer .st-hero-title, .st-drawer-note { text-align: left; margin-left: 0; }
  .st-drawer-act { justify-content: flex-start; }
}
/* Index rows: brass ref labels */
.st-ref { justify-self: start; align-self: center; display: inline-block; padding: 3px 8px; background: var(--st-brass-soft); color: var(--st-brass-ink); border: 1px solid var(--st-brass); border-radius: 2px; font-family: var(--k-font-display); font-weight: 700; font-size: .8125rem !important; letter-spacing: .06em; order: 0 !important; }
.st-index { --k-cols: 5rem minmax(0, 1fr) 6rem 6.5rem; }
.st-index .k-td-main { flex: 1 1 60%; }
.st-board .k-panel-head, .st-sec .k-panel-head { background: var(--k-surface-2); }
.st-board .k-panel-head h2, .st-sec .k-panel-head h2 { text-transform: uppercase; letter-spacing: .08em; font-size: .875rem; }
.st-board .k-section-head h2 { text-transform: uppercase; letter-spacing: .08em; font-size: .875rem; }
.st-callcard { align-self: stretch; }
.st-callcard .k-row-plain { display: flex; align-items: center; gap: var(--k-3); padding: 0; min-height: 0; }
.st-ratecard { display: flex; align-items: center; gap: 14px; padding: var(--k-4); }
.st-ratecard > * + * { margin-top: 0; }
.st-welcome-cta { display: grid; gap: var(--k-3); margin-top: var(--k-5); }
.k-welcome .k-perks { margin-top: var(--k-5); }
.st-pad { padding: 0 var(--k-2); margin-top: var(--k-5); }
/* A fan of three covers (welcome and public hero) */
.st-welcome-art { background: radial-gradient(120% 90% at 50% 0%, #2a4a40, #12241f); display: grid; place-items: center; }
.st-welcome-art::after { background: linear-gradient(180deg, transparent 60%, rgba(10, 8, 6, .6)); }
.st-fan { position: relative; display: block; width: 48%; aspect-ratio: 4 / 5; }
.st-fan img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 3px; box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }
.st-fan img:nth-child(1) { transform: rotate(-10deg) translate(-34%, 6%); }
.st-fan img:nth-child(3) { transform: rotate(10deg) translate(34%, 6%); }
.st-fan img:nth-child(2) { z-index: 1; }
/* Covers: filed cards, a cover thumbnail and a brass-edged label */
.st-covers { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--k-4); }
@media (min-width: 900px) { .st-covers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--k-5); } }
.st-cover { display: grid; grid-template-columns: 92px minmax(0, 1fr); text-decoration: none; background: var(--k-surface); border-radius: 3px; box-shadow: var(--k-shadow-1); overflow: hidden; transition: transform .15s, box-shadow .15s; }
.st-cover:hover { box-shadow: var(--k-shadow-2); transform: translateY(-2px); }
.st-cover-art { position: relative; display: block; background: var(--k-surface-2); }
.st-cover-art img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.st-new { position: absolute; bottom: 6px; left: 6px; top: auto; right: auto; font-size: .6875rem; padding: 2px 6px; }
.st-cover-body { display: grid; gap: 4px; align-content: start; padding: 12px 14px; border-left: 3px solid var(--st-brass); }
.st-cover-body b { font-family: var(--k-font-display); font-size: 1.0625rem; letter-spacing: -.01em; line-height: 1.25; }
.st-cover-body .k-muted { font-size: var(--k-t-foot); line-height: 1.35; }
.st-code { font-size: var(--k-t-cap); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--st-brass-ink); }
@media (min-width: 1280px) { .st-cover { grid-template-columns: 112px minmax(0, 1fr); } }
/* Requests */
.st-req > * + * { margin-top: var(--k-3); }
.st-req h3 { font-size: 1.125rem; }
.st-kind { font-size: var(--k-t-foot); color: var(--k-muted); font-weight: 600; }
.st-meta { font-size: var(--k-t-foot); }
.st-reply { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 3px; border-left: 3px solid var(--k-brand); background: var(--k-brand-soft); font-size: var(--k-t-sub); line-height: 1.45; }
.st-reply:has([data-pl-field="reply"]:empty) { display: none; }
.st-who { flex: none; width: 28px; height: 28px; border-radius: 3px; display: grid; place-items: center; background: var(--k-brand); color: var(--k-brand-ink); font-weight: 800; font-size: .8125rem; }
/* Guides */
.st-guide-head { display: grid; grid-template-columns: 88px 1fr; gap: var(--k-4); align-items: start; }
.st-guide-head > * + * { margin-top: 0; }
.st-guide-head img { width: 88px; border-radius: 3px; box-shadow: var(--k-shadow-2); }
.st-guide-head h1 { font-size: var(--k-t-2); font-weight: 700; margin: 4px 0 var(--k-2); }
.st-guide-head .k-lead { font-size: var(--k-t-sub); }
.st-prose { padding: var(--k-5); }
.st-prose h2 { font-size: var(--k-t-3); margin-top: var(--k-5); }
.st-prose h2:first-child { margin-top: 0; }
.st-prose p, .st-prose li { color: var(--k-text) !important; font-size: var(--k-t-body) !important; line-height: 1.6; }
.st-prose ul, .st-prose ol { padding-left: 1.2em; display: grid; gap: 8px; }
.st-check { list-style: decimal; }
.st-callout { padding: var(--k-3) var(--k-4); border-left: 4px solid var(--st-brass); background: var(--st-brass-soft); border-radius: 0 3px 3px 0; }
.st-table { display: grid; border: 1px solid var(--k-line-strong); border-radius: 3px; overflow: hidden; font-size: var(--k-t-sub); }
.st-table > div { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 8px; padding: 10px 12px; }
.st-table > div + div { border-top: 1px solid var(--k-line); }
.st-th { background: var(--k-surface-2); font-weight: 700; font-size: var(--k-t-foot); }
.st-save h2 { margin-bottom: 0; }
.st-memo:has([data-pl-field="memo"]:empty) { display: none; }
.st-count { color: var(--k-muted); font-size: var(--k-t-sub); }
.st-count b { color: var(--k-text); font-size: 1.25rem; }
.st-mini { width: 40px; height: 50px; border-radius: 3px; }
.st-plans { grid-template-columns: 1fr !important; }
.k-app textarea { min-height: 110px; resize: vertical; }
/* Public page */
.st-hero-pub { display: grid; gap: var(--k-6); padding-top: var(--k-4); }
.st-hero-pub h1 { font-size: var(--k-t-hero); font-weight: 800; letter-spacing: -.035em; line-height: 1.04; margin: var(--k-2) 0 var(--k-3); }
.st-hero-pub .k-kicker { display: flex; align-items: center; gap: 6px; }
.st-hero-pub .k-lead { max-width: 46ch; margin-bottom: var(--k-5); }
.st-hero-pub .k-help { margin-top: var(--k-3); }
.st-hero-art { margin: 0; border-radius: var(--k-r-xl); background: radial-gradient(120% 90% at 50% 0%, #2a4a40, #12241f); aspect-ratio: 4 / 3.6; display: grid; place-items: center; box-shadow: var(--k-shadow-2); overflow: hidden; }
.st-hero-art .st-fan { width: 46%; }
.st-steps { list-style: none; margin: 0; padding: 0; }
.st-steps .k-card h3 { margin-top: var(--k-4); }
@media (min-width: 900px) { .st-hero-pub { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 56px; padding-top: var(--k-6); } }
.tip { padding: var(--k-3) var(--k-4); border-radius: var(--k-r-m); background: var(--k-warn-soft); color: var(--k-text); font-size: var(--k-t-sub); }
.blank { background: var(--k-warn-soft); border-radius: 4px; padding: 0 3px; }
/* Review fixes */
.st-filled .k-i { fill: currentColor; }
.st-saved { display: flex; align-items: center; gap: 12px; padding: var(--k-4); }
.st-saved > * + * { margin-top: 0; }
.st-saved-wrap:has(.st-saved) + .st-save { display: none; }
[data-k-state="ok"] .k-steps li::before { background: var(--k-brand); }
[data-k-state="ok"] .k-steps li { color: var(--k-muted); }
.k-foot { align-items: center; }
.st-welcome-art .st-fan { margin-bottom: 84px; width: 42%; }
.k-head .k-btn { white-space: nowrap; }
.st-saved .k-row-title a { color: var(--k-brand); }
.st-saved .k-row-title a { display: inline-flex; align-items: center; min-height: 44px; }
/* Rates */
.st-q { align-items: flex-start; }
.st-q .k-row-title, .st-q .k-row-sub { white-space: normal; }
.st-out { background: var(--k-surface-2); }
.st-floor { font-size: var(--k-t-cap); font-weight: 700; }
[data-st-where="below"] .st-floor { color: var(--k-danger); }
[data-st-where="within"] .st-floor { color: var(--k-ok); }
[data-st-where="above"] .st-floor { color: var(--k-brand); }
.st-rate-stats b span { display: inline; color: inherit; font-size: inherit; margin: 0; }
/* Pages: shelf, rates, ask */
.st-star { display: inline-grid; place-items: center; width: 30px; height: 30px; margin-right: 10px; vertical-align: middle; background: var(--st-brass-soft); color: var(--st-brass-ink); border: 1px solid var(--st-brass); border-radius: 2px; }
.st-star .k-i { width: 16px; height: 16px; }
.st-shelf-t { --k-cols: minmax(0, 2fr) minmax(0, 1.5fr) 8rem; align-self: start; }
.st-shelf-t .k-td-main { font-family: var(--k-font-display); }
.st-qt { --k-cols: minmax(0, 2.4fr) minmax(5.5rem, 1fr) 6.25rem 5.5rem 4.75rem; } /* the client and job line gets the room; "Print and online" keeps two lines */
.st-fee { font-family: var(--k-font-display); font-weight: 700; color: var(--k-text) !important; }
.st-fee { font-size: 1.0625rem !important; }
.st-rate-stats { margin-bottom: var(--k-5); }
.st-sec-body { padding: var(--k-5); }
.st-drawer-tag { display: inline-block; padding: 3px 9px; background: var(--st-brass-soft); color: var(--st-brass-ink); border: 1px solid var(--st-brass); border-radius: 2px; font-family: var(--k-font-display); font-weight: 700; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.st-kind-sec + .st-kind-sec { margin-top: var(--k-5); }
.st-slip { border-top: 6px solid var(--st-brass); }
@media (max-width: 719px) {
  .st-plate-in { font-size: .75rem; padding: 6px 12px; gap: 6px; }
  .st-plate-in b { font-size: .9375rem; }
  .st-drawer-cover { max-width: 108px; }
  .st-drawer-body { gap: var(--k-4); }
}

/* Round 2 */
.st-ph { display: none; }
.st-rcol .st-ratecard, .st-rcol .st-callcard { padding: var(--k-4); }
.st-star { position: absolute; left: 0; top: 50%; margin: -15px 0 0; }
.st-shelf-t .k-td-main { position: relative; padding-left: 42px; min-height: 30px; display: flex; align-items: center; }
.st-saved .k-row-sub, .st-avg .k-row-sub { white-space: normal; }
.st-avg .k-row-sub { display: block; }
.st-board .k-panel-head h2::before, .st-sec .k-panel-head h2::before, .st-board .k-section-head h2::before { content: ""; display: inline-block; width: 5px; height: 14px; margin-right: 9px; background: var(--st-brass); vertical-align: -1px; }
.st-next-l { margin: var(--k-3) 0 0; padding: 0; list-style: none; counter-reset: n; display: grid; gap: var(--k-3); }
.st-next-l li { counter-increment: n; position: relative; padding-left: 36px; font-size: var(--k-t-sub); color: var(--k-muted); }
.st-next-l li::before { content: counter(n); position: absolute; left: 0; top: 0; width: 24px; height: 24px; display: grid; place-items: center; background: var(--st-brass-soft); color: var(--st-brass-ink); border: 1px solid var(--st-brass); border-radius: 2px; font-family: var(--k-font-display); font-weight: 700; font-size: .8125rem; }
.st-next-l b { color: var(--k-text); }
.k-account button, .k-account .k-btn { justify-content: center; text-align: center; }
@media (prefers-color-scheme: dark) {
  .k-app .k-btn:not(.k-btn-line):not(.k-btn-on-hero):not(.k-btn-ghost):not(.k-btn-2) { background: #2a7a61; color: #fff; }
}
@media (max-width: 1023px) {
  .st-index .st-kind-td { display: none; }
  .st-ph { display: inline; }
  .st-index > a.k-tr:nth-of-type(4) { display: none; }
  .st-drawer-cover { max-width: 78px; }
  .st-drawer-body { gap: var(--k-3); }
}
@media (max-width: 719px) { .st-star { top: 15px; margin-top: 0; } .st-shelf-t .k-td-main { align-items: flex-start; } .st-shelf-t .k-td-end { margin-left: 0; padding-left: 42px; text-align: left; } }

/* Round 3 */
.st-board h2, .st-sec h2, .k-app .k-account h2, .k-app .k-account h3 { word-spacing: .22em; }
.st-new { position: static; margin-top: 2px; justify-self: start; }
.st-shelf-t .k-td-main { font-family: inherit; }
.st-prose ol, .st-prose ul { padding-left: 2.2em; }
.k-app .k-account :is(h2, h3, .k-section-head h2)::before { content: ""; display: inline-block; width: 5px; height: 14px; margin-right: 9px; background: var(--st-brass); vertical-align: -1px; }
@media (min-width: 1024px) { .st-jump { display: none; } }
@media (max-width: 719px) {
  .st-drawer-body { grid-template-columns: 76px minmax(0, 1fr); align-items: start; padding: var(--k-4) var(--k-4) 0; gap: var(--k-4); }
  .st-drawer-cover { max-width: none; width: 100%; transform: rotate(-3deg); }
  .st-drawer .st-hero-title { text-align: left; font-size: 1.5rem; }
  .st-drawer-note { text-align: left; margin-left: 0; margin-top: var(--k-2); font-size: .875rem; grid-column: 1 / -1; }
  .st-drawer-body > div { display: contents; }
  .st-drawer .st-drawer-act { grid-column: 1 / -1; flex-wrap: nowrap; justify-content: flex-start; margin-top: var(--k-2); }
  .st-drawer .k-btn-lg { min-width: 0; flex: 1 1 0; padding-left: 12px; padding-right: 12px; }
}
.st-cover-art { align-self: start; }
.st-cover-art img { height: auto; }
/* Round 4 */
.st-cover { grid-template-columns: 116px minmax(0, 1fr); }
.st-cover-art { align-self: stretch; }
.st-cover-art img { height: 100%; }
@media (min-width: 900px) { .st-cover { grid-template-columns: 92px minmax(0, 1fr); } }
@media (min-width: 1280px) { .st-cover { grid-template-columns: 112px minmax(0, 1fr); } }
@media (max-width: 719px) { .st-drawer .k-btn-lg { white-space: nowrap; font-size: .9375rem; } .st-drawer .k-btn-on-hero .k-i { display: none; } }

/* art direction 2026-10-25 */
/* Stacks is a card catalogue: index cards filed in green drawers with brass label holders. Libre Baskerville carries
   the reading and display type; Special Elite is for labels only (ref codes, drawer labels, stamps, table heads). */
body.k-app[data-k-type="slab"] {
  --k-font: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --k-font-display: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --st-label: "Special Elite", "Courier New", Courier, monospace;
  --k-bg: #F4F1E6; --k-surface: #FFFDF5; --k-surface-2: #ECE7D4; --k-text: #1B1B1B; --k-muted: #4D4A42; --k-faint: #4D4A42;
  --k-line: rgba(14, 59, 46, .14); --k-line-strong: rgba(14, 59, 46, .38);
  --k-brand: #0E3B2E; --k-brand-ink: #FFFDF5; --k-brand-soft: #E3EFE8; --k-hero: #0E3B2E; --k-hero-ink: #FFFDF5; --k-gold: #C9A227;
  --k-danger: #B03325; --k-ok: #1F6B4F; --k-ok-soft: #DDEDE3; --k-warn: #5E4506; --k-warn-soft: #F6EDD0;
  --st-brass: #C9A227; --st-brass-soft: #F3EAC8; --st-brass-ink: #3F3006; --st-red: #B03325; --st-ruling: #C9D8E8;
  --st-green: #0E3B2E; --st-steel: #0E3B2E; --st-paper: #F4F1E6;
}
@media (prefers-color-scheme: dark) {
  body.k-app[data-k-type="slab"] {
    --k-bg: #0A2A21; --k-surface: #123F31; --k-surface-2: #0E3428; --k-text: #FFFDF5; --k-muted: #B9C7BF; --k-faint: #B9C7BF;
    --k-line: rgba(255, 253, 245, .14); --k-line-strong: rgba(255, 253, 245, .34);
    --k-brand: #8FD0B0; --k-brand-ink: #0E3B2E; --k-brand-soft: #173F34; --k-hero: #0E3B2E; --k-hero-ink: #FFFDF5; --k-gold: #C9A227;
    --k-danger: #E0705F; --k-ok: #8FD0B0; --k-ok-soft: #173F34; --k-warn: #F2D98A; --k-warn-soft: #3B3415;
    --st-brass: #C9A227; --st-brass-soft: rgba(201, 162, 39, .16); --st-brass-ink: #F2E3BD; --st-red: #E0705F; --st-ruling: rgba(143, 178, 214, .16);
    --st-green: #0E3B2E; --st-steel: #0E3B2E; --st-paper: #0A2A21;
  }
  .st-drawer { background: #0E3B2E; }
}

/* Labels in Special Elite, uppercase, 12-13px */
.k-app .k-kicker, .st-code, .st-plate-in, .st-drawer-tag, .st-ref, .st-icard-ref, .k-app .k-thead, .k-app .k-badge,
.k-app .k-badge-state, .st-stamp, .st-kind, .st-who, .st-next-l li::before {
  font-family: var(--st-label); text-transform: uppercase; letter-spacing: .06em; font-size: .8125rem; font-weight: 400;
}
.k-app .k-kicker { color: var(--k-muted); }
.k-app .k-thead { background: var(--k-surface-2); color: var(--k-muted); }
.k-app .k-badge-state { min-height: 26px; }
[data-k-state="active"] .k-badge-state, .st-req [data-k-state="active"] .k-badge-state { background: var(--k-warn-soft); color: var(--k-warn); }
.k-app .k-badge-state, .k-app .k-badge { color: var(--k-text); }
.k-app .k-badge.k-badge-brand { background: var(--k-brand-soft); color: var(--k-brand); }
[data-k-state="new"] .k-badge-state, [data-k-state="ok"] .k-badge-state, .k-badge-ok { color: var(--k-ok); }
.st-stamp { display: inline-block; padding: 2px 8px; border: 2px solid var(--st-red); color: var(--st-red); border-radius: 2px; transform: rotate(-2deg); }

/* Fonts and type */
.k-app h1, .k-app h2, .k-app h3 { font-family: var(--k-font-display); font-weight: 700; letter-spacing: -.01em; }
.k-app .k-lead, .k-app p { line-height: 1.6; }

/* Public page: full-bleed green first screen */
.k-public { overflow-x: clip; }
.st-hero-pub {
  display: grid; gap: 40px; align-items: center; min-height: 640px; box-sizing: border-box;
  margin: 0 calc(50% - 50vw); padding: 48px max(20px, calc(50% - var(--k-max) / 2 + 20px)) 56px;
  background: var(--st-green); color: var(--k-hero-ink);
}
.st-hero-pub h1 { font-family: var(--k-font-display); font-weight: 700; font-size: min(7.5vw, 6.5rem); line-height: 1; letter-spacing: -.02em; color: #FFFDF5; margin: 12px 0 20px; }
.st-hero-pub .k-kicker { color: var(--st-brass); }
.st-hero-pub .k-lead { color: #E9E4D4; max-width: 46ch; margin-bottom: 28px; }
.st-hero-pub .k-help { color: #D7DED9; margin-top: 16px; }
.st-hero-pub .k-btn { background: #FFFDF5; color: var(--st-green); box-shadow: none; }
.st-hero-pub .k-btn-line { background: transparent; color: #FFFDF5; box-shadow: inset 0 0 0 2px rgba(255, 253, 245, .7); }
.st-hero-art { margin: 0; }
.st-hero-art img { display: block; width: 100%; max-width: 520px; height: auto; margin: 0 auto; filter: drop-shadow(0 18px 28px rgba(0, 0, 0, .35)); }
@media (min-width: 900px) { .st-hero-pub { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; } }
.st-hero-pub:has(+ *) { margin-bottom: 0; }

/* Index cards (library, home, requests) */
.st-cover, .st-icard, .st-req, .st-slip, .st-prose {
  background-color: var(--k-surface);
  border-top: 2px solid var(--st-red);
  border-radius: 2px;
}
.st-cover, .st-icard, .st-req, .st-slip {
  background-image: repeating-linear-gradient(to bottom, transparent 0 21px, var(--st-ruling) 21px 22px);
  background-position: 0 40px;
}
.st-cover { position: relative; display: block; text-decoration: none; color: var(--k-text); padding: 14px 16px 26px; aspect-ratio: 5 / 3; box-shadow: var(--k-shadow-1); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.st-cover::after, .st-icard::after { content: ""; position: absolute; left: 50%; bottom: 8px; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--k-bg); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .18); }
.st-cover-body { display: grid; gap: 4px; padding: 0; border: 0; }
.st-cover-body b { font-family: var(--k-font-display); font-size: 1rem; line-height: 1.3; }
.st-cover-body .k-muted { font-size: .8125rem; line-height: 1.4; }
.st-cover:hover { transform: translateY(-2px); box-shadow: var(--k-shadow-2); }
.st-cover:focus-visible, .st-cover-static:focus-visible { outline: 3px solid var(--st-brass); outline-offset: 3px; }
.st-cover-body .st-code { font-size: .75rem; }
.st-covers { gap: 18px; }
.st-stat-sep, .st-new { display: none; }

/* Drawer front and the card sliding out */
.st-drawer { position: relative; background: var(--st-green); color: #FFFDF5; border-radius: 6px; padding: 0 0 40px; --k-hero: #0E3B2E; box-shadow: 0 0 0 1px rgba(0, 0, 0, .25), inset 0 -10px 0 rgba(0, 0, 0, .18); }
.st-plate-in { background: #F6EFD8; color: #3F3006; border: 2px solid var(--st-brass); outline: 0; box-shadow: none; }
.st-plate-in b { font-family: var(--st-label); letter-spacing: .06em; font-size: .8125rem; }
.st-plate-in i { color: #5C3E08; font-style: normal; }
.st-drawer-body { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 24px 0; }
@media (min-width: 720px) { .st-drawer-body { grid-template-columns: 240px minmax(0, 1fr); gap: 36px; padding: 32px 36px 0; } }
.st-drawer .st-hero-title { color: #FFFDF5; font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.4rem); }
.st-drawer-note { color: #E9E4D4; opacity: 1; }
.st-drawer .k-btn-on-hero { background: #FFFDF5; color: var(--st-green); }
.st-drawer .k-btn-ghost { color: #FFFDF5; box-shadow: inset 0 0 0 1.5px rgba(255, 253, 245, .6); }
.st-icard { position: relative; width: 100%; max-width: 240px; aspect-ratio: 5 / 3; margin: 0 auto; padding: 14px 16px 26px; color: var(--k-text); transform: rotate(-2deg) translateY(-6px); box-shadow: 0 16px 28px rgba(0, 0, 0, .4); display: grid; align-content: start; gap: 6px; box-sizing: border-box; overflow: hidden; }
.st-icard-title { font-family: var(--k-font-display); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; color: var(--k-text); }
.st-icard .st-kind { color: var(--k-muted); }
.st-pull { position: absolute; left: 50%; bottom: 16px; width: 64px; height: 10px; margin-left: -32px; border-radius: 5px; background: linear-gradient(#E3C25A, #A8862A); box-shadow: 0 2px 0 rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .5); }

/* Home board: the drawer runs full width */
.st-callcard .k-row-plain { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 0; min-height: 0; }
.st-callcard .k-btn { align-self: start; }
.st-ratecard .k-row-sub { white-space: normal; overflow: visible; text-overflow: clip; }
.st-req { background-color: var(--k-surface); }
.st-req .k-live-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }

/* Library: each section is a drawer */
.st-sec { background: var(--k-surface); border-radius: 6px; overflow: hidden; }
.st-sec > .k-panel-head { background: var(--st-green); color: #FFFDF5; padding: 14px 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.st-sec > .k-panel-head h2 { color: #FFFDF5; font-size: 1rem; margin: 0; }
.st-sec > .k-panel-head h2::before { background: var(--st-brass); }
.st-sec > .k-panel-head a { color: #FFFDF5; }
.st-drawer-tag { background: #F6EFD8; color: #3F3006; border: 2px solid var(--st-brass); padding: 4px 10px; border-radius: 2px; font-size: .75rem; }
.st-sec-body { display: grid; gap: 0; padding: 22px 18px 26px; background: var(--st-paper); transition: transform .3s ease; }
.st-sec-body > .st-cover + .st-cover { margin-top: -84px; }
.st-sec-body > .st-cover { width: 100%; max-width: 420px; margin-left: 0; }
.st-sec-body > .st-cover:nth-child(odd) { transform: rotate(-.6deg); }
.st-sec-body > .st-cover:nth-child(even) { transform: rotate(.6deg); }
.st-sec:hover .st-sec-body, .st-sec:focus-within .st-sec-body { transform: translateY(24px); }
.st-sec:hover .st-sec-body > .st-cover + .st-cover, .st-sec:focus-within .st-sec-body > .st-cover + .st-cover { margin-top: -40px; }
.st-sec-body > .st-cover:hover { transform: none; }
.st-sec-body > .st-cover { transition: transform .3s ease, margin .3s ease, box-shadow .3s ease; }
.st-sec-body > .st-cover:focus-visible { position: relative; z-index: 2; }
.st-sec-body .st-cover-body .k-muted { display: none; }
.st-sec-body .st-cover-body b { font-size: 1.0625rem; }
@media (min-width: 900px) { .st-sec-body { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; } .st-sec-body > .st-cover + .st-cover { margin-top: 0; } .st-sec-body > .st-cover { max-width: none; } .st-sec-body > .st-cover:nth-child(n) { transform: none; } .st-sec:hover .st-sec-body > .st-cover:nth-child(n), .st-sec:focus-within .st-sec-body > .st-cover:nth-child(n) { transform: rotate(-1deg); } .st-sec:hover .st-sec-body > .st-cover:nth-child(even), .st-sec:focus-within .st-sec-body > .st-cover:nth-child(even) { transform: rotate(1deg); } .st-sec:hover .st-sec-body, .st-sec:focus-within .st-sec-body { transform: translateY(24px); } .st-sec:hover .st-sec-body > .st-cover + .st-cover, .st-sec:focus-within .st-sec-body > .st-cover + .st-cover { margin-top: 0; } }

/* Rates */
.st-rate-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.st-rate-stats > div { display: grid; gap: 4px; padding: 14px; background: var(--k-surface); border-top: 2px solid var(--st-red); border-radius: 2px; min-width: 0; }
.st-rate-stats b { font-family: var(--k-font-display); font-size: 56px; line-height: 1; font-weight: 700; color: var(--k-text); }
.st-rate-stats b span { font-size: inherit; }
.st-rate-stats > div > span:last-child { font-family: var(--st-label); text-transform: uppercase; letter-spacing: .06em; font-size: .75rem; color: var(--k-muted); white-space: nowrap; overflow: hidden; text-overflow: clip; }
.st-rate-stats > div:first-child b { font-size: 44px; }
@media (max-width: 719px) { .st-rate-stats b { font-size: 40px; } .st-rate-stats > div:first-child b { font-size: 36px; } }
.st-rate-stats > div[data-pl-view="numbers"][data-pl-list="quotes"][data-pl-where*="Waiting"] { border-top-color: var(--st-brass); }
.st-out[data-st-out="won"] { background: #0E3B2E; color: #FFFDF5; }
.st-out[data-st-out="lost"] { background: #F8E4E0; color: #B03325; }
.st-out[data-st-out="waiting"] { background: transparent; color: var(--k-text); box-shadow: inset 0 0 0 2px var(--st-brass); }
[data-st-out="won"] { --k-ok: #0E3B2E; }
.st-avg .k-row-sub { white-space: normal; display: block; }
.st-fee { font-family: var(--k-font-display); }
.st-q [data-st-out] { display: inline-block; }
.st-floor { font-family: var(--st-label); text-transform: uppercase; font-size: .75rem; letter-spacing: .06em; }
[data-st-where="below"] .st-floor { color: var(--k-danger); }
[data-st-where="within"] .st-floor { color: var(--k-ok); }
[data-st-where="above"] .st-floor { color: var(--k-brand); }

/* Shelf */
.st-shelf-t .k-td-main { font-family: inherit; }

/* Guides: 680px reading column */
.st-guide .st-prose, .st-guide-head { max-width: 680px; }
.st-guide-head .st-code { display: inline-block; margin-bottom: 6px; }
.st-tag-card { display: grid; place-items: center; width: 88px; aspect-ratio: 5 / 3; align-self: start; background: var(--k-surface); border-top: 2px solid var(--st-red); color: var(--k-text); font-family: var(--st-label); font-size: .8125rem; letter-spacing: .06em; box-shadow: var(--k-shadow-1); }
.st-prose { padding: var(--k-5); }

/* Ask */
.st-next, .st-next h2 { font-family: var(--k-font-display); }
.st-slip { border-top: 6px solid var(--st-brass); }

/* Account: plans as index cards */
.k-app .k-plan { background: var(--k-surface); border-top: 2px solid var(--st-red); border-radius: 2px; }

/* Touch targets and focus */
.k-chips .k-chip { min-height: 44px; }
.k-app :focus-visible { outline: 3px solid var(--st-brass); outline-offset: 2px; }

/* Rail: green cabinet front with brass label holder for the active tab */
@media (min-width: 1024px) {
  .k-app .k-tabs { background: var(--st-green); color: #FFFDF5; }
  .k-app .k-tabs a:not(.k-tabs-brand) { color: #FFFDF5; border-bottom-color: rgba(255, 253, 245, .18); }
  .k-app .k-tabs a:not(.k-tabs-brand):hover { background: rgba(201, 162, 39, .18); color: #FFFDF5; }
  .k-app .k-tabs a[aria-current="page"] { background: #FFFDF5; color: #1B1B1B; border: 2px solid var(--st-brass); }
  .k-app .k-tabs a[aria-current="page"] .k-i { color: #1B1B1B; }
  .k-app .k-tabs .k-tabs-brand span { color: #FFFDF5; }
}
@media (max-width: 1023px) {
  .k-app .k-tabs { background: #FFFDF5; }
  .k-app .k-tabs a[aria-current="page"] { color: var(--st-green); box-shadow: inset 0 3px 0 var(--st-brass); }
}

/* Reduced motion: no slides, fans or lifts */
@media (prefers-reduced-motion: reduce) {
  .st-cover, .st-cover:hover, .st-sec-body, .st-sec-body > .st-cover, .st-sec:hover .st-sec-body, .st-sec:focus-within .st-sec-body,
  .st-sec:hover .st-sec-body > .st-cover + .st-cover, .st-sec:focus-within .st-sec-body > .st-cover + .st-cover, .st-drawer-card, .st-icard {
    transition: none !important; transform: none !important;
  }
  .st-sec-body > .st-cover + .st-cover, .st-sec:hover .st-sec-body > .st-cover + .st-cover { margin-top: -84px; }
  @media (min-width: 900px) { .st-sec-body > .st-cover + .st-cover, .st-sec:hover .st-sec-body > .st-cover + .st-cover { margin-top: 0; } }
}
/* Public: the band of three numbered catalogue steps, big/small/big */
.st-band { margin: 0 calc(50% - 50vw); padding: 56px max(20px, calc(50% - var(--k-max) / 2 + 20px)); background: var(--st-green); color: #FFFDF5; }
.st-band h2 { color: #FFFDF5; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.125rem); margin: 0 0 28px; }
.st-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; }
.st-steps li { position: relative; padding-top: 0; }
.st-step-n { display: block; font-family: var(--k-font-display); font-weight: 700; font-size: 3.5rem; line-height: 1; color: var(--st-brass); margin-bottom: 8px; }
.st-steps h3 { color: #FFFDF5; font-size: 1.25rem; margin: 0 0 8px; }
.st-steps p { color: #E9E4D4; margin: 0; }
@media (min-width: 900px) {
  .st-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 40px; }
  .st-steps li:nth-child(1) .st-step-n { font-size: 5rem; }
  .st-steps li:nth-child(2) { margin-top: 72px; }
  .st-steps li:nth-child(2) .st-step-n { font-size: 2.5rem; }
  .st-steps li:nth-child(3) .st-step-n { font-size: 5rem; }
  .st-steps li:nth-child(3) { margin-top: 24px; }
}
/* Shelf: table and filed strip run full width, so no empty block under the table */
.st-mini-card { display: grid; place-items: center; width: 40px; height: 40px; min-height: 40px; background: var(--st-brass-soft); color: var(--st-brass-ink); border: 1px solid var(--st-brass); border-radius: 2px; font-family: var(--st-label); font-size: .6875rem; letter-spacing: .04em; }
.st-shelf-rail .k-panel-body { display: grid; gap: 14px; }
@media (min-width: 900px) { .st-shelf-rail .k-panel-body { grid-template-columns: repeat(3, minmax(0, 1fr)); } .st-shelf-rail .k-row-plain { border: 0; } }

/* art direction 2026-10-25 round 2 */
/* Dark palette: same names as light, tuned for 4.5:1 text and a visible phone tab bar */
@media (prefers-color-scheme: dark) {
  body.k-app[data-k-type="slab"] { --k-brand: #8FD0B0; --k-brand-ink: #0A2A21; --k-danger: #F29486; --st-red: #F29486; }
  .st-floor, [data-st-where] .st-floor { color: #C9D6CF; }
  .st-out[data-st-out="won"] { background: #2E7D5B; color: #FFFDF5; }
  .k-app .k-tabs { background: #0B2A21; border-top: 1px solid #1F4A3C; }
  .k-app .k-tabs a { color: #C9D6CF; }
  .k-app .k-tabs a[aria-current="page"] { color: #C9A227; }
}
/* Index cards stay paper with typewriter ink in dark mode, on the green desk */
.st-req, .st-icard, .st-cover, .st-slip, .st-prose {
  --k-surface: #FFFDF5; --k-surface-2: #ECE7D4; --k-text: #1B1B1B; --k-muted: #4D4A42; --k-faint: #4D4A42;
  --k-line: rgba(14, 59, 46, .14); --k-line-strong: rgba(14, 59, 46, .38); --k-brand: #0E3B2E; --k-brand-ink: #FFFDF5; --k-brand-soft: #E3EFE8;
  background-color: #FFFDF5; color: #1B1B1B;
}
/* Ruled lines: 24px rhythm, the text line-height, with the first rule under the first line */
.st-req, .st-icard, .st-slip {
  line-height: 24px;
  background-image: repeating-linear-gradient(to bottom, transparent 0 23px, var(--st-ruling) 23px 24px);
  background-position: 0 16px;
}
.st-req { padding: 16px 18px; }
.st-req > * + * { margin-top: 0; }
.st-req p, .st-req h3, .st-req .k-live-top { line-height: 24px; margin: 0; }
.st-req h3 { font-size: 1.125rem; }
.st-reply { margin-top: 0; line-height: 24px; }
.st-slip { background-position: 0 16px; }
.st-icard { padding: 16px 18px 26px; }
.st-cover { background-image: repeating-linear-gradient(to bottom, transparent 0 23px, var(--st-ruling) 23px 24px); background-position: 0 16px; }
@media (min-width: 768px) {
  .st-icard { background: #FFFDF5; width: 100%; max-width: 280px; margin: 0 auto 16px; }
}
@media (max-width: 767px) { .st-drawer .st-icard { display: none; } }
/* Index: the request sits at the top of the right column on desktop */
.st-req-sec { margin: 0; }
.st-req-sec > .k-section-head { margin-bottom: 12px; }
.st-index { --k-cols: 5rem minmax(0, 1fr) 6rem; }
@media (min-width: 1024px) {
  .st-board > .st-drawer.k-span-12 { grid-column: 1 / -1; }
  .st-board > [aria-labelledby="pop-h"] { grid-column: span 7; }
  .st-board > .st-rcol { grid-column: span 5; }
}
/* Phones and tablets: one column, request first; the filed table becomes stacked rows */
@media (max-width: 1023px) {
  .st-board { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .st-rcol { display: contents; }
  .st-rcol > * + *, .st-board > * + * { margin-top: 0; }
  .st-drawer { order: 1; }
  .st-req-sec { order: 2; }
  .st-board > [aria-labelledby="pop-h"] { order: 3; }
  .st-rcol > [aria-labelledby="shelf-h"] { order: 4; }
  .st-ratecard { order: 5; }
  .st-callcard { order: 6; }
  .st-index .k-thead { display: none; }
  .st-index .k-tr { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; align-items: start; }
  .st-index .k-tr::after { content: none; }
  .st-index .st-kind-td { display: none; }
}
/* Rates: stat tiles on one baseline; the first tile full width on phones */
.st-rate-stats > div { padding: 20px 24px; }
.st-rate-stats b, .st-rate-stats > div:first-child b { font-size: 48px; line-height: 1; }
.st-rate-stats > div > span:last-child { white-space: normal; overflow: visible; text-overflow: clip; }
@media (max-width: 719px) {
  .st-rate-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .st-rate-stats > div:first-child { grid-column: 1 / -1; }
  .st-rate-stats b, .st-rate-stats > div:first-child b { font-size: 48px; }
}
.st-avg .k-row-main { min-width: 120px; }
.st-avg .k-row-end { align-items: flex-end; }
.st-avg .st-floor { display: block; text-align: right; }
/* Library and shelf: section heads are brass label holders; the card groups slide in with a small fan */
.st-sec > .k-panel-head { background: #C9A227; color: #1B1B1B; border-bottom: 2px solid #7A5A12; }
.st-sec > .k-panel-head h2 { font-family: var(--st-label); font-size: 12px; font-weight: 400; text-transform: uppercase; letter-spacing: .08em; color: #1B1B1B; }
.st-sec > .k-panel-head h2::before { display: none; }
.st-sec > .k-panel-head a { color: #1B1B1B; }
.st-sec-body { animation: st-slide-in .5s ease-out backwards; }
.st-sec-body > .st-cover:nth-child(2) { translate: 4px 0; }
.st-sec-body > .st-cover:nth-child(3) { translate: 8px 0; }
@keyframes st-slide-in { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
@media (min-width: 900px) { .st-sec-body .st-cover-body .k-muted { display: block; } }
/* Covers: height from the content, so long titles are not clipped */
.st-covers > .st-cover { aspect-ratio: auto; min-height: 150px; }
/* Public page: hero and band share the 1040px container */
.st-hero-pub, .st-band { padding-left: max(24px, calc(50vw - 520px)); padding-right: max(24px, calc(50vw - 520px)); }
#library { padding-bottom: 64px; }
.st-steps li:nth-child(n) .st-step-n { font-size: 64px; color: #C9A227; }
.st-step-n { font-size: 64px; color: #C9A227; margin-bottom: 8px; }
@media (min-width: 900px) {
  .st-steps { align-items: start; }
  .st-steps li:nth-child(2), .st-steps li:nth-child(3) { margin-top: 0; }
}
/* Guides: the reading column with no thumbnail box */
.st-guide-head { grid-template-columns: minmax(0, 1fr); }
/* Reduced motion: no slides, fans or lifts */
@media (prefers-reduced-motion: reduce) {
  .st-sec-body, .st-sec-body > .st-cover:nth-child(n) { animation: none !important; translate: none !important; }
}

/* art direction 2026-10-25 round 4 */
/* Public 375: title, then the cabinet cropped to its top two drawer rows, then the lead */
@media (max-width: 899px) {
  .st-hero-pub { min-height: 0; gap: 16px; padding-bottom: 48px; }
  .st-hero-pub > div { display: contents; }
  .st-hero-pub > div > .k-kicker { order: 1; }
  .st-hero-pub h1 { order: 2; font-size: clamp(3.25rem, 15vw, 4.5rem); line-height: .95; margin: 4px 0 0; }
  .st-hero-art { order: 3; width: calc(100% - 16px); max-height: 260px; overflow: hidden; margin: 8px auto 0; background: none; box-shadow: none; aspect-ratio: auto; border-radius: 0; }
  .st-hero-art img { width: 100%; height: auto; max-width: none; filter: none; }
  .st-hero-pub .k-lead { order: 4; margin: 0 0 8px; }
  .st-hero-pub .k-btn-row { order: 5; }
  .st-hero-pub .k-help { order: 6; margin-top: 0; }
}
/* Public 1440: cabinet about 640px wide on the bottom edge of the green band, on a 24px plinth */
@media (min-width: 900px) {
  .st-hero-pub { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: end; padding-bottom: 0; }
  .st-hero-pub > div { align-self: center; }
  .st-hero-pub { padding-bottom: 0 !important; }
  .st-hero-art { align-self: end; justify-self: end; width: min(640px, 100%); margin: 0; background: none; box-shadow: none; border-radius: 0; aspect-ratio: auto; overflow: visible; }
  .st-hero-art img { width: 100%; height: auto; max-width: none; filter: none; display: block; }
  .st-hero-art { padding-bottom: 24px; background: linear-gradient(#5a3a1e, #5a3a1e) no-repeat bottom / 100% 24px; }
  .st-hero-pub h1 { font-size: min(6vw, 5.5rem); }
}

/* Home: the open drawer, cards fanned on the left half (phones: a strip above the title) */
.st-drawer-body > div { display: block; }
@media (min-width: 720px) { .st-drawer-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; } }
.st-fanbox { position: relative; height: 250px; animation: st-fan-out .6s ease-out backwards; }
.st-drawer .st-fanbox .st-icard { display: grid; position: absolute; left: 50%; top: 50%; width: 224px; max-width: none; margin: -67px 0 0 -112px; transform: none; box-shadow: 0 16px 28px rgba(0, 0, 0, .4); }
.st-drawer .st-fanbox .st-fan-l { transform: translateX(-120px) rotate(-6deg); }
.st-drawer .st-fanbox .st-fan-m { z-index: 2; transform: none; }
.st-drawer .st-fanbox .st-fan-r { transform: translateX(120px) rotate(5deg); }
@keyframes st-fan-out { from { transform: translateY(-24px); opacity: .4; } to { transform: none; opacity: 1; } }
@media (max-width: 719px) {
  .st-drawer-body { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 16px 16px 0; align-items: stretch; }
  .st-fanbox { height: 104px; }
  .st-drawer .st-fanbox .st-icard { top: 8px; left: 0; width: 150px; margin: 0; transform: none; }
  .st-drawer .st-fanbox .st-fan-m { left: 18px; }
  .st-drawer .st-fanbox .st-fan-r { left: 36px; }
  .st-drawer .st-fanbox .st-icard-title { display: none; }
  .st-drawer .st-hero-title { margin-top: 0; }
}
.st-callcard .k-row-title { white-space: normal; overflow: visible; text-overflow: clip; display: block; height: auto; max-height: none; line-height: 1.35; }
.st-callcard .k-row-main { min-width: 0; display: grid; gap: 4px; }
/* Home at 1024 and up: the left column holds Recently filed, Won this month and the call */
.st-lcol { display: flex; flex-direction: column; gap: var(--k-4); }
.st-lcol > * { margin-top: 0; }
@media (max-width: 1023px) { .st-lcol { display: contents; } }

/* Library at 1024 and up: each drawer of cards is fanned, and spreads on hover or focus */
@media (min-width: 1024px) {
  .st-sec .st-sec-body.st-covers { display: flex; align-items: flex-start; padding: 22px 24px 26px; }
  .st-sec .st-sec-body.st-covers > .st-cover { flex: 0 0 300px; width: 300px; max-width: none; margin: 0; }
  .st-sec .st-sec-body.st-covers > .st-cover + .st-cover { margin-left: -180px; }
  .st-sec:hover .st-sec-body.st-covers > .st-cover + .st-cover,
  .st-sec:focus-within .st-sec-body.st-covers > .st-cover + .st-cover { margin-left: 12px; }
}

/* Rates: fee rows wrap on phones; the floor line sits under the name */
.st-avg { flex-wrap: wrap; }
.st-avg .k-row-main { min-width: 0; flex: 1 1 60%; }
.st-avg .k-row-end { min-width: 0; }
.st-avg .st-floor { display: block; text-align: left; margin-top: 4px; }
.st-rate-stats > div:first-child { padding: 20px 24px; }

/* Shelf: the filed rows are equal height and each has a top rule */
.st-shelf-rail .k-panel-body > .k-row-plain { min-height: 88px; box-sizing: border-box; align-items: center; border-top: 2px solid var(--st-red); border-bottom: 0; }

/* Account on phones: a tighter membership box; the leave button fills the width */
.k-app .k-account > p:first-child { padding: 12px 16px; }
.k-app .k-account form:has(input[type="checkbox"]) button { width: 100%; height: auto; min-height: 44px; justify-self: stretch; }

/* Ruled lines: text sits on the 24px rhythm so no rule cuts a line */
.st-cover { padding: 16px 16px 26px; }
.st-cover-body, .st-cover-body * { line-height: 24px; }
.st-slip { overflow: hidden; }
.st-slip label, .st-slip .k-help, .st-slip h2 { line-height: 24px; }

/* Dark: the cards stay cream, so their codes keep the light-mode label colour; the active pill and rail item stay legible */
@media (prefers-color-scheme: dark) {
  .st-cover .st-code, .st-icard .st-code, .st-req .st-code, .st-slip .st-code { color: #6b5a1e; }
}
.k-app [data-k-state="active"] .k-badge-state, .k-app .k-badge-state[data-k-state="active"] { background: #F3E7B6; color: #1B1B1B; }
.k-app .k-tabs a[aria-current="page"], .k-app .k-tabs a[aria-current="page"] .k-i { color: #0E3B2E; }
.k-app .k-tabs a[aria-current="page"] { background: #FFFDF5; }

@media (prefers-reduced-motion: reduce) {
  .st-fanbox { animation: none !important; }
  .st-sec .st-sec-body.st-covers > .st-cover { transition: none !important; }
}

/* polish 2026-10-26 */
/* Member pages sit in the cabinet: a library-green ground, an oak rail and tab bar, and paper panels and index cards.
   Text that sits straight on the green (page heads, section heads, notes, the footer) takes cream ink and brass links. */
body.k-app:not(.k-public) {
  --st-oak: #6B4526; --st-oak-deep: #2A1A0D;
  --st-grain: repeating-linear-gradient(92deg, rgba(0, 0, 0, .07) 0 2px, transparent 2px 11px, rgba(255, 255, 255, .04) 11px 12px, transparent 12px 23px);
  --k-bg: #0E3B2E;
}
@media (prefers-color-scheme: dark) {
  body.k-app:not(.k-public) { --st-oak: #4A2F18; --st-oak-deep: #170E06; --k-bg: #071C16; }
}
body.k-app:not(.k-public) :is(.k-top, .k-pagehead, .k-section-head, .k-foot, .st-pad, .k-back, .st-guide-head, .k-welcome > div, .k-account > h3, .k-account > h3 + p:not(:last-child), .k-account > p:last-child:not(:first-child)) {
  --k-text: #FFFDF5; --k-muted: #D3DDD7; --k-faint: #D3DDD7; --k-brand: #E3C25A; --k-brand-ink: #0E3B2E; --k-brand-soft: rgba(227, 194, 90, .16);
  --k-line: rgba(255, 253, 245, .2); --k-line-strong: rgba(255, 253, 245, .5);
  color: var(--k-text);
}
body.k-app:not(.k-public) .st-guide-head .st-code { color: #E3C25A; }
body.k-app:not(.k-public) .k-pagehead .k-btn:not(.k-btn-line) { background: #E3C25A; color: #0E3B2E; }
.k-app .k-chips .k-chip { background: #FFFDF5; color: #1B1B1B; box-shadow: inset 0 0 0 1px rgba(14, 59, 46, .3); }
.k-app .k-chips .k-chip[aria-current="true"] { background: #E3C25A; color: #1B1B1B; box-shadow: inset 0 -3px 0 #8A6A12; }
/* Oak rail and phone tab bar; the active tab stays a cream label in a brass holder */
.k-app .k-tabs { background: var(--st-grain), linear-gradient(90deg, var(--st-oak), color-mix(in srgb, var(--st-oak) 82%, #000)); border-color: rgba(0, 0, 0, .35); }
.k-app .k-tabs a:not(.k-tabs-brand):not([aria-current="page"]) { color: #F1E6D2; }
.k-app .k-tabs .k-tabs-brand span { color: #FFFDF5; }
@media (min-width: 1024px) {
  .k-app .k-tabs a:not(.k-tabs-brand) { border-bottom-color: rgba(255, 253, 245, .16); }
  .k-app .k-tabs a:not(.k-tabs-brand):not([aria-current="page"]):hover { background: rgba(227, 194, 90, .18); color: #FFFDF5; }
}

/* Home hero: the open catalogue drawer in an oak cabinet. Cards stand in it; the newest is pulled up to read. */
.k-board > .st-drawer {
  position: relative; display: block; padding: 28px 28px 22px; border-radius: 6px; color: #1B1B1B; overflow: hidden;
  background: var(--st-grain), linear-gradient(180deg, color-mix(in srgb, var(--st-oak) 88%, #fff), var(--st-oak));
  box-shadow: 0 26px 50px rgba(0, 0, 0, .38), inset 0 0 0 1px rgba(0, 0, 0, .35), inset 0 2px 0 rgba(255, 255, 255, .12);
}
.st-stage { position: relative; padding: 44px 36px 0; background: linear-gradient(180deg, var(--st-oak-deep), color-mix(in srgb, var(--st-oak-deep) 70%, var(--st-oak))); box-shadow: inset 0 14px 24px rgba(0, 0, 0, .5); border-radius: 3px 3px 0 0; }
.st-backs { position: absolute; left: 36px; right: 36px; top: 0; bottom: 0; }
.st-back { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: flex-end; align-items: baseline; gap: 14px; padding: 9px 22px; box-sizing: border-box; border-top: 2px solid #B03325; border-radius: 2px 2px 0 0; color: #1B1B1B; box-shadow: 0 -3px 8px rgba(0, 0, 0, .28); }
.st-back-1 { height: 228px; background: #E2DAC2; }
.st-back-2 { height: 190px; background: #EAE3CE; }
.st-back-3 { height: 152px; background: #F2ECDA; }
.st-back-4 { height: 114px; background: #F8F4E6; }
.st-back .st-code { color: #5C4A12; font-size: .75rem; }
.st-back-t { font-family: var(--k-font-display); font-size: .9375rem; line-height: 1.3; }
.st-pulled {
  --k-surface: #FFFDF5; --k-surface-2: #ECE7D4; --k-text: #1B1B1B; --k-muted: #4D4A42; --k-faint: #4D4A42; --k-line: rgba(14, 59, 46, .14); --k-line-strong: rgba(14, 59, 46, .45);
  --k-brand: #0E3B2E; --k-brand-ink: #FFFDF5; --k-brand-soft: #E3EFE8;
  position: relative; z-index: 5; width: min(620px, 60%); box-sizing: border-box; padding: 22px 30px 76px; color: #1B1B1B;
  background-color: #FFFDF5; background-image: repeating-linear-gradient(to bottom, transparent 0 23px, #C9D8E8 23px 24px); background-position: 0 22px;
  border-top: 3px solid #B03325; border-radius: 2px 2px 0 0; rotate: -1deg; box-shadow: 0 -10px 30px rgba(0, 0, 0, .45);
}
.st-pulled > * { margin: 0; }
.st-pulled .st-code { color: #6b5a1e; line-height: 24px; }
.k-board > .st-drawer .st-hero-title { color: #1B1B1B; text-align: left; margin: 6px 0 0; font-size: clamp(2rem, 1.1rem + 2.4vw, 3.25rem); line-height: 1.1; }
.k-board > .st-drawer .st-drawer-note { color: #4D4A42; text-align: left; margin: 12px 0 0; max-width: 44ch; line-height: 24px; }
.k-board > .st-drawer .st-drawer-act { margin-top: 22px; justify-content: flex-start; flex-wrap: wrap; }
.k-board > .st-drawer .k-btn-lg { min-width: 0; flex: 0 0 auto; white-space: nowrap; }
.k-board > .st-drawer .k-btn-line { background: transparent; color: #0E3B2E; box-shadow: inset 0 0 0 2px rgba(14, 59, 46, .55); }
.st-front {
  position: relative; z-index: 6; margin-top: -44px; min-height: 200px; box-sizing: border-box; display: grid; justify-items: center; align-content: start; padding: 40px 24px 70px;
  background: linear-gradient(180deg, #154A3A, #0E3B2E 40%, #0B3125); border-radius: 3px;
  box-shadow: 0 -8px 18px rgba(0, 0, 0, .4), inset 0 0 0 10px rgba(255, 255, 255, .035), inset 0 0 0 11px rgba(0, 0, 0, .35), inset 0 0 0 12px rgba(255, 255, 255, .08);
}
.st-front .st-plate { padding: 0; }
.st-front .st-plate-in { padding: 12px 30px; font-size: .9375rem; gap: 14px; background: #F6EFD8; color: #3F3006; border: 3px solid #C9A227; box-shadow: 0 0 0 2px #7A5A12, 0 3px 0 2px rgba(0, 0, 0, .35); }
.st-front .st-plate-in b { font-size: .9375rem; }
.st-front .st-pull { left: 50%; bottom: 24px; width: 150px; height: 24px; margin-left: -75px; border-radius: 4px 4px 75px 75px / 4px 4px 24px 24px; background: linear-gradient(#EED27A, #B8912F 55%, #7A5A12); box-shadow: 0 4px 0 rgba(0, 0, 0, .35), inset 0 2px 0 rgba(255, 255, 255, .55); }
@media (max-width: 719px) {
  .k-board > .st-drawer { padding: 12px 12px 12px; }
  .st-stage { padding: 26px 14px 0; }
  .st-backs { left: 14px; right: 14px; }
  .st-back { padding: 6px 10px; }
  .st-back-t { display: none; }
  .st-back-1 { height: 176px; } .st-back-2 { height: 146px; } .st-back-3 { height: 116px; } .st-back-4 { height: 86px; }
  .st-pulled { width: calc(100% - 52px); padding: 16px 18px 60px; }
  .k-board > .st-drawer .st-hero-title { font-size: 1.75rem; }
  .k-board > .st-drawer .st-drawer-note { font-size: .9375rem; grid-column: auto; }
  .k-board > .st-drawer .st-drawer-act { margin-top: 16px; gap: 10px; }
  .k-board > .st-drawer .k-btn-lg { flex: 1 1 auto; font-size: .9375rem; padding-left: 16px; padding-right: 16px; }
  .k-board > .st-drawer .st-front { margin-top: -36px; min-height: 0; height: 92px; box-sizing: border-box; padding: 12px 12px 0; }
  .st-front .st-plate-in { padding: 8px 14px; font-size: .75rem; gap: 8px; }
  .st-front .st-plate-in b { font-size: .75rem; }
  .st-front .st-pull { width: 104px; height: 18px; margin-left: -52px; bottom: 12px; }
}
@media (max-width: 719px) { .k-board > .st-drawer .k-btn-lg .k-i { display: none; } }
@media (max-width: 1023px) {
  .st-lcol > [aria-labelledby="pop-h"] { order: 3; }
  .st-lcol > .st-ratecard { order: 5; }
  .st-lcol > .st-callcard { order: 6; }
}

/* Library: each drawer is an oak tray; cards overlap a little and every title stays readable */
.st-sec .st-sec-body { background: var(--st-grain), linear-gradient(180deg, var(--st-oak-deep), color-mix(in srgb, var(--st-oak-deep) 60%, var(--st-oak))); box-shadow: inset 0 10px 18px rgba(0, 0, 0, .45); }
.st-sec .st-sec-body > .st-cover { aspect-ratio: auto; min-height: 0; padding: 14px 16px 32px; }
.st-sec .st-sec-body > .st-cover + .st-cover,
.st-sec:hover .st-sec-body > .st-cover + .st-cover,
.st-sec:focus-within .st-sec-body > .st-cover + .st-cover { margin-top: -10px; }
.st-sec:hover .st-sec-body, .st-sec:focus-within .st-sec-body { transform: none; }
@media (min-width: 900px) {
  .st-sec .st-sec-body > .st-cover { min-height: 176px; }
  .st-sec .st-sec-body > .st-cover + .st-cover, .st-sec:hover .st-sec-body > .st-cover + .st-cover, .st-sec:focus-within .st-sec-body > .st-cover + .st-cover { margin-top: 0; }
}
@media (min-width: 1024px) {
  .st-sec .st-sec-body.st-covers { padding: 30px 32px 34px; }
  .st-sec .st-sec-body.st-covers > .st-cover { flex: 1 1 0; width: auto; max-width: 400px; min-width: 0; padding-right: 50px; }
  .st-sec .st-sec-body.st-covers > .st-cover:last-child { padding-right: 18px; }
  .st-sec .st-sec-body.st-covers > .st-cover + .st-cover { margin-left: -30px; }
  .st-sec .st-sec-body.st-covers > .st-cover:nth-child(1) { rotate: -1.5deg; }
  .st-sec .st-sec-body.st-covers > .st-cover:nth-child(2) { rotate: .5deg; translate: 0 6px; }
  .st-sec .st-sec-body.st-covers > .st-cover:nth-child(3) { rotate: 1.5deg; translate: 0 2px; }
  .st-sec:hover .st-sec-body.st-covers > .st-cover:nth-child(n), .st-sec:focus-within .st-sec-body.st-covers > .st-cover:nth-child(n) { transform: none; rotate: 0deg; translate: 0 0; }
  .st-sec:hover .st-sec-body.st-covers > .st-cover + .st-cover, .st-sec:focus-within .st-sec-body.st-covers > .st-cover + .st-cover { margin-left: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .st-sec-body > .st-cover + .st-cover, .st-sec:hover .st-sec-body > .st-cover + .st-cover { margin-top: -10px; }
  @media (min-width: 900px) { .st-sec-body > .st-cover + .st-cover, .st-sec:hover .st-sec-body > .st-cover + .st-cover { margin-top: 0; } }
}
.st-sec .st-cover::after { background: var(--st-oak-deep); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .5); }
@media (max-width: 899px) { .st-sec .st-sec-body > .st-cover:not(:last-child)::after { display: none; } }
@media (max-width: 719px) { .st-new-w { display: none; } }
body.k-app:not(.k-public) .k-top .k-avatar { background: #E3C25A; color: #0E3B2E; }
@media (min-width: 1024px) { body.k-app:not(.k-public) .k-top { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; } }
.st-front { min-height: 176px; }
.k-foot a, .k-pubfoot a { display: inline-flex; align-items: center; min-height: 44px; }

/* A form in a narrow column (Log a quote beside the quotes) stacks its pairs, so the Fee field is never squeezed to a sliver by the date beside it. */
.k-form { container-type: inline-size; }
.k-pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@container (max-width: 459px) { .k-form .k-pair { grid-template-columns: minmax(0, 1fr); } }
