/* ============================================================
   THE SEARCH — page-local styles (Search 2.0, campaign desk)
   Leans on design-system.css; only Search-specific pieces live here.
   Tokens/components reused: .folio .field .cta .cta2 .kicker .deck
   .mono .state .st-label .src
   Red budget preserved: red = links, kickers, one accent per data element
   (referral marks, split fill, dossier dots, gap flags). Never a red flood.
   Includes an @media print block for a clean single-page interview brief.
   ============================================================ */

/* ---------- LEAD ---------- */
/* Two-column lead: the headline earns the full measure on the left (one line at
   1240) and a live "desk at a glance" aside fills the right — no half-empty row. */
.srch-lead { margin-top:40px; display:grid; grid-template-columns:1fr 300px; gap:56px; align-items:start; }
.srch-lead-main { min-width:0; max-width:820px; }
.srch-h { font-family:var(--font-display); font-weight:700; font-size:46px; line-height:1.02; letter-spacing:-.025em; margin-top:8px; }
.srch-h-sm { font-size:30px; }
.masthead h1 a { color:inherit; }
.masthead h1 a span { color:var(--red); }
.srch-privacy { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); margin-top:20px; }

/* lead aside — status card (live) or how-it-works (empty) */
.srch-lead-aside { border-left:1px solid var(--hair); padding-left:36px; }
.srch-lead-aside .sla-label { font-family:var(--font-body); font-weight:700; font-size:11px; letter-spacing:.16em; text-transform:uppercase; border-bottom:3px solid var(--rule); padding-bottom:8px; margin-bottom:2px; display:block; }
.sla-stat { padding:13px 0; border-bottom:1px solid var(--hair2); }
.sla-stat b { font-family:var(--font-display); font-weight:700; font-size:28px; display:block; letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums; }
.sla-stat.is-live b { color:var(--red); }
.sla-stat span { font-size:12.5px; color:var(--ink2); line-height:1.4; display:block; margin-top:4px; }
.sla-next { padding:13px 0 0; }
.sla-next .sla-next-k { font-family:var(--font-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--mut); display:block; margin-bottom:4px; }
.sla-next .sla-next-v { font-size:13.5px; color:var(--ink); line-height:1.4; }
.sla-next .sla-next-v b { font-family:var(--font-body); font-weight:700; }
.sla-steps { list-style:none; margin:0; padding:0; }
.sla-steps { counter-reset:sla; }
.sla-steps li { counter-increment:sla; font-size:13px; color:var(--ink2); line-height:1.45; padding:8px 0 8px 20px; position:relative; border-bottom:1px solid var(--hair2); }
.sla-steps li:last-child { border-bottom:none; }
.sla-steps li::before { content:counter(sla); position:absolute; left:0; top:8px; font-family:var(--font-mono); font-size:11px; color:var(--red); }

/* ---------- SECTION HEADS ---------- */
.srch-sec-head { display:flex; justify-content:space-between; align-items:flex-start; gap:32px; margin-top:26px; }
.srch-sec-title { font-family:var(--font-display); font-weight:700; font-size:27px; letter-spacing:-.018em; line-height:1.08; }
.srch-sec-title-sm { font-size:22px; }
.srch-sec-deck { font-size:15px; color:var(--ink2); line-height:1.55; margin-top:8px; max-width:720px; }
.srch-sec-deck a { border-bottom:1px solid var(--red); color:var(--ink2); }
.srch-sec-deck a:hover { color:var(--red); }
.srch-count { font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--mut); white-space:nowrap; padding-top:6px; }
.srch-sec-foot { font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); margin-top:22px; line-height:1.7; }
.srch-sec-foot a { border-bottom:1px solid var(--red); color:var(--ink2); }
.srch-sec-foot a:hover { color:var(--red); }
.srch-sub-folio { margin-top:52px; }
.srch-opt { font-family:var(--font-mono); font-weight:400; font-size:9px; letter-spacing:.06em; color:var(--faint); text-transform:none; }

/* ---------- QUICK-ADD FORMS ---------- */
.srch-quickadd { border:1px solid var(--hair); border-top:3px solid var(--rule); margin-top:20px; padding:22px 24px 24px; background:var(--paper2); }
.srch-qa-label { font-family:var(--font-body); font-weight:700; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); display:block; margin-bottom:16px; }
.srch-qa-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.srch-qa-fields-3 { grid-template-columns:1fr 1fr 1fr; }
.srch-qa-fields-2 { grid-template-columns:1fr 1fr; margin-top:0; }
.srch-quickadd .field { margin-bottom:0; }
.srch-quickadd .field + .field { margin-bottom:0; }
.srch-qa-fields + .srch-qa-fields { margin-top:20px; }
.srch-qa-foot { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:20px; }
.srch-qa-btn { padding:13px 26px; font-size:13px; }
.srch-qa-note { font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); line-height:1.6; flex:1 1 200px; }
.srch-check { display:flex; align-items:center; gap:10px; font-family:var(--font-body); font-size:14px; color:var(--ink2); cursor:pointer; }
.srch-check input { width:16px; height:16px; accent-color:var(--red); cursor:pointer; flex:none; }

/* ---------- ENTRY-POINT TABS (manual / JD) ---------- */
.srch-entry { display:flex; gap:0; margin-top:24px; border-bottom:1px solid var(--hair); }
.srch-entry-tab { font-family:var(--font-body); font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; background:none; border:none; border-bottom:2px solid transparent; color:var(--mut); padding:8px 18px 10px; cursor:pointer; margin-bottom:-1px; }
.srch-entry-tab:hover { color:var(--ink); }
.srch-entry-tab.is-active { color:var(--ink); border-bottom-color:var(--red); }
.srch-entry + .srch-quickadd { margin-top:0; border-top:none; }

/* ---------- JD PASTE ---------- */
.srch-jd-note { font-size:13px; color:var(--mut); line-height:1.55; margin-bottom:16px; max-width:660px; }
.srch-quickadd textarea { width:100%; font-family:var(--font-body); font-size:14px; }
.srch-jd-meta { display:flex; justify-content:flex-end; margin-top:4px; }
.srch-jd-count { font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); }
.srch-jd-error { border:1px solid var(--red); border-left:3px solid var(--red); padding:10px 14px; margin-top:14px; font-size:13px; color:var(--ink2); }

/* ---------- REFERRAL SPLIT NUDGE ---------- */
.srch-split { border:1px solid var(--hair); border-left:3px solid var(--red); padding:16px 20px; margin-top:24px; }
.srch-split-track { height:8px; background:var(--track); margin-bottom:12px; }
.srch-split-fill { height:100%; background:var(--red); width:0; transition:width .3s; }
.srch-split-text { font-size:14.5px; color:var(--ink2); line-height:1.5; }
.srch-split-text b { font-family:var(--font-display); font-weight:700; color:var(--ink); }
.srch-split-src { font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); margin-top:8px; line-height:1.6; }

/* ---------- CAMPAIGN BOARD ---------- */
.srch-board { display:grid; grid-template-columns:repeat(5, 1fr); gap:0; margin-top:26px; border-top:3px solid var(--rule); }
.srch-col { border-left:1px solid var(--hair); padding:16px 14px 20px; min-width:0; }
.srch-col:first-child { border-left:none; padding-left:0; }
.srch-col:last-child { padding-right:0; }
.srch-col-head { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid var(--rule); padding-bottom:8px; margin-bottom:6px; }
.srch-col-name { font-family:var(--font-body); font-weight:700; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; }
.srch-col-count { font-family:var(--font-mono); font-size:10px; color:var(--mut); }
.srch-col-hint { font-family:var(--font-body); font-size:11.5px; color:var(--mut); line-height:1.4; margin:2px 0 12px; min-height:30px; }
.srch-col-empty { font-family:var(--font-body); font-size:11.5px; color:var(--faint); line-height:1.4; padding:10px 0; border-top:1px dashed var(--hair); }

.srch-card { border:1px solid var(--hair); background:var(--paper); padding:12px 12px 10px; margin-bottom:10px; }
.srch-card-company { font-family:var(--font-body); font-weight:700; font-size:14px; letter-spacing:-.01em; line-height:1.2; }
.srch-card-role { font-family:var(--font-body); font-size:12.5px; color:var(--ink2); line-height:1.3; margin-top:3px; }
.srch-card-role a { border-bottom:1px solid var(--red); }
.srch-card-role a:hover { color:var(--red); }
.srch-card-dots { display:flex; align-items:center; gap:8px; margin-top:9px; flex-wrap:wrap; }
.srch-dots { display:flex; gap:4px; align-items:center; }
.srch-dot { width:8px; height:8px; border-radius:50%; border:1px solid var(--faint); background:none; }
.srch-dot.is-on { background:var(--ink); border-color:var(--ink); }
.srch-dots-label { font-family:var(--font-mono); font-size:9px; letter-spacing:.05em; text-transform:uppercase; color:var(--mut); }
.srch-card-refer { display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-family:var(--font-mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--hair); background:none; color:var(--faint); padding:3px 7px; cursor:pointer; }
.srch-card-refer:hover { border-color:var(--ink); color:var(--ink2); }
.srch-card-refer.is-on { border-color:var(--red); color:var(--red); }
.srch-card-refer.is-on::before { content:"◆"; font-size:8px; }
.srch-card-refer::before { content:"◇"; font-size:8px; }
.srch-card-prep { margin-top:9px; border-left:2px solid var(--red); padding-left:8px; font-family:var(--font-body); font-size:11px; color:var(--ink2); line-height:1.35; }
.srch-card-date { font-family:var(--font-mono); font-size:9px; letter-spacing:.04em; text-transform:uppercase; color:var(--faint); margin-top:9px; display:block; }
.srch-card-open { display:block; width:100%; text-align:left; margin-top:9px; font-family:var(--font-body); font-weight:700; font-size:11.5px; background:none; border:1px solid var(--ink); color:var(--ink); padding:7px 9px; cursor:pointer; transition:.12s; }
.srch-card-open:hover { background:var(--ink); color:var(--paper); }
.srch-card-moves { display:flex; gap:6px; margin-top:10px; align-items:center; flex-wrap:wrap; }
.srch-move { font-family:var(--font-mono); font-size:14px; line-height:1; border:1px solid var(--hair); background:none; color:var(--ink2); width:26px; height:24px; cursor:pointer; padding:0; display:grid; place-items:center; }
.srch-move:hover:not(:disabled) { border-color:var(--ink); color:var(--red); }
.srch-move:disabled { opacity:.28; cursor:not-allowed; }
.srch-card-actions { display:flex; gap:10px; margin-top:8px; }
.srch-linkbtn { font-family:var(--font-body); font-weight:600; font-size:11px; background:none; border:none; padding:0; cursor:pointer; color:var(--mut); }
.srch-linkbtn:hover { color:var(--red); }
.srch-linkbtn.srch-danger:hover { color:var(--red); }
.srch-col-closed .srch-card { opacity:.72; }
.srch-col-closed .srch-card-company { font-weight:700; }

/* ---------- EMPTY-STATE GHOST PREVIEW ----------
   Broadsheet skeletons of the three campaign artifacts, shown on a fresh page so
   a scanner sees what a campaign unfolds into before engaging. Hairline rules and
   mono labels against --faint; never fake data that looks real (the lines are
   blank fills, not sentences). Each carries a one-line promise + the unlock. */
.srch-empty-preview { text-align:left; }
.srch-ghosts { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:24px; }
.srch-ghost { border:1px solid var(--hair); border-top:2px solid var(--hair); padding:16px 18px 18px; background:var(--paper); }
.srch-ghost-kicker { display:block; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); border-bottom:1px solid var(--hair2); padding-bottom:8px; margin-bottom:12px; }
.srch-ghost-fields { display:flex; flex-direction:column; gap:9px; }
.srch-ghost-fieldrow { display:flex; flex-direction:column; gap:5px; }
.srch-ghost-lbl { font-family:var(--font-mono); font-style:normal; font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); }
.srch-ghost-line { display:block; height:7px; background:var(--hair2); border-radius:1px; }
.srch-ghost-fieldrow .srch-ghost-line { width:100%; }
.srch-ghost-fieldrow:nth-child(2) .srch-ghost-line { width:82%; }
.srch-ghost-fieldrow:nth-child(4) .srch-ghost-line { width:90%; }
.srch-ghost-fieldrow:nth-child(5) .srch-ghost-line { width:70%; }
.srch-ghost-brief { display:flex; flex-direction:column; gap:8px; }
.srch-ghost-brief-lbl { font-family:var(--font-mono); font-size:8.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--faint); line-height:1.4; }
.srch-ghost-msgrow { display:grid; grid-template-columns:16px 1fr; gap:8px; align-items:center; }
.srch-ghost-num { font-family:var(--font-body); font-style:normal; font-weight:700; font-size:12px; color:var(--faint); }
.srch-ghost-align { display:flex; flex-direction:column; gap:11px; }
.srch-ghost-alignrow { display:grid; grid-template-columns:14px 1fr; gap:10px; align-items:center; }
.srch-ghost-check { display:block; width:13px; height:13px; border:1px solid var(--hair); }
.srch-ghost-promise { display:block; margin-top:14px; font-size:11.5px; color:var(--mut); line-height:1.5; }
.srch-ghost-promise b { font-family:var(--font-body); font-style:normal; font-weight:700; font-size:10px; letter-spacing:.02em; color:var(--ink2); }
@media (max-width:820px){ .srch-ghosts { grid-template-columns:1fr; gap:16px; } }

/* ---------- CAMPAIGN DESK ---------- */
.srch-desk-head { margin-top:8px; }
.srch-desk-back { font-size:12px; margin-bottom:14px; color:var(--ink2); }
.srch-desk-back:hover { color:var(--red); }
.srch-desk-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.srch-desk-sub { font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--mut); margin-top:6px; }
.srch-desk-badge { font-family:var(--font-body); font-weight:700; font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border:1px solid var(--hair); color:var(--ink2); white-space:nowrap; }
.srch-desk-badge.srch-status-interviewing, .srch-desk-badge.srch-status-offer { border-color:var(--red); color:var(--red); }
.srch-desk-prep { border:1px solid var(--hair); border-left:3px solid var(--red); padding:12px 16px; margin-top:16px; }
.srch-prep-line { font-size:14px; color:var(--ink2); line-height:1.5; }
.srch-prep-line b { font-family:var(--font-display); font-weight:700; color:var(--ink); }
.srch-desk-panel { margin-top:8px; }
.srch-desk-panel-foot { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:20px; }
.srch-dossier-done, .srch-brief-foot .srch-linkbtn { font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--mut); }

/* dossier fields */
.srch-dossier { display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; margin-top:20px; }
.srch-dossier-field { display:flex; flex-direction:column; }
.srch-dossier-field label { font-family:var(--font-body); font-weight:700; font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); margin-bottom:7px; }
.srch-dossier-key { font-family:var(--font-mono); font-weight:400; font-size:8.5px; letter-spacing:.04em; color:var(--red); text-transform:none; }
.srch-dossier-input { width:100%; font-family:var(--font-body); font-size:13.5px; line-height:1.5; border:1px solid var(--hair); background:var(--paper2); color:var(--ink); padding:9px 11px; resize:vertical; }
.srch-dossier-input:focus { border-color:var(--ink); outline:none; }
.srch-dossier-input.is-aiprefilled { border-left:3px solid var(--red); background:var(--paper); }
.srch-dossier-aimark { display:block; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--red); margin-bottom:6px; }

/* AI prefill bar */
.srch-prefill { display:flex; align-items:center; gap:20px; border:1px solid var(--hair); border-left:3px solid var(--red); padding:14px 18px; margin-top:18px; background:var(--paper2); }
.srch-prefill-main { flex:1 1 auto; min-width:0; }
.srch-prefill-title { font-family:var(--font-body); font-weight:700; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); display:block; }
.srch-prefill-note { font-size:12.5px; color:var(--mut); line-height:1.5; margin-top:5px; max-width:620px; }
.srch-prefill-btn { flex:none; white-space:nowrap; }
.srch-prefill-status { font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:var(--mut); margin-top:12px; line-height:1.5; }
.srch-prefill-status.is-warn { color:var(--red); }
@media (max-width:640px){ .srch-prefill { flex-direction:column; align-items:flex-start; gap:14px; } }

/* story alignment */
.srch-align-intro { font-size:14.5px; color:var(--ink2); line-height:1.5; margin-top:18px; }
.srch-align-intro b { font-family:var(--font-display); font-weight:700; color:var(--ink); }
.srch-align-list { margin-top:16px; border-top:1px solid var(--rule); }
.srch-align-row { display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:14px 0; border-bottom:1px solid var(--hair2); cursor:pointer; }
.srch-align-cb { width:17px; height:17px; accent-color:var(--red); margin-top:2px; cursor:pointer; }
.srch-align-main { min-width:0; }
.srch-align-title { font-family:var(--font-body); font-weight:700; font-size:15px; letter-spacing:-.005em; }
.srch-align-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.srch-align-untagged { font-family:var(--font-mono); font-size:9.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--faint); margin-top:6px; }
.st-tag { font-family:var(--font-mono); font-size:9.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--mut); border:1px solid var(--hair); padding:3px 8px; }
.st-tag.st-tag-align { border-color:var(--red); color:var(--red); }
.srch-align-gap { border:1px solid var(--hair); border-left:3px solid var(--red); padding:12px 16px; margin-top:18px; font-size:13.5px; color:var(--ink2); line-height:1.55; }
.srch-align-gap a { border-bottom:1px solid var(--red); color:var(--ink2); }
.srch-align-gap a:hover { color:var(--red); }
.srch-gap-k { font-family:var(--font-body); font-weight:700; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--red); }
.srch-gap-ok { font-family:var(--font-body); font-weight:700; color:var(--ink); }

/* interview brief */
.srch-brief-stagebar { display:flex; flex-wrap:wrap; gap:0; margin-top:20px; border-bottom:1px solid var(--hair); }
.srch-stage-tab { font-family:var(--font-body); font-weight:700; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase; background:none; border:none; border-bottom:2px solid transparent; color:var(--mut); padding:8px 14px 10px; cursor:pointer; margin-bottom:-1px; }
.srch-stage-tab:hover { color:var(--ink); }
.srch-stage-tab.is-active { color:var(--ink); border-bottom-color:var(--red); }
.srch-stage-dot { color:var(--red); }
.srch-brief { margin-top:22px; border:1px solid var(--hair); border-top:3px solid var(--rule); padding:26px 28px; background:var(--paper); }
.srch-brief-arthead { border-bottom:2px solid var(--rule); padding-bottom:12px; margin-bottom:20px; }
.srch-brief-art-co { font-family:var(--font-display); font-weight:700; font-size:20px; letter-spacing:-.015em; }
.srch-brief-art-role { font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--mut); margin-top:4px; }
.srch-brief-block { margin-top:24px; }
.srch-brief-block:first-of-type { margin-top:0; }
.srch-brief-bhead { margin-bottom:12px; }
.srch-brief-btitle { font-family:var(--font-body); font-weight:700; font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); }
.srch-brief-bhint { font-size:12.5px; color:var(--mut); line-height:1.45; margin-top:4px; }
.srch-brief-msgrow { display:grid; grid-template-columns:28px 1fr; gap:12px; align-items:start; margin-bottom:14px; }
.srch-brief-num { font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--red); padding-top:6px; }
.srch-brief-msgcol { min-width:0; }
.srch-brief-msg { width:100%; font-family:var(--font-body); font-size:14.5px; line-height:1.5; border:1px solid var(--hair); background:var(--paper2); color:var(--ink); padding:9px 11px; resize:vertical; }
.srch-brief-msg:focus { border-color:var(--ink); outline:none; }
.srch-brief-pick { display:flex; align-items:center; gap:10px; margin-top:7px; flex-wrap:wrap; }
.srch-brief-pick-label { font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); }
.srch-brief-select { font-family:var(--font-body); font-size:13px; border:1px solid var(--hair); background:var(--paper); color:var(--ink); padding:5px 8px; max-width:100%; }
.srch-brief-pick-print { display:none; }
.srch-brief-pick-empty { font-size:12px; color:var(--mut); }
.srch-brief-pick-empty a { border-bottom:1px solid var(--red); color:var(--ink2); }
.srch-brief-qlist { display:flex; flex-direction:column; gap:8px; }
.srch-brief-qrow { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; }
.srch-brief-q { width:100%; font-family:var(--font-body); font-size:14px; border:1px solid var(--hair); background:var(--paper2); color:var(--ink); padding:8px 10px; }
.srch-brief-q:focus { border-color:var(--ink); outline:none; }
.srch-brief-qrm { font-family:var(--font-mono); font-size:15px; line-height:1; border:1px solid var(--hair); background:none; color:var(--mut); width:28px; height:30px; cursor:pointer; padding:0; }
.srch-brief-qrm:hover { border-color:var(--red); color:var(--red); }
.srch-brief-addq { margin-top:12px; font-size:12px; color:var(--ink2); border-bottom:2px solid var(--red); padding-bottom:1px; }
.srch-brief-logistics { width:100%; font-family:var(--font-body); font-size:14px; border:1px solid var(--hair); background:var(--paper2); color:var(--ink); padding:9px 11px; }
.srch-brief-logistics:focus { border-color:var(--ink); outline:none; }

/* ---------- STAGE PLAYBOOKS ---------- */
.srch-playbooks { margin-top:26px; border-top:3px solid var(--rule); }
.srch-pb { border-bottom:1px solid var(--hair2); }
.srch-pb[open] { background:var(--paper2); }
/* Disclosure header: whole row is the hit target (generous padding, cursor
   pointer across it), a mono OPEN/CLOSE cue and a chevron that rotates on open,
   and clear hover/focus states (border-color ink, red accent). Keyboard
   operability + expanded/collapsed announcement come free from <details>. */
.srch-pb-sum { display:grid; grid-template-columns:170px 1fr auto; gap:24px; align-items:baseline; padding:18px 40px 18px 12px; cursor:pointer; list-style:none; position:relative; border-left:2px solid transparent; transition:border-color .12s, background .12s; }
.srch-pb-sum::-webkit-details-marker { display:none; }
.srch-pb-sum:hover { background:var(--paper2); border-left-color:var(--ink); }
.srch-pb-sum:focus-visible { outline:2px solid var(--red); outline-offset:-2px; }
.srch-pb[open] > .srch-pb-sum { border-left-color:var(--red); }
.srch-pb-label { font-family:var(--font-display); font-weight:700; font-size:16px; letter-spacing:-.01em; }
.srch-pb-summary { font-size:13.5px; color:var(--ink2); line-height:1.5; padding-right:8px; }
.srch-pb-cue { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; align-self:center; }
.srch-pb-cue-text { font-family:var(--font-mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); transition:color .12s; }
.srch-pb[open] > .srch-pb-sum .srch-pb-cue-text { color:var(--red); }
.srch-pb-sum:hover .srch-pb-cue-text { color:var(--ink); }
.srch-pb-cue-close { display:none; }
.srch-pb[open] > .srch-pb-sum .srch-pb-cue-open { display:none; }
.srch-pb[open] > .srch-pb-sum .srch-pb-cue-close { display:inline; }
.srch-pb-chevron { font-family:var(--font-mono); font-size:18px; line-height:1; color:var(--red); transform:rotate(90deg); transition:transform .18s ease; display:inline-block; }
.srch-pb[open] > .srch-pb-sum .srch-pb-chevron { transform:rotate(-90deg); }
@media (prefers-reduced-motion: reduce) { .srch-pb-chevron { transition:none; } }
/* Body: each category is a full-width block whose list text runs a comfortable
   ~70ch measure — not two cramped half-columns of long prose (Chase fix c). The
   category label sits in a fixed left rail; the bullets take the reading measure
   beside it, so long items break at ~65–80ch instead of ~40. */
.srch-pb-body { padding:8px 8px 26px 8px; }
.srch-pb-col { display:grid; grid-template-columns:180px minmax(0, 1fr); gap:28px; align-items:start; padding:16px 0; border-top:1px solid var(--hair2); }
.srch-pb-col:first-child { border-top:none; padding-top:6px; }
.srch-pb-col-h { font-family:var(--font-body); font-weight:700; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); padding-top:5px; }
.srch-pb-flags .srch-pb-col-h { color:var(--red); }
.srch-pb-ul { list-style:none; max-width:620px; }
.srch-pb-ul li { font-size:14px; color:var(--ink2); line-height:1.55; padding:5px 0 5px 18px; position:relative; }
.srch-pb-ul li::before { content:"—"; position:absolute; left:0; color:var(--faint); }
.srch-pb-flags .srch-pb-ul li::before { content:"!"; color:var(--red); font-family:var(--font-display); font-weight:700; }

/* ---------- REFERRAL PLAYBOOK ---------- */
.srch-play { display:grid; grid-template-columns:1fr 1fr 1fr; margin-top:26px; border-top:1px solid var(--rule); }
.srch-play-stat { padding:20px 26px 20px 0; border-right:1px solid var(--hair); }
.srch-play-stat:nth-child(3n) { border-right:none; padding-right:0; }
.srch-play-stat + .srch-play-stat { padding-left:26px; }
.srch-play-stat b { font-family:var(--font-display); font-weight:700; font-size:34px; display:block; letter-spacing:-.02em; }
.srch-play-stat b i { color:var(--red); font-style:normal; }
.srch-play-stat span { font-size:13.5px; color:var(--ink2); line-height:1.5; display:block; margin-top:6px; }
.srch-play-stat .src { font-family:var(--font-mono); font-size:9.5px; letter-spacing:.05em; color:var(--faint); text-transform:uppercase; display:block; margin-top:8px; }

/* Steps mirror the stage-playbook label-rail treatment (.srch-pb-col): a fixed
   mono label rail on the left, the heading + prose taking the reading measure
   beside it, tops aligned. Was align-items:baseline with a 110px rail — a
   leftover from before the S5 label-rail restructure — which pinned the small
   mono "Step NN" to the 18px heading's baseline and read as misaligned. */
.srch-steps { list-style:none; margin-top:36px; }
.srch-step { display:grid; grid-template-columns:180px minmax(0, 1fr); gap:28px; padding:22px 0; border-bottom:1px solid var(--hair2); align-items:start; }
.srch-step:first-child { border-top:1px solid var(--rule); }
.srch-step-n { font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--red); font-weight:500; padding-top:5px; }
.srch-step-h { font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:-.01em; margin-bottom:6px; }
.srch-step p { grid-column:2; font-size:14.5px; color:var(--ink2); line-height:1.6; max-width:620px; }

/* ---------- CONTACTS LEDGER ---------- */
.srch-contacts { margin-top:26px; border-top:1px solid var(--rule); }
.srch-contact { display:grid; grid-template-columns:1fr auto; gap:20px; padding:18px 0; border-bottom:1px solid var(--hair2); align-items:start; }
.srch-contact:last-child { border-bottom:1px solid var(--rule); }
.srch-contact-main { min-width:0; }
.srch-contact-name { font-family:var(--font-display); font-weight:700; font-size:17px; letter-spacing:-.01em; }
.srch-contact-sub { font-family:var(--font-mono); font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:var(--mut); margin-top:5px; }
.srch-contact-next { font-size:14px; color:var(--ink2); line-height:1.5; margin-top:8px; }
.srch-contact-next .srch-next-label { font-family:var(--font-body); font-weight:700; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); display:block; margin-bottom:2px; }
.srch-contact-notes { font-size:13px; color:var(--mut); line-height:1.5; margin-top:8px; }
.srch-contact-touch { font-family:var(--font-mono); font-size:9px; letter-spacing:.04em; text-transform:uppercase; color:var(--faint); margin-top:8px; display:block; }
.srch-contact-actions { display:flex; flex-direction:column; gap:8px; align-items:flex-end; }

/* ---------- CTA BAND ---------- */
.srch-cta-band { border:1px solid var(--rule); border-top:3px solid var(--red); margin-top:64px; padding:34px 38px; display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; }
.srch-cta-band .kicker { margin-bottom:10px; }
.srch-cta-band .deck { margin-top:10px; max-width:620px; font-size:16px; }

/* ---------- TOAST + MODAL ---------- */
.srch-toast { position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(20px); background:var(--ink); color:var(--paper); font-family:var(--font-body); font-weight:600; font-size:13px; padding:12px 22px; opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:80; max-width:calc(100vw - 32px); text-align:center; }
.srch-toast.is-show { opacity:1; transform:translateX(-50%) translateY(0); }
.srch-modal-root:empty { display:none; }
.srch-modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.45); display:grid; place-items:center; z-index:90; padding:20px; }
.srch-modal { background:var(--paper); color:var(--ink); border:1px solid var(--ink); border-top:3px solid var(--red); max-width:440px; width:100%; padding:26px 28px; box-shadow:0 12px 40px var(--shadow); }
.srch-modal h3 { font-family:var(--font-display); font-weight:700; font-size:21px; letter-spacing:-.01em; margin-bottom:10px; }
.srch-modal p { font-size:14.5px; color:var(--ink2); line-height:1.55; }
.srch-modal-row { display:flex; gap:14px; margin-top:22px; align-items:center; }
.srch-modal-cancel { font-family:var(--font-body); font-weight:600; font-size:13px; background:none; border:none; cursor:pointer; color:var(--mut); }
.srch-modal-cancel:hover { color:var(--ink); }

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .srch-board { grid-template-columns:1fr 1fr; border-top:3px solid var(--rule); }
  .srch-col { border-left:1px solid var(--hair); padding:16px 14px 20px; }
  .srch-col:first-child { padding-left:14px; border-left:none; }
  .srch-col:nth-child(odd) { border-left:none; padding-left:0; }
  .srch-col:nth-child(even) { padding-right:0; }
  .srch-dossier { grid-template-columns:1fr; }
}
@media (max-width:820px){
  .srch-lead { grid-template-columns:1fr; gap:0; }
  .srch-lead-main { max-width:none; }
  .srch-lead-aside { border-left:none; padding-left:0; border-top:1px solid var(--rule); margin-top:32px; padding-top:24px; }
  .srch-sec-head { flex-direction:column; gap:8px; }
  .srch-qa-fields, .srch-qa-fields-3, .srch-qa-fields-2 { grid-template-columns:1fr; gap:16px; }
  .srch-play { grid-template-columns:1fr; }
  .srch-play-stat { border-right:none; border-bottom:1px solid var(--hair2); padding:18px 0; }
  .srch-play-stat + .srch-play-stat { padding-left:0; }
  .srch-play-stat:last-child { border-bottom:none; }
  .srch-cta-band { grid-template-columns:1fr; }
  .srch-h { font-size:36px; }
  .srch-desk-title-row { flex-direction:column; gap:12px; }
  /* Stack label + summary; the cue moves to the reserved top-right corner. */
  .srch-pb-sum { grid-template-columns:1fr; gap:6px; }
  .srch-pb-cue { position:absolute; top:18px; right:12px; align-self:auto; }
}
@media (max-width:640px){
  .srch-board { grid-template-columns:1fr; }
  .srch-pb-col { grid-template-columns:1fr; gap:6px; }
  .srch-pb-col-h { padding-top:0; }
  .srch-col { border-left:none; padding:16px 0 20px; border-top:1px solid var(--hair2); }
  .srch-col:first-child { border-top:none; }
  .srch-col:nth-child(even), .srch-col:nth-child(odd) { padding-left:0; padding-right:0; border-left:none; }
  .srch-step { grid-template-columns:1fr; gap:6px; }
  .srch-cta-band { padding:26px 22px; }
  .srch-quickadd { padding:20px 18px; }
  .srch-contact { grid-template-columns:1fr; }
  .srch-contact-actions { flex-direction:row; align-items:center; }
  .srch-brief { padding:20px 18px; }
  .srch-brief-msgrow { grid-template-columns:22px 1fr; gap:8px; }
}
@media (max-width:400px){
  .srch-h { font-size:30px; }
  .srch-sec-title { font-size:23px; }
}

/* ============================================================
   ACCOUNT NUDGE — an inline ruled card in the data-account-nudge hooks.
   Rendered by nudges.js (flag-gated). Never a modal; the panel stays usable.
   ============================================================ */
.nudge-card {
  position:relative; border-top:2px solid var(--rule); border-bottom:1px solid var(--hair2);
  padding:18px 40px 18px 0; margin:0 0 18px;
}
.nudge-x {
  position:absolute; top:14px; right:0; background:none; border:none; cursor:pointer;
  font-size:14px; line-height:1; color:var(--mut); padding:4px;
}
.nudge-x:hover { color:var(--red); }
.nudge-title { font-family:var(--font-body); font-weight:700; font-size:15px; letter-spacing:-.01em; color:var(--ink); margin:0 0 6px; }
.nudge-body { font-size:14px; line-height:1.55; color:var(--ink2); margin:0 0 12px; max-width:560px; }
.nudge-actions { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.nudge-primary {
  font-family:var(--font-body); font-weight:700; font-size:12.5px;
  background:var(--ink); color:var(--paper); padding:9px 18px; text-decoration:none;
}
.nudge-primary:hover { background:var(--red); color:#fff; }
.nudge-notnow, .nudge-second {
  background:none; border:none; cursor:pointer; font-family:var(--font-body);
  font-weight:600; font-size:12.5px; color:var(--mut); padding:0;
}
.nudge-notnow:hover, .nudge-second:hover { color:var(--ink); }
.nudge-sep { color:var(--faint); }

/* ============================================================
   PRINT — a clean single-page interview brief.
   Everything except the active brief artifact is hidden; the brief prints
   as a single column with resolved story titles and no interactive chrome.
   ============================================================ */
@media print {
  body { background:#fff; color:#000; }
  .topline, .masthead, .sections, #journey-root, footer, .srch-toast, .srch-modal-root,
  .srch-lead, #cb-board, #cb-empty, #cb-split, .srch-entry, #cb-add, #cb-jd,
  .srch-playbooks, #pb-sources, .srch-play, .srch-steps, .srch-cta-band,
  #ct-add, .srch-contacts, #ct-empty, .prompt-cards, .skip-link,
  .srch-desk-back, .srch-desk-prep, .srch-desk-status, .srch-dossier,
  .srch-prefill, .srch-prefill-status,
  .srch-desk-panel-foot, .srch-align, .srch-align-gap, .srch-brief-stagebar,
  #cd-offer-prompts, .folio, .srch-sec-head, .srch-sec-deck, .srch-sec-foot,
  .srch-desk-panel .folio { display:none !important; }

  /* only the campaign desk + its active brief survive */
  #cd-desk { display:block !important; }
  .srch-desk-head { margin:0; }
  .srch-desk-title-row { display:block; }
  .srch-desk-sub { color:#333; }

  .srch-brief { border:none; padding:0; background:#fff; }
  .srch-brief-block { break-inside:avoid; page-break-inside:avoid; margin-top:18px; }
  .srch-brief-arthead { border-bottom:2px solid #000; }
  .srch-brief-art-co, .srch-brief-btitle, .srch-brief-num { color:#000; }
  .srch-brief-art-role, .srch-brief-bhint { color:#333; }

  /* messages: print the text, drop the editing chrome */
  .srch-brief-msg, .srch-brief-q, .srch-brief-logistics {
    border:none; background:#fff; color:#000; padding:2px 0; resize:none;
    font-size:13px; white-space:pre-wrap;
  }
  .srch-brief-select { display:none; }
  .srch-brief-pick-label { color:#555; }
  .srch-brief-pick-print { display:inline; color:#000; }
  .srch-brief-qrm, .srch-brief-addq { display:none; }
  .srch-brief-pick-empty { display:none; }

  a { color:#000; text-decoration:none; }
  @page { margin:1.6cm; }
}
