/* Thames Label & Litho Content Design System v1.1.0
   Permanent client-owned styling for converted Thames content pages.
   Critical layouts avoid Grid/Flex and use theme-stable table structures. */

.dc-thames-page,
.dc-thames-page *,
.dc-thames-page *::before,
.dc-thames-page *::after { box-sizing:border-box!important; }

.dc-thames-page {
  --tl-burgundy:#a51f2d;
  --tl-navy:#24466f;
  --tl-link:#2875b9;
  --tl-body:#4e5964;
  --tl-lead:#293744;
  --tl-muted:#707982;
  --tl-border:#dce2e7;
  --tl-grey:#f4f6f8;
  --tl-warm:#faf7f7;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
  color:var(--tl-body)!important;
  line-height:1.7!important;
}
.dc-thames-page > * { max-width:100%!important; float:none!important; clear:both!important; }
.dc-thames-page h2,.dc-thames-page h3,.dc-thames-page p,.dc-thames-page ul,.dc-thames-page li { float:none!important; clear:none!important; }
.dc-thames-page h2 { margin:0 0 16px!important; padding:0!important; color:var(--tl-burgundy)!important; font-size:24px!important; line-height:1.3!important; font-weight:500!important; }
.dc-thames-page h3 { margin:0 0 10px!important; padding:0!important; color:var(--tl-navy)!important; font-size:15px!important; line-height:1.4!important; font-weight:700!important; }
.dc-thames-page p { margin:0 0 17px!important; padding:0!important; color:var(--tl-body)!important; font-size:14px!important; line-height:1.72!important; }
.dc-thames-page a { color:var(--tl-link)!important; text-decoration:none!important; }
.dc-thames-page a:hover,.dc-thames-page a:focus { color:var(--tl-burgundy)!important; }
.dc-thames-page .tl-eyebrow { margin:0 0 9px!important; color:var(--tl-muted)!important; font-size:10.5px!important; line-height:1.4!important; font-weight:800!important; letter-spacing:.08em!important; text-transform:uppercase!important; }
.dc-thames-page .tl-lead { margin:0 0 18px!important; color:var(--tl-lead)!important; font-size:16px!important; line-height:1.58!important; font-weight:700!important; }

/* Major spacing lives on the next section wrapper, so margins cannot collapse. */
.dc-thames-page > .tl-section-shell { display:block!important; width:100%!important; max-width:100%!important; margin:0!important; padding:86px 0 0!important; float:none!important; clear:both!important; background:transparent!important; }
.dc-thames-page .tl-section { display:block!important; width:100%!important; max-width:100%!important; margin:0!important; padding:0!important; float:none!important; clear:both!important; }

/* Intro */
.dc-thames-page .tl-intro { display:block!important; width:100%!important; margin:0!important; padding:4px 0 10px 20px!important; border:0!important; border-left:3px solid var(--tl-burgundy)!important; background:#fff!important; }
.dc-thames-page .tl-actions { display:block!important; width:100%!important; margin:34px 0 0!important; padding:0!important; }
.dc-thames-page .tl-button { display:inline-block!important; margin:0 20px 10px 0!important; padding:13px 19px!important; border:0!important; background:var(--tl-burgundy)!important; color:#fff!important; font-size:11.5px!important; line-height:1.2!important; font-weight:800!important; letter-spacing:.02em!important; text-transform:uppercase!important; text-align:center!important; }
.dc-thames-page .tl-button:hover,.dc-thames-page .tl-button:focus { background:var(--tl-navy)!important; color:#fff!important; }
.dc-thames-page .tl-link { display:inline-block!important; margin:0 0 10px!important; font-size:13px!important; line-height:1.4!important; font-weight:700!important; }

/* Background bands */
.dc-thames-page .tl-band { padding:42px 30px 44px!important; border:1px solid #e1e6ea!important; background:var(--tl-grey)!important; }
.dc-thames-page .tl-band-warm { padding:42px 30px 44px!important; border:1px solid #eadfe1!important; background:var(--tl-warm)!important; }
.dc-thames-page .tl-section-head { display:block!important; width:100%!important; margin:0 0 30px!important; padding:0!important; }
.dc-thames-page .tl-section-head > :last-child { margin-bottom:0!important; }

/* Stable 2x2 card table */
.dc-thames-page table.tl-card-table { display:table!important; width:calc(100% + 18px)!important; max-width:none!important; margin:0 -9px!important; padding:0!important; border:0!important; border-collapse:separate!important; border-spacing:9px 18px!important; table-layout:fixed!important; background:transparent!important; box-shadow:none!important; float:none!important; clear:both!important; }
.dc-thames-page table.tl-card-table tbody { display:table-row-group!important; }
.dc-thames-page table.tl-card-table tr { display:table-row!important; background:transparent!important; border:0!important; }
.dc-thames-page table.tl-card-table td.tl-card { display:table-cell!important; width:50%!important; max-width:50%!important; vertical-align:top!important; margin:0!important; padding:24px 22px!important; border:1px solid var(--tl-border)!important; border-top:4px solid var(--tl-navy)!important; background:#fff!important; box-shadow:0 1px 3px rgba(36,70,111,.06)!important; float:none!important; clear:none!important; }
.dc-thames-page table.tl-card-table td.tl-card h3 { margin:0 0 10px!important; color:var(--tl-navy)!important; }
.dc-thames-page table.tl-card-table td.tl-card p:last-child { margin-bottom:0!important; }

/* Process */
.dc-thames-page .tl-process { display:block!important; width:100%!important; margin:30px 0 0!important; padding:0!important; border-top:2px solid var(--tl-navy)!important; }
.dc-thames-page .tl-process-row { display:table!important; width:100%!important; margin:0!important; padding:22px 0!important; border-bottom:1px solid #e0e5e9!important; }
.dc-thames-page .tl-process-number { display:table-cell!important; width:52px!important; vertical-align:top!important; padding:1px 16px 0 0!important; color:var(--tl-burgundy)!important; font-size:12px!important; line-height:1.4!important; font-weight:800!important; }
.dc-thames-page .tl-process-copy { display:table-cell!important; vertical-align:top!important; }
.dc-thames-page .tl-process-copy h3 { margin-bottom:7px!important; color:var(--tl-navy)!important; }
.dc-thames-page .tl-process-copy p:last-child { margin-bottom:0!important; }

/* Technical panel */
.dc-thames-page .tl-tech { display:block!important; width:100%!important; margin:0!important; padding:0!important; border:1px solid #cfd8e0!important; background:#f7f9fa!important; overflow:hidden!important; }
.dc-thames-page .tl-tech-title { display:block!important; width:100%!important; margin:0!important; padding:15px 20px!important; background:var(--tl-navy)!important; color:#fff!important; font-size:12px!important; line-height:1.35!important; font-weight:800!important; letter-spacing:.05em!important; text-transform:uppercase!important; }
.dc-thames-page .tl-tech-body { display:block!important; width:100%!important; padding:8px 22px 10px!important; }
.dc-thames-page .tl-tech-row { display:table!important; width:100%!important; margin:0!important; padding:19px 0!important; border-top:1px solid #d7dfe6!important; }
.dc-thames-page .tl-tech-row:first-child { border-top:0!important; }
.dc-thames-page .tl-tech-name { display:table-cell!important; width:29%!important; vertical-align:top!important; padding-right:22px!important; color:var(--tl-navy)!important; font-size:13px!important; line-height:1.55!important; font-weight:700!important; }
.dc-thames-page .tl-tech-copy { display:table-cell!important; vertical-align:top!important; color:#5c6670!important; font-size:13px!important; line-height:1.67!important; }

/* Proof */
.dc-thames-page .tl-proof { padding:42px 30px!important; border:1px solid #e1e6ea!important; border-left:4px solid var(--tl-navy)!important; background:var(--tl-grey)!important; }
.dc-thames-page .tl-proof-table { display:table!important; width:100%!important; margin:24px 0 0!important; padding:0!important; border-collapse:separate!important; border-spacing:0!important; table-layout:fixed!important; }
.dc-thames-page .tl-proof-table td { display:table-cell!important; width:50%!important; vertical-align:top!important; padding:0 24px 0 0!important; border:0!important; background:transparent!important; }
.dc-thames-page .tl-proof-item { position:relative!important; margin:0 0 13px!important; padding:2px 0 2px 16px!important; color:var(--tl-body)!important; font-size:13px!important; line-height:1.58!important; }
.dc-thames-page .tl-proof-item::before { content:""!important; position:absolute!important; left:0!important; top:9px!important; width:6px!important; height:6px!important; background:var(--tl-burgundy)!important; }

/* Final CTA */
.dc-thames-page .tl-final-cta { display:block!important; width:100%!important; margin:38px 0 0!important; padding:32px 28px!important; background:var(--tl-burgundy)!important; color:#fff!important; }
.dc-thames-page .tl-final-cta h3 { margin:0 0 9px!important; color:#fff!important; font-size:18px!important; }
.dc-thames-page .tl-final-cta p { margin:0 0 18px!important; color:#fff!important; }
.dc-thames-page .tl-final-cta .tl-button { display:block!important; width:100%!important; margin:0!important; background:#fff!important; color:var(--tl-burgundy)!important; }
.dc-thames-page .tl-final-cta .tl-button:hover,.dc-thames-page .tl-final-cta .tl-button:focus { background:var(--tl-navy)!important; color:#fff!important; }

@media (max-width:760px) {
  .dc-thames-page h2 { font-size:22px!important; }
  .dc-thames-page > .tl-section-shell { padding-top:62px!important; }
  .dc-thames-page .tl-band,.dc-thames-page .tl-band-warm,.dc-thames-page .tl-proof { padding:32px 18px 34px!important; }
  .dc-thames-page table.tl-card-table,.dc-thames-page table.tl-card-table tbody,.dc-thames-page table.tl-card-table tr,.dc-thames-page table.tl-card-table td.tl-card { display:block!important; width:100%!important; max-width:100%!important; }
  .dc-thames-page table.tl-card-table { width:100%!important; margin:0!important; border-spacing:0!important; }
  .dc-thames-page table.tl-card-table td.tl-card { margin:0 0 15px!important; }
  .dc-thames-page .tl-tech-row,.dc-thames-page .tl-tech-name,.dc-thames-page .tl-tech-copy { display:block!important; width:100%!important; }
  .dc-thames-page .tl-tech-name { margin-bottom:6px!important; padding-right:0!important; }
  .dc-thames-page .tl-proof-table,.dc-thames-page .tl-proof-table tbody,.dc-thames-page .tl-proof-table tr,.dc-thames-page .tl-proof-table td { display:block!important; width:100%!important; }
  .dc-thames-page .tl-proof-table td { padding:0!important; }
  .dc-thames-page .tl-actions .tl-button,.dc-thames-page .tl-actions .tl-link { display:block!important; width:100%!important; margin:0 0 12px!important; text-align:center!important; }
}

/* Final CTA text-link treatment: render as a high-contrast button inside burgundy panels. */
.dc-thames-page .tl-final-cta .tl-final-link { margin:22px 0 0!important; }
.dc-thames-page .tl-final-cta .tl-final-link .tl-link {
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:13px 18px!important;
  border:2px solid #fff!important;
  background:#fff!important;
  color:var(--tl-burgundy)!important;
  text-align:center!important;
  text-decoration:none!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.dc-thames-page .tl-final-cta .tl-final-link .tl-link:hover,
.dc-thames-page .tl-final-cta .tl-final-link .tl-link:focus {
  border-color:var(--tl-navy)!important;
  background:var(--tl-navy)!important;
  color:#fff!important;
  outline:0!important;
}
