/* DM07.1 – consistent header, breadcrumb and hero spacing on NEW page families only.
   Never load or apply this to the legacy page templates. */
body.ipx-layout .navbar-area {
  position:relative !important;
  left:auto;top:auto;width:100%;height:auto;
  z-index:1000;background:#fff;
}
/* Keep sticky behavior without pulling the header out of document flow. */
body.ipx-layout .navbar-area.is-sticky {
  position:sticky !important;
  top:0;left:auto;width:100%;
  animation:none !important;
  box-shadow:0 3px 18px rgba(17,44,65,.10);
}
body.ipx-layout .iPistis-nav {padding:12px 0;}
body.ipx-layout .iPistis-nav .navbar,
body.ipx-layout .navbar-area.is-sticky .iPistis-nav .navbar {
  background-color:#f4f7fc;
  border-radius:6px;
  padding:6px 10px;
}
body.ipx-layout .navbar-area .container{max-width:1320px;}
body.ipx-layout main[id="main-content"]{position:relative;min-width:0;}
@media (min-width:1400px){body.ipx-layout main .container{max-width:1200px;}}
/* Dedicated, high-contrast breadcrumb row immediately below the header. */
body.ipx-layout .ipx-breadcrumb-band {
  position:relative;
  background:#f5f9fc;
  color:#40576c;
  border-bottom:1px solid #e0eaf0;
  padding:15px 0;
}
body.ipx-layout .ipx-breadcrumb-band .container {max-width:1200px;}
body.ipx-layout .ipx-breadcrumb-band .ipx-breadcrumb {
  margin:0 !important;
  color:#40576c !important;
  line-height:1.5 !important;
  font-size:13px !important;
}
body.ipx-layout .ipx-breadcrumb-band .ipx-breadcrumb a {color:#0c6693 !important;}
body.ipx-layout .ipx-breadcrumb-band .ipx-breadcrumb [aria-current="page"] {color:#23384e;}
/* Consistent hero start and horizontal rhythm; preserve each page's visual character. */
body.ipx-layout .ip-hero,
body.ipx-layout .ip-dm-hero,
body.ipx-layout .ip-dms-hero,
body.ipx-layout .ip-disc-hero {
  padding-top:clamp(40px,4.5vw,64px);
  padding-bottom:clamp(58px,6vw,90px);
}
body.ipx-layout .ip-hero__grid,
body.ipx-layout .ip-dm-hero__grid,
body.ipx-layout .ip-dms-hero__grid {align-items:center;}
body.ipx-layout .ip-dm-eyebrow,
body.ipx-layout .ip-eyebrow {scroll-margin-top:100px;}
body.ipx-layout .ip-hero h1,
body.ipx-layout .ip-dm h1 {text-wrap:balance;}
/* Font/spacing hierarchy stays consistent while hero styles remain distinguishable. */
body.ipx-layout .ipx-breadcrumb-band + .ip-hero,
body.ipx-layout .ipx-breadcrumb-band + .ip-dm-hero,
body.ipx-layout .ipx-breadcrumb-band + .ip-dms-hero,
body.ipx-layout .ipx-breadcrumb-band + .ip-disc-hero {margin-top:0;}
/* Prevent mobile call blocks and oversized hero visuals from causing overflow. */
body.ipx-layout .ip-hero__visual,
body.ipx-layout .ip-dm-hero__visual,
body.ipx-layout .ip-dms-visual {min-width:0;max-width:100%;}
@media (max-width:991px){
  body.ipx-layout .iPistis-nav {padding:8px 0;}
  body.ipx-layout .ip-hero,
  body.ipx-layout .ip-dm-hero,
  body.ipx-layout .ip-dms-hero,
  body.ipx-layout .ip-disc-hero {padding-top:40px;padding-bottom:65px;}
}
@media (max-width:767px){
  body.ipx-layout .ipx-breadcrumb-band {padding:13px 0;}
  body.ipx-layout .ipx-breadcrumb-band .ipx-breadcrumb {font-size:12px !important;}
  body.ipx-layout .ip-hero,
  body.ipx-layout .ip-dm-hero,
  body.ipx-layout .ip-dms-hero,
  body.ipx-layout .ip-disc-hero {padding-top:32px;padding-bottom:52px;}
}
