/* ============================================================================
   Andaa documents.

   The only stylesheet the generated documents use. Kept separate from the site
   and workspace styles: mixing them meant every visual change fought legacy
   rules it could not see, and a heading label was still being drawn as a lime
   pill three refactors after that was intended.

   Themes are three voices over one layout:
     institutional  a bank, sacco or grant panel — sober and familiar
     editorial      an investor or partner — the serif treatment
     plain          the owner — large type, no ornament
   Colour comes from the record: --p primary, --a accent, --tint, --muted.
   ========================================================================== */

/* The documents carry their own box model.
   `*{box-sizing:border-box}` lives in the site stylesheet, so anywhere the
   documents render on their own — the print frame, an exported HTML file, the
   layout check — every sheet came out 84-100px wider than A4 with its padding
   added outside the width, and the printed proportions were wrong. */
.pdf-stack,.pdf-stack *{box-sizing:border-box}

.pdf-stack{container-type:inline-size;display:flex;flex-direction:column;gap:26px;align-items:center}

.pdf-page{
  --p:#173b2f; --a:#a9e5d1; --tint:#f2f0eb; --muted:#d8d3ca;
  position:relative;
  width:min(100%,760px);
  /* A4 is a FLOOR, not a ceiling, and the sheet is never allowed to clip.
     These two lines used to be `aspect-ratio` plus `overflow:hidden`, which
     made the layout correct only while JavaScript was running: the fit pass
     measured each page and tightened it. In any viewer that does not run that
     script — a preview sandbox, a PDF pipeline, a mail client — a page a
     little too full silently ate its last two lines instead. A page that runs
     slightly long is a cosmetic problem; a page that deletes a sentence about
     a loan application is not. */
  /* A4 proportion against the SHEET's own width, not the viewport's. Using
     100vw meant a page inside the narrow workspace pane kept a full-width
     sheet's height and came out visibly too tall. */
  min-height:min(141.4cqw, 1074px);
  background:#f7f4ee;
  color:#12160f;
  padding:40px 42px 66px;
  overflow:visible;
  box-shadow:0 14px 40px rgba(0,0,0,.13);
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  display:flex; flex-direction:column; gap:20px;
}
.pdf-page *{max-width:100%;overflow-wrap:anywhere}
.pdf-page ul{margin:0;padding-left:17px}
.pdf-page li{font-size:12.5px;line-height:1.62;margin-bottom:5px}
.pdf-page p{font-size:12.5px;line-height:1.68}

/* Running head and foot ---------------------------------------------------- */
.pdf-top{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.18em;font-weight:700;color:#6c716c}
.pdf-top b{color:var(--p);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52%}
.pdf-page>footer{
  position:absolute;left:0;right:0;bottom:0;height:42px;margin:0;padding:0 42px;
  display:flex;align-items:center;justify-content:space-between;
  font-size:8px;letter-spacing:.12em;color:#7d827c;
  border-top:1px solid var(--muted);background:inherit;
}
.pdf-page>footer .made-with{color:#a2a79f;font-weight:400;letter-spacing:.1em}

/* Cover -------------------------------------------------------------------- */
.cover-page{justify-content:space-between}
.pdf-pill{display:inline-block;background:var(--a);padding:6px 10px;border-radius:99px;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#12160f}
.pdf-cover-copy{margin-top:4vh;max-width:88%}
.pdf-cover-copy h1{font:400 clamp(30px,5vw,50px)/1.03 'Instrument Serif',Georgia,serif;letter-spacing:-.025em;margin:16px 0 12px;max-width:20ch}
.pdf-cover-copy p{font-size:14px;line-height:1.6;color:#4f544e;max-width:54ch;margin:0}
.cover-meta{display:flex;flex-wrap:wrap;gap:0 34px;margin:0;padding-top:15px;border-top:1px solid var(--muted)}
.cover-meta>div{display:flex;flex-direction:column;gap:2px}
.cover-meta dt{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#8b8f8a}
.cover-meta dd{margin:0;font-size:12px;font-weight:500}

/* Trade illustration — the cover's subject is the work -------------------- */
.trade-art{margin:0;display:flex;justify-content:center}
.trade-art svg{width:100%;max-width:440px;height:auto}
.il-p{fill:var(--p)}
.il-a{fill:var(--a)}
.il-m{fill:var(--muted)}
.il-s{fill:none;stroke:var(--p);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.theme-plain .trade-art svg{max-width:320px}
.theme-editorial .trade-art svg{max-width:500px}

/* Page furniture ----------------------------------------------------------- */
.masthead.compact{border-bottom:2px solid var(--p);padding-bottom:12px}
.masthead.compact h2{font:400 clamp(21px,2.8vw,28px)/1.06 'Instrument Serif',Georgia,serif;margin:0 0 6px;letter-spacing:-.02em}
.masthead.compact p{font-size:13px;line-height:1.6;color:#5c605b;margin:0;max-width:68ch}
.page-title{font:400 clamp(23px,3vw,32px)/1.08 'Instrument Serif',Georgia,serif;letter-spacing:-.025em;margin:0;max-width:24ch}
.section-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7a7e79;border-bottom:1px solid var(--muted);padding-bottom:6px;margin:0 0 10px;font-weight:700}
.doc-block{margin:0}
.editorial-copy p{font-size:13.5px;line-height:1.74;margin:0}
.pdf-page .fine{font-size:9px;line-height:1.55;color:#7a7e79;margin-top:8px}

/* Facts — the anchor of most pages ----------------------------------------- */
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--muted);border:1px solid var(--muted)}
.metric-grid>div{background:var(--tint);padding:16px 15px 14px;display:flex;flex-direction:column;gap:5px;min-height:84px}
.metric-grid strong{font:400 24px/1.12 'Instrument Serif',Georgia,serif;letter-spacing:-.015em;color:var(--p)}
.metric-grid em{font-style:normal;font-size:9.5px;line-height:1.42;color:#5f645e;margin:1px 0 0;max-width:30ch}
.metric-grid>div.wordy strong{font-size:15px;line-height:1.26}
.metric-grid span{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#7e827d;margin-top:auto;padding-top:8px}

/* Statement — one strong anchor per page ----------------------------------- */
.statement{background:var(--p);color:#fff;padding:22px 24px;margin:0;border-radius:0}
.statement span{display:block;background:none;padding:0;border-radius:0;font-size:8px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;opacity:.72;margin:0 0 8px}
.statement h2{font:400 clamp(19px,2.6vw,27px)/1.18 'Instrument Serif',Georgia,serif;margin:0;letter-spacing:-.015em;max-width:34ch;color:inherit}
.statement.long h2{font:400 13px/1.62 'DM Sans',system-ui,sans-serif;max-width:none;letter-spacing:0}
.theme-editorial .statement.long h2{font-family:'DM Sans',system-ui,sans-serif;font-size:13px}
.pdf-page.dense .statement.long h2,.pdf-page.tighter .statement.long h2,.pdf-page.tightest .statement.long h2{font-size:11px;line-height:1.55}
.statement-follow{margin:10px 0 0;max-width:52ch;font-size:10.5px;line-height:1.5;opacity:.78}
.statement.tight{background:var(--tint);color:#12160f;padding:15px 17px;border-left:3px solid var(--p)}
.statement.tight span{opacity:1;color:#7e827d}

/* Lists and cards ---------------------------------------------------------- */
.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.three-cards article{background:var(--tint);padding:16px;border-top:2px solid var(--p);display:flex;flex-direction:column;gap:5px}
.three-cards b{font:400 15px 'Instrument Serif',Georgia,serif;color:var(--p);opacity:.55;white-space:nowrap}
.three-cards h3{font-size:13.5px;font-weight:600;margin:0;line-height:1.3}
.three-cards p{font-size:11.5px;line-height:1.6;color:#5c605b;margin:0}

.numbered-list{display:flex;flex-direction:column}
.numbered-list article{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--muted);align-items:start}
.numbered-list article:last-child{border-bottom:0}
.numbered-list b{font:400 22px/1 'Instrument Serif',Georgia,serif;color:var(--p);opacity:.5;white-space:nowrap}
.numbered-list p{margin:0;font-size:12.5px;line-height:1.62}

.split-copy,.two-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.split-copy>div,.two-panel>div{display:flex;flex-direction:column;gap:6px}
.split-copy>div>span,.two-panel>div>span{font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7e827d;padding-bottom:6px;border-bottom:1px solid var(--p)}
.split-copy p,.two-panel p{margin:0}

.priority-list{display:flex;flex-direction:column;gap:15px}
.priority-list article{border-top:1px solid var(--p);padding-top:9px}
.priority-list header{display:flex;gap:9px;align-items:baseline}
.priority-list header b{font:400 18px 'Instrument Serif',Georgia,serif;color:var(--p);opacity:.5;flex:0 0 auto;white-space:nowrap}
.priority-list header h3{font-size:14px;font-weight:600;margin:0;line-height:1.32}
.priority-list .why{font-size:12px;line-height:1.62;color:#5c605b;margin:5px 0 7px}
.priority-list dl{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 18px;margin:0}
.priority-list dl>div{display:flex;flex-direction:column}
.priority-list dt{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#8b8f8a}
.priority-list dd{margin:1px 0 0;font-size:11.5px;line-height:1.5}

.pair-list{display:flex;flex-direction:column;gap:12px}
.pair-list>div{display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--a);padding-left:10px}
.pair-list strong{font-size:12.5px;line-height:1.45}
.pair-list span{font-size:11.5px;line-height:1.6;color:#5c605b}
.pair-list .where{color:#8b8f8a;font-style:italic}

/* SWOT --------------------------------------------------------------------- */
.swot-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--muted);border:1px solid var(--muted)}
/* Two quadrants to a sheet, when four will not fit one. */
.swot-grid.half{grid-template-rows:1fr}
.swot-box{background:var(--tint);padding:18px;margin:0;min-height:0}
.swot-box>span{display:block;font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--p);margin-bottom:9px;padding-bottom:7px;border-bottom:1px solid var(--muted)}
.swot-box li{font-size:12px;line-height:1.6}
.swot-box.s,.swot-box.o{background:#fff}
.cross-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.cross-list article{background:var(--tint);padding:15px;border-top:2px solid var(--p)}
.cross-list span{display:block;font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:#7a7e79;margin-bottom:5px}
.cross-list p{margin:0;font-size:12px;line-height:1.6}

/* Charts ------------------------------------------------------------------- */
.chart{margin:0}
.chart figcaption{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#7a7e79;margin-bottom:9px;font-weight:700}
.chart svg{width:100%;height:48px;display:block}
.chart-track{fill:var(--muted)}
.chart-bar{fill:var(--p)}
.chart-bar.short{fill:#b0603a}
.chart-marker{fill:#12160f}
.chart-key{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:#4f534f}
.chart-key .swatch{display:inline-block;width:9px;height:9px;margin-right:5px;vertical-align:-1px;background:var(--p)}
.chart-key .swatch.short{background:#b0603a}
.chart-key .swatch.marker{background:#12160f;width:2px;height:11px;vertical-align:-2px;margin-right:9px}
.chart-basis{margin:6px 0 0;font-size:9px;line-height:1.5;color:#7e827d}
.chart-note{font-size:12px;line-height:1.6;color:#4f534f;margin:9px 0 0;max-width:62ch}
.scen-chart{display:flex;gap:12px;align-items:flex-end;height:150px;border-bottom:1px solid var(--muted)}
.scen{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;text-align:center}
.scen b{font:400 14px 'Instrument Serif',Georgia,serif;margin-bottom:5px}
.scen i{display:block;width:100%;height:var(--h);background:var(--muted);min-height:3px}
.scen i.now{background:var(--p)}
.scen span{font-size:8px;letter-spacing:.06em;text-transform:uppercase;margin-top:7px;color:#4f534f}
.scen small{font-size:8px;color:#8b8f8a}

/* Quotation, used once where it earns its place ---------------------------- */
.pull-quote{margin:0;padding:14px 0 14px 18px;border-left:3px solid var(--a);font:400 18px/1.45 'Instrument Serif',Georgia,serif;color:#2b2f2b;max-width:56ch}

.objective{background:var(--p);color:#fff;padding:16px 18px}
.objective span{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--a);font-weight:700}
.objective strong{display:block;font:400 20px/1.32 'Instrument Serif',Georgia,serif;margin-top:7px}
.objective p{font-size:11.5px;line-height:1.6;margin:5px 0 0;opacity:.82}
.pdf-basis{margin-top:26px;border-top:1px solid var(--muted);padding-top:9px;display:flex;flex-direction:column;gap:2px}
.pdf-basis b{font-size:9.5px;letter-spacing:.04em}
.pdf-basis span{font-size:8.5px;color:#8b8f8a;line-height:1.5}

/* Fit — tighten in stages, then stretch rather than cut -------------------- */
.pdf-page.dense{gap:12px}
.pdf-page.dense .metric-grid strong{font-size:16px}
.pdf-page.dense .statement h2{font-size:17px}
.pdf-page.dense .priority-list{gap:9px}
.pdf-page.tighter{gap:9px}
.pdf-page.tighter p,.pdf-page.tighter li,.pdf-page.tighter dd{font-size:9.5px;line-height:1.5}
.pdf-page.tighter .metric-grid strong{font-size:14px}
.pdf-page.tightest{gap:7px}
.pdf-page.tightest p,.pdf-page.tightest li,.pdf-page.tightest dd{font-size:9px;line-height:1.45}
.pdf-page.tightest .priority-list{gap:7px}
.pdf-page.tightest .metric-grid strong{font-size:13px}
.pdf-page.tightest .statement h2{font-size:15px}
/* Last resort. Tightened three times and still too long, so the sheet grows: a page
   that prints slightly over A4 is a cosmetic problem, and a page that silently
   drops the last two bullets of a break-even is not. */
/* Growing is now the CSS default, so this only adds the extra foot of clearance
   a sheet needs once it has run past A4. */
.pdf-page.overflowing{padding-bottom:74px}

/* Themes ------------------------------------------------------------------- */
.theme-institutional .pdf-cover-copy h1,
.theme-institutional .masthead.compact h2,
.theme-institutional .page-title,
.theme-institutional .statement h2{font-family:'DM Sans',system-ui,sans-serif;font-weight:600;letter-spacing:-.012em;line-height:1.22}
.theme-institutional .pdf-cover-copy h1{font-size:clamp(26px,3.7vw,36px);max-width:25ch}
.theme-institutional .statement h2,.theme-institutional .page-title{font-size:21px}
.theme-institutional .metric-grid strong{font-family:'DM Sans',system-ui,sans-serif;font-weight:600;font-size:19px}
.theme-institutional .pdf-pill{background:transparent;border:1px solid var(--p);color:var(--p)}
.theme-institutional .pull-quote{font-family:'DM Sans',system-ui,sans-serif;font-size:13.5px;font-style:italic;line-height:1.6}

.theme-editorial .pdf-cover-copy h1{font-size:clamp(34px,5.6vw,56px);letter-spacing:-.035em}
.theme-editorial .page-title{font-size:clamp(26px,3.4vw,34px)}

.theme-plain .pdf-page{padding:34px 34px 62px;gap:22px}
.theme-plain .pdf-page>footer{padding:0 34px}
.theme-plain .pdf-cover-copy h1,
.theme-plain .masthead.compact h2,
.theme-plain .page-title,
.theme-plain .statement h2{font-family:'DM Sans',system-ui,sans-serif;font-weight:600;font-size:20px;line-height:1.3;letter-spacing:-.01em}
.theme-plain .pdf-page p,.theme-plain .pdf-page li,.theme-plain .priority-list dd{font-size:12.5px;line-height:1.7}
.theme-plain .metric-grid{grid-template-columns:repeat(min(2,var(--cols,2)),1fr)}
.theme-plain .metric-grid strong{font-family:'DM Sans',system-ui,sans-serif;font-weight:600;font-size:16px}
.theme-plain .statement{background:var(--tint);color:#12160f;border-left:4px solid var(--p)}
.theme-plain .statement span{opacity:1;color:#7e827d}
.theme-plain .three-cards,.theme-plain .cross-list,.theme-plain .priority-list dl{grid-template-columns:1fr}
.theme-plain .pdf-pill{display:none}
.theme-plain .pull-quote{font-family:'DM Sans',system-ui,sans-serif;font-size:13px;font-style:italic}

@media(max-width:760px){
  .pdf-page{aspect-ratio:auto;min-height:820px;padding:24px 24px 58px}
  .pdf-page>footer{padding:0 24px}
  .metric-grid,.three-cards,.split-copy,.two-panel,.swot-grid,.cross-list,.priority-list dl{grid-template-columns:1fr}
}

@media print{
  /* A4 exactly, and the sheet may still grow rather than cut a sentence. */
  .pdf-page{width:210mm!important;min-height:297mm!important;max-width:none!important;box-shadow:none!important;page-break-after:always;break-after:page;break-inside:auto;padding:15mm 15mm 22mm}
  /* A sheet that outgrew the paper continues onto the next one.
     It used to be pinned to the bottom of the element, so on an overlong page
     it landed past the paper's edge and the printer cut the last paragraph in
     half: five documents came back ending mid-sentence, one on "A loyalty".
     Set in the flow, the text runs on and the footer follows it. */
  .pdf-page>footer{position:static;padding:14mm 0 0;height:auto;margin-top:auto}
  .pdf-page:last-child{page-break-after:auto}
  .pdf-stack{gap:0}
  *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Trade glyphs: the repeated unit is what the business sells ---------------- */
.cover-mark .stroked{fill:none}
.cover-mark .mark-cost.stroked{stroke:var(--muted)}
.cover-mark .mark-keep.stroked{stroke:var(--p)}
.cover-mark .mark-gap.stroked{stroke:var(--muted);stroke-dasharray:1.6 1.4}

/* Cost composition --------------------------------------------------------- */
.cost-bar{display:flex;height:30px;border:1px solid var(--muted);overflow:hidden}
.cost-seg{width:var(--w);min-width:2px}
.cost-seg.known-0{background:var(--p)}
.cost-seg.known-1{background:color-mix(in srgb,var(--p) 55%,#fff)}
.cost-seg.unallocated{background:repeating-linear-gradient(135deg,var(--muted) 0 5px,transparent 5px 10px);border-left:1px solid var(--muted)}
.chart-key .swatch.known-0{background:var(--p)}
.chart-key .swatch.known-1{background:color-mix(in srgb,var(--p) 55%,#fff)}
.chart-key .swatch.unallocated{background:repeating-linear-gradient(135deg,var(--muted) 0 3px,transparent 3px 6px);border:1px solid var(--muted)}

/* ============================================================
   The cover.

   Dark ground, a rail of accent down the outer edge, one very large
   headline, and the trade illustration set big and bleeding off the
   corner. Interiors stay on paper: seventeen dark A4 pages is a great
   deal of ink for someone printing at a shop, and reads badly on the
   cheap stock they will actually use.
   ============================================================ */

.cover-page{
  background:var(--ground,#0a1512);
  color:var(--on-ground,#eef1f0);
  padding:44px 46px 40px 62px;
  justify-content:flex-start;
  gap:0;
  overflow:hidden;
}
.cover-rail{position:absolute;left:0;top:0;bottom:0;width:26px;background:var(--bright,#6de3bc)}
.cover-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}
.cover-logo{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.16em}
.cover-logo i{width:9px;height:15px;border-radius:5px 5px 3px 3px;background:var(--bright,#6de3bc)}
.cover-kind{font-size:9px;font-weight:700;letter-spacing:.18em;color:#8d938f}

.cover-page .pdf-cover-copy{margin:0 0 auto;max-width:78%;position:relative;z-index:2}
.cover-eyebrow{display:block;font-size:9.5px;font-weight:700;letter-spacing:.16em;color:var(--bright,#6de3bc);margin-bottom:16px}
.cover-page h1{
  font-family:'DM Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight:700;font-size:clamp(44px,8.4vw,80px);line-height:.9;letter-spacing:-.04em;
  margin:0 0 20px;max-width:13ch;color:var(--on-ground,#eef1f0);
}
.cover-page .pdf-cover-copy p{font-size:15px;line-height:1.5;color:#a9afab;max-width:40ch;margin:0}

/* The trade illustration, large and cropped by the corner. */
.cover-page .trade-art{position:absolute;right:-5%;bottom:13%;width:58%;margin:0;z-index:1;justify-content:flex-end}
.cover-page .trade-art svg{max-width:none;width:100%}
.cover-page .il-p{fill:var(--bright,#6de3bc)}
.cover-page .il-a{fill:var(--counter,#d98745)}
.cover-page .il-m{fill:#2a322d}
.cover-page .il-s{stroke:#4c554f;stroke-width:2}

.cover-page .cover-meta{
  display:flex;gap:0 46px;margin:0;padding:0;border:0;position:relative;z-index:3;
}
.cover-page .cover-meta dt{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#7f8681}
.cover-page .cover-meta dd{margin:2px 0 0;font-size:12px;font-weight:600;color:var(--on-ground,#eef1f0)}
.cover-page>footer{display:none}
.cover-page .pdf-top{display:none}

/* Institutional keeps the structure but stays on paper — a lender's file. */
.theme-institutional .cover-page{background:#f7f4ee;color:#12160f;padding:40px 42px 38px 58px}
.theme-institutional .cover-rail{background:var(--p)}
.theme-institutional .cover-kind{color:#8b8f8a}
.theme-institutional .cover-page h1{color:#12160f;font-size:clamp(28px,4.4vw,42px);letter-spacing:-.028em;line-height:1.02;max-width:16ch}
.theme-institutional .cover-page .pdf-cover-copy p{color:#5c605b}
.theme-institutional .cover-eyebrow{color:var(--p)}
.theme-institutional .cover-page .il-p{fill:var(--p)}
.theme-institutional .cover-page .il-a{fill:var(--a)}
.theme-institutional .cover-page .il-m{fill:var(--muted)}
.theme-institutional .cover-page .il-s{stroke:var(--p);stroke-width:2.4}
.theme-institutional .cover-page .cover-meta dt{color:#8b8f8a}
.theme-institutional .cover-page .cover-meta dd{color:#12160f}
.theme-institutional .cover-page .trade-art{width:52%;right:-2%;bottom:13%}

/* Plain: the owner's own copy — light, large, no ceremony. */
.theme-plain .cover-page{background:#f7f4ee;color:#12160f;padding:34px 34px 32px 48px}
.theme-plain .cover-rail{width:18px;background:var(--p)}
.theme-plain .cover-page h1{color:#12160f;font-size:clamp(24px,3.6vw,32px);line-height:1.1;letter-spacing:-.02em;max-width:18ch}
.theme-plain .cover-page .pdf-cover-copy p{color:#5c605b;font-size:14px}
.theme-plain .cover-eyebrow{color:var(--p)}
.theme-plain .cover-kind{color:#8b8f8a}
.theme-plain .cover-page .il-p{fill:var(--p)}
.theme-plain .cover-page .il-a{fill:var(--a)}
.theme-plain .cover-page .il-m{fill:var(--muted)}
.theme-plain .cover-page .il-s{stroke:var(--p)}
.theme-plain .cover-page .cover-meta dt{color:#8b8f8a}
.theme-plain .cover-page .cover-meta dd{color:#12160f}
.theme-plain .cover-page .trade-art{width:46%;right:-1%;bottom:13%}

@media print{
  .cover-page{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Evidence chips — every block says what kind of claim it is making --------- */
.ev{
  display:inline-block;margin-left:9px;padding:2px 7px;border-radius:99px;
  font-size:7.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  vertical-align:1px;border:1px solid currentColor;
}
.ev-stated{color:#3f6b4e}
.ev-calculated{color:#2f5a7a}
.ev-analysis{color:#6b4a86}
.ev-assumption{color:#8a5f28;background:#fdf4e4;border-color:#e0c79b}
.ev-unverified{color:#8f4230;background:#fbeee9;border-color:#e2bcae}
.section-label{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.page-title .ev{font-size:8px;vertical-align:6px}
.pdf-basis b{font-size:9.5px;letter-spacing:.06em}

/* Executive summary ------------------------------------------------------- */
/* A key-value block, read before any paragraph is. Every row is a record
   figure, so nothing here was phrased by the editor. */
.exec-rows{margin:0;border-top:1px solid var(--muted)}
.exec-rows>div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:7px 0;border-bottom:1px solid var(--muted);align-items:baseline}
.exec-rows dt{margin:0;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#7e827d;font-weight:700}
.exec-rows dd{margin:0;font-size:11.5px;line-height:1.5;color:var(--p);font-weight:500}
.theme-editorial .exec-rows dd{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:13.5px}
.pdf-page.dense .exec-rows>div{padding:5px 0}
.pdf-page.dense .exec-rows dd{font-size:10.5px}

/* Customer journey -------------------------------------------------------- */
/* The spine of the marketing plan: four stages, each saying what happens now,
   where the gap is, and the one thing to do about it. */
.journey{display:grid;gap:1px;background:var(--muted);border:1px solid var(--muted)}
.journey>article{background:var(--tint);padding:13px 15px 12px}
.journey header{display:flex;align-items:baseline;gap:9px;margin-bottom:7px}
.journey header b{font:400 15px/1 'Instrument Serif',Georgia,serif;color:var(--a);flex:0 0 auto;white-space:nowrap;min-width:20px}
.journey header h3{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--p)}
.journey header span{font-size:9px;color:#7e827d;letter-spacing:.02em}
.journey p{margin:0 0 5px;font-size:11px;line-height:1.55}
.journey p.gap{color:#6d726c}
.journey dl{margin:8px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.journey dt{margin:0 0 2px;font-size:7.5px;letter-spacing:.13em;text-transform:uppercase;color:#8a8f88;font-weight:700}
.journey dd{margin:0;font-size:10.5px;line-height:1.5}
.theme-institutional .journey header b{color:var(--p)}
@media (max-width:640px){.journey dl{grid-template-columns:1fr}}

/* Metric notes ------------------------------------------------------------ */
/* An explanation too long for its tile. Kept beside the grid it belongs to,
   keyed by the same label, so the tile stays a value and the prose stays prose. */
.metric-notes{margin:11px 0 0;display:flex;flex-direction:column;gap:7px}
.metric-notes>div{display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:baseline}
.metric-notes dt{margin:0;font-size:7.5px;letter-spacing:.13em;text-transform:uppercase;color:#8a8f88;font-weight:700}
.metric-notes dd{margin:0;font-size:10px;line-height:1.55;color:#5f645e}
@media (max-width:640px){.metric-notes>div{grid-template-columns:1fr}}

/* Printing on paper ---------------------------------------------------------
   Two different things get called "export". Saving a PDF to email to a bank
   should look exactly as designed. Printing on paper at a cyber cafe should
   be readable and should not cost a fortune, and those are not the same
   document.

   The cover is the reason this is not optional. It is near-white type on a
   near-black A4 ground, so if the background does not print — and every print
   dialogue has a "background graphics" switch that turns it off — the whole
   page comes out blank at 1.06:1, business name included. Nothing that has to
   be read may depend on a background being printed.

   Colour is kept only where it carries meaning: the brand rail, the evidence
   chips, and the charts, which are arguments rather than decoration. */
.print-economy .pdf-page,
.print-economy .cover-page{background:#fff!important;color:#12160f!important}
.print-economy .cover-page h1,
.print-economy .cover-page .cover-kind,
.print-economy .cover-page .cover-logo,
.print-economy .cover-page dt,
.print-economy .cover-page dd,
.print-economy .pdf-cover-copy p{color:#12160f!important}
.print-economy .cover-eyebrow{color:var(--p)!important}
.print-economy .cover-meta{border-top-color:#b9b3a8!important}

/* The rail and the chips are a few square millimetres and say something. */
.print-economy .cover-rail{background:var(--p)!important}

/* Tints become rules. A filled block is mostly toner; a left rule is a line. */
.print-economy .statement{background:#fff!important;color:#12160f!important;border-left:3px solid var(--p)!important;padding-left:15px}
.print-economy .statement span{color:#6b6f69!important;opacity:1!important}
.print-economy .statement h2{color:#12160f!important}
.print-economy .swot-box,
.print-economy .three-cards article,
.print-economy .metric-grid>div,
.print-economy .journey article,
.print-economy .cross-list article,
.print-economy .pdf-pill{background:#fff!important;border:1px solid #c9c4ba!important;color:#12160f!important}

/* Illustrations lose their fills but keep their outlines. */
.print-economy .trade-art .il-p,
.print-economy .trade-art .il-a,
.print-economy .trade-art .il-m{fill:none!important;stroke:var(--p)!important;stroke-width:2!important}
.print-economy .trade-art .il-s{stroke:var(--p)!important}

/* A logo on a plate does not need the plate when the paper is already white. */
.print-economy .logo-plate{background:none!important;padding:0!important}
