/* The twenty industry pages.
 *
 * Tokens come from premium.css. Alternating grounds, so a reader can tell one
 * section from the next without a card around everything: dark, cream, dark,
 * cream. The lattice appears on the dark ones only, because a pattern showing
 * through a cream surface reads as a printing fault.
 *
 * Lime on the dark grounds, lime-deep on the cream ones. Lime on cream measures
 * 1.01:1 and is never used.
 */
.pk-wrap{max-width:var(--rs-max);margin:0 auto;padding:0 clamp(22px,3.4vw,48px)}
.pk-eyebrow{margin:0 0 12px;font-family:var(--rs-font-mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase}
.pk-acts{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin:26px 0 0}
.pk-go{display:inline-block;border:0;cursor:pointer;text-decoration:none;
  font-family:var(--rs-font-ui);font-size:15.5px;font-weight:600;
  padding:15px 26px;border-radius:2px}
.pk-text{font-size:13.5px;text-decoration:underline;text-underline-offset:3px}

/* ---------- dark sections ---------- */
.pk-hero,.pk-example,.pk-end{position:relative;background:var(--rs-ink);
  color:var(--rs-cream);overflow:hidden}
.pk-hero:before,.pk-example:before,.pk-end:before{content:"";position:absolute;inset:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='104' viewBox='0 0 120 104'%3E%3Cpath d='M30 2 L90 2 L120 52 L90 102 L30 102 L0 52 Z' fill='none' stroke='%23D8FF47' stroke-opacity='0.045' stroke-width='1.3'/%3E%3C/svg%3E");
  background-size:110px 95px}
.pk-hero .pk-wrap,.pk-example .pk-wrap,.pk-end .pk-wrap{position:relative;z-index:1}
.pk-hero .pk-eyebrow,.pk-example .pk-eyebrow{color:var(--rs-signal)}
.pk-hero .pk-go,.pk-example .pk-go,.pk-end .pk-go{background:var(--rs-signal);color:var(--rs-ink)}
.pk-hero .pk-go:hover,.pk-end .pk-go:hover{background:var(--rs-signal-hot)}

.pk-hero{padding:clamp(78px,9vw,128px) 0 clamp(44px,5vw,76px)}
.pk-crumb{display:flex;gap:8px;align-items:center;margin:0 0 28px;
  font-family:var(--rs-font-mono);font-size:10.5px;letter-spacing:.08em;
  color:rgba(244,240,230,.6)}
.pk-crumb a{color:rgba(244,240,230,.78);text-decoration:none}
.pk-crumb a:hover{color:var(--rs-signal)}
.pk-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.72fr);
  gap:clamp(28px,4vw,64px);align-items:center}
.pk-kicker{margin:0 0 14px;font-family:var(--rs-font-mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--rs-signal)}
.pk-hero h1{margin:0 0 24px;font-family:var(--rs-font-display);font-weight:700;
  font-size:clamp(34px,4.4vw,62px);line-height:1.02;letter-spacing:-.048em;
  max-width:14em}
.pk-lede{margin:0 0 16px;max-width:36em;font-size:clamp(15px,1.3vw,17px);
  line-height:1.62;color:rgba(244,240,230,.82)}
.pk-close{margin:0;max-width:36em;font-size:14.5px;line-height:1.6;
  color:rgba(244,240,230,.66)}
.pk-price{font-size:13.5px;color:rgba(244,240,230,.82)}
.pk-price b{font-family:var(--rs-font-display);font-size:19px;letter-spacing:-.03em;
  color:var(--rs-cream)}
.pk-free{margin:16px 0 0;max-width:34em;font-size:12.5px;line-height:1.6;
  color:rgba(244,240,230,.66)}
.pk-plate{margin:0;border-radius:2px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.pk-plate img{display:block;width:100%;height:auto}

/* ---------- cream sections ---------- */
.pk-sources,.pk-price-band,.pk-faq,.pk-reading{background:var(--rs-cream);color:var(--rs-ink);
  padding:clamp(48px,5.4vw,84px) 0}
.pk-sources .pk-eyebrow,.pk-price-band .pk-eyebrow,.pk-faq .pk-eyebrow,.pk-reading .pk-eyebrow{color:var(--rs-signal-deep)}
.pk-sources h2,.pk-price-band h2,.pk-faq h2,.pk-reading h2{margin:0 0 18px;
  font-family:var(--rs-font-display);font-weight:700;
  font-size:clamp(24px,2.8vw,40px);line-height:1.08;letter-spacing:-.042em;
  max-width:17em}
.pk-intro{margin:0 0 32px;max-width:44em;font-size:15px;line-height:1.65;color:#3A4A40}
.pk-note{margin:24px 0 0;font-size:13px;color:#5C6B60}
.pk-price-band .pk-go,.pk-faq .pk-go{background:var(--rs-ink);color:var(--rs-signal)}
.pk-price-band .pk-go:hover{background:var(--rs-panel)}
.pk-text{color:var(--rs-signal-deep)}

/* the source table. A table because it is tabular: a source, and what it means. */
.src-table{width:100%;border-collapse:collapse;text-align:left}
.src-table tr{border-top:1px solid rgba(5,19,13,.14)}
.src-table tr:last-child{border-bottom:1px solid rgba(5,19,13,.14)}
.src-table th{width:clamp(150px,20vw,240px);padding:22px 24px 22px 0;
  vertical-align:top;font-weight:400}
.src-table th b{display:block;font-family:var(--rs-font-display);font-size:16px;
  font-weight:700;letter-spacing:-.025em;color:var(--rs-ink)}
.src-table th span{display:block;margin-top:5px;font-family:var(--rs-font-mono);
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#5C6B60}
.src-table td{padding:22px 0;vertical-align:top}
.src-why{margin:0 0 8px;font-size:15px;line-height:1.6;color:var(--rs-ink);max-width:44em}
.src-what{margin:0;font-size:13px;line-height:1.6;color:#5C6B60;max-width:44em}
.src-limit{margin:12px 0 0;padding:11px 14px;max-width:46em;
  background:rgba(61,107,18,.075);border-left:2px solid var(--rs-signal-deep);
  font-size:13px;line-height:1.6;color:#2C3A31}
.src-limit b{color:var(--rs-signal-deep)}

/* the worked example */
.pk-example{padding:clamp(48px,5.4vw,84px) 0}
.pk-example h2{margin:0 0 10px;font-family:var(--rs-font-display);font-weight:700;
  font-size:clamp(24px,2.8vw,40px);line-height:1.08;letter-spacing:-.042em;max-width:16em}
.pk-sample{margin:0 0 30px;font-family:var(--rs-font-mono);font-size:10.5px;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(244,240,230,.6)}
.ex-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;background:rgba(244,240,230,.14);border:1px solid rgba(244,240,230,.14)}
.ex-cell{background:var(--rs-ink);padding:24px}
.ex-lab{margin:0 0 10px;font-family:var(--rs-font-mono);font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--rs-signal)}
.ex-cell p:last-child{margin:0;font-size:14.5px;line-height:1.62;
  color:rgba(244,240,230,.88)}

/* price band */
.pk-price-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr);
  gap:clamp(28px,4vw,64px);align-items:start}
.pk-price-band p{font-size:15px;line-height:1.65;color:#3A4A40;max-width:36em;margin:0 0 14px}
.pk-annual{color:var(--rs-signal-deep)!important;font-weight:500}
.pk-streams{list-style:none;margin:0;padding:0;display:grid;gap:1px;
  background:rgba(5,19,13,.13);border:1px solid rgba(5,19,13,.13)}
.pk-streams a{display:block;background:var(--rs-cream);padding:12px 16px;
  text-decoration:none;font-size:13.5px;line-height:1.5;color:#5C6B60}
.pk-streams a:hover{background:#EFEBDF}
.pk-streams b{display:inline-block;min-width:88px;font-weight:600;color:var(--rs-ink)}

/* questions */
.qa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:clamp(20px,2.4vw,40px);margin-top:34px}
.qa h3{margin:0 0 10px;font-family:var(--rs-font-display);font-size:17px;
  font-weight:700;letter-spacing:-.026em;color:var(--rs-ink)}
.qa p{margin:0;font-size:14.5px;line-height:1.65;color:#3A4A40}

.pk-end{padding:clamp(48px,5.4vw,84px) 0;text-align:center}
.pk-end h2{margin:0 0 16px;font-family:var(--rs-font-display);font-weight:700;
  font-size:clamp(26px,3vw,42px);line-height:1.06;letter-spacing:-.045em}
.pk-end p{margin:0 auto;max-width:40em;font-size:15px;line-height:1.65;
  color:rgba(244,240,230,.82)}
.pk-end .pk-acts{justify-content:center}

@media (max-width:900px){
  .pk-hero-grid,.pk-price-grid{grid-template-columns:1fr}
  .pk-plate{max-width:360px}
  .src-table,.src-table tbody,.src-table tr,.src-table th,.src-table td{display:block;width:auto}
  .src-table th{padding:20px 0 10px}
  .src-table td{padding:0 0 20px}
}

/* the index list */
.ix-list{display:grid;gap:1px;background:rgba(5,19,13,.13);
  border-top:1px solid rgba(5,19,13,.13);border-bottom:1px solid rgba(5,19,13,.13)}
.ix-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) auto;
  gap:20px;align-items:baseline;background:var(--rs-cream);
  padding:18px 4px;text-decoration:none}
.ix-row:hover{background:#EFEBDF}
.ix-name{font-family:var(--rs-font-display);font-size:16px;font-weight:700;
  letter-spacing:-.026em;color:var(--rs-ink)}
.ix-lead{font-size:14px;line-height:1.5;color:#3A4A40}
.ix-price{font-family:var(--rs-font-display);font-size:19px;font-weight:700;
  letter-spacing:-.035em;color:var(--rs-signal-deep);text-align:right;white-space:nowrap}
.ix-price small{display:block;font-family:var(--rs-font-ui);font-size:10.5px;
  font-weight:400;letter-spacing:0;color:#5C6B60}
@media (max-width:760px){
  .ix-row{grid-template-columns:1fr auto;gap:6px 16px}
  .ix-lead{grid-column:1/-1}
}
.pk-streams li.lead a{background:#EFEBDF}
.pk-leads{display:inline-block;margin-left:10px;font-family:var(--rs-font-mono);
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rs-signal-deep);vertical-align:middle}

/* ---------- the scenario ----------
   A dark section between the two cream ones, so the page alternates and the
   sequence reads as a change of pace rather than more of the same. */
.pk-scenario{position:relative;background:var(--rs-ink);color:var(--rs-cream);
  padding:clamp(48px,5.4vw,84px) 0;overflow:hidden}
.pk-scenario:before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='104' viewBox='0 0 120 104'%3E%3Cpath d='M30 2 L90 2 L120 52 L90 102 L30 102 L0 52 Z' fill='none' stroke='%23D8FF47' stroke-opacity='0.045' stroke-width='1.3'/%3E%3C/svg%3E");
  background-size:110px 95px}
.pk-scenario .pk-wrap{position:relative;z-index:1}
.pk-scenario .pk-eyebrow{color:var(--rs-signal)}
.pk-scenario h2{margin:0 0 18px;font-family:var(--rs-font-display);font-weight:700;
  font-size:clamp(24px,2.8vw,40px);line-height:1.08;letter-spacing:-.042em;max-width:16em}
.sc-who{margin:0 0 30px;max-width:44em;font-size:clamp(15px,1.3vw,17px);
  line-height:1.62;color:rgba(244,240,230,.82)}

.sc-list{list-style:none;margin:0;padding:0;
  border-top:1px solid rgba(244,240,230,.16)}
.sc-step{display:grid;grid-template-columns:130px minmax(0,1fr) 210px;
  gap:24px;align-items:baseline;padding:20px 0;
  border-bottom:1px solid rgba(244,240,230,.16);position:relative}
.sc-when{font-family:var(--rs-font-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--rs-signal)}
.sc-what{font-size:15.5px;line-height:1.6;color:rgba(244,240,230,.92);max-width:46em}
.sc-src{font-family:var(--rs-font-mono);font-size:10.5px;letter-spacing:.06em;
  color:rgba(244,240,230,.6);text-align:right}
/* the last step is where everyone else joins, so it carries the weight */
.sc-step:last-child .sc-what{color:var(--rs-cream)}
.sc-payoff{margin:30px 0 0;max-width:40em;
  font-family:var(--rs-font-display);font-weight:700;
  font-size:clamp(17px,1.7vw,23px);line-height:1.35;letter-spacing:-.028em;
  color:var(--rs-cream)}
.pk-scenario .pk-sample{margin:18px 0 0}

@media (max-width:820px){
  .sc-step{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 0}
  .sc-src{text-align:left}
}

/* ---------- reading ---------- */
/* Two guides, chosen from the streams that lead this pack. Lime never touches
   cream here: it measures 1.01:1 and cannot be read. */
.pk-reading{padding-top:0}
.pk-reading-list{list-style:none;margin:0 0 26px;padding:0;
  display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.pk-reading-list a{display:block;height:100%;padding:22px 24px;
  border:1px solid rgba(5,19,13,.16);border-radius:14px;
  background:#FFFDF7;text-decoration:none;color:var(--rs-ink);
  transition:border-color .18s ease,transform .18s ease}
.pk-reading-list a:hover{border-color:var(--rs-signal-deep);transform:translateY(-2px)}
.pk-reading-list a:focus-visible{outline:2px solid var(--rs-signal-deep);outline-offset:3px}
.pk-reading-list b{display:block;font-family:var(--rs-font-display);
  font-size:17px;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.pk-reading-list span{display:block;margin-top:9px;font-family:var(--rs-font-mono);
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--rs-signal-deep)}
