/* kpsgill-audience.css — audience-first orientation layer (added 9 November 2026).
   Used by the homepage orientation block, the /start/ pages and the starting-point blocks on /physicians/ and
   /patient-education/. Rendered by tools/build_audience_pathways.py from content/audience-registry.json.
   Light design only: kpsgill-enhance.js derives the dark palette and lifts any text below WCAG AA. No images,
   no animation, no web fonts beyond those the page already loads. */

.ka{--ka-ink:var(--k-ink,#0E1B31);--ka-navy:#12233F;--ka-teal:#175A4A;--ka-gold:#8A6420;--ka-line:var(--k-line,#E4E2DA);
  --ka-muted:#575C66;--ka-paper:#FFFFFF;--ka-tint:#F3F6F4;--ka-serif:var(--k-serif,Fraunces,Georgia,serif);
  --ka-sans:var(--k-sans,'Public Sans',system-ui,Arial,sans-serif);--ka-mono:var(--k-mono,'IBM Plex Mono',Consolas,monospace);
  font-family:var(--ka-sans);color:var(--ka-ink)}
.ka *,.ka *::before,.ka *::after{box-sizing:border-box}
.ka a{color:var(--ka-teal);text-underline-offset:2px}
.ka a:focus-visible,.ka button:focus-visible,.ka input:focus-visible,.ka select:focus-visible,.ka summary:focus-visible{
  outline:3px solid #1F6F5C;outline-offset:2px;border-radius:2px}
.ka .ka-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ka-in{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}

/* ---- homepage masthead ---------------------------------------------------------------------------------- */
.ka-orient{padding:clamp(22px,4vw,40px) 0 8px;border-bottom:1px solid var(--ka-line);scroll-margin-top:96px}
.ka-mast{max-width:72ch}
.ka-name{margin:0;font:700 clamp(28px,4.4vw,46px)/1.08 var(--ka-serif);letter-spacing:-.012em;color:var(--ka-navy)}
.ka-role{margin:8px 0 0;font:600 clamp(16px,2vw,19px)/1.35 var(--ka-sans);color:var(--ka-teal)}
.ka-areasline{margin:8px 0 0;font:500 14px/1.5 var(--ka-sans);color:var(--ka-muted)}
.ka-lede{margin:14px 0 0;font:400 clamp(17px,2vw,20px)/1.5 var(--ka-serif);text-wrap:pretty}
.ka-scope{margin:10px 0 0;font-size:13.5px;line-height:1.55;color:var(--ka-muted);max-width:80ch}

.ka .ka-h2,.k-land .ka-h2{margin:30px 0 4px;letter-spacing:0;text-transform:none;font:700 clamp(20px,2.4vw,24px)/1.2 var(--ka-serif);color:var(--ka-navy)}
.ka-sub{margin:0 0 14px;font-size:14.5px;line-height:1.55;color:var(--ka-muted);max-width:80ch}

/* perspective cards: links, never buttons */
.ka-cards{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.ka-card{display:flex;flex-direction:column;gap:4px;height:100%;min-height:44px;padding:14px 16px 15px;background:var(--ka-paper);
  border:1px solid var(--ka-line);border-left:4px solid var(--ka-teal);border-radius:6px;text-decoration:none;color:var(--ka-ink)}
.ka-card:hover{border-color:#9DB8AE;border-left-color:var(--ka-gold)}
.ka-card-name{font:700 16.5px/1.3 var(--ka-sans);color:var(--ka-navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ka-card-desc{font-size:14px;line-height:1.5;color:var(--ka-muted)}
.ka-card--sensitive{border-left-color:#5B4A8A}
.ka-after{margin:12px 0 0;font-size:14.5px}
.ka-after a{margin-right:14px;display:inline-block;padding:6px 0}

/* question box + shortcuts */
.ka-ask{display:grid;gap:12px}
.ka-form{display:flex;flex-wrap:wrap;gap:8px;max-width:640px}
.ka-form label{flex:1 0 100%;font-weight:600;font-size:14.5px}
.ka-form input{flex:1 1 260px;min-height:44px;padding:10px 12px;font:inherit;font-size:16px;border:1px solid #8C8F96;border-radius:6px;background:#fff;color:var(--ka-ink)}
.ka-form button{min-height:44px;padding:10px 18px;font:600 15px/1 var(--ka-sans);color:#fff;background:var(--ka-navy);border:0;border-radius:6px;cursor:pointer}
.ka-shortcuts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ka-shortcuts a{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid var(--ka-line);border-radius:999px;
  background:var(--ka-paper);font-size:14.5px;line-height:1.25;text-decoration:none;color:var(--ka-navy)}
.ka-shortcuts a:hover{border-color:var(--ka-teal);text-decoration:underline}

/* your starting points */
.ka-pick{margin-top:6px}
.ka-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;border:0}
.ka-chips legend{padding:0;margin:0 0 8px;font-weight:600;font-size:14.5px}
.ka-chip{min-height:40px;padding:8px 13px;font:500 14px/1.2 var(--ka-sans);color:var(--ka-navy);background:var(--ka-paper);
  border:1px solid #8C8F96;border-radius:999px;cursor:pointer}
.ka-chip[aria-pressed="true"]{background:var(--ka-navy);border-color:var(--ka-navy);color:#fff}
.ka-chip-reset{background:transparent;border-style:dashed}
.ka-picklist{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.ka-picklist li{padding:10px 12px;border:1px solid var(--ka-line);border-radius:6px;background:var(--ka-paper)}
.ka-picklist a{font-weight:600}
.ka-picklist .ka-for{display:block;margin-top:3px;font:500 11.5px/1.3 var(--ka-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ka-muted)}
.ka-privacy{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--ka-muted)}
html:not(.k-js) .ka-js-only{display:none!important}

/* areas of work */
.ka-areas{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.ka-area{padding:14px 16px;border-top:3px solid var(--ka-gold);background:var(--ka-tint);border-radius:0 0 6px 6px}
.ka .ka-area h3{margin:0 0 6px;font:700 16.5px/1.3 var(--ka-sans);color:var(--ka-navy)}
.ka-area p{margin:0 0 8px;font-size:14.5px;line-height:1.5}
.ka-area ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14.5px}
.ka-area li a{display:inline-block;padding:4px 0}
.ka-orient-foot{margin:22px 0 18px;font-size:14px;color:var(--ka-muted)}

/* ---- audience pages (/start/) ----------------------------------------------------------------------------- */
.ka-page .k-land h1{margin-bottom:10px}
.ka-bar{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 22px;padding:10px 0;border-top:1px solid var(--ka-line);border-bottom:1px solid var(--ka-line);font-size:14.5px}
.ka-bar a{display:inline-block;padding:4px 0;font-weight:600}
.ka-notice{margin:0 0 22px;padding:14px 16px;border:1px solid #C9B27A;border-left:5px solid var(--ka-gold);background:#FBF6EA;border-radius:6px;font-size:15.5px;line-height:1.55;max-width:80ch}
.ka-notice strong{color:var(--ka-navy)}
.ka-note{margin:10px 0 0;font-size:14.5px;line-height:1.55;color:var(--ka-muted);max-width:80ch}
.ka-tasks{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.ka-task{padding:14px 16px;border:1px solid var(--ka-line);border-radius:6px;background:var(--ka-paper)}
.ka .ka-task h3{margin:0 0 8px;font:700 16px/1.3 var(--ka-sans);color:var(--ka-navy)}
.ka-task ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.45}
.ka-task li{margin:0 0 6px}
.ka-res{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ka-r{padding:12px 14px;border:1px solid var(--ka-line);border-left:4px solid var(--ka-teal);border-radius:6px;background:var(--ka-paper)}
.ka-r-t{font:600 16px/1.35 var(--ka-sans)}
.ka-r-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin:5px 0 0;font:500 12px/1.4 var(--ka-mono);letter-spacing:.03em;color:var(--ka-muted)}
.ka-r-why{margin:5px 0 0;font-size:14.5px;line-height:1.5}
.ka-verify .ka-r{border-left-color:var(--ka-gold)}
.ka-latest{list-style:none;margin:0;padding:0}
.ka-latest li{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:2px 14px;padding:9px 0;border-top:1px solid var(--ka-line);font-size:15px;line-height:1.45}
.ka-latest time{font:600 12px/1.6 var(--ka-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ka-teal)}
.ka-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:0 0 12px}
.ka-filters label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-weight:600}
.ka-filters select{min-height:44px;min-width:180px;padding:8px 10px;font:inherit;font-size:15px;border:1px solid #8C8F96;border-radius:6px;background:#fff;color:var(--ka-ink)}
.ka-filters button{min-height:44px;padding:8px 14px;font:600 14px/1 var(--ka-sans);border:1px solid #8C8F96;border-radius:6px;background:var(--ka-paper);color:var(--ka-navy);cursor:pointer}
.ka-count{margin:0 0 10px;font-size:14px;color:var(--ka-muted)}
.ka-empty{padding:12px 14px;border:1px dashed #8C8F96;border-radius:6px;font-size:15px}
.ka-related{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ka-related a{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid var(--ka-line);border-radius:999px;text-decoration:none;font-size:14.5px}
.ka-engage{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.ka-engage > div{padding:14px 16px;border:1px solid var(--ka-line);border-radius:6px;background:var(--ka-tint)}
.ka .ka-engage h3{margin:0 0 6px;font:700 16px/1.3 var(--ka-sans);color:var(--ka-navy)}
.ka-engage p{margin:0 0 8px;font-size:14.5px;line-height:1.55}
.ka-section{margin:0 0 6px}
.ka-printsrc{display:none}

/* ---- starting-point block on an existing hub (/physicians/, /patient-education/) ------------------------- */
.ka-hub{margin:0 0 30px;padding:16px 18px 18px;border:1px solid var(--ka-line);border-left:5px solid var(--ka-teal);border-radius:6px;background:var(--ka-paper);max-width:1180px}
.ka-hub .ka-h2,.k-land .ka-hub .ka-h2{margin-top:0;font-size:20px}
.ka-hub-k{margin:0 0 4px;font:600 11.5px/1.2 var(--ka-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ka-teal)}
.ka-hub-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin:12px 0 0;padding:0;list-style:none;font-size:14.5px}
.ka-hub-links a{display:inline-block;padding:5px 0;font-weight:600}

@media (max-width:640px){
  .ka-cards{gap:8px}
  .ka-card{padding:11px 13px 12px}
  .ka-card-name{font-size:16px}
  .ka-card-desc{font-size:13.5px;line-height:1.45}
  .ka-latest li{grid-template-columns:1fr}
  .ka-filters select{min-width:0;width:100%}
  .ka-filters label{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){.ka *{transition:none!important;animation:none!important}}

/* ---- print: keep addresses, dates and limitations; drop controls ------------------------------------------ */
@media print{
  .k-hdr,.k-sub,.k-foot,.k-gsearch,.ka-filters,.ka-js-only,.ka-chips,.ka-bar,.skip{display:none!important}
  .ka{color:#000}
  .ka a{color:#000;text-decoration:underline}
  main.ka-page a[href^="/"]::after{content:" (kpsgill.com" attr(href) ")";font-size:85%;word-break:break-all}
  main.ka-page a[href^="http"]::after{content:" (" attr(href) ")";font-size:85%;word-break:break-all}
  .ka-r,.ka-task,.ka-notice,.ka-card{break-inside:avoid;border-color:#888;background:#fff}
  .ka-printsrc{display:block;margin-top:18px;font-size:12px}
  .ka-res [hidden]{display:block!important}
}
