/* v68: consistent title position across page headers. */
:root { --page-heading-top:72px; }

.inner-page-hero,
.company-partner-hero,
.catalog-hero,
.training-hero,
.solution-hero,
.service-detail-page .solution-hero,
.legal-hero {
  padding-top:var(--page-heading-top);
  align-items:start;
  align-content:start;
}

.inner-page-hero>div,
.catalog-hero-copy,
.training-hero-copy,
.solution-hero-copy,
.service-detail-page .solution-hero-copy {
  align-self:start;
  margin-top:0;
}

.hero-content { padding-top:var(--page-heading-top); }
.hero-card { top:var(--page-heading-top); }
.catalog-cover-card { margin-top:0; }
.company-partner-badge { align-self:start; }

/* Breadcrumbs occupy the upper margin, keeping the title block aligned. */
.solution-hero-copy>.solution-breadcrumb,
.service-detail-page .solution-hero-copy>.solution-breadcrumb {
  position:absolute;
  left:0;
  right:0;
  bottom:calc(100% + 12px);
  margin:0;
  font-size:12px;
  line-height:1.35;
  gap:4px 8px;
}

@media (max-width:900px) {
  /* Place service photography after the heading instead of above it. */
  .service-detail-page .solution-hero {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding-top:var(--page-heading-top);
    gap:28px;
  }
  .service-detail-page .solution-hero-copy { order:0; }
  .service-detail-page .solution-hero .service-hero-photo {
    order:1;
    position:relative;
    inset:auto;
    z-index:1;
    width:100%;
    height:auto;
    object-fit:contain;
  }
  .service-detail-page .solution-hero::before {
    background:linear-gradient(180deg,#0b151d 0%,rgba(11,21,29,.9) 60%,rgba(11,21,29,.3) 100%);
  }
}

@media (max-width:720px) {
  :root { --page-heading-top:48px; }
  .hero-card { top:auto; }
  .solution-hero-copy>.solution-breadcrumb,
  .service-detail-page .solution-hero-copy>.solution-breadcrumb {
    bottom:calc(100% + 8px);
    font-size:11px;
    gap:3px 6px;
  }
}

/* v72: mobile headings share the same top offset and label space. */
@media (max-width:720px) {
  :root { --page-heading-top:48px; }
  .inner-page-hero,
  .company-partner-hero,
  .catalog-hero,
  .training-hero,
  .solution-hero,
  .service-detail-page .solution-hero,
  .legal-hero {
    padding-top:48px;
    align-items:start;
    align-content:start;
    justify-content:flex-start;
  }
  .hero-content,
  .hero-partner-layout .hero-content { padding-top:48px; }
  .inner-page-hero>div,
  .catalog-hero-copy,
  .training-hero-copy,
  .solution-hero-copy,
  .service-detail-page .solution-hero-copy {
    margin-top:0;
    padding-top:0;
    align-self:start;
    transform:none;
  }
  .hero-content>.eyebrow,
  .inner-page-hero>div>.eyebrow,
  .catalog-hero-copy>.eyebrow,
  .training-hero-copy>.eyebrow,
  .solution-hero-copy>.eyebrow,
  .legal-hero>.eyebrow {
    min-height:32px;
    margin:0 0 4px;
    font-size:12px;
    line-height:16px;
    letter-spacing:.12em;
  }
  .hero-content>h1,
  .inner-page-hero h1,
  .catalog-hero h1,
  .training-hero h1,
  .solution-hero h1,
  .legal-hero h1 { margin-top:0; }
}
