
@media (max-width:1050px) {
  .canadian-page.projects-page .canadian-hero {
    background:var(--cloud-shell) url("../cloud-canadien-nuage-drapeau-mat-banniere-v02.webp") center / cover no-repeat;
    background-blend-mode:normal;
  }
  .canadian-main .canadian-hero h1 { max-width:780px; font-size:48px; line-height:1.16; }
  .canadian-main .canadian-hero p { max-width:640px; }
  .canadian-main .canadian-hero .canadian-eyebrow { position:absolute; bottom:calc(100% + 24px); margin:0; color:#FFFFFF; font-size:14px; font-weight:500; letter-spacing:0; }
  .canadian-main .projects-intro h2 { margin-bottom:36px; }
  .canadian-main .canadian-section { margin:80px 0 0; padding:0; }
  .canadian-main .canadian-pricing { padding:48px 0; background:var(--cloud-tint); }
  .canadian-pricing :is(h2,h3,p) { color:#000000; }
  .canadian-pricing-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin:0; padding:0; list-style:none; }
  .canadian-pricing-list li { min-width:0; }
  .canadian-icon { display:block; width:28px; height:28px; flex:none; color:var(--cloud-accent); }
  .canadian-icon svg { display:block; width:100%; height:100%; }
  .canadian-pricing-list .canadian-icon { margin-bottom:16px; }
  .canadian-main .canadian-pricing-list h3 { margin:0 0 12px; font-size:20px; }
  .canadian-pricing-list p { font-size:15px; }
  .canadian-main .projects-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; }
  .canadian-main .projects-tabs button { white-space:normal; text-wrap:balance; }
  .canadian-main .projects-panel > div { min-width:0; }
  .canadian-diagram { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:24px; min-height:176px; padding:20px 0; }
  .canadian-diagram-node { position:relative; display:grid; grid-template-rows:48px minmax(40px,auto); justify-items:center; gap:10px; min-width:0; text-align:center; font-size:13px; line-height:1.5; color:#000000; }
  .canadian-diagram-node .canadian-icon { width:32px; height:32px; align-self:center; }
  .canadian-diagram-node:not(:last-child)::after { content:""; position:absolute; top:24px; left:calc(50% + 34px); width:calc(100% - 44px); border-top:1px dashed var(--cloud-accent); }
  .canadian-main .canadian-location { padding:48px 0; background:var(--cloud-tint); }
  .canadian-location-layout { display:grid; grid-template-columns:28px minmax(0,1fr); gap:24px; align-items:start; }
  .canadian-main .canadian-location h2 { margin-bottom:24px; }
  .canadian-location p { max-width:960px; }
  .canadian-location :is(h2,p) { color:#000000; }
  .canadian-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin:0; padding:0; list-style:none; }
  .canadian-steps li { min-width:0; }
  .canadian-step-marker { position:relative; display:flex; align-items:center; gap:12px; height:40px; margin-bottom:16px; color:var(--cloud-accent); }
  .canadian-step-number { width:40px; flex:none; font-size:24px; font-weight:600; font-variant-numeric:tabular-nums; }
  .canadian-steps li:not(:last-child) .canadian-step-marker::after { content:""; position:absolute; top:20px; left:100px; right:-24px; border-top:1px solid #C5D5E2; }
  .canadian-main .canadian-steps h3 { margin:0 0 12px; font-size:20px; }
  .canadian-steps p { font-size:15px; }
  .canadian-action { display:flex; justify-content:center; margin-top:32px; }
  /* The related frame already supplies the 80px before the FAQ. */
  .canadian-main .projects-related { margin-top:80px; }
  .canadian-main .faq .section-inner { padding-top:0; padding-bottom:80px; }
  .canadian-main .faq .serif-title { margin-bottom:36px; }
  .canadian-main .projects-contact { padding-top:0; padding-bottom:80px; }
  .canadian-main .projects-contact-button { margin-top:28px; }
  .canadian-main .faq-answer a { color:var(--cloud-hover); text-decoration:underline; text-underline-offset:3px; }
}