/* 3.6.132: verified against actual template selectors; loaded after homepage bundle. */
.service-cta .service-cta__inner > div {width:100%!important;max-width:none!important;text-align:center!important;justify-self:stretch!important;}
.service-cta .service-cta__inner > div > .eyebrow,.service-cta .service-cta__inner > div > h2,.service-cta .service-cta__inner > div > p {text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
@media(min-width:900px){.service-cta .service-cta__inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:24px!important;}}
.ms-services-project-links a{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;white-space:nowrap!important;}
.ms-services-project-links a>span{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;}
.ms-services-project-links a .msb-arrow-icon{margin-left:0!important;}
@media(max-width:480px){.ms-services-project-links a{max-width:100%;font-size:clamp(.72rem,3.3vw,.85rem)!important;}}
.site-footer .footer-vcard{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;}
.site-footer .footer-vcard h2,.site-footer .footer-vcard p{width:100%!important;text-align:center!important;}
.site-footer .footer-vcard .footer-qr{display:flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;margin-inline:auto!important;}
.site-footer .footer-vcard .footer-qr img{display:block!important;margin-inline:auto!important;}
.site-footer .footer-vcard .footer-vcard-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;align-self:center!important;width:min(100%,320px)!important;margin-left:auto!important;margin-right:auto!important;}
.site-footer .footer-vcard .footer-vcard-link>span{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 30px!important;height:30px!important;border:1px solid rgba(190,208,218,.72)!important;border-radius:9px!important;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.025))!important;color:#f5a25e!important;}
.back-to-top{border:1px solid rgba(190,208,218,.72)!important;border-radius:14px!important;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.025)),#0c2634!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)!important;}
.home .contact-details .contact-list .ms-contact-action__value,.home .contact-details .contact-list .ms-contact-identity-card>span,.home .contact-details .contact-list .ms-contact-action__copy,.home .contact-details .contact-list .ms-contact-action:link,.home .contact-details .contact-list .ms-contact-action:visited{color:#edf4f7!important;}
.home .contact-details .contact-list svg.contact-icon{color:#ff8739!important;stroke:currentColor!important;}

/* 3.6.139: underline only the label, never the framed arrow beside it.
   A descendant's text-decoration:none cannot cancel an ancestor underline. */
/* Also ship the shared icon after the older homepage bundle. */
.msb-arrow-icon {
  display:inline-flex !important; align-items:center; justify-content:center;
  vertical-align:middle; flex:0 0 auto; width:30px; height:30px; margin-inline-start:9px;
  border:1px solid rgba(190,208,218,.72); border-radius:9px;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 2px 7px rgba(0,0,0,.09);
  color:#f5a25e !important; -webkit-text-fill-color:currentColor !important;
  font-family:Arial,sans-serif; font-size:27px !important; font-weight:300;
  line-height:1; text-decoration:none;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
a:hover .msb-arrow-icon, a:focus-visible .msb-arrow-icon {
  border-color:#f5a25e; background:rgba(255,255,255,.16); transform:translateX(2px);
}
@media (prefers-reduced-motion:reduce) {
  .msb-arrow-icon { transition:none; }
  a:hover .msb-arrow-icon, a:focus-visible .msb-arrow-icon { transform:none; }
}
a.ms-icon-link { display:inline-flex; align-items:center; max-width:100%; text-decoration:none !important; }
.ms-icon-link__label { min-width:0; text-decoration:underline; text-underline-offset:.22em; text-decoration-thickness:1px; }

/* Let narrow grid tracks and long German labels wrap within their cards. */
#main-content .legal-document { grid-template-columns:minmax(0,1fr); }
#main-content .legal-document > section { min-width:0; overflow-wrap:anywhere; }
#main-content .ms-hub-hero { grid-template-columns:minmax(0,1fr); }
#main-content .ms-hub-hero > .container { min-width:0; }
#main-content.ms-guide-article .article-aside { grid-template-columns:minmax(0,1fr); }
#main-content.ms-guide-article .article-aside > *,
#main-content.ms-guide-article .related-links > * { min-width:0; }
#main-content.ms-guide-article .related-links { grid-template-columns:minmax(0,1fr); }
body #main-content :is(.button, .guide-filter__button, .ms-guide-glass-button, .related-links > a) { overflow-wrap:anywhere !important; hyphens:auto; }
@media (max-width:359px) {
  #main-content.site-main .ms-guide-hero .references-topic-filter .guide-filter { grid-template-columns:minmax(0,1fr); }
}

/* 3.6.153: complete description beside the logo at every desktop width. */
@media (min-width:1081px) {
  .site-header .site-branding {
    display:flex; flex-direction:row; align-items:center; gap:12px; min-width:0;
  }
  .site-header .header-slogan {
    display:flex !important; min-width:0; padding-left:16px;
    border-left:1px solid rgba(190,208,218,.28);
  }
  .site-header .header-slogan strong,
  .site-header .header-slogan > span { white-space:normal; overflow-wrap:break-word; max-width:100%; }
}
@media (min-width:1081px) and (max-width:1599px) {
  .site-header .header-inner {
    display:flex; flex-wrap:nowrap; align-items:center;
    gap:clamp(12px,1.2vw,18px); min-height:84px; padding-block:8px;
  }
  .site-header .site-branding {
    flex:1 1 auto;
  }
  .site-header .theme-logo-link { flex:0 0 auto; }
  .site-header .theme-logo { width:clamp(180px,14vw,230px); max-height:60px; }
  .site-header .header-slogan {
    flex:1 1 auto; max-width:295px;
    white-space:normal; overflow-wrap:break-word;
  }
  .site-header .primary-nav {
    display:flex; flex:0 0 auto; align-items:center;
    flex-wrap:nowrap; width:auto; gap:12px;
  }
  .site-header .primary-nav .menu { flex-wrap:nowrap; gap:clamp(8px,1vw,14px); }
  .site-header .primary-nav .menu > li > a { font-size:clamp(12.5px,calc(1.45vw - 3px),16px); letter-spacing:0; }
  .site-header .primary-nav .header-cta {
    font-size:clamp(12.5px,calc(1.45vw - 3px),16px) !important;
    padding:.65rem .8rem !important; min-height:44px; white-space:nowrap !important;
  }
}
/* When a single row cannot fit, give navigation its own row; keep logo and text together. */
@media (min-width:1081px) and (max-width:1399px) {
  .site-header .header-inner { flex-wrap:wrap; row-gap:8px; }
  .site-header .site-branding { flex:1 1 100%; }
  .site-header .primary-nav { flex:1 1 100%; justify-content:flex-end; }
}

/* 3.6.141: mobile page surfaces match the existing footer navy exactly.
   Glass panels, content images and the desktop design remain intact. */
@media screen and (max-width:767px) {
  html, html body { background:#061923 !important; }
  html body .site-header,
  html body .site-footer,
  html body main.page-content,
  html body #main-content,
  html body.home #main-content.site-main .hero,
  html body #main-content.site-main > section,
  html body #main-content.site-main :is(.section,.section--muted,.hero,.service-hero,.editorial-hero,.references-hero,.article-hero,.service-cta,.contact-section) {
    background:#061923 !important;
    background-image:none !important;
  }
  html body #main-content.site-main :is(.hero,.service-hero,.editorial-hero,.references-hero,.article-hero)::before,
  html body #main-content.site-main :is(.hero,.service-hero,.editorial-hero,.references-hero,.article-hero)::after {
    content:none !important;
    display:none !important;
  }
}

/* 3.6.142: equal question cards and centered project reference action.
   Loaded after the homepage bundle, including its legacy height rules. */
body.home #main-content.site-main .ms-home-questions-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr; align-items:stretch;
}
body.home #main-content.site-main .ms-home-questions-grid > article {
  box-sizing:border-box; display:flex; flex-direction:column;
  width:100%; min-width:0; height:auto; margin:0; align-self:stretch;
}
body.home #main-content.site-main .ms-home-questions-grid > article > a {
  display:flex; align-items:center; justify-content:center;
  width:100%; min-width:0; margin-top:auto;
}
body.home #main-content.site-main .home-projects > .container > a.button {
  display:flex !important; width:fit-content; margin-inline:auto;
}
@media (max-width:900px) {
  body.home #main-content.site-main .ms-home-questions-grid { grid-template-columns:minmax(0,1fr); }
}
