/* Shared care-training service presentation: WordPress and fast preview. */
.jj-training-banner { padding: 38px 0; background: #eaf4f9; border-block: 1px solid #cee0eb; }
.jj-training-banner-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .55fr); gap: 40px; align-items: center; width: min(1180px, calc(100% - 56px)); margin-inline: auto; }
.jj-training-banner .jj-training-banner-label { margin: 0 0 12px; color: #006fae; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.jj-training-banner h2 { margin: 0 0 13px; color: #15384e; font-size: clamp(22px, 2.5vw, 29px); font-weight: 700; line-height: 1.6; text-wrap: initial; word-break: auto-phrase; }
.jj-training-banner p:not(.jj-training-banner-label) { margin: 0; color: #4e626f; font-size: 14px; line-height: 1.9; }
.jj-training-banner a { display: flex; min-height: 60px; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 21px; border: 1px solid #006fae; border-radius: 3px; background: #fff; color: #006fae; font-size: 14px; font-weight: 700; line-height: 1.8; text-decoration: none; }
.jj-training-banner a > span { flex-shrink: 0; font-size: 21px; }
.jj-training-banner a:hover { color: #fff; background: #006fae; }
.jj-training-banner a:focus-visible { outline: 3px solid #ee9900; outline-offset: 5px; }

/* Specialist page follows the accepted Top / internship composition. */
.jj-training-page { --training-blue:#006fae; --training-ink:#15384e; --training-text:#526776; --training-line:#cedfe9; --training-pale:#edf6fb; color:var(--training-ink); background:#fff; font-size:16px; line-height:1.9; }
.jj-training-page,.jj-training-page *,.jj-training-page *::before,.jj-training-page *::after { box-sizing:border-box; }
.jj-training-page :is(h1,h2,h3,p,figure,ul,ol,dl,dd) { margin:0; }
.jj-training-page :is(ul,ol) { padding:0; list-style:none; }
.jj-training-page li + li { margin-top:0; }
.jj-training-page :is(h1,h2,h3,p,li,dt,dd,figcaption,summary,a) { word-break:normal; line-break:strict; overflow-wrap:break-word; }
.jj-training-page :is(h1,h2,h3) { font-family:inherit; font-weight:700; letter-spacing:.01em; }
.jj-training-page h2::before,.jj-training-page h2::after { content:none; }
.jj-training-page header { position:static; top:auto; z-index:auto; border:0; background:transparent; }
.jj-training-page a { color:var(--training-blue); text-decoration:none; text-underline-offset:4px; }
.jj-training-page :is(a,summary):focus-visible { outline:3px solid var(--training-blue); outline-offset:5px; }
.jj-training-page [id] { scroll-margin-top:185px; }
.jj-training-page .jj-training-container { position:relative; width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.jj-training-page .jj-training-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.jj-training-page .jj-training-phrase { display:inline-block; max-width:100%; }
.jj-training-page .jj-training-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; padding-block:12px; color:var(--training-text); font-size:13px; }
.jj-training-page .jj-training-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; }
.jj-training-page .jj-training-breadcrumb a:hover { text-decoration:underline; }
.jj-training-page .jj-training-hero { position:relative; isolation:isolate; overflow:hidden; padding:54px 0 65px; background:linear-gradient(135deg,#f7fbfd 5%,#dceef9 72%,#eef7fb); text-align:center; }
.jj-training-page .jj-training-hero::before,.jj-training-page .jj-training-hero::after { content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
.jj-training-page .jj-training-hero::before { width:760px; height:760px; top:230px; left:calc(50% - 380px); background:#c6e4f5; }
.jj-training-page .jj-training-hero::after { width:430px; height:430px; top:0; right:-260px; background:#b1d8ed; opacity:.6; }
.jj-training-page .jj-training-hero-inner { position:relative; width:min(1340px,calc(100% - 64px)); margin-inline:auto; }
.jj-training-page .jj-training-hero-title { position:relative; z-index:1; }
.jj-training-page .jj-training-service-name,.jj-training-page .jj-training-label { color:var(--training-blue); font-size:14px; font-weight:700; line-height:1.7; }
#main.jj-training-page .jj-training-hero h1 { margin:16px auto 0; color:var(--training-ink); font-size:clamp(38px,4.4vw,63px); line-height:1.45; letter-spacing:-.03em; text-wrap:initial; }
.jj-training-page .jj-training-heading-line { display:block; }
.jj-training-page .jj-training-heading-line + .jj-training-heading-line { margin-top:.12em; color:var(--training-blue); font-size:1.04em; line-height:1.45; }
.jj-training-page .jj-training-hero-composition { position:relative; max-width:1240px; margin:30px auto 0; padding-bottom:18px; }
.jj-training-page .jj-training-photo img { display:block; width:100%; height:auto; border-radius:18px; }
.jj-training-page .jj-training-photo figcaption { margin-top:10px; color:var(--training-text); font-size:13px; line-height:1.7; }
.jj-training-page .jj-training-hero-photo { position:relative; z-index:1; width:58%; max-width:700px; margin-inline:auto; }
.jj-training-page .jj-training-hero-photo img { border:8px solid #fff; border-radius:18px; }
.jj-training-page .jj-training-hero-photo figcaption { text-align:center; }
.jj-training-page .jj-training-hero-orbit { position:absolute; z-index:2; width:16%; max-width:190px; height:auto; border:6px solid #fff; border-radius:12px; box-shadow:0 8px 26px #15384e20; }
.jj-training-page .jj-training-hero-orbit-1 { top:2%; left:1%; transform:rotate(-6deg); }
.jj-training-page .jj-training-hero-orbit-2 { bottom:3%; left:3%; transform:rotate(4deg); }
.jj-training-page .jj-training-hero-orbit-3 { top:4%; right:1%; transform:rotate(6deg); }
.jj-training-page .jj-training-hero-orbit-4 { bottom:2%; right:3%; transform:rotate(-4deg); }
.jj-training-page .jj-training-hero-details { max-width:800px; margin:20px auto 0; }
.jj-training-page .jj-training-lead { font-size:18px; font-weight:600; line-height:1.9; text-wrap:balance; }
.jj-training-page .jj-training-audience { margin-top:18px; color:var(--training-text); font-size:14px; text-wrap:balance; }
.jj-training-page .jj-training-actions { display:flex; flex-wrap:wrap; align-items:stretch; justify-content:center; gap:18px; margin-top:30px; }
#main.jj-training-page .jj-training-button { display:inline-flex; align-items:center; justify-content:center; min-height:60px; max-width:100%; gap:.5em; padding:17px 28px; border:2px solid #ea0000; border-radius:7px; background:#ea0000; color:#fff; font-size:17px; font-weight:700; line-height:1.6; transition:background-color .16s ease,border-color .16s ease; }
.jj-training-page .jj-training-button > span:first-child { min-width:0; }
#main.jj-training-page .jj-training-button:hover { border-color:#c90000; background:#c90000; }
#main.jj-training-page .jj-training-button.is-secondary { gap:24px; background:#fff; border-color:#9fb2bd; color:var(--training-ink); }
#main.jj-training-page .jj-training-button.is-secondary:hover { border-color:var(--training-blue); color:var(--training-blue); background:#f7fbfd; }
.jj-training-page .jj-training-arrow { display:inline-flex; flex:none; align-items:center; justify-content:center; width:26px; height:26px; border-radius:5px; color:#fff; background:var(--training-blue); font-size:21px; font-weight:400; line-height:1; }
.jj-training-page .jj-training-nav {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:-28px;
  padding:14px;
  border:1px solid var(--training-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 22px rgb(21 56 78 / 6%);
}
.jj-training-page .jj-training-nav a {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:92px;
  padding:12px 32px;
  text-align:center;
}
.jj-training-page .jj-training-nav a + a { border-inline-start:1px solid var(--training-line); }
.jj-training-page .jj-training-nav a > span { color:var(--training-text); font-size:13px; line-height:1.7; }
.jj-training-page .jj-training-nav strong { color:var(--training-blue); font-size:clamp(19px,2vw,25px); line-height:1.6; }
.jj-training-page .jj-training-nav a::after {
  content:"";
  position:absolute;
  right:15px;
  top:50%;
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-70%) rotate(45deg);
}
.jj-training-page .jj-training-nav a:is(:hover,:focus-visible) { background:#f1f8fc; }
.jj-training-page .jj-training-section { padding-block:90px; }
.jj-training-page .jj-training-section.is-tinted,.jj-training-page .jj-training-section.is-gray { margin-inline:16px; border-radius:28px; background:var(--training-pale); }
.jj-training-page .jj-training-section.is-gray { background:#f4f6f7; }
.jj-training-page .jj-training-section-head { margin-bottom:46px; text-align:center; }
.jj-training-page .jj-training-section-head > .jj-training-label { margin-bottom:15px; }
#main.jj-training-page .jj-training-section-head h2 { color:var(--training-blue); font-size:34px; line-height:1.65; text-wrap:balance; }
.jj-training-page .jj-training-section-intro { max-width:880px; margin:0 auto 38px; color:var(--training-text); font-size:16px; line-height:1.9; }
.jj-training-page .jj-training-section-intro p + p { margin-top:12px; }
.jj-training-page .jj-training-note { margin-top:30px; padding-top:24px; border-top:1px solid var(--training-line); color:var(--training-text); font-size:14px; line-height:1.9; }
.jj-training-page .jj-training-icon { display:block; width:64px; height:64px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.jj-training-page .jj-training-study { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.jj-training-page .jj-training-study li { position:relative; min-width:0; text-align:center; }
.jj-training-page .jj-training-study li:not(:last-child)::after { content:"→"; position:absolute; top:40px; right:-33px; width:26px; color:#82a9bd; font-size:30px; line-height:1; }
.jj-training-page .jj-training-study-symbol { position:relative; display:grid; place-items:center; width:110px; height:110px; margin:0 auto 24px; border-radius:50%; background:#eaf4f9; color:var(--training-blue); }
.jj-training-page .jj-training-stage-number { position:absolute; right:-4px; bottom:0; display:grid; place-items:center; width:30px; height:30px; border:3px solid #fff; border-radius:50%; background:var(--training-blue); color:#fff; font-size:13px; font-weight:700; line-height:1; }
.jj-training-page .jj-training-stage-place { color:var(--training-blue); font-size:14px; font-weight:700; }
.jj-training-page .jj-training-study h3 { margin:7px 0 12px; font-size:23px; line-height:1.6; }
.jj-training-page .jj-training-study li p:last-child { color:var(--training-text); font-size:15px; }
.jj-training-page .jj-training-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.jj-training-page .jj-training-benefits article { min-width:0; padding:30px; border:1px solid #d8e8f0; border-radius:16px; background:#fff; box-shadow:0 6px 18px #15384e07; }
.jj-training-page .jj-training-benefit-number { display:block; margin-bottom:18px; color:var(--training-blue); font-size:44px; font-weight:700; line-height:1.2; }
.jj-training-page .jj-training-benefits h3 { margin-bottom:18px; color:var(--training-ink); font-size:21px; line-height:1.7; }
.jj-training-page .jj-training-benefits p { color:var(--training-text); font-size:15px; }
.jj-training-page .jj-training-curriculum-split { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:60px; }
.jj-training-page .jj-training-curriculum { min-width:0; }
.jj-training-page .jj-training-curriculum article { display:grid; grid-template-columns:54px minmax(0,1fr); gap:20px; padding-block:25px; border-top:1px solid var(--training-line); }
.jj-training-page .jj-training-curriculum article:last-child { border-bottom:1px solid var(--training-line); }
.jj-training-page .jj-training-curriculum-symbol { display:grid; justify-items:center; align-content:start; gap:6px; color:var(--training-blue); }
.jj-training-page .jj-training-curriculum-symbol .jj-training-icon { width:48px; height:48px; }
.jj-training-page .jj-training-curriculum-symbol > span { font-size:13px; font-weight:700; }
.jj-training-page .jj-training-curriculum h3 { margin-bottom:10px; color:var(--training-blue); font-size:22px; line-height:1.6; }
.jj-training-page .jj-training-curriculum p { color:var(--training-text); font-size:15px; }
.jj-training-page .jj-training-roles { max-width:960px; margin:55px auto 0; }
.jj-training-page .jj-training-roles > h3 { margin-bottom:20px; color:var(--training-blue); font-size:23px; }
.jj-training-page .jj-training-roles table { width:100%; margin:0; border-collapse:collapse; table-layout:fixed; color:var(--training-text); font-size:15px; line-height:1.9; }
.jj-training-page .jj-training-roles th,.jj-training-page .jj-training-roles td { width:50%; padding:19px 24px; border:1px solid var(--training-line); text-align:left; vertical-align:top; }
.jj-training-page .jj-training-roles th { color:var(--training-ink); font-weight:500; }
.jj-training-page .jj-training-roles thead th { background:#edf6fb; color:var(--training-blue); font-weight:700; }
.jj-training-page .jj-training-timeline { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.jj-training-page .jj-training-timeline::before { content:""; position:absolute; top:28px; right:10%; left:10%; border-top:1px solid #91bbd2; }
.jj-training-page .jj-training-timeline li { position:relative; min-width:0; padding-inline:clamp(10px,1.4vw,20px); }
.jj-training-page .jj-training-step-number { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; width:56px; height:56px; margin:0 auto 20px; border:1px solid var(--training-blue); border-radius:50%; background:#fff; color:var(--training-blue); font-size:24px; font-weight:700; line-height:1; }
.jj-training-page .jj-training-step-number small { font-size:9px; letter-spacing:.04em; }
.jj-training-page .jj-training-timeline h3 { margin-bottom:12px; color:var(--training-ink); font-size:17px; line-height:1.7; }
.jj-training-page .jj-training-timeline p { color:var(--training-text); font-size:14px; }
.jj-training-page .jj-training-travel {
  max-width: 920px;
  margin: 32px auto 0;
  padding: clamp(20px, 4vw, 40px);
  border: 1px solid var(--training-line);
  border-radius: 16px;
  background: #fff;
}
.jj-training-travel h3 { margin-bottom: 8px; color: var(--training-blue); font-size: clamp(19px, 2vw, 24px); }
.jj-training-travel dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px 32px; margin-block: 20px; }
.jj-training-travel dl > div { border-top: 1px solid var(--training-line); padding-top: 16px; }
.jj-training-travel dt { margin-bottom: 6px; font-weight: 700; }
.jj-training-travel :is(dd,p) { color: var(--training-text); font-size: 15px; }
.jj-training-page .jj-training-travel a { display: inline-block; min-height: 44px; padding-block: 8px; text-decoration: underline; font-size: 14px; }
.jj-training-arrival-map {
  --route-line: #69a4bf;
  --route-paper: #f3f8fa;
  margin-block: 20px 16px;
  padding: clamp(14px, 3vw, 28px);
  border-radius: 12px;
  background: var(--route-paper);
  text-align: center;
}
.jj-training-arrival-branches { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.jj-training-arrival-branches::after {
  content: ""; position: absolute; bottom: 0; left: 25%; width: 50%; border-bottom: 2px solid var(--route-line);
}
.jj-training-arrival-branch { display: flex; flex-direction: column; padding-inline: clamp(3px, 1.2vw, 16px); }
.jj-training-arrival-airport {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  min-height: 72px; margin: 0; padding: 8px 4px; border: 1px solid #8bb7c9; border-radius: 8px;
  color: var(--training-ink); background: #fff; font-size: clamp(15px, 2vw, 20px); line-height: 1.45; text-wrap: balance;
}
.jj-training-arrival-airport small { padding: 2px 8px; border-radius: 1em; background: #e3f2ea; color: #216348; font-size: 12px; }
.jj-training-page .jj-training-arrival-stops {
  position: relative; isolation: isolate; flex: 1; display: flex; flex-direction: column; justify-content: center;
  align-items: center; gap: 15px; padding-block: 18px;
}
.jj-training-arrival-stops::before { content: ""; position: absolute; z-index: -1; inset-block: 0; border-left: 2px solid var(--route-line); }
.jj-training-arrival-stops li { max-width: 100%; padding: 3px 4px; background: var(--route-paper); line-height: 1.5; text-wrap: balance; }
.jj-training-arrival-stops strong { color: var(--training-ink); font-size: clamp(14px, 1.8vw, 16px); }
.jj-training-arrival-stops li > span { display: block; margin-top: 2px; color: #49616e; font-size: 13px; }
.jj-training-page .jj-training-arrival-destination { position: relative; padding-top: 24px; }
.jj-training-arrival-destination::before { content: ""; position: absolute; inset-block-start: 0; left: calc(50% - 1px); height: 20px; border-left: 2px solid var(--route-line); }
.jj-training-arrival-destination::after { content: ""; position: absolute; top: 12px; left: calc(50% - 4px); width: 8px; height: 8px; border: solid var(--route-line); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.jj-training-arrival-destination strong { display: inline-block; padding: 10px clamp(12px, 3vw, 30px); border-radius: 8px; background: var(--training-blue); color: #fff; font-size: clamp(16px, 2vw, 20px); line-height: 1.5; }
.jj-training-page .jj-training-arrival-fare { margin-top: 8px; font-size: 14px; text-wrap: balance; }
.jj-training-arrival-details { border-top: 1px solid var(--training-line); }
.jj-training-arrival-details summary { display: list-item; min-height: 44px; padding-block: 10px; color: var(--training-blue); cursor: pointer; font-size: 15px; font-weight: 700; }
.jj-training-arrival-details p + p { margin-top: 6px; }
@media (max-width: 399px) {
  .jj-training-arrival-map { margin-inline: -8px; padding-inline: 8px; }
  .jj-training-arrival-stops li { padding-inline: 2px; }
}
.jj-training-travel .jj-training-destinations { display: flex; flex-wrap: wrap; gap: 5px 14px; margin: 10px 0 14px; }
.jj-training-destinations li { padding-inline-start: 10px; border-inline-start: 2px solid var(--training-line); color: var(--training-ink); line-height: 1.6; }
.jj-training-travel dd p + p { margin-top: 10px; }
.jj-training-page .jj-training-audience-list { border-top:1px solid var(--training-line); }
.jj-training-page .jj-training-audience-list article { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:48px; padding-block:30px; border-bottom:1px solid var(--training-line); }
.jj-training-page .jj-training-audience-list h3 { color:var(--training-blue); font-size:22px; line-height:1.7; }
.jj-training-page .jj-training-audience-list p { color:var(--training-text); }
.jj-training-page .jj-training-fees {
  max-width: 1040px;
  margin-inline: auto;
  border: 1px solid var(--training-line);
  border-radius: 20px;
  overflow: hidden;
}
.jj-training-page .jj-training-price-band {
  display: flex;
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
  padding: 28px clamp(20px, 4vw, 48px);
  background: var(--training-pale);
}
.jj-training-page .jj-training-price {
  flex: none;
  color: var(--training-blue);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.4;
}
.jj-training-page .jj-training-price-band p + p { color: var(--training-text); font-size: 15px; }
.jj-training-page .jj-training-cost-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 32px clamp(20px, 4vw, 48px);
}
.jj-training-page .jj-training-cost-grid > div + div { border-left: 1px solid var(--training-line); padding-left: 32px; }
.jj-training-page .jj-training-cost-grid > div:first-child { padding-right: 32px; }
.jj-training-page .jj-training-cost-grid h3 { color: var(--training-blue); font-size: clamp(19px, 2vw, 22px); }
.jj-training-page .jj-training-cost-list > div { margin-top: 18px; }
.jj-training-page .jj-training-cost-list dt { font-weight: 700; }
.jj-training-page .jj-training-cost-list dd { margin-top: 4px; color: var(--training-text); font-size: 15px; }
.jj-training-page .jj-training-fees > .jj-training-note { margin: 0; padding: 16px clamp(20px, 4vw, 48px); }
.jj-training-page .jj-training-faq,.jj-training-page .jj-training-sources { max-width:960px; margin-inline:auto; }
.jj-training-page .jj-training-faq { border-top:1px solid var(--training-line); }
.jj-training-page .jj-training-faq details { border-bottom:1px solid var(--training-line); }
.jj-training-page .jj-training-faq summary { display:grid; grid-template-columns:30px minmax(0,1fr) 26px; align-items:center; gap:18px; min-height:90px; padding:25px 0; color:var(--training-ink); font-size:18px; font-weight:700; line-height:1.7; list-style:none; cursor:pointer; }
.jj-training-page .jj-training-faq summary::-webkit-details-marker { display:none; }
.jj-training-page .jj-training-question-mark { color:var(--training-blue); font-size:24px; white-space:nowrap; }
.jj-training-page .jj-training-faq-toggle { position:relative; display:block; width:26px; height:26px; border-radius:5px; background:var(--training-blue); }
.jj-training-page .jj-training-faq-toggle::before,.jj-training-page .jj-training-faq-toggle::after { content:""; position:absolute; top:12px; left:6px; width:14px; height:2px; background:#fff; }
.jj-training-page .jj-training-faq-toggle::after { transform:rotate(90deg); }
.jj-training-page .jj-training-faq details[open] .jj-training-faq-toggle::after { display:none; }
.jj-training-page .jj-training-faq details > p { padding:0 44px 28px 48px; color:var(--training-text); }
.jj-training-page .jj-training-sources { margin-top:38px; }
.jj-training-page .jj-training-sources > p { display:flex; flex-wrap:wrap; gap:5px 20px; color:var(--training-text); font-size:14px; font-weight:700; }
.jj-training-page .jj-training-sources > p > span { font-weight:400; }
.jj-training-page .jj-training-sources ul { margin-top:10px; }
.jj-training-page .jj-training-sources a { display:inline-flex; align-items:center; min-height:44px; gap:8px; padding-block:7px; font-size:14px; }
.jj-training-page .jj-training-sources a:hover { text-decoration:underline; }
.jj-training-page .jj-training-sources a > span { flex:none; }
.jj-training-page .jj-training-final { margin-top:90px; padding-block:65px; background:#d9f0ff; }
.jj-training-page .jj-training-final-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:1fr auto auto 1fr; column-gap:clamp(40px,5vw,70px); align-items:center; }
.jj-training-page .jj-training-final .jj-training-section-head { grid-column:2; grid-row:2; margin-bottom:24px; text-align:left; }
.jj-training-page .jj-training-final .jj-training-photo { grid-column:1; grid-row:1 / 5; }
.jj-training-page .jj-training-final-copy { grid-column:2; grid-row:3; }
.jj-training-page .jj-training-final-copy p { color:var(--training-text); }
.jj-training-page .jj-training-final-copy p + p { margin-top:14px; }
.jj-training-page .jj-training-final .jj-training-actions { justify-content:flex-start; }
@media (max-width:1199px) {
  .jj-training-page .jj-training-curriculum-split { gap:40px; }
  .jj-training-page .jj-training-benefits article { padding:25px; }
}
@media (max-width:899px) {
  .jj-training-page .jj-training-timeline { grid-template-columns:minmax(0,1fr); max-width:650px; margin-inline:auto; }
  .jj-training-page .jj-training-timeline::before { content:none; }
  .jj-training-page .jj-training-timeline li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:20px; padding:0 0 26px; }
  .jj-training-page .jj-training-timeline li:last-child { padding-bottom:0; }
  .jj-training-page .jj-training-timeline li:not(:last-child)::before { content:""; position:absolute; top:48px; left:24px; bottom:0; border-left:1px solid #91bbd2; }
  .jj-training-page .jj-training-step-number { width:48px; height:48px; margin:0; font-size:21px; }
  .jj-training-page [id] { scroll-margin-top:105px; }
  .jj-training-page .jj-training-section { padding-block:72px; }
  .jj-training-page .jj-training-curriculum-split { grid-template-columns:minmax(0,1fr); max-width:650px; margin-inline:auto; gap:30px; }
  .jj-training-page .jj-training-benefits { grid-template-columns:minmax(0,1fr); gap:18px; }
  .jj-training-page .jj-training-benefits article { display:grid; grid-template-columns:60px minmax(0,1fr); gap:0 24px; padding:28px; }
  .jj-training-page .jj-training-benefit-number { grid-column:1; grid-row:1 / 3; margin-bottom:0; }
  .jj-training-page .jj-training-benefits h3,.jj-training-page .jj-training-benefits p { grid-column:2; }
  .jj-training-page .jj-training-benefits h3 { margin-bottom:10px; }
  .jj-training-page .jj-training-audience-list article { grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:30px; }
  .jj-training-page .jj-training-final { margin-top:72px; padding-block:72px; }
  .jj-training-page .jj-training-final-grid { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; max-width:650px; gap:28px; }
  .jj-training-page .jj-training-final .jj-training-section-head { grid-column:1; grid-row:1; margin-bottom:0; text-align:center; }
  .jj-training-page .jj-training-final .jj-training-photo { grid-column:1; grid-row:2; }
  .jj-training-page .jj-training-final-copy { grid-column:1; grid-row:3; }
  .jj-training-page .jj-training-final .jj-training-actions { justify-content:center; }
}
@media (max-width:699px) {
  .jj-training-page .jj-training-container { width:calc(100% - 40px); }
  .jj-training-page .jj-training-breadcrumb { gap:0 8px; padding-block:8px; font-size:11px; }
  .jj-training-page .jj-training-hero { padding:30px 0 38px; }
  .jj-training-page .jj-training-hero-inner { width:100%; }
  .jj-training-page .jj-training-hero-title { padding-inline:20px; }
  .jj-training-page .jj-training-service-name { max-width:27em; margin-inline:auto; font-size:12px; }
  #main.jj-training-page .jj-training-hero h1 { margin-top:13px; font-size:clamp(27px,7.5vw,43px); }
  .jj-training-page .jj-training-hero-composition { margin-top:26px; padding:0 14px; }
  .jj-training-page .jj-training-hero-photo { width:100%; }
  .jj-training-page .jj-training-hero-photo img { border-width:4px; border-radius:10px; }
  .jj-training-page .jj-training-hero-orbit { display:none; }
  .jj-training-page .jj-training-hero::before { top:240px; width:480px; height:480px; left:calc(50% - 240px); }
  .jj-training-page .jj-training-hero-details { margin:26px 20px 0; }
  .jj-training-page .jj-training-lead { font-size:16px; font-weight:500; }
  .jj-training-page .jj-training-audience { font-size:12px; }
  .jj-training-page .jj-training-actions { margin-top:24px; gap:12px; }
  #main.jj-training-page .jj-training-button { width:100%; min-height:56px; padding:14px 16px; font-size:15px; }
  #main.jj-training-page .jj-training-button.is-secondary { gap:15px; }
  .jj-training-page .jj-training-photo img { border-radius:13px; }
  .jj-training-page .jj-training-nav { grid-template-columns:minmax(0,1fr); margin-top:-16px; padding:4px 16px; border-radius:14px; }
  .jj-training-page .jj-training-nav a { align-items:flex-start; min-height:72px; padding:10px 26px 10px 6px; text-align:left; }
  .jj-training-page .jj-training-nav a + a { border-inline-start:0; border-top:1px solid var(--training-line); }
  .jj-training-page .jj-training-nav a::after { right:8px; }
  .jj-training-page .jj-training-section { padding-block:58px; }
  .jj-training-page .jj-training-section.is-tinted,.jj-training-page .jj-training-section.is-gray { margin-inline:10px; border-radius:20px; }
  .jj-training-page .jj-training-section-head { margin-bottom:30px; }
  .jj-training-page .jj-training-section-head > .jj-training-label { margin-bottom:12px; font-size:13px; }
  #main.jj-training-page .jj-training-section-head h2 { font-size:25px; }
  .jj-training-page .jj-training-section-intro { margin-bottom:28px; font-size:15px; }
  .jj-training-page .jj-training-note { margin-top:24px; padding-top:20px; font-size:13px; }
  .jj-training-page .jj-training-study { grid-template-columns:minmax(0,1fr); gap:0; }
  .jj-training-page .jj-training-study li { display:grid; grid-template-columns:78px minmax(0,1fr); gap:20px; align-items:center; padding:24px 0; border-top:1px solid var(--training-line); text-align:left; }
  .jj-training-page .jj-training-study li:last-child { border-bottom:1px solid var(--training-line); }
  .jj-training-page .jj-training-study li:not(:last-child)::after { display:none; }
  .jj-training-page .jj-training-study-symbol { width:76px; height:76px; margin:0; }
  .jj-training-page .jj-training-study-symbol .jj-training-icon { width:45px; height:45px; }
  .jj-training-page .jj-training-stage-number { width:26px; height:26px; font-size:11px; }
  .jj-training-page .jj-training-stage-place { font-size:12px; }
  .jj-training-page .jj-training-study h3 { margin:4px 0 8px; font-size:19px; }
  .jj-training-page .jj-training-study li p:last-child { font-size:14px; }
  .jj-training-page .jj-training-benefits article { grid-template-columns:minmax(0,1fr); gap:0; padding:24px; }
  .jj-training-page .jj-training-benefit-number { grid-column:1; grid-row:auto; margin-bottom:14px; font-size:36px; }
  .jj-training-page .jj-training-benefits h3,.jj-training-page .jj-training-benefits p { grid-column:1; }
  .jj-training-page .jj-training-benefits h3 { font-size:21px; }
  .jj-training-page .jj-training-benefits p { font-size:14px; }
  .jj-training-page .jj-training-curriculum article { grid-template-columns:42px minmax(0,1fr); gap:16px; padding-block:22px; }
  .jj-training-page .jj-training-curriculum-symbol .jj-training-icon { width:38px; height:38px; }
  .jj-training-page .jj-training-curriculum h3 { font-size:20px; }
  .jj-training-page .jj-training-curriculum p { font-size:14px; }
  .jj-training-page .jj-training-roles { margin-top:35px; }
  .jj-training-page .jj-training-roles > h3 { font-size:21px; }
  .jj-training-page .jj-training-roles table { font-size:14px; }
  .jj-training-page .jj-training-roles th,.jj-training-page .jj-training-roles td { padding:14px 12px; }
  .jj-training-page .jj-training-timeline h3 { font-size:17px; margin-bottom:8px; }
  .jj-training-page .jj-training-timeline p { font-size:14px; }
  .jj-training-page .jj-training-audience-list article { grid-template-columns:minmax(0,1fr); gap:12px; padding-block:24px; }
  .jj-training-page .jj-training-audience-list h3 { font-size:21px; }
  .jj-training-page .jj-training-audience-list p { font-size:15px; }
  .jj-training-page .jj-training-price-band { display: grid; gap: 12px; padding-block: 22px; }
  .jj-training-page .jj-training-cost-grid { grid-template-columns: 1fr; gap: 24px; padding-block: 24px; }
  .jj-training-page .jj-training-cost-grid > div:first-child { padding-right: 0; }
  .jj-training-page .jj-training-cost-grid > div + div { padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--training-line); }
  .jj-training-page .jj-training-faq summary { grid-template-columns:26px minmax(0,1fr) 24px; gap:10px; min-height:80px; padding-block:22px; font-size:16px; }
  .jj-training-page .jj-training-question-mark { font-size:21px; }
  .jj-training-page .jj-training-faq-toggle { width:24px; height:24px; }
  .jj-training-page .jj-training-faq-toggle::before,.jj-training-page .jj-training-faq-toggle::after { top:11px; left:5px; }
  .jj-training-page .jj-training-faq details > p { padding:0 0 24px 36px; font-size:14px; }
  .jj-training-page .jj-training-sources { margin-top:28px; }
  .jj-training-page .jj-training-sources > p,.jj-training-page .jj-training-sources a { font-size:13px; }
  .jj-training-page .jj-training-final { margin-top:58px; padding-block:35px 45px; }
  .jj-training-page .jj-training-final-copy p { font-size:15px; }
}
@media (max-width:359px) {
  .jj-training-page .jj-training-benefits article { padding:20px; }
  .jj-training-page .jj-training-benefits h3 { font-size:19px; }
  .jj-training-page .jj-training-study li { grid-template-columns:64px minmax(0,1fr); gap:15px; }
  .jj-training-page .jj-training-study-symbol { width:62px; height:62px; }
  .jj-training-page .jj-training-roles th,.jj-training-page .jj-training-roles td { padding:12px 9px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  #main.jj-training-page .jj-training-button { transition:none; }
}

@media (max-width: 899px) {
  .jj-training-banner-inner { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .jj-training-banner a { justify-self: start; max-width: 100%; }
}
@media (max-width: 639px) {
  .jj-training-banner { padding-block: 30px; }
  .jj-training-banner-inner { width: calc(100% - 40px); }
  .jj-training-banner h2 { font-size: 23px; }
  .jj-training-banner p:not(.jj-training-banner-label) { font-size: 16px; }
  .jj-training-banner a { justify-self: stretch; font-size: 16px; gap: 12px; padding: 15px 17px; }
}
