/* Category G — Canada launch pages */
.ca-shell{max-width:1180px;margin:0 auto;padding:0 24px}
.ca-hub-hero,.ca-jx-hero{padding:150px 0 72px;background:linear-gradient(135deg,#F4EFE7 0%,#ffffff 58%,#F6F1E9 100%)}
.ca-hub-grid,.ca-jx-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}
.ca-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#F6F1E9;color:#1B3554;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ca-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:#C8A568;box-shadow:0 0 0 5px rgba(200, 165, 104, .13)}
.ca-title{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:clamp(2.5rem,5vw,4.4rem);line-height:.98;margin:18px 0 18px;color:#0E1E33;letter-spacing:-.04em}
.ca-title em{font-style:normal;color:#1B3554}
.ca-lede{font-size:1.08rem;line-height:1.8;color:#3D4854;max-width:760px}
.ca-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 22px}
.ca-btnx{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:16px;border:1px solid #CFC8BD;background:#fff;color:#0E1E33;font-weight:700;text-decoration:none;box-shadow:0 12px 28px rgba(14, 30, 51, .06)}
.ca-btnx.primary{background:linear-gradient(135deg,#1B3554,#1B3554);border-color:#1B3554;color:#fff}
.ca-btnx:hover{transform:translateY(-1px)}
.ca-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.ca-stat-card,.ca-note-card,.ca-card,.ca-jx-card,.ca-source-card,.ca-mini-card{background:#fff;border:1px solid #F4EFE7;border-radius:24px;box-shadow:0 16px 38px rgba(14, 30, 51, .06)}
.ca-stat-card{padding:22px}
.ca-stat-card strong{display:block;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:1.9rem;color:#0E1E33}
.ca-stat-card span{display:block;margin-top:6px;color:#3D4854;line-height:1.55}
.ca-note-card{padding:24px}
.ca-note-card h3{margin:0 0 10px;font-size:1.1rem;color:#0E1E33}
.ca-note-card p,.ca-note-card li{color:#3D4854;line-height:1.75}
.ca-note-card ul{margin:10px 0 0 18px;padding:0}
.ca-section{padding:64px 0}
.ca-section-title{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:clamp(2rem,3.6vw,3rem);line-height:1.04;margin:0 0 14px;color:#0E1E33;letter-spacing:-.03em}
.ca-section-intro{max-width:820px;color:#3D4854;line-height:1.8;margin-bottom:28px}
.ca-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ca-card{padding:24px}
.ca-card h3,.ca-jx-card h3,.ca-source-card h3,.ca-mini-card h3{margin:0 0 12px;color:#0E1E33;font-size:1.1rem}
.ca-card p,.ca-jx-card p,.ca-source-card p,.ca-mini-card p{margin:0;color:#3D4854;line-height:1.72}
.ca-card a,.ca-jx-card a,.ca-source-card a,.ca-mini-card a,.ca-inline-link{color:#1B3554;font-weight:700;text-decoration:none}
.ca-card small,.ca-jx-card small{display:inline-block;margin-top:12px;color:#70757A}
.ca-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ca-jx-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ca-jx-card{padding:22px;display:flex;flex-direction:column;gap:12px}
.ca-jx-card .ca-jx-meta{display:flex;flex-wrap:wrap;gap:8px}
.ca-jx-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#F4EFE7;color:#3D4854;font-size:12px;font-weight:700}
.ca-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:14px;color:#3D4854;margin-bottom:18px}
.ca-breadcrumbs a{color:#1B3554;text-decoration:none;font-weight:600}
.ca-jx-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px}
.ca-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px}
.ca-source-card,.ca-mini-card{padding:24px}
.ca-source-card p + p{margin-top:8px}
.ca-jx-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}
.ca-jx-summary .ca-stat-card strong{font-size:1.1rem}
.ca-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ca-disclaimer{margin-top:30px;font-size:14px;color:#3D4854}
@media (max-width: 1080px){.ca-card-grid,.ca-jx-list,.ca-related{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-jx-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ca-hub-grid,.ca-jx-grid,.ca-jx-panels,.ca-source-grid,.ca-link-grid{grid-template-columns:1fr}}
@media (max-width: 700px){.ca-shell{padding:0 18px}.ca-hub-hero,.ca-jx-hero{padding:124px 0 54px}.ca-title{font-size:2.4rem}.ca-stats,.ca-card-grid,.ca-jx-list,.ca-related,.ca-jx-summary{grid-template-columns:1fr}.ca-actions{flex-direction:column;align-items:stretch}.ca-btnx{justify-content:center}}

/* Canada visual system — red accents, official-source reference layouts. */
.ca-page {
  --ca-red: #d71920;
  --ca-red-dark: #a70e14;
  --ca-red-soft: #fff0f1;
  --ca-ink: #0E1E33;
  --ca-green: #0E1E33;
  background: #F6F1E9;
}
.ca-page .ca-kicker {
  border: 1px solid rgba(215,25,32,.17);
  background: var(--ca-red-soft);
  color: var(--ca-red-dark);
}
.ca-page .ca-kicker::before { background: var(--ca-red); box-shadow: 0 0 0 5px rgba(215,25,32,.12); }
.ca-page .ca-title em { color: var(--ca-red); }
.ca-page .ca-btnx.primary { background: linear-gradient(135deg,#e21c25,#b80f16); border-color:#b80f16; }
.ca-page .ca-btnx:focus-visible,
.ca-page a:focus-visible,
.ca-page summary:focus-visible { outline: 3px solid rgba(215,25,32,.28); outline-offset: 3px; }
.ca-page .ca-section-tint { background: linear-gradient(180deg,#fffafb 0%,#F4EFE7 100%); border-top:1px solid #f3e4e5; border-bottom:1px solid #F4EFE7; }
.ca-page .ca-overline { margin:0 0 10px; color:var(--ca-red-dark); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ca-page .ca-section-heading { margin-bottom: 30px; }
.ca-page .ca-card,
.ca-page .ca-jx-card,
.ca-page .ca-source-card,
.ca-page .ca-mini-card { position:relative; overflow:hidden; }
.ca-page .ca-card::before,
.ca-page .ca-jx-card::before,
.ca-page .ca-source-card::before,
.ca-page .ca-mini-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--ca-red),#f27a7f 58%,transparent); opacity:.8; }
.ca-page .ca-card-icon { width:38px; height:38px; display:grid; place-items:center; margin-bottom:15px; border-radius:11px; background:var(--ca-red-soft); color:var(--ca-red-dark); font-size:12px; font-weight:800; }
.ca-page .ca-card ul { margin:0; padding-left:20px; color:#3D4854; line-height:1.72; }
.ca-page .ca-card li + li { margin-top:6px; }
.ca-page .ca-card a,
.ca-page .ca-jx-card a,
.ca-page .ca-source-card a,
.ca-page .ca-mini-card a { color:var(--ca-red-dark); }

.ca-hub-hero {
  position:relative;
  overflow:hidden;
  padding:142px 0 82px;
  background:
    radial-gradient(circle at 88% 20%,rgba(215,25,32,.28),transparent 28%),
    radial-gradient(circle at 8% 80%,rgba(215,25,32,.14),transparent 30%),
    linear-gradient(128deg,#0E1E33 0%,#0E1E33 58%,#0E1E33 100%);
}
.ca-hub-hero::after { content:""; position:absolute; width:420px; height:420px; right:-150px; bottom:-220px; border:74px solid rgba(255,255,255,.04); transform:rotate(18deg); border-radius:50%; pointer-events:none; }
.ca-hub-hero .ca-hub-grid { position:relative; z-index:1; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); align-items:center; }
.ca-hub-hero .ca-title { color:#fff; max-width:790px; }
.ca-hub-hero .ca-lede { color:rgba(255,255,255,.78); max-width:760px; }
.ca-hub-hero .ca-kicker { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.1); color:#fff; }
.ca-hub-hero .ca-kicker::before { background:#ff5d64; }
.ca-hub-hero .ca-btnx.light,
.ca-canada-cta .ca-btnx.light { background:#fff; border-color:#fff; color:#8d1016; }
.ca-hub-hero .ca-stat-card { border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.08); box-shadow:none; backdrop-filter:blur(8px); }
.ca-hub-hero .ca-stat-card strong { color:#fff; }
.ca-hub-hero .ca-stat-card span { color:rgba(255,255,255,.68); }
.ca-hub-route-card { padding:25px; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:rgba(255,255,255,.96); box-shadow:0 28px 70px rgba(0,0,0,.24); transform:rotate(1deg); }
.ca-hub-flag { font-size:44px; line-height:1; margin-bottom:10px; }
.ca-reference-label { margin:0 0 12px; color:#7b6466; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ca-hub-route-card a { display:flex; flex-direction:column; gap:4px; padding:15px 0; border-top:1px solid #eadfe0; text-decoration:none; }
.ca-hub-route-card a span { color:#7b696b; font-size:12px; }
.ca-hub-route-card a strong { color:#342527; font-size:15px; }

.ca-reference-hero,
.ca-index-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#fff8f8 0%,#fff 55%,#F4EFE7 100%); }
.ca-reference-hero::after,
.ca-index-hero::after { content:""; position:absolute; top:66px; right:-90px; width:330px; height:330px; border-radius:50%; background:radial-gradient(circle,rgba(215,25,32,.12) 0 2px,transparent 3px); background-size:18px 18px; opacity:.55; pointer-events:none; }
.ca-reference-hero .ca-jx-grid,
.ca-index-hero .ca-jx-grid { position:relative; z-index:1; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); align-items:center; }
.ca-reference-summary { padding:25px; border:1px solid #efd9da; border-radius:26px; background:rgba(255,255,255,.94); box-shadow:0 22px 50px rgba(67,25,27,.1); }
.ca-reference-flag { font-size:35px; line-height:1; margin-bottom:12px; }
.ca-reference-summary h2 { margin:0 0 16px; color:var(--ca-red-dark); font-family:"Bricolage Grotesque",system-ui,sans-serif; font-size:2.2rem; }
.ca-reference-summary dl { margin:0; }
.ca-reference-summary dl > div { display:grid; grid-template-columns:112px minmax(0,1fr); gap:12px; padding:10px 0; border-top:1px solid #eee3e4; }
.ca-reference-summary dt { color:#7a686a; font-size:12px; }
.ca-reference-summary dd { margin:0; color:#2f2526; font-size:12.5px; font-weight:700; overflow-wrap:anywhere; }
.ca-index-summary ul { margin:0; padding-left:20px; color:#3D4854; line-height:1.75; }
.ca-status { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:5px 8px; border-radius:999px; font-size:10px; font-weight:800; line-height:1.25; }
.ca-status.verified { background:#F6F1E9; color:#1B3554; }
.ca-status.pending { background:#F6F1E9; color:#806331; }

.ca-detail-card { min-height:250px; }
.ca-research-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:30px; align-items:start; }
.ca-research-note { padding:26px; border-radius:24px; border:1px solid #edcfd1; background:linear-gradient(145deg,#fff4f4,#fff); box-shadow:0 16px 38px rgba(92,30,33,.07); }
.ca-research-note h3 { margin:0 0 12px; color:#3a2526; font-size:1.35rem; }
.ca-research-note p { color:#5e4d4f; line-height:1.75; }
.ca-research-note .ca-small { margin-top:18px; padding-top:18px; border-top:1px solid #ecd9da; font-size:12.5px; color:#79686a; }
.ca-reference-faq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ca-reference-faq details { border:1px solid #e2d8d9; border-radius:16px; background:#fff; padding:18px 20px; }
.ca-reference-faq summary { cursor:pointer; color:#282122; font-weight:800; }
.ca-reference-faq p { margin:13px 0 0; color:#3D4854; line-height:1.7; }
.ca-page-navigation { display:grid; grid-template-columns:1fr auto 1fr; gap:14px; margin-top:32px; align-items:stretch; }
.ca-page-navigation a { display:flex; flex-direction:column; justify-content:center; gap:4px; padding:14px 16px; border:1px solid #e0d8d9; border-radius:14px; background:#fff; color:#3d3031; text-decoration:none; }
.ca-page-navigation a:nth-child(2) { text-align:center; color:var(--ca-red-dark); font-weight:800; }
.ca-page-navigation a:last-child { text-align:right; }
.ca-page-navigation span { color:#8b797b; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.ca-page-navigation strong { font-size:12.5px; }

.ca-jx-card { min-height:245px; }
.ca-jx-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.ca-jx-code { display:inline-flex; padding:6px 9px; border-radius:8px; background:var(--ca-red-soft); color:var(--ca-red-dark); font-size:11px; font-weight:900; }
.ca-jx-card h3 { margin-top:4px; font-size:1.25rem; }
.ca-jx-card p { flex:1; }
.ca-jx-card a { margin-top:auto; }
.ca-path-card { min-height:270px; }
.ca-centered-actions { justify-content:center; margin-top:30px; }
.ca-canada-cta { padding:62px 0; background:linear-gradient(120deg,#b80f16,#e21c25); color:#fff; }
.ca-canada-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.ca-canada-cta .ca-overline { color:rgba(255,255,255,.7); }
.ca-canada-cta h2 { margin:0 0 10px; color:#fff; font-family:"Bricolage Grotesque",system-ui,sans-serif; font-size:clamp(2rem,4vw,3.2rem); line-height:1; letter-spacing:-.035em; }
.ca-canada-cta p { margin:0; color:rgba(255,255,255,.77); }

/* Canada research/database pages retain their table system with a red cue. */
.ca-resource-page { border-top:4px solid var(--ca-red); }
.ca-resource-page .wsr-hero { background:linear-gradient(135deg,#fff7f7 0%,#fff 52%,#F6F1E9 100%); }
.ca-resource-page .wsr-title span,
.ca-resource-page .wsr-kicker,
.ca-resource-page .wsr-source a { color:var(--ca-red-dark); }
.ca-resource-page .wsr-btn.primary { background:var(--ca-red); border-color:var(--ca-red); }

@media (max-width:1080px) {
  .ca-hub-hero .ca-hub-grid,
  .ca-reference-hero .ca-jx-grid,
  .ca-index-hero .ca-jx-grid,
  .ca-research-layout { grid-template-columns:1fr; }
  .ca-hub-route-card { transform:none; }
}
@media (max-width:700px) {
  .ca-hub-hero { padding:116px 0 58px; }
  .ca-reference-faq { grid-template-columns:1fr; }
  .ca-page-navigation { grid-template-columns:1fr; }
  .ca-page-navigation a,
  .ca-page-navigation a:last-child { text-align:left; }
  .ca-canada-cta-inner { flex-direction:column; align-items:flex-start; }
  .ca-canada-cta .ca-btnx { width:100%; }
  .ca-reference-summary dl > div { grid-template-columns:1fr; gap:4px; }
}
