/* =====================================================================================================
   Passage Design V1 — Sourcing adapter 1.0.0
   Decision PASSAGE-DESIGN-20261101-01 (PASSAGE-DESIGN-STANDARD-V1.txt, sha256 5361870a…); references viewed:
   CEO-DESK-HOME / -CALENDAR / -PROJECT-30Oct2026.png.
   Plain-JS adapter for the Sourcing module. It ships inside the existing app.css, so the module's nine-file set
   and the reviewed routing allowlist are unchanged. Tokens carry the V1 specification values; text and action
   colours use measured accessible variants (contrast on cream #FAF8F4 noted beside each). Gold #B7860A itself is
   3.1:1 on cream, so it is used only for non-text accents (active bar, rules); gold-text #8A6508 (5.0:1) carries
   words and gold actions (white on it 5.3:1). No web fonts are downloaded (the module's CSP is same-origin only).
   ===================================================================================================== */
:root{
  --pv1-version:"sourcing-adapter 1.0.0";
  --pv1-cream:#FAF8F4;          /* page */
  --pv1-surface:#FFFFFF;        /* quiet white working surface */
  --pv1-navy:#0D2B45;           /* headings, primary action — 13.7:1 */
  --pv1-ink:#23262B;            /* body text — 14.6:1 */
  --pv1-muted:#6B665D;          /* secondary text — 5.4:1 */
  --pv1-gold:#B7860A;           /* accent only (non-text) */
  --pv1-gold-text:#8A6508;      /* gold words and gold actions — 5.0:1; white on it 5.3:1 */
  --pv1-gold-light:#D9B25A;     /* gold on navy — 7.2:1 */
  --pv1-tint:#F3ECDD;           /* active navigation, quiet highlight */
  --pv1-rule:#E6E0D4;           /* warm rule (decorative) */
  --pv1-field:#8F877A;          /* control boundary — 3.4:1 */
  --pv1-bad:#9B2C24;            /* 7.1:1 */
  --pv1-bad-tint:#FBEDEA;
  --pv1-warn:#7A4B00;           /* 6.7:1 on its tint */
  --pv1-warn-tint:#FBF3E1;
  --pv1-ok:#1F5E3A;             /* 7.3:1 */
  --pv1-ok-tint:#EAF3EC;
  --pv1-focus:#0D2B45;
  --pv1-serif:"Iowan Old Style","Charter","Bitstream Charter","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Liberation Serif",serif;
  --pv1-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,"Liberation Sans",sans-serif;
  --pv1-r:6px;                  /* restrained radius */
  --pv1-side:236px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font:16px/1.55 var(--pv1-sans);color:var(--pv1-ink);background:var(--pv1-cream);-webkit-text-size-adjust:100%}
[hidden]{display:none !important}
:focus-visible{outline:3px solid var(--pv1-focus);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:8px;z-index:30;background:var(--pv1-navy);color:#fff;padding:10px 14px;border-radius:var(--pv1-r)}
.skip:focus{left:12px}
.practice{background:#fff3cd;color:#5c4400;padding:8px 16px;font-size:13px;text-align:center}
.practice.working{background:#e6f0f7;color:#0D2B45}

/* ---------------------------------------------------------------- shell */
.shell{display:grid;grid-template-columns:var(--pv1-side) minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;border-right:1px solid var(--pv1-rule);background:var(--pv1-cream);padding:28px 14px 18px}
.brand{padding:0 12px 26px;line-height:1.1}
.brand .wm{display:block;font-family:var(--pv1-serif);font-size:23px;letter-spacing:.32em;color:var(--pv1-navy);font-weight:600}
.brand .sub{display:block;margin-top:9px;font-size:11px;letter-spacing:.3em;color:var(--pv1-gold-text);text-transform:uppercase}
.navbtn{display:none}
.nav{display:flex;flex-direction:column;gap:4px}
.nav button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;border:0;background:none;font:inherit;font-size:15px;color:var(--pv1-ink);padding:11px 12px 11px 15px;border-radius:var(--pv1-r);cursor:pointer;min-height:44px;position:relative}
.nav button:hover{background:#F6F1E7}
.nav button[aria-current="page"]{background:var(--pv1-tint);color:var(--pv1-navy);font-weight:600}
.nav button[aria-current="page"]::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--pv1-gold)}
.nav .count{font-size:12px;font-weight:600;color:var(--pv1-gold-text)}
.nav .cur{margin:2px 0 6px 15px;padding:8px 10px;border-left:1px solid var(--pv1-rule);font-size:13px;color:var(--pv1-muted)}
.nav .cur b{display:block;color:var(--pv1-navy);font-weight:600;font-size:14px;overflow-wrap:anywhere}
.me{margin-top:auto;border-top:1px solid var(--pv1-rule);padding:16px 8px 0;display:flex;gap:10px;align-items:center}
.av{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--pv1-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;letter-spacing:.04em}
.av:empty{display:none}
.me .who{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
#who-name{font-size:14px;color:var(--pv1-ink);overflow-wrap:anywhere}
.link{background:none;border:0;color:var(--pv1-gold-text);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:6px 0;min-height:44px;cursor:pointer}
.wrap{max-width:1120px;width:100%;padding:34px 44px 72px;margin:0}

/* ---------------------------------------------------------------- page header & type */
h1,h2,h3,.serif{font-family:var(--pv1-serif);color:var(--pv1-navy);font-weight:600}
h1{font-size:40px;line-height:1.12;margin:4px 0 6px;letter-spacing:-.01em}
.lede{font-family:var(--pv1-serif);font-size:20px;color:var(--pv1-muted);margin:0 0 6px}
h2{font-size:25px;line-height:1.2;margin:34px 0 12px}
h2.first{margin-top:6px}
h3{font-size:19px;margin:22px 0 8px}
p{margin:6px 0}
.muted{color:var(--pv1-muted)}
.small{font-size:13px}
.ph{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:8px}
.ph .t{min-width:0;flex:1 1 420px}
.crumb{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--pv1-muted);margin-bottom:6px;flex-wrap:wrap}
.crumb button{background:none;border:0;padding:8px 0;min-height:44px;font:inherit;color:var(--pv1-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.crumb .sep{color:var(--pv1-field)}
.crumb .here{color:var(--pv1-navy);overflow-wrap:anywhere}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:12px 0 4px;font-size:14px;color:var(--pv1-muted)}
.meta .bar{width:1px;height:18px;background:var(--pv1-rule)}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--pv1-gold-text);font-weight:600}

/* status label: words plus a shape, never colour alone */
.chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:4px;background:var(--pv1-tint);color:var(--pv1-navy);white-space:nowrap}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;border:2px solid currentColor;flex:0 0 auto}
.chip.s-wait{background:#EEF2F6}
.chip.s-wait::before{border-radius:2px}
.chip.s-draft::before{border-style:dashed}
.chip.s-good{background:var(--pv1-ok-tint);color:var(--pv1-ok)}
.chip.s-good::before{background:currentColor}
.chip.s-stop{background:#EFEDE9;color:#4A463F}
.chip.s-stop::before{border-radius:0;width:9px;height:2px;border:0;background:currentColor}
.chip.s-more{background:var(--pv1-warn-tint);color:var(--pv1-warn)}
.chip.s-more::before{border-radius:0;border:0;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid currentColor}

/* ---------------------------------------------------------------- actions */
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--pv1-r);font:inherit;font-weight:600;font-size:15px;border:1px solid var(--pv1-navy);background:var(--pv1-navy);color:#fff;min-height:44px;cursor:pointer;text-decoration:none}
.btn:hover{background:#163C5E}
.btn.gold{background:var(--pv1-gold-text);border-color:var(--pv1-gold-text)}
.btn.gold:hover{background:#755506}
.btn.s{background:var(--pv1-surface);color:var(--pv1-navy);border-color:var(--pv1-field)}
.btn.s:hover{background:#F6F1E7}
.btn.bad{background:var(--pv1-surface);color:var(--pv1-bad);border-color:#C9A39E}
.btn.bad:hover{background:var(--pv1-bad-tint)}
.btn.bad.solid{background:var(--pv1-bad);color:#fff;border-color:var(--pv1-bad)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn[aria-busy="true"]{opacity:.8;cursor:progress}
.btn.full{width:100%}
.go{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:8px 0;min-height:44px;font:inherit;font-weight:600;font-size:15px;color:var(--pv1-gold-text);cursor:pointer;white-space:nowrap;text-decoration:none}
.go::after{content:"\2192";font-weight:400}
.go:hover{text-decoration:underline;text-underline-offset:3px}
.linkbtn{background:none;border:0;color:var(--pv1-navy);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;padding:0 4px}
a.btn{text-decoration:none}

/* ---------------------------------------------------------------- editorial rows (lists) */
.rows{border-top:1px solid var(--pv1-rule)}
.row{display:grid;grid-template-columns:150px 56px minmax(0,1fr) auto;gap:4px 20px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--pv1-rule);cursor:pointer}
.row:hover{background:#F6F1E7}
.row .lab{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--pv1-gold-text);font-weight:600;align-self:start;padding-top:6px}
.row .ttl{font-family:var(--pv1-serif);font-size:21px;color:var(--pv1-navy);font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.row .sub2{font-size:15px;color:var(--pv1-muted);overflow-wrap:anywhere}
.row .nx{font-size:14px;color:var(--pv1-ink)}
.thumb{width:56px;height:56px;object-fit:cover;border-radius:4px;border:1px solid var(--pv1-rule);background:#EFEBE3}
.thumb.empty{display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--pv1-muted);text-align:center;line-height:1.2;padding:2px}
.empty-state{border:1px dashed var(--pv1-field);border-radius:var(--pv1-r);padding:22px 24px;background:var(--pv1-surface);margin-top:14px}
.empty-state .serif{font-size:22px;margin:0 0 4px}
.listnote{font-size:14px;color:var(--pv1-muted);margin:6px 0 0}

/* ---------------------------------------------------------------- detail layout */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start;margin-top:22px}
.panel{background:var(--pv1-surface);border:1px solid var(--pv1-rule);border-radius:8px;padding:22px 22px 18px;position:sticky;top:20px}
.panel h2{margin:0 0 10px;font-size:23px}
.panel .meaning{font-size:14px;color:var(--pv1-ink);margin:8px 0 12px}
.panel .bind{font-size:13px;color:var(--pv1-muted);margin-top:12px;border-top:1px solid var(--pv1-rule);padding-top:12px}
.panel .btns{flex-direction:column;align-items:stretch}
.panel .btns .btn{width:100%}
.ready{list-style:none;margin:6px 0 4px;padding:0}
.ready li{display:flex;gap:9px;align-items:flex-start;padding:5px 0;font-size:15px}
.ready li::before{content:"";flex:0 0 auto;width:16px;height:16px;margin-top:3px;border-radius:50%;border:2px solid var(--pv1-field)}
.ready li.ok::before{border-color:var(--pv1-ok);background:var(--pv1-ok);box-shadow:inset 0 0 0 3px #fff}
.ready li .st{font-size:13px;color:var(--pv1-muted);margin-left:auto;white-space:nowrap}
.sec{border-top:1px solid var(--pv1-rule);padding-top:4px;margin-top:26px}
.sec:first-child{border-top:0;margin-top:0}
.sec>h2{margin:18px 0 8px;font-size:23px}
.help{font-size:14px;color:var(--pv1-muted);margin:2px 0 10px}

/* facts */
.kv{display:grid;grid-template-columns:minmax(150px,34%) 1fr;gap:0;font-size:15px;margin:6px 0;border-top:1px solid var(--pv1-rule)}
.kv dt,.kv dd{padding:10px 0;border-bottom:1px solid var(--pv1-rule);margin:0}
.kv dt{font-size:14px;color:var(--pv1-muted);padding-right:14px}
.kv dd{overflow-wrap:anywhere}
.unrec{color:var(--pv1-warn)}
.unrec::before{content:"\25CB\00a0";font-size:12px}
.quote{font-family:var(--pv1-serif);font-size:19px;color:var(--pv1-navy);border-left:3px solid var(--pv1-gold);padding:2px 0 2px 16px;margin:10px 0 14px;overflow-wrap:anywhere}

/* attention: problem, consequence, action — concise, once */
.att{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--pv1-rule);border-left:4px solid var(--pv1-gold);background:var(--pv1-surface);padding:13px 16px;border-radius:0 var(--pv1-r) var(--pv1-r) 0;margin:14px 0;font-size:15px}
.att .ic{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid currentColor;color:var(--pv1-gold-text);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1;margin-top:1px}
.att>div{min-width:0;flex:1}
.att b{color:var(--pv1-navy)}
.att.warn{border-left-color:var(--pv1-warn);background:var(--pv1-warn-tint)}
.att.warn .ic{color:var(--pv1-warn)}
.att.bad{border-left-color:var(--pv1-bad);background:var(--pv1-bad-tint)}
.att.bad .ic{color:var(--pv1-bad)}
.att.bad b{color:var(--pv1-bad)}
.att.ok{border-left-color:var(--pv1-ok);background:var(--pv1-ok-tint)}
.att.ok .ic{color:var(--pv1-ok)}
.att details{border:0;background:none;margin:4px 0 0}
.att summary{padding:4px 0;min-height:36px;font-size:14px;font-weight:600;color:var(--pv1-navy)}
.att details>div{padding:0}
.foot{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--pv1-gold);margin-top:34px;padding-top:12px;font-size:14px;color:var(--pv1-gold-text)}
.foot::before{content:"i";flex:0 0 auto;width:18px;height:18px;border-radius:50%;background:var(--pv1-gold-text);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--pv1-serif)}
.foot b{color:var(--pv1-gold-text)}

/* disclosure */
details{border-bottom:1px solid var(--pv1-rule);margin:0;padding:0}
details.box{border:1px solid var(--pv1-rule);border-radius:var(--pv1-r);background:var(--pv1-surface);margin:12px 0}
summary{cursor:pointer;list-style:none;padding:14px 2px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--pv1-serif);font-size:19px;color:var(--pv1-navy);font-weight:600}
details.box>summary{padding:12px 16px;font-size:17px}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:0 0 auto;width:9px;height:9px;border-right:2px solid var(--pv1-navy);border-bottom:2px solid var(--pv1-navy);transform:rotate(45deg);margin:-4px 6px 0 0;}
details[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
details>div{padding:0 2px 16px}
details.box>div{padding:0 16px 16px}
details.mini{border:0}
details.mini>summary{font-family:var(--pv1-sans);font-size:14px;padding:6px 0;min-height:40px;justify-content:flex-start;color:var(--pv1-navy);text-decoration:underline;text-underline-offset:3px}
details.mini>summary::after{width:6px;height:6px;margin-left:4px}
details.mini>div{padding:0 0 8px;font-size:14px;color:var(--pv1-muted)}

/* ---------------------------------------------------------------- forms */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.field{min-width:0}
.field.wide{grid-column:1/-1}
label,.flabel{display:block;font-size:14px;font-weight:600;color:var(--pv1-ink)}
.fhelp{display:block;font-size:13px;color:var(--pv1-muted);font-weight:400;margin-top:2px}
input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--pv1-field);border-radius:var(--pv1-r);font:inherit;font-size:16px;background:var(--pv1-surface);min-height:46px;color:var(--pv1-ink)}
input:disabled,textarea:disabled{background:#F1EEE7;color:var(--pv1-muted)}
textarea{min-height:92px;resize:vertical}
.inline{display:flex;gap:8px;flex-wrap:wrap}
.inline>*{flex:1 1 110px}
.chk{width:auto;min-height:auto;display:inline-block;margin:0 9px 0 0;flex:0 0 auto;accent-color:var(--pv1-navy);width:18px;height:18px}
.chkrow{display:flex;align-items:center;margin-top:2px;min-height:44px;cursor:pointer;font-weight:400;font-size:15px}
.radios{display:flex;gap:4px 16px;flex-wrap:wrap;margin-top:2px}
.radios .chkrow{margin-top:0}
.qgroup{border:0;margin:0;padding:12px 0;border-bottom:1px solid var(--pv1-rule);min-width:0}
.qgroup legend{font-size:15px;font-weight:600;padding:0;color:var(--pv1-ink)}
.qgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.checkrow{border:1px solid var(--pv1-rule);border-radius:var(--pv1-r);padding:14px;margin:12px 0;background:var(--pv1-surface)}
.price-now{font-size:14px;margin:4px 0 8px}

/* ---------------------------------------------------------------- photos and files */
.photos{list-style:none;margin:6px 0;padding:0;border-top:1px solid var(--pv1-rule)}
.photos>li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--pv1-rule)}
.photos .pk{font-weight:600;font-size:15px}
.photos .pn{font-size:13px;color:var(--pv1-muted)}
.photos .addrow{grid-column:2}
.shotbtn{padding:0;border:0;background:none;cursor:zoom-in;border-radius:4px;display:block;width:72px;height:72px}
img.shot{width:72px;height:72px;object-fit:cover;border-radius:4px;border:1px solid var(--pv1-rule);background:#EFEBE3;display:block}
.noshot{width:72px;height:72px;border-radius:4px;border:1px dashed var(--pv1-field);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--pv1-muted);text-align:center;line-height:1.2}
.addrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.addrow input[type=file]{flex:1 1 180px;min-height:44px;margin-top:0;font-size:14px;padding:8px}
.addrow .btn{padding:9px 16px}
.strip{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:14px 0 6px}
.herobtn{padding:0;border:0;background:none;cursor:zoom-in;border-radius:6px}
img.hero{display:block;width:168px;height:126px;object-fit:cover;border-radius:6px;border:1px solid var(--pv1-rule);background:#EFEBE3}
.hero.empty{width:168px;height:126px;border-radius:6px;border:1px dashed var(--pv1-field);display:flex;align-items:center;justify-content:center;color:var(--pv1-muted);font-size:13px;text-align:center;padding:8px}
.strip .more{font-size:14px}
ul.plain{list-style:none;margin:6px 0;padding:0}
ul.plain li{padding:10px 0;border-bottom:1px solid var(--pv1-rule);font-size:15px}
ul.plain li:last-child{border-bottom:0}
ul.plain a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;color:var(--pv1-navy)}
ul.bul{margin:6px 0 4px 20px;padding:0}
ul.bul li{margin:3px 0}
.hist{font-size:14px;color:var(--pv1-muted);margin:4px 0}
.people{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.people button{text-align:left;padding:14px 16px;border:1px solid var(--pv1-rule);background:var(--pv1-surface);border-radius:var(--pv1-r);font:inherit;cursor:pointer;min-height:44px}
.people button b{display:block;font-family:var(--pv1-serif);font-size:18px;color:var(--pv1-navy)}
.card{background:var(--pv1-surface);border:1px solid var(--pv1-rule);border-radius:8px;padding:22px;margin:16px 0;max-width:520px}
.target{font-size:13px;color:var(--pv1-muted);border-top:1px solid var(--pv1-rule);margin-top:40px;padding-top:12px}

/* ---------------------------------------------------------------- feedback */
.toast{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto;background:var(--pv1-navy);color:#fff;padding:13px 18px;border-radius:var(--pv1-r);z-index:25;font-size:15px;box-shadow:0 6px 24px rgba(13,43,69,.25)}
.toast.bad{background:var(--pv1-bad)}
.viewer{position:fixed;inset:0;background:rgba(10,24,38,.96);color:#fff;z-index:40;padding:16px;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.viewer .big{max-width:100%;max-height:66vh;object-fit:contain;border-radius:6px;background:#000}
.viewer .cap{color:#EDE8DD;font-size:15px;text-align:center;margin:0}
.viewer .small{color:#C9C2B4}
.viewer .btn.s{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.viewer .btn{background:#fff;color:var(--pv1-navy);border-color:#fff}
.viewer :focus-visible{outline-color:var(--pv1-gold-light)}

/* ---------------------------------------------------------------- phone */
@media (max-width:900px){
  .cols{grid-template-columns:1fr;gap:8px}
  .panel{position:static}
}
@media (max-width:760px){
  .shell{display:block}
  .side{position:sticky;top:0;z-index:20;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 8px;padding:10px 16px;border-right:0;border-bottom:1px solid var(--pv1-rule);background:var(--pv1-cream)}
  .brand{padding:0;flex:1 1 auto}
  .brand .wm{font-size:18px;letter-spacing:.26em}
  .brand .sub{margin-top:4px;font-size:10px}
  .navbtn{display:inline-flex;align-items:center;gap:8px;order:3;background:none;border:1px solid var(--pv1-field);border-radius:var(--pv1-r);font:inherit;font-size:14px;color:var(--pv1-navy);min-height:44px;padding:0 12px;cursor:pointer}
  .navbtn:empty{display:none}
  .navbtn .bars{width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
  .me{order:2;margin:0;border:0;padding:0}
  .me .av{display:none}
  .me .who{align-items:flex-end}
  #who-name{font-size:13px}
  .link{padding:0;min-height:30px}
  .nav{order:4;flex-basis:100%;padding:8px 0 4px}
  .nav[data-open="false"]{display:none}
  .wrap{padding:22px 16px 64px}
  h1{font-size:31px}
  .lede{font-size:18px}
  h2{font-size:22px}
  .row{grid-template-columns:56px minmax(0,1fr);gap:2px 14px;padding:16px 2px}
  .row .lab{grid-column:1/-1;padding-top:0}
  .row .thumb{grid-row:span 2}
  .row .act{grid-column:2}
  .row .ttl{font-size:19px}
  .grid,.qgrid{grid-template-columns:1fr}
  .kv{grid-template-columns:1fr}
  .kv dt{border-bottom:0;padding-bottom:0}
  .kv dd{padding-top:2px}
  .ph .t{flex-basis:100%}
  .ph>.btn{width:100%}
  .strip img.hero,.strip .hero.empty{width:132px;height:99px}
}

/* grid areas: facts first, the task panel next, details last (phone keeps that order) */
.cols{grid-template-areas:"main side" "more side"}
.c-main{grid-area:main;min-width:0}
.c-side{grid-area:side;min-width:0}
.c-more{grid-area:more;min-width:0}
.mobile-jump{display:none}
@media (max-width:900px){
  .cols{grid-template-areas:"main" "side" "more"}
  .mobile-jump{display:inline-flex}
}
.mt{margin-top:12px}
.checkrow.cannot{border-left:4px solid var(--pv1-bad)}
.qgroup.last{border-bottom:0}
.badtext{color:var(--pv1-bad)}
.qgroup legend{margin-bottom:0}
.qgroup .radios{margin-top:0}

/* ---------------------------------------------------------------- rev 16 · aligned discovery fields
   In a two-column form grid each field is a subgrid of three rows (label, help, control), so labels, help lines
   and controls line up across the row whether or not a neighbour has help text. A hidden or optional neighbour
   takes no space ([hidden] stays display:none). Browsers without subgrid keep the earlier stacked layout. */
.qgrid{column-gap:20px}
@supports (grid-template-rows:subgrid){
  .grid{row-gap:0;margin-bottom:-14px}
  .grid>.field{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start;padding-bottom:14px}
  .grid>.field>.flabel{grid-row:1;align-self:end}
  .grid>.field>.fhelp{grid-row:2}
  .grid>.field>:not(.flabel):not(.fhelp){grid-row:3;align-self:start}
}
.price-seen{flex-wrap:nowrap}
.price-seen>select{flex:0 0 96px}
.price-seen>input{flex:1 1 auto;min-width:0}
.qblock{padding:12px 0;border-bottom:1px solid var(--pv1-rule)}
.qblock .fhelp{max-width:62ch}
.grid>.field>.inline{margin-top:6px}
.grid>.field>.inline>*{margin-top:0}

/* rev 18 · e-mail notice status line */
.notice{border-left:4px solid var(--pv1-rule);padding:4px 0 4px 12px;margin:12px 0}
.notice.ok{border-left-color:var(--pv1-ok, #2f6b4a)}
.notice.bad{border-left-color:var(--pv1-bad)}
.notice.warn{border-left-color:var(--pv1-warn)}
.notice p{margin:0 0 6px}
.notice .btns{margin-top:4px}
