/* In Motion Automation decision deck patterns (deck kit, Rev 2, 4 Nov 2026).
   Loaded after base.css (tokens, slide frame, type) and fonts.css (Geist embedded).
   Every class below is used in body.html; copy a slide from there, never invent a new look.
   New classes for one deck go in a deck-specific file with a short prefix (for example dc-). */

/* ---------- source line and slide number ---------- */
.srcline { margin: 8px 0 0; font-size: 12px; line-height: 1.35; color: var(--ima-muted); padding-top: 7px; border-top: 1px solid var(--ima-line); }
.srcline + .ima-slide-num { margin-top: 5px; }

/* ---------- Internal badge: after the date on the cover ---------- */
.internal-tag { display: inline-block; font-family: var(--ima-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: #1B1B1B; background: #F2C94C; border-radius: 4px; padding: 3px 8px; margin-left: 10px; vertical-align: 2px; }

/* ---------- cover with a photo panel (navy) ---------- */
.cover-photo { position: absolute; top: 2mm; right: 0; bottom: 0; width: 41%; background-size: cover; background-position: center; }
.cover-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ima-navy) 0%, rgba(11,22,34,.35) 22%, rgba(11,22,34,0) 45%); }
.ima-slide--navy .ima-slide-inner { position: relative; z-index: 1; }
.ima-slide--navy .cover-mid { max-width: 690px; }
.ima-slide--navy .ima-display { font-size: 38px; }
.ima-slide--navy .top { max-width: 690px; }
.ima-slide--navy .cover-photo-cap { position: absolute; right: 22px; bottom: 16px; z-index: 2; font-size: 11px; color: rgba(242,246,250,.72); max-width: 420px; text-align: right; }

/* ---------- three big numbers (main message, offer) ---------- */
.stat { padding-top: 14px; border-top: 0.6pt solid var(--ima-navy); }
.cols3 .stat p { font-size: 14px; }
.cols3 .stat p.stat-num { font-size: 40px; font-weight: 600; letter-spacing: -.04em; line-height: 1; margin: 0 0 12px; color: var(--ima-navy); white-space: nowrap; }
.cols3 .stat p.stat-num.verdict { font-size: 34px; }
.cols3 .stat p.stat-label { font-family: var(--ima-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ima-muted); margin: 0 0 12px; }

/* ---------- terms slide ---------- */
.defs3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 30px; }
.defs3 .def dt { font-size: 14px; }
.defs3 .def dd { font-size: 12.6px; line-height: 1.38; }

/* ---------- figure beside reading text ---------- */
.read p, .read li { font-size: 13.8px; line-height: 1.42; }
.read ul.list li { font-size: 13.8px; margin-bottom: 7px; }
.read h3 { margin-top: 2px; }
.fig-row { grid-template-columns: auto 1fr; gap: 34px; }   /* set style="grid-template-columns:640px 1fr" when the left column holds a read-band */
.fig { padding: 8px 10px 6px; }
.fig img.fx { max-width: none; }
.fig + .caption { margin-top: 5px; }

/* ---------- photo beside content ---------- */
.with-photo { display: grid; grid-template-columns: 1fr 360px; gap: 34px; align-items: start; }
.with-photo.wide { grid-template-columns: 1fr 400px; }
.with-photo > * { min-width: 0; }
.with-photo .cols3 { gap: 22px; }
.with-photo .cols3 .stat p.stat-num { font-size: 33px; }
.photo { border-radius: 8px; overflow: hidden; border: 1px solid var(--ima-line); background: var(--ima-navy); }
.photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.photo-cap { font-size: 11.5px; line-height: 1.35; color: var(--ima-muted); margin: 6px 0 0; }
ul.list.tight { margin-top: 16px; padding-left: 18px; }
ul.list.tight li { font-size: 13.4px; line-height: 1.4; margin-bottom: 6px; }

/* ---------- grid of jobs (what the package does) and price column ---------- */
.jobs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 26px; }
.job { padding-top: 8px; border-top: 1px solid var(--ima-line); }
.job b { display: block; font-size: 14.2px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 2px; }
.job span { font-size: 12.8px; line-height: 1.38; display: block; text-wrap: pretty; }
.offer { display: grid; grid-template-columns: 1fr 300px; gap: 34px; align-items: start; }
.price .stat { margin-bottom: 18px; }
.price .stat p { font-size: 13.4px; }
.price .stat p.stat-num { font-size: 34px; font-weight: 600; letter-spacing: -.04em; line-height: 1; margin: 0 0 10px; color: var(--ima-navy); white-space: nowrap; }
.price .stat p.stat-label { font-family: var(--ima-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ima-muted); margin: 0 0 10px; }

/* ---------- grey band for one point the slide must not lose ---------- */
.read-band { margin-top: 14px; padding: 11px 15px; background: var(--ima-stone); border-radius: 8px; }
.read-band p { margin: 0; font-size: 13.6px; }
p.lead { font-size: 15px; line-height: 1.45; margin: 0 0 14px; max-width: 1080px; }

/* ---------- tables ---------- */
.ima-table.rules td { font-size: 12.8px; padding: 6px 12px 6px 0; line-height: 1.34; }
.ima-table.rules td:first-child { width: 270px; }
.ima-table.tests td { font-size: 14.2px; padding: 10px 16px 10px 0; line-height: 1.4; }
.ima-table.ev td { font-size: 14px; padding: 8px 16px 8px 0; line-height: 1.38; }
.ima-table.ev td:first-child { width: 330px; }

/* ---------- decisions ---------- */
ol.calls { margin: 0; padding-left: 20px; columns: 2; column-gap: 40px; }
ol.calls li { font-size: 15.5px; line-height: 1.45; margin: 0 0 18px; break-inside: avoid; text-wrap: pretty; }
ol.calls li::marker { color: var(--ima-sky-deep); font-weight: 600; }
.rec { font-family: var(--ima-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--ima-navy); background: var(--ima-sky); border-radius: 999px; padding: 2px 7px; margin-left: 6px; vertical-align: 1px; white-space: nowrap; }

/* ---------- sources slide: four columns fit about 40 sources ---------- */
.srcs { columns: 4; column-gap: 20px; }
.srcs p { break-inside: avoid; font-size: 10.2px; line-height: 1.28; margin: 0 0 4px; padding-left: 24px; text-indent: -24px; text-wrap: pretty; }
.srcs p b { font-family: var(--ima-mono); font-weight: 500; font-size: 9.6px; color: var(--ima-sky-deep); display: inline-block; width: 24px; text-indent: 0; }
.srcs a { font-family: var(--ima-mono); font-size: 9px; color: var(--ima-sky-deep); border-bottom: 1px solid var(--ima-line); word-break: break-all; }
.srcs .tag2 { color: var(--ima-muted); }
