.canada-programs-page {
  --canada-navy: #0b1c31;
  --canada-blue: #235bc4;
  --canada-gold: #b58b4a;
  --canada-line: #dce4ea;
  --canada-muted: #5d6c7b;
  background: #fff;
  color: var(--canada-navy);
}
.canada-programs-page main { overflow: clip; }
.canada-programs-page section { scroll-margin-top: 120px; }
.canada-programs-page .canada-programs-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: radial-gradient(ellipse at 15% 0%, #23456c 0, transparent 44%), var(--canada-navy);
}
.canada-programs-hero-inner { position: relative; z-index: 1; padding-block: 28px 70px; }
.canada-programs-page .breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 46px; color: #c6d2df; font-size: 13px; }
.canada-programs-page .breadcrumb a { color: #fff; text-decoration: underline; text-decoration-color: #ffffff55; text-underline-offset: 4px; }
.canada-programs-page .section-kicker { color: var(--canada-gold); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.canada-programs-page .canada-programs-hero h1 { max-width: 750px; margin: 15px 0; color: #fff; font-size: clamp(38px, 6vw, 68px); line-height: 1.2; }
.canada-programs-page .canada-programs-hero h1 em { color: #ead5ae; font-style: normal; }
.canada-programs-page .canada-programs-hero p { max-width: 710px; margin: 0; color: #d4dfea; font-size: 17px; line-height: 1.95; }
.canada-programs-hero-note { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 30px; color: #c5d1dd; font-size: 12px; }
.canada-programs-hero-note span + span::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-inline-end: 11px; border-radius: 50%; background: var(--canada-gold); vertical-align: middle; }
.canada-programs-overview { border-bottom: 1px solid var(--canada-line); background: #faf9f6; }
.canada-programs-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.canada-programs-overview a { display: grid; min-height: 104px; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; align-content: center; column-gap: 13px; padding: 18px 20px; color: var(--canada-navy); text-decoration: none; border-inline-start: 1px solid var(--canada-line); }
.canada-programs-overview a:first-child { border-inline-start: 0; }
.canada-programs-overview a:hover, .canada-programs-overview a:focus-visible { background: #f0f4f8; }
.canada-programs-overview a:focus-visible, .canada-programs-page a:focus-visible { outline: 2px solid var(--canada-blue); outline-offset: 3px; }
.canada-programs-overview a span { grid-row: 1 / 3; align-self: center; color: var(--canada-gold); font-size: 14px; font-variant-numeric: tabular-nums; }
.canada-programs-overview a strong { font-size: 15px; }
.canada-programs-overview a small { margin-top: 3px; color: var(--canada-muted); font-size: 12px; }
.canada-program-section { padding-block: clamp(62px, 8vw, 100px); }
.canada-program-section-tint { background: #f3f6f8; }
.canada-program-heading { max-width: 760px; margin-bottom: 32px; }
.canada-program-heading h2 { margin: 12px 0; color: var(--canada-navy); font-size: clamp(31px, 4.3vw, 48px); line-height: 1.25; }
.canada-program-heading h2 span { color: var(--canada-blue); }
.canada-program-heading > p { max-width: 720px; margin: 0; color: var(--canada-muted); font-size: 15px; line-height: 1.9; }
.canada-program-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.canada-program-card { min-width: 0; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--canada-line); border-radius: 14px; background: #fff; box-shadow: 0 10px 28px #0b1c3108; }
.canada-program-card-label { display: inline-block; color: var(--canada-gold); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.canada-program-card h3 { margin: 10px 0 18px; color: var(--canada-navy); font-size: 24px; }
.canada-program-card dl { display: grid; gap: 0; margin: 0; }
.canada-program-card dl > div { display: grid; grid-template-columns: minmax(130px, .72fr) minmax(0, 1fr); gap: 12px; padding-block: 13px; border-top: 1px solid #e7edf1; }
.canada-program-card dt { color: var(--canada-muted); font-size: 13px; }
.canada-program-card dd { margin: 0; color: var(--canada-navy); font-size: 13px; font-weight: 700; line-height: 1.75; }
.canada-program-footnote { margin: 17px 0 0; color: var(--canada-muted); font-size: 12px; line-height: 1.8; }
.canada-source-link { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 14px; color: var(--canada-blue); font-size: 13px; font-weight: 700; line-height: 1.7; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.canada-program-single-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(26px, 5vw, 64px); align-items: start; }
.canada-program-single-layout .canada-program-heading { margin: 0; }
.canada-program-card-wide { padding: clamp(24px, 3.5vw, 38px); }
.canada-check-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.canada-check-list li { position: relative; padding-inline-start: 24px; color: #3f5062; font-size: 14px; line-height: 1.85; }
.canada-check-list li::before { position: absolute; inset-inline-start: 0; top: .68em; width: 8px; height: 8px; border: 1px solid var(--canada-gold); border-radius: 50%; content: ""; }
.canada-c11-card { background: #fbfaf7; }
.canada-programs-disclaimer { padding-block: 52px; border-top: 1px solid var(--canada-line); background: #fff; }
.canada-programs-disclaimer .container { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 18px 28px; align-items: center; }
.canada-programs-disclaimer strong { color: var(--canada-gold); font-size: 13px; }
.canada-programs-disclaimer p { margin: 0; color: var(--canada-muted); font-size: 13px; line-height: 1.9; }
.canada-programs-disclaimer .button { white-space: nowrap; }
@media (max-width: 800px) {
  .canada-programs-overview-grid { grid-template-columns: 1fr; }
  .canada-programs-overview a { min-height: 78px; border-inline-start: 0; border-top: 1px solid var(--canada-line); }
  .canada-programs-overview a:first-child { border-top: 0; }
  .canada-program-single-layout { grid-template-columns: 1fr; gap: 26px; }
  .canada-programs-disclaimer .container { grid-template-columns: 1fr; gap: 10px; }
  .canada-programs-disclaimer .button { justify-self: start; margin-top: 8px; }
}
@media (max-width: 620px) {
  .canada-programs-hero-inner { padding-block: 22px 50px; }
  .canada-programs-page .breadcrumb { margin-bottom: 36px; font-size: 12px; }
  .canada-programs-page .canada-programs-hero p { font-size: 15px; }
  .canada-programs-hero-note { flex-direction: column; gap: 7px; }
  .canada-programs-hero-note span + span::before { display: none; }
  .canada-program-cards { grid-template-columns: 1fr; }
  .canada-program-card dl > div { grid-template-columns: 1fr; gap: 3px; }
  .canada-program-card h3 { font-size: 21px; }
}


/* Expanded Canada pathway comparison and practical guide sections. */
.canada-fit-section { padding-block: clamp(54px, 7vw, 82px); background: #f8f7f4; }
.canada-fit-heading { max-width: 760px; margin-bottom: 28px; }
.canada-fit-heading h2 { margin: 11px 0; color: var(--canada-navy); font-size: clamp(28px, 3.8vw, 40px); line-height: 1.3; }
.canada-fit-heading h2 span { color: var(--canada-blue); }
.canada-fit-heading > p { margin: 0; color: var(--canada-muted); font-size: 14px; line-height: 1.9; }
.canada-fit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.canada-fit-grid article { min-width: 0; padding: 22px 20px 18px; border-top: 2px solid var(--canada-gold); background: #fff; }
.canada-fit-grid article > span { color: var(--canada-gold); font-size: 11px; font-weight: 800; }
.canada-fit-grid h3 { margin: 11px 0 8px; color: var(--canada-navy); font-size: 17px; line-height: 1.5; }
.canada-fit-grid p { margin: 0; color: var(--canada-muted); font-size: 13px; line-height: 1.85; }
.canada-process-panel { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); gap: 28px; margin-top: 26px; padding: clamp(22px, 3vw, 32px); border: 1px solid var(--canada-line); border-radius: 14px; background: #faf9f6; }
.canada-process-panel h3 { margin: 10px 0; color: var(--canada-navy); font-size: 22px; }
.canada-process-panel > div > p { margin: 0; color: var(--canada-muted); font-size: 13px; line-height: 1.9; }
.canada-process-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: process-step; }
.canada-process-steps li { position: relative; min-width: 0; padding: 4px 38px 0 0; counter-increment: process-step; }
.canada-process-steps li::before { position: absolute; inset-inline-start: 0; inset-inline-end: auto; top: 0; content: "0" counter(process-step); color: var(--canada-gold); font-size: 12px; font-weight: 800; }
.canada-process-steps strong { display: block; margin-bottom: 4px; color: var(--canada-navy); font-size: 14px; }
.canada-process-steps span { display: block; color: var(--canada-muted); font-size: 12px; line-height: 1.75; }
.canada-source-group { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 4px; }
.canada-source-group .canada-source-link { margin-top: 10px; }
.canada-ns-fee-panel { display: grid; grid-template-columns: minmax(200px, .72fr) minmax(0, 1.28fr); gap: 24px; align-items: start; margin-top: 28px; padding-block: 24px 0; border-top: 1px solid #d7e0e7; }
.canada-ns-fee-panel h3 { margin: 9px 0 0; color: var(--canada-navy); font-size: 21px; }
.canada-ns-fee-panel p { margin: 0 0 8px; color: #3f5062; font-size: 14px; line-height: 1.9; }
.canada-ns-fee-panel .canada-program-footnote { color: var(--canada-muted); font-size: 12px; }
.canada-program-status-note { padding-block: 32px; border-block: 1px solid var(--canada-line); background: #f7f3eb; }
.canada-program-status-note .container { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr) auto; gap: 20px 28px; align-items: center; }
.canada-program-status-note h2 { margin: 8px 0 0; color: var(--canada-navy); font-size: 20px; line-height: 1.5; }
.canada-program-status-note p { margin: 0; color: #48586a; font-size: 13px; line-height: 1.85; }
.canada-program-status-note .canada-source-link { margin: 0; white-space: nowrap; }
.canada-readiness-section { padding-block: clamp(46px, 6vw, 68px); color: #fff; background: var(--canada-navy); }
.canada-readiness-section .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.canada-readiness-copy { max-width: 760px; }
.canada-readiness-copy .section-kicker { color: #e3c591; }
.canada-readiness-copy h2 { margin: 9px 0; color: #fff; font-size: clamp(26px, 3.2vw, 36px); }
.canada-readiness-copy p { margin: 0; color: #d2dce6; font-size: 14px; line-height: 1.9; }
.canada-readiness-section .button { flex: 0 0 auto; }
@media (max-width: 800px) {
  .canada-fit-grid { grid-template-columns: 1fr; gap: 10px; }
  .canada-fit-grid article { padding: 18px; }
  .canada-process-panel, .canada-ns-fee-panel { grid-template-columns: 1fr; gap: 18px; }
  .canada-program-status-note .container { grid-template-columns: 1fr; gap: 12px; }
  .canada-program-status-note .canada-source-link { justify-self: start; white-space: normal; }
  .canada-readiness-section .container { align-items: flex-start; flex-direction: column; gap: 20px; }
}
@media (max-width: 620px) {
  .canada-process-steps { grid-template-columns: 1fr; gap: 13px; }
  .canada-process-panel { padding: 20px; }
  .canada-program-status-note { padding-block: 26px; }
}
