/* Built Logic — Team training page (pass v5, 12 Sep 2026).
   Page-scoped plain CSS. Loaded after assets/bl-visual.css, which owns the
   shared hero grid, film variants, diagram panel and motion tokens.

   Six locked colours only. Every composition here reads completely with no
   JavaScript: motion is an added class, never the source of the content.

   The v2 left-column gap came from .tt-prod (288px sticky track) holding a
   .tt-sum block whose content was shorter than the detail column. That grid,
   its position:sticky and the old eight-week rail are gone rather than
   patched: the page is now two top-aligned offer cards and one delivery
   diagram, so there is no sticky summary left to misalign. */

/* ---------------------------------------------------------------- shell */

.fs-page main > .fs-section:first-of-type { padding-top: 132px; }
@media (max-width: 760px) { .fs-page main > .fs-section:first-of-type { padding-top: 108px; } }
.fs-page .pill-nav a { text-decoration: none; }

.tr-section--tint { background: #E5E5E2; }
.tr-h2-sans {
  /* Fraunces like every other section heading (brand: site headings are Fraunces 500; deep review, 30 Sep 2026). */
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.18;
  letter-spacing: -.01em;
  margin: 0 0 16px;
  color: #232A31;
}
.tr-kicker {
  margin: 0 0 10px;
  font: 600 13px/1 'Source Sans 3', system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  color: #586069;
}

/* ----------------------------------------------------------------- hero */
/* The 45:55 grid, its gap and its stacking breakpoint are the shared .bl-hero
   module in assets/bl-visual.css. Nothing here re-declares them: the only
   page-local job is the production state, where the build strips
   [data-staging-only] and the media track would otherwise sit empty. */

.tr-hero:not(:has(.tr-hero__media .bl-film, .tr-hero__media .trm)) { grid-template-columns: minmax(0, 1fr); }
.tr-hero:not(:has(.tr-hero__media .bl-film, .tr-hero__media .trm)) .tr-hero__media { display: none; }

/* --------------------------------------------------------- offer cards */
/* Top-aligned, natural height. Price sits with its own offer, never in a
   distant sidebar, and nothing here is hover-only. */

.tr-offers { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: start; }
.tr-offer {
  display: flex;
  flex-direction: column;
  border: 1px solid #E5E5E2;
  border-radius: 12px;
  background: #FAFAF8;
  padding: 30px 30px 32px;
}
@media (prefers-reduced-motion: no-preference) {
  .tr-offer { transition: border-color 180ms cubic-bezier(.2,.6,.2,1), box-shadow 180ms cubic-bezier(.2,.6,.2,1); }
}
 .tr-offer:focus-within {
  border-color: #1B3A5B;
}@media (hover: hover) and (pointer: fine){.tr-offer:hover{
  border-color: #1B3A5B;
}}
.tr-offer__name {
  margin: 0;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: -.015em;
  color: #232A31;
}
.tr-offer__price {
  margin: 14px 0 0;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: clamp(34px, 3.4vw, 42px);
  line-height: 1;
  letter-spacing: -.02em;
  color: #1B3A5B;
}
.tr-offer__meta {
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid #E5E5E2;
  font: 600 14px/1.5 'Source Sans 3', system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  color: #586069;
}
.tr-offer__b { margin: 18px 0 0; font-size: 17px; line-height: 1.6; color: #232A31; }
.tr-offer__note { margin: 14px 0 0; font-size: 15px; line-height: 1.6; color: #586069; }
.tr-offer .fs-cta { margin-top: 26px; align-self: flex-start; }

/* ------------------------------------------------------- topic graphic */

.tr-topics { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tr-topic {
  border: 1px solid rgba(35,42,49,.18);
  border-radius: 12px;
  background: #FAFAF8;
  padding: 24px 22px 26px;
}
.tr-topic__mark { display: block; width: 100%; height: auto; margin: 0 0 18px; }
.tr-topic__k { margin: 0; font: 600 14px/1.45 'Source Sans 3', system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #1B3A5B; }

/* ----------------------------------------------------- delivery cycle */
/* The panel, its desktop/mobile variants and the whole one-time entry
   sequence are the shared module in assets/bl-visual.css and
   assets/bl-visual.js. Nothing page-local may re-declare them. There is no
   Replay control: the sequence runs once on first entry and settles. */

/* A short section introduction is centred where it balances a full-width
   graphic below it. Body copy, prices and offer detail stay left-aligned. */
.tr-intro { max-width: 64ch; margin-left: auto; margin-right: auto; text-align: center; }
.tr-intro .fs-lead { margin-left: auto; margin-right: auto; }
@media (max-width: 760px) { .tr-intro { text-align: left; margin-left: 0; } }

.tr-diagram__svg { display: block; width: 100%; height: auto; }

/* ---------------------------------------------- the working method panel */
/* Sits immediately below the delivery graphic and replaces the old worked
   summary table. Plain type and rules: three labelled details, no document
   chrome pretending to be a completed client record. */

.tr-method {
  margin: 26px 0 0;
  padding: 26px 28px 28px;
  border: 1px solid rgba(35,42,49,.24);
  border-radius: 12px;
  background: #FAFAF8;
  max-width: 62em;
}
.tr-method__h { margin: 0; font: 600 clamp(20px, 2vw, 24px)/1.25 'Source Sans 3', system-ui, sans-serif; letter-spacing: -.005em; color: #232A31; }
.tr-method__b { margin: 12px 0 0; font-size: 17px; line-height: 1.62; color: #586069; max-width: 58ch; }
.tr-method__list { margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 32px; }
.tr-method__row { border-top: 1px solid #E5E5E2; padding-top: 14px; }
.tr-method__row dt { margin: 0; font: 600 13px/1.5 'Source Sans 3', system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #1B3A5B; }
.tr-method__row dd { margin: 10px 0 0; font-size: 16px; line-height: 1.6; color: #232A31; }

/* ------------------------------------------------ the one closing action */
/* Folded into the final useful section rather than given its own slab. The
   heading, supporting line and button are centred as one block (File 2 v5
   section 5); the FAQ rows above them stay left-aligned for reading. */

.tr-close { margin: 33px 0 0; padding-top: 30px; border-top: 1px solid #586069; max-width: 800px; margin-inline: auto; text-align: center; }
.tr-close__h { margin: 0; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: clamp(24px, 2.6vw, 30px); line-height: 1.18; letter-spacing: -.015em; color: #232A31; }
.tr-close__b { margin: 16px auto 0; font-size: 17px; line-height: 1.62; color: #586069; max-width: 52ch; }
.tr-close__a { margin: 24px 0 0; }

/* Centred standalone section heading. Not inherited: only the heading moves. */
.tr-centre { text-align: center; }

/* ------------------------------------------------------------ modules */
/* One expandable module per supporting story or retained curriculum. The
   summary is a real control: visible focus, no hover-only information. */

.tr-mod { margin: 28px 0 0; border-top: 1px solid #586069; max-width: 58em; }
.tr-mod + .tr-mod { margin-top: 20px; }
.tr-mod__k { margin: 18px 0 0; font: 600 13px/1.5 'Source Sans 3', system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #586069; }
.tr-mod__h { margin: 10px 0 0; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.2; letter-spacing: -.015em; color: #232A31; }
.tr-mod__sum {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 16px 0 0;
  padding: 12px 2px;
  cursor: pointer;
  font: 600 16px/1.4 'Source Sans 3', system-ui, sans-serif;
  color: #1B3A5B;
  list-style: none;
}
.tr-mod__sum::-webkit-details-marker { display: none; }
.tr-mod__sum::after { content: ""; flex: 0 0 9px; width: 9px; height: 9px; border-right: 1.5px solid #1B3A5B; border-bottom: 1.5px solid #1B3A5B; transform: rotate(45deg) translateY(-2px); }
details[open] > .tr-mod__sum::after { transform: rotate(225deg) translateY(-2px); }
.tr-mod__d { margin: 0; }
.tr-mod__sum:focus-visible { outline: 2px solid #1B3A5B; outline-offset: 2px; }
.tr-mod__body { padding: 4px 0 18px; }
.tr-mod__body p { font-size: 17px; line-height: 1.65; color: #232A31; margin: 0 0 14px; max-width: 58ch; }
.tr-mod__cap { margin: 18px 0 0; font: 600 13px/1.6 'Source Sans 3', system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #1B3A5B; }
.tr-mod__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 32px; }
.tr-mod__list > li { border-top: 1px solid #E5E5E2; padding-top: 12px; }
.tr-mod__lk { margin: 0 0 7px; font: 600 13px/1.5 'Source Sans 3', system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #1B3A5B; }
.tr-mod__lb { margin: 0; font-size: 16px; line-height: 1.6; color: #586069; }

/* --------------------------------------------------------------- FAQ */
/* A centred 800px reading container. Question and answer text stays
   left-aligned inside it (File 2 v5 section 5). */

@media (prefers-reduced-motion: no-preference) {
}

/* -------------------------------------------------------- responsive */

@media (max-width: 1000px) {
  .tr-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .tr-offers { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .tr-mod__list { grid-template-columns: minmax(0, 1fr); }
  .tr-method__list { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 760px) {
  .tr-offer { padding: 24px 22px 26px; }
  .tr-method { padding: 22px 22px 24px; }
  /* 17px + 1px separator + 30px padding = the 48px mobile gap from the last FAQ
     row's bottom border to the closing heading. */
  .tr-close { margin-top: 17px; }
}

/* ------------------------------------ closing button to footer boundary */
/* The shared .footer-shell carries margin-top: -40px for the insights-teaser
   transition, which left only 24px (desktop) and 4px (mobile) between this
   page's closing button and the footer's dark background. Cancelling it here
   restores the section's own 64px/44px bottom padding as the visible gap, the
   same scoped correction pages-map.css and pages-study.css already use. */


/* ==================================================================
   AI Training refresh (24 Sep 2026). Buttons, icon tiles, the hero
   field, FAQ cards and hover rules are shared: see the "Service page
   refresh" block in assets/bl-visual.css (body.bl-refresh).
   ================================================================== */

/* Offer cards: equal height, soft lift and a Consulting Blue rail on hover */
.tr-page .tr-offers { align-items: stretch; }
.tr-page .tr-offer { position: relative; overflow: hidden; border: 1px solid rgba(35, 42, 49, 0.1); border-radius: 18px; transition: transform 250ms var(--bl-ease-out), box-shadow 250ms ease, border-color 250ms ease; }
.tr-page .tr-offer .bl-icon { margin-bottom: 20px; }
.tr-page .tr-offer--lead { background: var(--bl-tint); border-color: rgba(27, 58, 91, 0.16); }
.tr-page .tr-offer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: #1B3A5B; transform: scaleX(0); transform-origin: left; transition: transform 250ms var(--bl-ease-out); }
.tr-page .tr-offer .fs-cta { margin-top: auto; }
.tr-page .tr-offer__note { margin-bottom: 26px; }
.tr-page .tr-offer__meta { font-family: "Source Sans 3", system-ui, sans-serif; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #1B3A5B; }
.tr-page .tr-offer:focus-within { border-color: rgba(27, 58, 91, 0.3); }
.tr-tailored { display: flex; align-items: center; gap: 20px; margin-top: 24px; padding: 20px 24px; border: 1px dashed rgba(27, 58, 91, 0.3); border-radius: 18px; }
.tr-tailored .tr-offer__note { margin: 0; flex: 1; color: #232A31; font-size: 16px; }

/* Work your teams recognise: a tinted rounded sheet, not a grey band */
.tr-page .tr-section--tint { background: var(--bl-tint); margin: 0 clamp(8px, 1.4vw, 20px); border-radius: clamp(20px, 3vw, 36px); }
.tr-page .tr-topic { border: 1px solid rgba(35, 42, 49, 0.08); border-radius: 18px; background: #FAFAF8; transition: transform 250ms var(--bl-ease-out), box-shadow 250ms ease; }
.tr-page .tr-topic__k { font: 600 17px/1.35 "Source Sans 3", system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #232A31; }

/* How the training is delivered: four connected steps with icons, no numbers */
.tr-cycle { margin: 36px 0 0; }
.tr-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.tr-step { position: relative; padding: 24px 22px 26px; border: 1px solid rgba(35, 42, 49, 0.1); border-radius: 18px; background: #FAFAF8; }
.tr-step .bl-icon { margin-bottom: 18px; }
.tr-step__h { margin: 0 0 8px; font: 600 19px/1.3 "Source Sans 3", system-ui, sans-serif; color: #232A31; }
.tr-step p { margin: 0; font-size: 16px; line-height: 1.6; color: #586069; }
.tr-step:not(:last-child)::after { content: ''; position: absolute; top: 47px; right: -21px; width: 22px; height: 1.5px; background: #AFC4DD; }
.tr-step--accent { background: var(--bl-tint); border-color: rgba(27, 58, 91, 0.22); }
.tr-cycle.is-armed.is-live [data-step] { animation-duration: 280ms; animation-delay: calc(var(--i, 0) * 60ms); }
.tr-cycle__loop { display: flex; align-items: center; gap: 14px; margin: 18px 0 0; padding: 14px 20px; border-radius: 14px; background: var(--bl-tint); font-size: 15px; line-height: 1.55; color: #232A31; }

/* The working method: a soft card, headings instead of mono labels */
.tr-page .tr-method { border: 1px solid rgba(35, 42, 49, 0.1); border-radius: 18px; background: #FAFAF8; }
.tr-page .tr-method__row { border-top: 2px solid #AFC4DD; }
.tr-page .tr-method__row dt { font: 600 17px/1.35 "Source Sans 3", system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #232A31; }
.tr-page .tr-method__row dd { color: #586069; }
.tr-page .tr-mod { border: 1px solid #E5E5E2; border-radius: 14px; padding: 0 20px; max-width: none; }
.tr-page .tr-mod__lk { font: 600 16px/1.4 "Source Sans 3", system-ui, sans-serif; letter-spacing: 0; text-transform: none; color: #232A31; }

/* Closing: a tinted panel instead of a rule */
.tr-page .tr-close { margin-top: clamp(40px, 5vw, 64px); padding: clamp(36px, 5vw, 60px) clamp(24px, 4vw, 56px); border-top: 0; border-radius: clamp(20px, 3vw, 32px); background: var(--bl-tint); max-width: 56rem; }

@media (hover: hover) and (pointer: fine) {
  .tr-page .tr-offer:hover { transform: translateY(-6px); border-color: rgba(27, 58, 91, 0.2); }
  .tr-page .tr-offer:hover::before { transform: scaleX(1); }
  .tr-page .tr-topic:hover { transform: translateY(-4px); }
}
@media (max-width: 1000px) {
  .tr-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tr-step:nth-child(2)::after { display: none; }
}
@media (max-width: 760px) {
  .tr-steps { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .tr-step::after { display: none; }
  .tr-step { display: block; padding: 18px; }
  .tr-step .bl-icon { margin: 0; width: 44px; height: 44px; }
  .tr-step__h { margin: 0; }
  .tr-step p { grid-column: 1 / -1; margin-top: 12px; }
  .tr-tailored { flex-direction: column; align-items: flex-start; }
  .tr-page .tr-offer .fs-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .tr-page .tr-offer, .tr-page .tr-topic, .tr-page .tr-offer::before { transition: border-color 200ms ease; }
  @media (hover: hover) and (pointer: fine){.tr-page .tr-offer:hover,.tr-page .tr-topic:hover{ transform: none; }}
}

/* Training cycle motion (Kristian, 27 Sep 2026: the section had no motion and did not read as a cycle).
   Plays once when it comes into view: the four steps light up left to right, the join between them fills,
   then a loop draws from Review back round to Prepare and the caption lands. Reduced motion shows the end state. */
.tr-cycle.is-armed .tr-step { opacity: .38; transform: none; animation: none; transition: opacity 360ms ease, border-color 360ms ease, background-color 360ms ease; }
.tr-cycle.is-armed .tr-step .bl-icon { background: #E5E5E2; color: #586069; transition: background-color 320ms ease, color 320ms ease; }
.tr-cycle.is-armed .tr-step:not(:last-child)::after { transform: scaleX(0); transform-origin: left; transition: transform 380ms cubic-bezier(.23,1,.32,1); }
.tr-cycle.is-armed.is-live .tr-step { opacity: 1; }
.tr-cycle.is-armed.is-live .tr-step .bl-icon { background: #1B3A5B; color: #FAFAF8; }
.tr-cycle.is-armed.is-live .tr-step:not(:last-child)::after { transform: none; }
.tr-cycle.is-armed.is-live .tr-step:nth-child(1), .tr-cycle.is-armed.is-live .tr-step:nth-child(1) .bl-icon { transition-delay: 150ms; }
.tr-cycle.is-armed.is-live .tr-step:nth-child(1)::after { transition-delay: 450ms; }
.tr-cycle.is-armed.is-live .tr-step:nth-child(2), .tr-cycle.is-armed.is-live .tr-step:nth-child(2) .bl-icon { transition-delay: 750ms; }
.tr-cycle.is-armed.is-live .tr-step:nth-child(2)::after { transition-delay: 1050ms; }
.tr-cycle.is-armed.is-live .tr-step:nth-child(3), .tr-cycle.is-armed.is-live .tr-step:nth-child(3) .bl-icon { transition-delay: 1350ms; }
.tr-cycle.is-armed.is-live .tr-step:nth-child(3)::after { transition-delay: 1650ms; }
.tr-cycle.is-armed.is-live .tr-step:nth-child(4), .tr-cycle.is-armed.is-live .tr-step:nth-child(4) .bl-icon { transition-delay: 1950ms; }

/* The loop: a U from the middle of Review back to the middle of Prepare, drawn right to left. */
.tr-loop { position: relative; height: 34px; margin: 0 calc(12.5% - 2px); }
.tr-loop__line { position: absolute; inset: 0; border: 2px solid #1B3A5B; border-top: 0; border-radius: 0 0 18px 18px; }
.tr-loop__line::after { content: ''; position: absolute; left: -7px; top: -2px; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 9px solid #1B3A5B; }
.tr-cycle.is-armed .tr-loop__line { clip-path: inset(0 0 0 100%); transition: clip-path 900ms cubic-bezier(.45,0,.55,1) 2350ms; }
.tr-cycle.is-armed.is-live .tr-loop__line { clip-path: inset(0 0 0 0); }
.tr-loop__cap { margin: 12px 0 0; text-align: center; font-size: 15px; color: #1B3A5B; font-weight: 600; }
.tr-cycle.is-armed .tr-loop__cap { opacity: 0; transition: opacity 300ms ease 3250ms; }
.tr-cycle.is-armed.is-live .tr-loop__cap { opacity: 1; }
@media (max-width: 1100px) { .tr-loop { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .tr-cycle .tr-step, .tr-cycle .tr-step .bl-icon, .tr-cycle .tr-step::after, .tr-cycle .tr-loop__line, .tr-cycle .tr-loop__cap { transition: none !important; opacity: 1 !important; transform: none !important; clip-path: none !important; }
  .tr-cycle .tr-step .bl-icon { background: #1B3A5B !important; color: #FAFAF8 !important; }
}
.tr-cycle.tr-cycle.is-armed .tr-step, .tr-cycle.tr-cycle.is-armed.is-live .tr-step { animation: none; transform: none; }

/* Training hero: who it is for and the price (page checklist, 28 Sep 2026). */
.tr-hero-offer { margin: 14px 0 0; font-size: 16px; font-weight: 600; color: #1B3A5B; }
/* ===== Training page rebuild (30 Sep 2026, Kristian): same principles as the
   Feasibility Study page. Four objections in a row, "Right for you if", a
   what's-included comparison, an eight-week table and a final call to action. */
.tr-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.tr-q .om-ans__wrap { max-width: 1424px; }
.tr-q__cards { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .tr-q__cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 639px) { .tr-q__cards { grid-template-columns: minmax(0, 1fr) !important; } }

.tr-fit { padding: 0 0 clamp(24px, 3vw, 40px); }
.tr-fit .fs-wrap { max-width: 1152px; }
.tr-fit__card { padding: clamp(24px, 3vw, 36px); border-radius: 20px; background: rgba(175, 196, 221, 0.24); }
.tr-fit__h { margin: 0 0 14px; font-size: clamp(24px, 2.2vw, 30px); }
.tr-fit__list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; }
.tr-fit__list li { position: relative; padding-left: 28px; font-size: 16.5px; line-height: 1.5; color: #232A31; }
.tr-fit__list li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 12px; height: 7px; border-left: 2.2px solid #232A31; border-bottom: 2.2px solid #232A31; transform: rotate(-45deg); }
@media (max-width: 639px) { .tr-fit__list { grid-template-columns: minmax(0, 1fr); } }

.tr-cmp-sec .fs-wrap, .tr-wk-sec .fs-wrap { max-width: 1152px; }
.tr-cmp, .tr-wk { margin-top: 24px; overflow: hidden; border-radius: 18px; border: 1px solid rgba(35, 42, 49, 0.14); background: #FAFAF8; }
.tr-cmp table, .tr-wk table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.tr-cmp thead th, .tr-wk thead th { padding: 16px 12px; background: #232A31; color: #FAFAF8; font: 600 15.5px/1.25 'Source Sans 3', system-ui, sans-serif; text-align: center; }
.tr-cmp thead th:first-child { width: 46%; }
.tr-wk thead th:first-child { width: 40%; }
.tr-cmp tbody th, .tr-cmp tfoot th, .tr-wk tbody th { padding: 14px 20px; font: 600 16px/1.35 'Source Sans 3', system-ui, sans-serif; color: #232A31; text-align: left; }
.tr-cmp td, .tr-wk td { padding: 12px 10px; text-align: center; font-size: 15.5px; color: #232A31; }
.tr-cmp tbody tr + tr > *, .tr-cmp tfoot > tr > *, .tr-wk tbody tr + tr > * { border-top: 1px solid rgba(35, 42, 49, 0.1); }
.tr-cmp th + th, .tr-cmp td, .tr-wk th + th, .tr-wk td { border-left: 1px solid rgba(35, 42, 49, 0.1); }
.tr-cmp thead th + th, .tr-wk thead th + th { border-left-color: rgba(250, 250, 248, 0.16); }
.tr-cmp tfoot > tr > * { background: rgba(175, 196, 221, 0.24); font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 19px; }
.tr-cmp__tick { display: inline-block; vertical-align: middle; color: #232A31; }
.tr-cmp__no { color: #586069; }
.tr-wk__lead { margin: 10px 0 0; font-size: 17px; color: #586069; }
@media (max-width: 639px) {
  .tr-wk thead th { padding: 12px 4px; font-size: 13px; }
  .tr-wk tbody th { padding: 12px; font-size: 14.5px; }
  .tr-wk td { padding: 10px 4px; font-size: 13.5px; }
}

.tr-final { padding: clamp(24px, 4vw, 48px) 0 clamp(56px, 7vw, 96px); }
.tr-final__card { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 56px); align-items: center; padding-top: clamp(36px, 4vw, 56px); padding-bottom: clamp(36px, 4vw, 56px); border-radius: clamp(20px, 3vw, 36px); background: #232A31; color: #FAFAF8; }
.tr-final__card .fs-h2 { color: #FAFAF8; }
.tr-final__pts { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.tr-final__pts li { display: flex; align-items: center; gap: 12px; font-size: 18px; line-height: 1.4; }
.tr-final__pts .tr-cmp__tick { flex: none; color: #AFC4DD; }
.tr-final__act { padding-left: clamp(0px, 3vw, 48px); border-left: 1px solid rgba(250, 250, 248, 0.16); }
.tr-final__price { margin: 0; font-family: 'Fraunces', Georgia, serif; font-size: clamp(38px, 3.6vw, 52px); line-height: 1; color: #AFC4DD; }
.tr-final__price span { font-size: 0.5em; }
.tr-final__dep { margin: 10px 0 0; font-size: 15.5px; line-height: 1.55; color: #E5E5E2; }
.bl-refresh .tr-final .fs-cta { margin-top: 22px; background: #FAFAF8; color: #232A31; }
 .bl-refresh .tr-final .fs-cta:focus-visible { background: #AFC4DD; border-color: #AFC4DD; color: #232A31; }@media (hover: hover) and (pointer: fine){.bl-refresh .tr-final .fs-cta:hover{ background: #AFC4DD; border-color: #AFC4DD; color: #232A31; }}
.tr-final__alt { margin: 14px 0 0; font-size: 14.5px; color: #AFC4DD; }
.tr-final__alt a { color: #FAFAF8; text-decoration: underline; text-decoration-color: #AFC4DD; text-underline-offset: 3px; }
@media (max-width: 1023px) { .tr-final__card { grid-template-columns: minmax(0, 1fr); } .tr-final__act { padding-left: 0; border-left: 0; padding-top: 24px; border-top: 1px solid rgba(250, 250, 248, 0.16); } }
/* One content width for the rebuilt sections */
.tr-q .om-ans__wrap { max-width: 1216px; }
.tr-final > .fs-wrap { max-width: 1152px; }
.tr-final__card { padding-left: clamp(24px, 4vw, 56px); padding-right: clamp(24px, 4vw, 56px); }
.bl-refresh .tr-q .om-ans__wrap { max-width: 1152px; }
.bl-refresh .tr-final .tr-final__card { max-width: 1088px; box-sizing: border-box; }
.bl-refresh .tr-fitold { padding-top: 0; }
.bl-refresh .tr-fitold .om-ans__wrap { max-width: 1152px; }
.tr-cmp tfoot .tr-cmp__how > * { background: #FAFAF8; font-family: 'Source Sans 3', system-ui, sans-serif; font-weight: 600; font-size: 15.5px; }
/* How the day runs (30 Sep 2026): time down the side, the session and what it covers */
.tr-day-sec .fs-wrap { max-width: 1152px; }
.tr-day-sec + .tr-wk-sec { padding-top: 0; }
.tr-day { margin-top: 24px; overflow: hidden; border-radius: 18px; border: 1px solid rgba(35, 42, 49, 0.14); background: #FAFAF8; }
.tr-day table { width: 100%; border-collapse: collapse; }
.tr-day thead th { padding: 14px 20px; background: #232A31; color: #FAFAF8; font: 600 15.5px/1.25 'Source Sans 3', system-ui, sans-serif; text-align: left; }
.tr-day thead th:first-child { width: 110px; }
.tr-day tbody th { padding: 16px 20px; vertical-align: top; font: 600 16px/1.4 'Source Sans 3', system-ui, sans-serif; color: #232A31; text-align: left; font-variant-numeric: tabular-nums; }
.tr-day td { padding: 16px 20px; border-left: 1px solid rgba(35, 42, 49, 0.1); }
.tr-day td strong { display: block; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 19px; line-height: 1.25; color: #232A31; }
.tr-day td span { display: block; margin-top: 4px; font-size: 15.5px; line-height: 1.5; color: #586069; }
.tr-day tbody tr + tr > * { border-top: 1px solid rgba(35, 42, 49, 0.1); }
@media (max-width: 639px) { .tr-day thead th:first-child { width: 72px; } .tr-day tbody th, .tr-day td { padding: 12px; } .tr-day td strong { font-size: 17px; } }
.tr-day .tr-day__break > * { background: rgba(175, 196, 221, 0.18); padding-top: 10px; padding-bottom: 10px; }
.tr-day .tr-day__break td strong { font-family: 'Source Sans 3', system-ui, sans-serif; font-weight: 600; font-size: 15.5px; color: #586069; }
.tr-day .tr-day__break td span { display: inline; margin: 0 0 0 8px; font-size: 14.5px; }
.tr-day .tr-day__break th { color: #586069; }
/* Training hero visual "Same people. More done." (30 Sep 2026): same card as the homepage pound and the Feasibility Study answer */
.trm { position: relative; margin: 0; width: 100%; max-width: 440px; justify-self: end; border-radius: 20px; background: #232A31; color: #FAFAF8; padding: 26px 22px 20px; overflow: hidden; }
.trm__label { margin: 0; text-align: center; font: 400 22px/1.15 'Fraunces', Georgia, serif; color: #FAFAF8; }
.trm__svg { display: block; width: 100%; height: auto; margin-top: 18px; }
.trm-p circle, .trm-p path { transition: opacity 500ms cubic-bezier(.2,.8,.2,1); }
.trm-solid circle, .trm-solid path { fill: #AFC4DD; }
.trm-ghost circle, .trm-ghost path { fill: none; stroke: #AFC4DD; stroke-width: 1.5; stroke-dasharray: 4 3; vector-effect: non-scaling-stroke; }
.trm__bar { transform-box: fill-box; transition: transform 900ms cubic-bezier(.2,.8,.2,1); }
.trm__bar--paper { transform-origin: left center; transform: scaleX(0.318); }
.trm__bar--free { transform-origin: right center; }
.trm__bar--paper { fill: #586069; }
.trm__bar--free { fill: #AFC4DD; }
.trm__barlabel { font: 400 13px 'Source Sans 3', system-ui, sans-serif; fill: #AFC4DD; transition: opacity 400ms ease; }
.trm__one, .trm__team { transition: opacity 600ms cubic-bezier(.2,.8,.2,1); }
/* step 1: one person, full paperwork bar */
.trm[data-step="1"] .trm__team, .trm[data-step="2"] .trm__team { opacity: 0; }
.trm[data-step="3"] .trm__one { opacity: 0; }
.trm[data-step="1"] .trm-ghost { opacity: 0; }
.trm[data-step="1"] .trm__bar--free { transform: scaleX(0); }
.trm[data-step="1"] .trm__bar--paper { transform: scaleX(1); }
.trm[data-step="1"] .trm__barlabel--b, .trm[data-step="2"] .trm__barlabel--a { opacity: 0; }
/* step 3: the second row of ten appears one after another */
.trm .trm-add { opacity: 0; transition: opacity 400ms ease calc(var(--d) * 90ms + 500ms); }
.trm[data-step="3"] .trm-add { opacity: 1; }
.trm__cap { margin: 8px 0 0; min-height: 3.9em; text-align: center; font: 400 20px/1.28 'Fraunces', Georgia, serif; color: #FAFAF8; }
.trm__step { display: inline-block; transition: opacity 220ms ease, transform 220ms ease; }
.trm__step.is-out { opacity: 0; transform: translateY(6px); }
.trm__kick { display: block; margin-bottom: 6px; font: italic 400 17px/1.2 'Fraunces', Georgia, serif; color: #AFC4DD; }
.trm__foot { display: flex; justify-content: flex-end; margin-top: 10px; }
.trm__replay { font: 600 13px/1 'Source Sans 3', system-ui, sans-serif; color: #AFC4DD; background: none; border: 1px solid rgba(175, 196, 221, 0.4); border-radius: 99px; padding: 7px 14px; cursor: pointer; }
.trm:not(.is-done) .trm__replay { visibility: hidden; }
@media (max-width: 1023px) { .trm { justify-self: stretch; max-width: 520px; margin-inline: auto; } }
@media (max-width: 639px) { .trm { padding: 20px 18px 16px; } .trm__cap { font-size: 18px; } }
@media (prefers-reduced-motion: reduce) { .trm *, .trm-p circle, .trm-p path { transition: none !important; } }
/* Comparison footer buttons (30 Sep 2026). */
.tr-cmp tfoot .tr-cmp__how > td { padding: 16px 12px; text-align: center; vertical-align: top; }
.bl-refresh .tr-cmp .fs-cta.tr-cmp__btn, .tr-cmp .fs-cta.tr-cmp__btn { display: inline-flex; margin: 0; min-height: 44px; padding: 10px 18px; font-size: 15px; white-space: nowrap; }
.tr-cmp__note { display: block; margin-top: 8px; font-size: 13.5px; font-weight: 600; color: #586069; }


/* Day timeline and eight-week cards (30 Sep 2026): each block gets its own form so the comparison, the day and the weeks don't merge. */
.tr-day-sec, .tr-wk-sec { padding: 0 clamp(8px, 1.4vw, 20px); }
.tr-day-sec { margin-top: 24px; }
.tr-day-band { max-width: 1320px; margin: 0 auto; padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 84px); border-radius: 28px; background: rgba(175, 196, 221, 0.28); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.tr-day-band__intro { position: sticky; top: 120px; }
.tr-day-band__facts { margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.tr-day-band__facts span { padding: 6px 12px; border-radius: 999px; background: #FAFAF8; font: 600 14px/1.3 'Source Sans 3', system-ui, sans-serif; color: #1B3A5B; }
.tr-tl { list-style: none; margin: 0; padding: 0; }
.tr-tl__item { position: relative; display: grid; grid-template-columns: 64px 16px minmax(0, 1fr); column-gap: 18px; align-items: start; padding-bottom: 24px; }
.tr-tl__item:last-child { padding-bottom: 0; }
.tr-tl__item:not(:last-child)::after { content: ""; position: absolute; left: 89px; top: 22px; bottom: 0; width: 2px; background: rgba(27, 58, 91, 0.25); }
.tr-tl__time { padding-top: 2px; font: 500 15px/1.3 'IBM Plex Mono', ui-monospace, monospace; color: #1B3A5B; }
.tr-tl__dot { position: relative; z-index: 1; width: 16px; height: 16px; margin-top: 3px; border-radius: 50%; background: #1B3A5B; border: 3px solid #E5E5E2; box-sizing: border-box; }
.tr-tl__head { margin: 0; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.2; color: #232A31; }
.tr-tl__text { margin: 4px 0 0; font-size: 16px; line-height: 1.5; color: #586069; }
.tr-tl__item--break .tr-tl__time { color: #586069; }
.tr-tl__item--break .tr-tl__dot { background: #FAFAF8; border: 2px solid rgba(27, 58, 91, 0.45); }
.tr-tl__brk { margin: 0; justify-self: start; padding: 3px 12px; border-radius: 999px; border: 1px dashed rgba(27, 58, 91, 0.35); font: 600 14px/1.4 'Source Sans 3', system-ui, sans-serif; color: #586069; }
.tr-wk-sec { margin-top: clamp(20px, 3vw, 32px); }
.tr-wks-band { max-width: 1320px; margin: 0 auto; padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 84px); border-radius: 28px; background: #232A31; color: #FAFAF8; }
.tr-wks-band .fs-h2 { color: #FAFAF8; }
.tr-wks-band .tr-wk__lead { color: #E5E5E2; }
.tr-wks { list-style: none; margin: clamp(28px, 4vw, 44px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: wk; }
.tr-wks__card { position: relative; padding: 22px 22px 24px; border-radius: 18px; background: rgba(250, 250, 248, 0.06); border: 1px solid rgba(250, 250, 248, 0.12); border-top: 3px solid #AFC4DD; }
.tr-wks__when { margin: 0; font: 500 14px/1.3 'IBM Plex Mono', ui-monospace, monospace; color: #AFC4DD; }
.tr-wks__head { margin: 10px 0 0; font-family: 'Fraunces', Georgia, serif; font-weight: 400; font-size: clamp(21px, 1.9vw, 26px); line-height: 1.15; color: #FAFAF8; }
.tr-wks__list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.tr-wks__list li { position: relative; padding-left: 18px; font-size: 15.5px; line-height: 1.45; color: #E5E5E2; }
.tr-wks__list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 7px; height: 7px; border-radius: 50%; background: #AFC4DD; }
.tr-wk-sec + * { margin-top: 0; }
@media (max-width: 1100px) { .tr-wks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 899px) { .tr-day-band { grid-template-columns: minmax(0, 1fr); } .tr-day-band__intro { position: static; } }
@media (max-width: 639px) {
  .tr-wks { grid-template-columns: minmax(0, 1fr); }
  .tr-tl__item { grid-template-columns: 52px 16px minmax(0, 1fr); column-gap: 12px; }
  .tr-tl__item:not(:last-child)::after { left: 71px; }
  .tr-tl__time { font-size: 14px; }
}
.tr-offers__alt { margin: 24px 0 0; text-align: center; font-size: 17px; line-height: 1.5; color: #586069; }
.tr-offers__alt a { font-weight: 600; color: #1B3A5B; text-decoration: underline; text-underline-offset: 3px; }
@media (hover: hover) and (pointer: fine){.tr-offers__alt a:hover{ color: #232A31; }}
/* Eight-week cards with week-by-week detail (30 Sep 2026). */
.tr-wks__card { display: flex; flex-direction: column; }
.tr-wks__lead { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: rgba(229, 229, 226, 0.8); }
.tr-wks__list { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(250, 250, 248, 0.12); gap: 14px; }
.tr-wks__list li { padding-left: 0; font-size: 15px; }
.tr-wks__list li::before { display: none; }
.tr-wks__wk { display: block; margin-bottom: 2px; font: 600 12.5px/1.3 'Source Sans 3', system-ui, sans-serif; letter-spacing: 0.02em; color: #AFC4DD; }
.tr-wks__get { margin: auto 0 0; padding-top: 18px; font: 600 15px/1.4 'Source Sans 3', system-ui, sans-serif; color: #FAFAF8; }
.tr-wks__get span { display: block; margin-bottom: 4px; font: 500 12.5px/1.3 'IBM Plex Mono', ui-monospace, monospace; color: #AFC4DD; }
.tr-wks__foot { margin: 24px 0 0; font-size: 16px; line-height: 1.5; color: #E5E5E2; }

/* Eight weeks, broken down (Kristian, 30 Sep 2026): each week names the session and
   what happens in it; "You get" is a list of what the business keeps. */
.tr-wks__what { display: block; font: 600 15.5px/1.35 'Source Sans 3', system-ui, sans-serif; color: #FAFAF8; }
.tr-wks__pts { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 5px; }
.tr-wks__pts li { position: relative; padding-left: 14px; font-size: 14.5px; line-height: 1.45; color: rgba(229, 229, 226, 0.88); }
.tr-wks__pts li::before { display: block; content: ""; position: absolute; left: 0; top: 9px; width: 5px; height: 5px; border-radius: 50%; background: #AFC4DD; }
.tr-wks__get { margin: auto 0 0; padding-top: 18px; }
.tr-wks__get ul { list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px solid rgba(250, 250, 248, 0.12); display: grid; gap: 8px; }
.tr-wks__get li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; font: 600 14.5px/1.4 'Source Sans 3', system-ui, sans-serif; color: #FAFAF8; }
.tr-wks__get li svg { margin-top: 2px; color: #AFC4DD; }
.tr-wks__get > span { padding-bottom: 10px; }
.tr-wks__get li span { display: inline; margin: 0; font: inherit; color: inherit; }

/* Slider cost cards (30 Sep 2026): shared by the Training, Custom-Built Systems and
   AI Partnership calculators. Moved here from pages-partnership.css. */
.ppc-sec { padding: clamp(56px, 7vw, 96px) 0 clamp(24px, 3vw, 40px); }
.ppc { max-width: 1152px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); padding: clamp(28px, 4vw, 52px); border-radius: clamp(20px, 3vw, 32px); background: #232A31; color: #FAFAF8; box-sizing: border-box; }
@media (max-width: 1216px) { .ppc { margin: 0 32px; } }
.ppc__h { margin: 0; font-family: 'Fraunces', Georgia, serif; font-weight: 400; font-size: clamp(26px, 2.8vw, 36px); line-height: 1.12; color: #FAFAF8; }
.ppc__intro { margin: 10px 0 0; font-size: 16.5px; line-height: 1.5; color: #AFC4DD; }
.ppc__field { margin-top: 30px; }
.ppc__field label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font: 600 15.5px/1.3 'Source Sans 3', system-ui, sans-serif; color: #E5E5E2; }
.ppc__field output { font-family: 'Fraunces', Georgia, serif; font-weight: 400; font-size: 28px; color: #FAFAF8; }
.ppc__range { -webkit-appearance: none; appearance: none; width: 100%; height: 30px; margin: 10px 0 0; background: transparent; cursor: pointer; --fill: 50%; }
.ppc__range::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: linear-gradient(90deg, #AFC4DD 0 var(--fill), rgba(250, 250, 248, 0.18) var(--fill) 100%); }
.ppc__range::-moz-range-track { height: 6px; border-radius: 3px; background: rgba(250, 250, 248, 0.18); }
.ppc__range::-moz-range-progress { height: 6px; border-radius: 3px; background: #AFC4DD; }
.ppc__range::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; margin-top: -10px; border-radius: 50%; background: #FAFAF8; border: 3px solid #AFC4DD; }
.ppc__range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #FAFAF8; border: 3px solid #AFC4DD; }
.ppc__range:focus-visible { outline: 2px solid #AFC4DD; outline-offset: 6px; border-radius: 4px; }
.ppc__ends { display: flex; justify-content: space-between; margin: 4px 0 0; font-size: 13px; color: rgba(229, 229, 226, 0.6); }
.ppc__small { margin: 26px 0 0; font-size: 14px; line-height: 1.55; color: rgba(229, 229, 226, 0.75); }
.ppc__out { margin: 0; align-self: center; display: grid; gap: 0; border-radius: 20px; background: rgba(250, 250, 248, 0.05); border: 1px solid rgba(250, 250, 248, 0.1); }
.ppc__row { padding: 20px 24px; }
.ppc__row + .ppc__row { border-top: 1px solid rgba(250, 250, 248, 0.1); }
.ppc__row dt { font: 600 14px/1.3 'Source Sans 3', system-ui, sans-serif; color: #AFC4DD; }
.ppc__row dd { margin: 6px 0 0; font-family: 'Fraunces', Georgia, serif; font-size: 22px; line-height: 1.25; color: #FAFAF8; }
.ppc__row--lead dd { font-size: clamp(40px, 4.4vw, 58px); line-height: 1; }
.ppc__row dd.is-tick { animation: ppc-tick 260ms cubic-bezier(.2, .8, .2, 1); }
@keyframes ppc-tick { from { opacity: 0.4; } to { opacity: 1; } }
@media (max-width: 900px) { .ppc { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 639px) { .ppc { margin: 0 16px; padding: 24px 20px; } }
@media (prefers-reduced-motion: reduce) { .ppc__row dd.is-tick { animation: none; } }

.ppc__out--two .ppc__row--lead dd { font-size: clamp(34px, 3.4vw, 46px); }
.ppc__row dd.ppc__per { display: block; margin-top: 6px; font: 600 14px/1.3 'Source Sans 3', system-ui, sans-serif; color: #AFC4DD; }

/* Keep service comparisons readable without widening the page itself. */
.tr-cmp { overflow-x: auto; overscroll-behavior-inline: contain; contain: inline-size layout paint; }
.tr-cmp:focus-visible { outline: 3px solid #1B3A5B; outline-offset: 4px; }
.tr-cmp table { min-width: 640px; }
.bl-refresh .tr-cmp .fs-cta.tr-cmp__btn, .tr-cmp .fs-cta.tr-cmp__btn { max-width: 100%; white-space: normal; }
.tr-cmp__scroll { display: block; margin: 12px 0 0; font-size: 15px; color: #586069; }
@media (max-width: 767px) {
  .tr-cmp__scroll { display: block; }
  .tr-cmp .fs-cta.tr-cmp__btn { white-space: normal; }
}

/* Booking row in the comparison tables (Kristian, 30 Sep 2026: polish list): each
   button fills its cell and every button in the row takes the tallest one's
   height, so a longer label no longer leaves buttons of different sizes. */
@media (max-width: 1100px) {
  .tr-cmp .tr-cmp__how td { height: 1px; }
  .bl-refresh .tr-cmp .tr-cmp__how .fs-cta.tr-cmp__btn, .tr-cmp .tr-cmp__how .fs-cta.tr-cmp__btn { box-sizing: border-box; width: 100%; height: 100%; justify-content: center; align-items: center; text-align: center; }
}
.tr-cmp .tr-cmp__how .tr-cmp__btn span, .tr-cmp .tr-cmp__how .tr-cmp__btn { -webkit-hyphens: manual; hyphens: manual; }

/* Over £50m: the calculator stops at £50m, so bigger businesses get a clear
   next step under the estimate (Kristian, 30 Sep 2026). */
.ppc__over { margin: 14px 0 0; font-size: 14.5px; line-height: 1.55; color: rgba(229, 229, 226, 0.8); }
.ppc__over a { color: #AFC4DD; text-decoration: underline; text-underline-offset: 3px; }
 .ppc__over a:focus-visible { color: #FAFAF8; }@media (hover: hover) and (pointer: fine){.ppc__over a:hover{ color: #FAFAF8; }}
.ppc__side { align-self: center; min-width: 0; }

/* Leadership 1:1 added as a third training option (Kristian, 2 Oct 2026):
   the comparison table gains a fourth column, so the label column narrows and
   the table scrolls sideways a little earlier on small screens. Three offer
   cards sit in one row on wide screens and stack below 900px. */
.tr-page .tr-cmp-sec .tr-cmp thead th:first-child { width: 34%; }
.tr-page .tr-cmp-sec .tr-cmp table { min-width: 760px; }
@media (min-width: 901px) {
  .tr-page .tr-offer__price { font-size: clamp(28px, 2.4vw, 34px); }
}
@media (max-width: 1100px) and (min-width: 901px) {
  .tr-offers { gap: 20px; }
  .tr-page .tr-offer { padding-left: 22px; padding-right: 22px; }
}

.tr-cmp__scroll[hidden] { display: none !important; }

.trm__note { margin: 16px 0 0; font: 400 14px/1.5 "Source Sans 3", sans-serif; color: #AFC4DD; }
