/* Final-load production and consistency rules. This file intentionally loads
   after page styles and the shared design system. */
.production-site .production-placeholder{display:none!important}

nav[aria-label="Breadcrumb"]{display:flex!important;flex-wrap:wrap;align-items:center;gap:.55rem!important;width:100%;margin:0 0 1.15rem!important;padding:0!important;color:#60718b!important;font-size:.75rem!important;font-weight:700!important;line-height:1.4;letter-spacing:.08em!important;text-transform:uppercase}
nav[aria-label="Breadcrumb"] a{color:#0668e8!important;-webkit-text-fill-color:#0668e8!important;text-decoration:none!important}
nav[aria-label="Breadcrumb"] a:hover,nav[aria-label="Breadcrumb"] a:focus-visible{color:#084bbd!important;-webkit-text-fill-color:#084bbd!important;text-decoration:underline!important;text-underline-offset:3px}
nav[aria-label="Breadcrumb"]>span:not(:last-child){color:#91a3ba!important;-webkit-text-fill-color:#91a3ba!important}
nav[aria-label="Breadcrumb"]>span:last-child{color:#405674!important;-webkit-text-fill-color:#405674!important}

:is([class*="dark"],[class*="navy"],[class*="cta"],[class*="outcome"],[class*="closing"],[class*="band"],.cs-anatomy) :is(h1,h2,h3){color:#fff!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:#fff!important}

/* Insights uses a dark section named "topics", so it needs an explicit reset. */
.in-topics :is(h1,h2,h3),.in-topics .in-heading h2{color:#fff!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:#fff!important}

/* Match the approved Azure hero composition across every Capabilities page. */
@media(min-width:1051px){
  :is(.bid-hero,.com-hero,.mob-hero,.wdp-hero,.ms-hero){padding-block:0!important}
  :is(.si-hero-grid,.aia-hero-grid,.bid-hero-grid,.com-hero-grid,.mob-hero-grid,.wdp-hero-grid,.ms-hero-grid){align-items:start!important;padding-top:44px!important}
  :is(.si-architecture,.aia-architecture,.bid-architecture,.com-architecture,.mob-architecture,.wdp-architecture,.ms-console){align-self:center}
}

/* Keep Company and Industries hero breadcrumbs aligned with About/Why. */
:is(.vmv-hero-grid,.lead-hero-grid,.career-hero-grid,.ind-hero-grid)>div:first-child{align-self:start!important}
:is(.vmv-breadcrumbs,.lead-breadcrumbs,.career-breadcrumbs,.ind-breadcrumbs){margin-bottom:38px!important}
@media(min-width:1051px){
  :is(.vmv-hero,.lead-hero,.career-hero,.ind-hero){padding-top:0!important;padding-bottom:0!important}
  :is(.vmv-hero-grid,.lead-hero-grid,.career-hero-grid,.ind-hero-grid){min-height:680px!important;padding-top:44px!important;padding-bottom:70px!important;align-items:center!important}
}

/* Hero artwork detail viewer. */
.hero-lightbox-trigger{position:relative;cursor:zoom-in!important}
.hero-lightbox-trigger:is(img){display:block}
picture:has(>.hero-lightbox-trigger){position:relative;display:block}
.hero-lightbox-trigger:focus-visible{outline:3px solid #126bff;outline-offset:6px;border-radius:10px}
.hero-lightbox{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:clamp(18px,4vw,54px);background:rgba(3,14,31,.92);backdrop-filter:blur(8px)}
.hero-lightbox[hidden]{display:none}
.hero-lightbox__figure{display:grid;width:min(1500px,96vw);max-width:96vw;max-height:92vh;margin:0;padding:clamp(12px,2vw,30px);place-items:center;overflow:hidden;border:1px solid rgba(151,181,218,.72);border-radius:clamp(14px,1.5vw,24px);background:linear-gradient(145deg,#fff 0%,#f4f8fd 55%,#eaf2fb 100%);box-shadow:0 28px 80px rgba(0,0,0,.42);box-sizing:border-box}
.hero-lightbox__image{display:block;max-width:100%;max-height:calc(92vh - clamp(24px,4vw,60px));width:auto;height:auto;object-fit:contain;filter:none}
.hero-lightbox__close{position:fixed;top:18px;right:20px;display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:#fff;color:#09264c;font-size:28px;line-height:1;cursor:pointer}
.hero-lightbox__hint{position:absolute;right:18px;bottom:16px;padding:8px 11px;border-radius:999px;background:rgba(7,31,61,.78);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;pointer-events:none}
body.hero-lightbox-open{overflow:hidden}
@media(max-width:680px){.hero-lightbox{padding:56px 10px 16px}.hero-lightbox__figure{width:100%;max-width:100%;max-height:calc(100dvh - 72px);padding:10px;border-radius:14px}.hero-lightbox__image{max-height:calc(100dvh - 92px)}.hero-lightbox__close{top:10px;right:10px}.hero-lightbox__hint{right:8px;bottom:8px;font-size:9px}}

@media(max-width:680px){nav[aria-label="Breadcrumb"]{gap:.42rem!important;margin-bottom:.9rem!important;font-size:.68rem!important}}

/* Keep the mobile wordmark and its three-part tagline on one identical measure.
   This file loads last, so page-specific styles cannot collapse the tagline. */
@media(max-width:520px){
  .site-header .brand-identity{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:stretch!important;
    flex:0 0 146px!important;
    width:146px!important;
    max-width:146px!important;
    gap:4px!important;
  }
  .site-header .header-logo{
    display:block!important;
    width:146px!important;
    max-width:146px!important;
    height:auto!important;
  }
  .site-header .brand-tagline{
    display:grid!important;
    grid-template-columns:max-content 1fr max-content 1fr max-content!important;
    align-items:center!important;
    width:146px!important;
    min-width:146px!important;
    max-width:146px!important;
    margin:0!important;
    padding:0 1px!important;
    box-sizing:border-box!important;
    color:#49627d!important;
    font-size:7.15px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    text-align:center!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  .site-header .brand-tagline i{
    justify-self:center!important;
    font-style:normal!important;
  }
}

@media(max-width:350px){
  .site-header .brand-identity{
    flex-basis:132px!important;
    width:132px!important;
    max-width:132px!important;
  }
  .site-header .header-logo,
  .site-header .brand-tagline{
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
  }
  .site-header .brand-tagline{font-size:6.35px!important}
}

/* Keep rotated phones on the compact mobile header/menu instead of allowing
   their wider landscape viewport to select tablet spacing. */
@media (orientation: landscape) and (max-height:600px) and (pointer:coarse){
  .site-header{height:72px!important;gap:10px!important}
  .site-header .site-nav{top:71px!important;max-height:calc(100dvh - 72px)!important;padding:14px 20px 24px!important}
  .site-header .header-consultation{order:2!important;min-height:38px!important;margin-left:auto!important;padding:8px 11px!important;font-size:12px!important;line-height:1!important}
  .site-header .menu-toggle{order:3!important;margin-left:0!important}
  .site-header .site-nav>details{position:static!important;display:block!important;width:100%!important;height:auto!important;overflow:visible!important}
  .site-header .site-nav>details>.submenu{position:static!important;inset:auto!important;width:calc(100% - 12px)!important;max-width:none!important;height:auto!important;max-height:none!important;margin:4px 0 10px 12px!important;padding:8px!important;overflow:visible!important;transform:none!important}
}

/* Standardise the artwork area on internal-page heroes and prevent the old
   150%-wide image rules from clipping on narrower desktop screens. */
@media (min-width:1051px){
  [class$="-hero-grid"]{min-height:680px!important;padding-top:44px!important;padding-bottom:70px!important;align-items:center!important}
  :is(.hero-intelligence-visual,.solution-hero-image,[class$="-hero-art"]){display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:650px!important;min-height:0!important;margin-right:auto!important;margin-left:auto!important;overflow:visible!important;transform:none!important}
  :is(.hero-intelligence-visual,.solution-hero-image,[class$="-hero-art"]) picture,
  :is(.hero-intelligence-visual,.solution-hero-image,[class$="-hero-art"]) img{display:block!important;width:100%!important;max-width:650px!important;height:auto!important;margin:0 auto!important;object-fit:contain!important;transform:none!important}
  .hero .slide{min-height:680px!important;max-height:none!important;padding-top:44px!important;padding-bottom:70px!important}
  .hero .home-hero-visual{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;transform:none!important}
  .hero .home-hero-visual picture,.hero .home-hero-visual img{display:block!important;width:100%!important;max-width:650px!important;height:auto!important;margin:0 auto!important;object-fit:contain!important}

  /* Explore pages use the same compact, top-aligned hero rhythm already
     approved for Solution Focus and Contact. */
  :is(.cs-hero,.in-hero,.fq-hero,.consult-hero){
    padding-top:44px!important;
  }
  :is(.cs-hero-grid,.in-hero-grid,.fq-hero-grid,.consult-hero-grid){
    min-height:0!important;
    padding-top:0!important;
    align-items:start!important;
  }
}
