html.pcm-step38-toronto-vancouver body { font-family: "Source Sans 3", Arial, sans-serif; overflow-x: hidden; }
html.pcm-step38-toronto-vancouver h1, html.pcm-step38-toronto-vancouver h2, html.pcm-step38-toronto-vancouver h3, html.pcm-step38-toronto-vancouver .pcm-step38-glance strong { font-family: "Playfair Display", Georgia, serif; }
.pcm-step38-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.pcm-step38-main > .container { max-width: 896px; }
.pcm-step38-main h2 { margin: 40px 0 24px; font-size: 24px; line-height: 32px; font-weight: 700; }
.pcm-step38-main h2:first-child { margin-top: 0; font-size: 30px; line-height: 36px; }
.pcm-step38-main > .container > p { margin-bottom: 16px; font-size: 16px; line-height: 25.6px; }
.pcm-step38-main a { color: #cc1a1a; font-weight: 600; }
.pcm-step38-glance { margin: 40px 0; padding: 24px; border: 1px solid #e5e7eb; border-radius: 12px; background: #f9fafb; }
.pcm-step38-glance h3 { margin: 0 0 16px; font-size: 20px; line-height: 28px; font-weight: 700; }
.pcm-step38-glance__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.pcm-step38-glance__grid > div { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.pcm-step38-glance__grid > div > span { color: #cc1a1a; font-size: 20px; line-height: 28px; font-weight: 700; }
.pcm-step38-glance p { margin: 0; min-width: 0; }
.pcm-step38-glance small,.pcm-step38-glance strong,.pcm-step38-glance em { display: block; }
.pcm-step38-glance small { margin-bottom: 2px; color: #6b7280; font-size: 12px; line-height: 16px; font-style: normal; text-transform: uppercase; letter-spacing: .06em; }
.pcm-step38-glance strong { color: #111827; font-size: 18px; line-height: 28px; }
.pcm-step38-glance em { color: #6b7280; font-size: 14px; line-height: 20px; font-style: normal; }
.pcm-step38-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 40px; }
.pcm-step38-card,.pcm-step38-process { padding: 20px; border: 1px solid #e5e7eb; border-radius: 12px; background: #f9fafb; }
.pcm-step38-card h3,.pcm-step38-process h3 { margin: 0 0 8px; font-size: 16px; line-height: 24px; font-weight: 700; }
.pcm-step38-card p,.pcm-step38-process p { margin: 0; font-size: 16px; line-height: 25.6px; }
.pcm-step38-proof { display: grid; gap: 12px; margin-bottom: 40px; }
.pcm-step38-proof li::before { content: "✓"; color: #cc1a1a; margin-right: 10px; font-weight: 800; }
.pcm-step38-warning { margin-bottom: 40px; padding: 20px; border: 1px solid #f2d08b; border-radius: 12px; background: #fffbeb; }
.pcm-step38-process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 40px; }
.pcm-step38-process { text-align: center; }
.pcm-step38-process > span { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 auto 12px; border-radius: 999px; background: #cc1a1a; color: white; font-weight: 700; }
.pcm-step38-toronto-vancouver .pcm-route-faq-static { padding: 64px 16px; }
.pcm-step38-toronto-vancouver .pcm-route-faq-static > div { max-width: 768px; }
.pcm-step38-toronto-vancouver .pcm-route-faq-static h2 { margin: 0 0 32px; font-size: 30px; line-height: 36px; font-weight: 700; }
.pcm-step38-toronto-vancouver .pcm-route-faq-static details { margin-bottom: 16px; padding: 24px; border: 1px solid #e5e7eb; border-radius: 12px; background: white; }
.pcm-step38-toronto-vancouver .pcm-route-faq-static summary { font-family: "Playfair Display",Georgia,serif; font-size: 16px; line-height: 24px; font-weight: 700; cursor: pointer; }
.pcm-step38-toronto-vancouver .pcm-route-faq-static p { margin-top: 12px; font-size: 14px; line-height: 22.75px; }
.pcm-step38-toronto-vancouver .pcm-route-cost table { min-width: 760px; }
.pcm-step38-toronto-vancouver .pcm-route-cost__table-wrap { overflow-x: auto; }
@media (max-width: 1023px) { .pcm-step38-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 639px) { .pcm-step38-glance__grid,.pcm-step38-card-grid,.pcm-step38-process-grid { grid-template-columns: 1fr; } }
