/* Astro small-screen evolution. Desktop styles and prototype stay unchanged. */
@media (max-width:1050px) {
  :root { --alt-interior-content-width:1160px; --alt-interior-title-top:152px; }
  html { scroll-padding-top:100px; }
  body { overflow-wrap:break-word; }
  main img { max-width:100%; }
  main [id] { scroll-margin-top:100px; }
  .site-header .mega-panel { color:#000; }
  .site-header .mega-links a:not([aria-current="page"]) { color:#1769E0; }
  .site-header .mega-panel a[aria-current="page"] { color:#000; background:var(--alt-menu-current-bg,#E7EFF5); border-radius:4px; }
  .site-header .nav-primary .mega-column h2 a { color:#000; }
  .site-header .mega-panel a { white-space:normal; }
  .prosecure-page .site-header .nav-links { background:var(--ps-shell,#2A1040); }
  :is(.m365-page,.azure-page,.canadian-page,.continuity-page,.cloud-category-page) .site-header .nav-links { background:var(--cloud-shell); }
  html .prosecure-page .site-header { background:var(--ps-shell,#2A1040); }
  html :is(.m365-page,.azure-page,.canadian-page,.continuity-page,.cloud-category-page) .site-header { background:var(--cloud-shell); }
  html body .site-header .nav-call-mobile { color:#fff; }

  html body:not([hidden]) main:not([hidden]) :is(.projects-container,.category-container,.about-container,.careers-container,.ps-inner,.faq-wrap,.legal-container) {
    width:calc(100% - 48px); max-width:1160px; margin-inline:auto; padding-inline:0;
  }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.ps-hero,.about-hero,.careers-hero,.contact-hero,.category-hero,.faq-hero) {
    height:auto; min-height:500px; padding:152px 0 88px; align-items:flex-start; isolation:isolate; position:relative;
  }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.ps-hero,.about-hero,.careers-hero,.category-hero)::after {
    content:""; position:absolute; inset:0; background:rgba(0,0,0,.32); z-index:-1; pointer-events:none;
  }
  html body:not([hidden]) main:not([hidden]) :is(.contact-hero-layout,.contact-hero-heading,.ps-hero-inner,.ps-hero-copy,.careers-hero-copy) {
    transform:none; min-height:0; padding-block:0;
  }
  html body:not([hidden]) main:not([hidden]) .contact-hero-heading { flex-direction:column; align-items:flex-start; gap:0; }
  html body:not([hidden]) main:not([hidden]) .about-hero .about-container { transform:none; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.ps-hero,.about-hero,.careers-hero,.contact-hero,.category-hero,.faq-hero) h1 {
    font-size:40px; line-height:1.16; max-width:700px; margin:0; color:#fff;
  }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.ps-hero,.category-hero) p {
    position:static; margin:20px 0 0; color:#fff; font-size:18px; max-width:620px;
  }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.category-hero,.ps-hero) p[class*="eyebrow"] {
    position:static; margin:0 0 20px; font-size:13px; font-weight:500; line-height:1.5; letter-spacing:0;
  }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.category-hero,.ps-hero) :is(.projects-button,.ps-button,.support-hero-actions) { margin:28px 0 0; max-width:100%; }
  html body:not([hidden]) main:not([hidden]) .support-hero-actions { flex-wrap:wrap; gap:16px; }
  html body:not([hidden]) main:not([hidden]) .support-hero-actions .projects-button { margin:0; }
  html body:not([hidden]) main:not([hidden]) .fleet-hero-illustration { display:none; }
  html body:not([hidden]) main:not([hidden]) .continuity-hero-datto { display:block; }
  html body:not([hidden]) main:not([hidden]) .continuity-hero-art { display:flex; align-items:center; gap:20px; position:static; width:340px; max-width:calc(100% - 48px); aspect-ratio:auto; margin:32px auto 0; }
  html body:not([hidden]) main:not([hidden]) .continuity-hero-servers { width:70%; }
  html body:not([hidden]) main:not([hidden]) .continuity-hero-cloud { position:static; width:24%; }
  html body:not([hidden]) main:not([hidden]) .continuity-hero-visual { position:static; width:300px; max-width:100%; margin:32px auto 0; }
  html body:not([hidden]) main:not([hidden]) :is(.altitude-hero-tagline,.cogestion-hero-lead) { font-size:22px; font-weight:600; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-intro,.ps-intro) { min-height:0; margin-top:-40px; padding:32px; }
  html body:not([hidden]) main:not([hidden]) .ps-intro { margin-bottom:0; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-main,.prosecure-main) { font-size:16px; }
  html body:not([hidden]) main:not([hidden]) h2 { font-size:28px; line-height:1.3; }
  html body:not([hidden]) main:not([hidden]) h3 { overflow-wrap:break-word; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-section,.projects-context,.projects-support,.category-section,.ps-section) { padding-block:48px; }
  html body:not([hidden]) main:not([hidden]) :is(.altitude-section,.cogestion-section) { margin-top:48px; }
  html body:not([hidden]) main:not([hidden]) :is(.cogestion-included,.altitude-security,.cogestion-security) { padding-block:40px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-tabs,.service-tabs) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; overflow:visible; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-tabs,.service-tabs) button { min-width:0; min-height:48px; white-space:normal; margin:0; font-size:15px; }
  html body:not([hidden]) main:not([hidden]) .projects-panels .projects-panel { grid-template-columns:minmax(0,1fr); gap:24px; }
  html body:not([hidden]) main:not([hidden]) .projects-panels .projects-panel[hidden] { display:none; }
  html body:not([hidden]) main:not([hidden]) .projects-panels .projects-panel > div { min-width:0; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-context-layout,.m365-training-layout,.monitoring-story-layout,.monitoring-accompaniment .monitoring-story-layout,.azure-costs-layout,.email-domain-layout,.email-protection-layout,.ps-response,.ps-start,.altitude-offer-row) { grid-template-columns:minmax(0,1fr); gap:28px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-context-layout) { padding:28px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-support-grid,.projects-related-grid,.cogestion-benefits-grid,.cogestion-included-grid,.cogestion-reinforcement-grid,.altitude-benefits-grid,.m365-app-grid,.m365-more-apps .m365-app-grid,.canadian-pricing-list,.continuity-apps,.ps-complements-grid,.ps-concerns,.ps-prevention,.ps-layers,.careers-why-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }
  html body:not([hidden]) main:not([hidden]) .projects-support-grid > div { padding:0; border:0; }
  html body:not([hidden]) main:not([hidden]) .projects-related { margin-top:0; padding:32px 0 80px; }
  html body:not([hidden]) main:not([hidden]) .projects-related::before { width:calc(100% - 24px); bottom:48px; }
  html body:not([hidden]) main:not([hidden]) .projects-related > .projects-container { width:calc(100% - 64px); }
  html body:not([hidden]) main:not([hidden]) .projects-related-grid { grid-auto-rows:auto; }
  html body:not([hidden]) main:not([hidden]) .projects-related-tile { min-height:300px; }
  html body:not([hidden]) main:not([hidden]) .faq .section-inner { width:calc(100% - 48px); padding:0 0 48px; }
  html body:not([hidden]) main:not([hidden]) .faq .serif-title { margin-bottom:28px; font-size:28px; }
  html body:not([hidden]) main:not([hidden]) .faq .faq-list { margin-top:0; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-contact,.ps-contact-team) { padding:0 0 48px; }
  html body:not([hidden]) main:not([hidden]) .projects-contact-layout { grid-template-columns:minmax(0,1fr) 184px; gap:28px; padding:32px; }
  html body:not([hidden]) main:not([hidden]) .home-contact { padding:0 0 48px; }
  html body:not([hidden]) main:not([hidden]) .home-contact-inner { width:calc(100% - 48px); grid-template-columns:minmax(0,1fr) 184px; gap:28px; padding:32px; }
  html body:not([hidden]) main:not([hidden]) .projects-contact h2 { margin-bottom:24px; }
  html body:not([hidden]) main:not([hidden]) .projects-contact-button { margin-top:24px; }
  html body:not([hidden]) main:not([hidden]) :is(.email-management-layout,.email-guidance-layout,.identity-accompaniment-layout,.pentest-accompaniment-layout,.category-security-inner) { grid-template-columns:minmax(0,1fr); gap:24px; }
  html body:not([hidden]) main:not([hidden]) .email-prosecure-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  html body:not([hidden]) main:not([hidden]) .email-prosecure-layout .projects-button { justify-self:start; }
  html body:not([hidden]) main:not([hidden]) :is(.ps-common-section,.ps-complements-section,.ps-alt-banner) { padding-block:48px; }
  html body:not([hidden]) main:not([hidden]) .ps-common-compact .ps-common-icons { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  html body:not([hidden]) main:not([hidden]) .ps-common-compact .ps-common-icons > li { grid-column:auto; padding:0; border:0; }
  html body:not([hidden]) main:not([hidden]) .ps-common-compact .ps-common-icons > li:nth-child(5) { grid-column:auto; }
  html body:not([hidden]) main:not([hidden]) .ps-plans-cards > .ps-inner { padding:28px; }
  html body:not([hidden]) main:not([hidden]) .ps-plan-summaries { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) .ps-plan-summaries :is(.ps-plan-promise,.ps-plan-lead) { min-height:0 !important; }
  html body:not([hidden]) main:not([hidden]) .monitoring-alt-layout { grid-template-columns:minmax(0,1fr) 120px 100px 100px; gap:16px; }
  html body:not([hidden]) main:not([hidden]) .monitoring-alt-badge { padding-left:16px; }
  html body:not([hidden]) main:not([hidden]) .monitoring-mdr-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  html body:not([hidden]) main:not([hidden]) .monitoring-mdr-layout > * { grid-column:auto; grid-row:auto; }
  html body:not([hidden]) main:not([hidden]) .monitoring-mdr-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html body:not([hidden]) main:not([hidden]) .monitoring-surfaces-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
  html body:not([hidden]) main:not([hidden]) .monitoring-surfaces-grid::before,
  html body:not([hidden]) main:not([hidden]) .monitoring-surfaces-grid li::before,
  html body:not([hidden]) main:not([hidden]) .monitoring-surfaces-grid li::after { content:none; }
  html body:not([hidden]) main:not([hidden]) .monitoring-surfaces-grid li { padding:0; }
  html body:not([hidden]) main:not([hidden]) .monitoring-mdr-photo { width:100%; height:220px; }
  html body:not([hidden]) main:not([hidden]) .monitoring-mdr-photo img { transform:none; }
  html body:not([hidden]) main:not([hidden]) :is(.altitude-setup-grid,.cogestion-setup-grid) { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
  html body:not([hidden]) main:not([hidden]) :is(.altitude-step-connector,.cogestion-step-connector) { display:none; }
  html body:not([hidden]) main:not([hidden]) :is(.email-filter-arrow,.identity-response-arrow,.pentest-result-arrow) { display:none; }
  html body:not([hidden]) main:not([hidden]) .altitude-offer-category { grid-template-columns:minmax(0,1fr); gap:24px; }
  html body:not([hidden]) main:not([hidden]) :is(.canadian-steps,.email-filtering-flow,.identity-response-flow,.pentest-results-flow,.pentest-steps,.azure-measures,.m365-protection-grid,.identity-password-points) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  html body:not([hidden]) main:not([hidden]) :is(.canadian-step-marker,.email-filtering-step,.identity-response-step)::after { content:none; }
  html body:not([hidden]) main:not([hidden]) .about-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html body:not([hidden]) main:not([hidden]) .about-leadership { grid-template-rows:none; gap:24px; }
  html body:not([hidden]) main:not([hidden]) .about-leadership > .about-person { display:flex; grid-row:auto; }
  html body:not([hidden]) main:not([hidden]) .about-leadership .about-person-caption { display:flex; grid-row:auto; }
  html body:not([hidden]) main:not([hidden]) :is(.about-approach,.careers-culture-layout,.careers-daily-layout) { grid-template-columns:minmax(0,1fr); gap:28px; }
  html body:not([hidden]) main:not([hidden]) :is(.careers-reasons-grid,.client-access-grid,.about-timeline) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  html body:not([hidden]) main:not([hidden]) .client-contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  html body:not([hidden]) main:not([hidden]) .client-contact-item + .client-contact-item { padding-left:0; border-left:0; }
  html body:not([hidden]) main:not([hidden]) .careers-reasons-grid article { padding:0; border:0; }
  html body:not([hidden]) main:not([hidden]) :is(.about-contact-layout,.careers-application-actions) { flex-wrap:wrap; gap:24px; }
  html body:not([hidden]) main:not([hidden]) :is(.careers-intro-layout,.careers-life-layout) { grid-template-columns:minmax(0,1fr); gap:28px; }
  html body:not([hidden]) main:not([hidden]) .careers-intro-layout > img { max-width:480px; }
  html body:not([hidden]) main:not([hidden]) .careers-benefits-extras { flex-wrap:wrap; gap:16px 24px; }
  html body:not([hidden]) main:not([hidden]) .faq-categories { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:48px; }
  html body:not([hidden]) main:not([hidden]) .faq-contact { flex-wrap:wrap; gap:24px; }
  html body:not([hidden]) main:not([hidden]) .legal-layout { grid-template-columns:220px minmax(0,1fr); gap:28px; }
  html body:not([hidden]) main:not([hidden]) .article-hero { min-height:0; padding:136px 0 48px; }
  html body:not([hidden]) main:not([hidden]) .article-hero .section-inner { grid-template-columns:minmax(0,1fr) 220px; gap:24px; }
  html body:not([hidden]) main:not([hidden]) .article-hero h1 { font-size:36px; }
  html body:not([hidden]) main:not([hidden]) .article-hero img { width:220px; }
  html body:not([hidden]) main:not([hidden]) .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html body:not([hidden]) main:not([hidden]) .article-cta .section-inner { flex-wrap:wrap; gap:24px; }
  html body:not([hidden]) main:not([hidden]) .contact-info-item { min-width:0; }
  html body:not([hidden]) .contact-drawer h2 { color:#000; }
  html body:not([hidden]) .contact-close { width:44px; height:44px; flex:none; }
  html body:not([hidden]) :is(.about-profile,.careers-lightbox) { width:calc(100% - 32px); max-height:calc(100dvh - 32px); padding:24px; }
}

@media (max-width:600px) {
  :root { --alt-interior-title-top:136px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-container,.category-container,.about-container,.careers-container,.ps-inner,.faq-wrap,.legal-container) { width:calc(100% - 40px); }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.ps-hero,.about-hero,.careers-hero,.contact-hero,.category-hero,.faq-hero) { min-height:0; padding:136px 0 80px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.ps-hero,.about-hero,.careers-hero,.contact-hero,.category-hero,.faq-hero) h1 { font-size:32px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.category-hero,.ps-hero)::after { background:rgba(0,0,0,.55); }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.category-hero,.ps-hero) p { font-size:17px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-hero,.category-hero,.ps-hero) p[class*="eyebrow"] { font-size:12px; }
  html body:not([hidden]) main:not([hidden]) :is(.altitude-hero-tagline,.cogestion-hero-lead) { font-size:21px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-intro,.ps-intro) { padding:28px 24px; margin-top:-32px; }
  html body:not([hidden]) main:not([hidden]) h2 { font-size:26px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-intro,.projects-context) h2 { margin-bottom:24px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-support-grid,.projects-related-grid,.category-offer-grid,.category-benefits,.category-specialized-grid,.cogestion-benefits-grid,.cogestion-included-grid,.cogestion-roles-grid,.cogestion-reinforcement-grid,.altitude-benefits-grid,.altitude-offer-row,.m365-app-grid,.m365-more-apps .m365-app-grid,.canadian-pricing-list,.continuity-apps,.ps-complements-grid,.ps-concerns,.ps-prevention,.ps-layers,.ps-options-list,.careers-why-grid,.careers-benefits-grid,.careers-benefits-columns,.about-split,.about-values-grid,.about-team-grid,.legal-layout,.contact-info-grid,.careers-application-form,.client-tools-grid,.client-contact-grid,.article-grid) { grid-template-columns:minmax(0,1fr); gap:28px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-contact-layout,.ps-response,.ps-start) { grid-template-columns:minmax(0,1fr); padding:28px 24px; gap:28px; }
  html body:not([hidden]) main:not([hidden]) .projects-contact .projects-person { margin:0; }
  html body:not([hidden]) main:not([hidden]) .home-contact-inner { width:calc(100% - 40px); grid-template-columns:minmax(0,1fr); padding:28px 24px; }
  html body:not([hidden]) main:not([hidden]) .projects-related > .projects-container { width:calc(100% - 56px); }
  html body:not([hidden]) main:not([hidden]) .projects-related-tile { grid-template-rows:160px minmax(0,1fr); min-height:0; }
  html body:not([hidden]) main:not([hidden]) .cyber-category-offer { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) .cyber-category-offer .category-offer-image { min-height:0; height:200px; }
  html body:not([hidden]) main:not([hidden]) .category-offer-copy { padding:24px; }
  html body:not([hidden]) main:not([hidden]) .careers-benefits-core { grid-template-columns:minmax(0,1fr); gap:28px; }
  html body:not([hidden]) main:not([hidden]) .careers-benefits-side { padding-left:0; border-left:0; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-context-layout) { padding:24px; }
  html body:not([hidden]) main:not([hidden]) .projects-support-grid h3 { min-height:0; margin-bottom:16px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-support-grid,.ps-concerns,.ps-prevention,.ps-layers) > div { padding:0; border:0; }
  html body:not([hidden]) main:not([hidden]) :is(.canadian-steps,.email-filtering-flow,.identity-response-flow,.pentest-results-flow,.pentest-steps,.azure-measures,.m365-protection-grid,.identity-password-points) { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) :is(.altitude-setup-grid,.cogestion-setup-grid) { grid-template-columns:minmax(0,1fr); gap:24px; }
  html body:not([hidden]) main:not([hidden]) :is(.monitoring-surfaces-grid,.monitoring-mdr-pillars) { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) .m365-training-markers { grid-template-columns:minmax(0,1fr); gap:16px; }
  html body:not([hidden]) main:not([hidden]) .monitoring-alt-layout { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 12px; }
  html body:not([hidden]) main:not([hidden]) .monitoring-alt-copy { grid-column:1 / -1; }
  html body:not([hidden]) main:not([hidden]) .monitoring-alt-badge { padding:0; border:0; height:72px; }
  html body:not([hidden]) main:not([hidden]) .monitoring-alt-badge img { max-height:64px; }
  html body:not([hidden]) main:not([hidden]) .ps-common-compact .ps-common-icons { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) .ps-plans-cards > .ps-inner { padding:0; }
  html body:not([hidden]) main:not([hidden]) .ps-plans-cards > .ps-inner::before,
  html body:not([hidden]) main:not([hidden]) .ps-plans-cards > .ps-inner::after { content:none; }
  html body:not([hidden]) main:not([hidden]) .ps-options-disclosure .ps-options-list { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) .ps-common-support .ps-text-link { white-space:normal; }
  html body:not([hidden]) main:not([hidden]) .faq .section-inner { width:calc(100% - 40px); }
  html body:not([hidden]) main:not([hidden]) .faq .serif-title { font-size:26px; }
  html body:not([hidden]) main:not([hidden]) .faq-categories { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html body:not([hidden]) main:not([hidden]) .faq-categories a { min-height:110px; font-size:14px; }
  html body:not([hidden]) main:not([hidden]) .faq-category-section { margin-bottom:48px; }
  html body:not([hidden]) main:not([hidden]) .faq-category-section h2 { gap:12px; font-size:24px; }
  html body:not([hidden]) main:not([hidden]) .faq-entry summary { padding-inline:0; gap:16px; font-size:16px; }
  html body:not([hidden]) main:not([hidden]) .faq-response { padding-inline:0; }
  html body:not([hidden]) main:not([hidden]) .contact-info-item + .contact-info-item { border-left:0; padding-left:0; }
  html body:not([hidden]) main:not([hidden]) .contact-person { max-width:260px; margin-inline:auto; }
  html body:not([hidden]) main:not([hidden]) .legal-toc { position:static; max-height:none; }
  html body:not([hidden]) main:not([hidden]) .legal-hero h1 { font-size:28px; }
  html body:not([hidden]) main:not([hidden]) .article-hero .section-inner { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) .article-hero h1 { font-size:30px; }
  html body:not([hidden]) main:not([hidden]) .article-hero img { width:100%; max-height:220px; object-fit:cover; }
  html body:not([hidden]) main:not([hidden]) .article-hero .article-hero-copy { order:-1; }
  html body:not([hidden]) main:not([hidden]) .article-related .article-grid { max-width:none; }
  html body:not([hidden]) main:not([hidden]) .careers-job-summary { padding:20px 16px; }
  html body:not([hidden]) main:not([hidden]) .careers-job-summary h3 { grid-template-columns:40px minmax(0,1fr) 32px; gap:12px; }
  html body:not([hidden]) main:not([hidden]) .careers-job-icon { width:40px; height:40px; }
  html body:not([hidden]) main:not([hidden]) .careers-job-chevron { grid-column:3; width:32px; }
  html body:not([hidden]) main:not([hidden]) .careers-job-apply { position:static; margin:0 20px 20px; width:auto; }
  html body:not([hidden]) main:not([hidden]) .careers-job-title { font-size:20px; }
  html body:not([hidden]) main:not([hidden]) :is(.careers-culture-list,.careers-reasons-grid,.client-access-grid,.about-timeline) { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) .careers-benefits-extras { display:grid; grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) main:not([hidden]) .client-contact-item { padding:0; border:0; }
  html body:not([hidden]) main:not([hidden]) .client-contact-item h3 { min-height:0; }
  html body:not([hidden]) main:not([hidden]) .careers-job-content { padding:24px 20px; }
  html body:not([hidden]) main:not([hidden]) .careers-application-actions { flex-direction:column; align-items:flex-start; }
  html body:not([hidden]) .about-profile-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  html body:not([hidden]) .about-profile-photo { max-width:160px; }
  html body:not([hidden]) .about-profile { padding:52px 24px 24px; }
  html body:not([hidden]) .careers-lightbox { padding:12px; }
  html body:not([hidden]) .careers-lightbox img { max-height:calc(100dvh - 180px); object-fit:contain; }
  html body:not([hidden]) .drawer-form { grid-template-columns:minmax(0,1fr); }
  html body:not([hidden]) .contact-drawer { padding:20px; }
  html body:not([hidden]) main:not([hidden]) :is(.projects-button,.careers-button,.article-cta-button,.faq-contact-link) { max-width:100%; white-space:normal; text-align:center; }
}

@media (max-width:360px) {
  html body:not([hidden]) main:not([hidden]) .projects-tabs { grid-template-columns:minmax(0,1fr); }
}

/* Eight banner crops retained by the user on 2026-10-21; desktop is unchanged. */
@media (max-width:1050px) {
  html body.support-page:not([hidden]) main:not([hidden]) .support-hero {
    background-image:url("/assets/gestion-parc-fond-bleu-texture-v1.webp");
    background-size:cover;
    background-position:center;
  }
  .home-page main .hero { background-position:center, 100% 50%; }
  .altitude-page.projects-page main .projects-hero.altitude-hero { background-position:center, 100% 0%; }
  .cogestion-page.projects-page main .projects-hero.cogestion-hero { background-position:center, 100% 0%; }
  .infrastructure-page.projects-page main .infrastructure-hero { background-position:center, center, 66.443354% 50%; }
  .projects-page main.project-management-main .projects-hero[aria-labelledby="projects-title"] { background-position:center, 62.012084% 50%; }
  .prosecure-page main .ps-hero { background-position:center, 100% 50%; }
  .canadian-page.projects-page main .canadian-hero { background-position:25.391311% 50%; }
  .careers-page main .careers-hero { background-position:center, 0% 20%; }
  /* Keep the photo layer and retained crop, with no dark overlay on Shawn. */
  html body.projects-page:not([hidden]) main.project-management-main:not([hidden]) .projects-hero[aria-labelledby="projects-title"] {
    background-image:linear-gradient(transparent,transparent), url("/assets/c02-projets-shawn-mur-droit-v04.webp");
  }
  html body:not([hidden]) main.project-management-main:not([hidden]) .projects-hero::after { background:none; }
  html body:not([hidden]) main.project-management-main:not([hidden]) .projects-hero :is(h1,p) {
    text-shadow:0 1px 3px rgba(0,0,0,.85), 0 0 8px rgba(0,0,0,.5);
  }
}
@media (max-width:600px) {
  .home-page main .hero { background-position:center, 73.044139% 50%; }
  .altitude-page.projects-page main .projects-hero.altitude-hero { background-position:center, 24.350600% 0%; }
  .cogestion-page.projects-page main .projects-hero.cogestion-hero { background-position:center, 28.515991% 50%; }
  .infrastructure-page.projects-page main .infrastructure-hero { background-position:center, center, 76.203813% 50%; }
  .projects-page main.project-management-main .projects-hero[aria-labelledby="projects-title"] { background-position:center, 0% 50%; }
  .prosecure-page main .ps-hero { background-position:center, 85.589094% 50%; }
  .canadian-page.projects-page main .canadian-hero { background-position:74.811816% 50%; }
  .careers-page main .careers-hero { background-position:center, 67.674965% 20%; }
}
