.vibe-product-refined :is(.product-hero, .brand-hero) {
  min-height: 0 !important;
  padding-block: clamp(28px, 4vw, 52px) !important;
}
.vibe-product-refined :is(.product-hero, .brand-hero) h1 {
  font-size: clamp(27px, 3.2vw, 43px) !important;
  line-height: 1.16 !important;
}
.vibe-product-refined :is(.product-hero, .brand-hero) p {
  font-size: clamp(15px, 1.35vw, 17px);
  line-height: 1.65;
}
.vibe-product-refined :is(.product-chapter, .product-proof, .product-family, .product-outcomes, .brand-alignment, .brand-process, .brand-intro, .brand-talk) h2 {
  font-size: clamp(27px, 3vw, 38px);
}
.vibe-product-refined .brand-stage h3 {
  font-size: clamp(23px, 2.4vw, 29px);
}
.vibe-product-refined .brand-breadcrumb { margin-bottom: 20px; }
.vibe-product-refined .brand-hero-art > img { height: clamp(200px, 26vw, 310px); }
.vibe-product-refined .brand-closing a { color: #f5e6c1; text-decoration: underline; }
.vibe-product-refined .brand-closing img { width: 100%; object-fit: cover; }
.footer-bottom .company-registration { margin-inline-start: auto; }

/* Interior banners share the Case Studies frame. Artwork keeps its own aspect ratio. */
#main .page-hero.vibe-aligned-banner {
  box-sizing: border-box;
  min-height: 394px !important;
  padding: 32px 0 !important;
  display: grid;
  align-items: center;
}
#main .vibe-aligned-banner > .container {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 40%);
  column-gap: clamp(24px, 4vw, 56px);
  row-gap: 0;
  align-items: center;
  width: min(92%, 1220px);
  max-width: none;
  padding-inline: 0;
  margin-inline: auto;
}
#main .vibe-aligned-banner > .container > :is(div, h1, p) { grid-column: 1; }
body #main .page-hero.vibe-aligned-banner h1 {
  font-size: clamp(30px, 3.1vw, 42px) !important;
  line-height: 1.16 !important;
  margin: 10px 0 12px;
}
#main .vibe-aligned-banner p { margin: 0; }
#main .vibe-aligned-banner > .container > figure {
  grid-column: 2;
  grid-row: 1 / span 3;
  justify-self: end;
  margin: 0;
}
#main .vibe-aligned-banner.review-heart-banner > .container > figure {
  width: min(100%, 180px) !important;
  max-width: none;
}
#main .vibe-aligned-banner .method-hero-layout > figure { width: 100%; }
#main .vibe-aligned-banner .method-hero-layout > figure img {
  width: 100%;
  height: clamp(150px, 18vw, 235px);
}

/* The homepage header is in document flow, so the hero needs no fixed-header offset. */
body.home .site-header { position: relative !important; top: auto !important; }
body.home #main .refined-home-hero { min-height: 0 !important; }
body.home #main .refined-home-hero > .container {
  min-height: 0 !important;
  padding-top: clamp(20px, 2.4vw, 34px) !important;
  align-content: start;
  align-items: start;
}
body.home #main .refined-home-hero > p:has(> .hero-canvas) { margin: 0; }

@media (max-width: 760px) {
  #main .page-hero.vibe-aligned-banner {
    min-height: 0 !important;
    padding: 24px 0 !important;
  }
  #main .vibe-aligned-banner > .container { grid-template-columns: minmax(0, 1fr); row-gap: 12px; }
  #main .vibe-aligned-banner.review-heart-banner > .container {
    grid-template-columns: minmax(0, 1fr) clamp(64px, 21vw, 112px);
    gap: 0 14px;
  }
  body #main .page-hero.vibe-aligned-banner h1 { font-size: clamp(26px, 5.5vw, 34px) !important; }
  #main .vibe-aligned-banner:not(.review-heart-banner) > .container > figure {
    grid-column: 1;
    grid-row: auto;
    justify-self: stretch;
  }
}

/* All reviewed banners start below the menu, including older WordPress pages. */
body:has(.vibe-aligned-banner) .site-header {
  position: relative !important;
  top: auto !important;
}
#main .page-hero.vibe-aligned-banner {
  min-height: 330px !important;
  padding-block: 24px !important;
}
#main .vibe-aligned-banner > .container {
  align-content: center;
  grid-auto-rows: min-content;
}
#main .vibe-aligned-banner.review-heart-banner > .container > figure {
  width: min(100%, 128px) !important;
}
@media (min-width: 761px) {
  body.about-people-page .about-experience-grid > .about-story-row:first-child {
    align-items: start;
  }
  body.about-people-page .about-experience-grid > .about-story-row:first-child > .about-story-mosaic {
    align-self: start;
    margin-top: 0;
  }
  body.about-people-page .about-story-copy > .about-experience-heading {
    position: relative;
  }
  body.about-people-page .about-story-copy > .about-experience-heading > .eyebrow {
    position: absolute;
    bottom: 100%;
    margin: 0 0 8px;
  }
  body.about-people-page .about-story-copy > .about-experience-heading > h2 {
    margin-top: 0;
  }
}
@media (max-width: 760px) {
  #main .page-hero.vibe-aligned-banner { min-height: 0 !important; }
  #main .vibe-aligned-banner.review-heart-banner > .container {
    grid-template-columns: minmax(0, 1fr) clamp(46px, 16vw, 76px);
  }
}
#main .vibe-aligned-banner .case-client-triptych,
#main .vibe-aligned-banner .case-client-triptych img {
  height: clamp(145px, 17vw, 235px);
}
@media (max-width: 760px) {
  #main .vibe-aligned-banner .case-client-triptych,
  #main .vibe-aligned-banner .case-client-triptych img,
  #main .vibe-aligned-banner .method-hero-layout > figure img {
    height: clamp(140px, 39vw, 185px);
  }
  body.about-people-page .about-experience-grid > .about-story-row:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  body.about-people-page .about-experience-grid > .about-story-row:first-child > .about-story-copy {
    display: contents;
  }
  body.about-people-page .about-experience-grid > .about-story-row:first-child .about-story-mosaic {
    order: 1;
    margin-top: 0;
  }
  body.about-people-page .about-experience-grid > .about-story-row:first-child .about-story-copy > p {
    order: 2;
  }
}

/* The Methodology page holds the detail. Keep the homepage summary compact. */
body.home #main #approach .approach-photo { display: none; }
body.home #main :is(#solutions, #approach, #products, #impact, #testimonials) {
  padding-block: clamp(40px, 5vw, 72px);
}

body #main .method-example h3.brand-card-title {
  font-size: clamp(25px, 3vw, 36px) !important;
  line-height: 1.2;
}
body #main .about-crafted-hero.vibe-aligned-banner > .container {
  grid-template-columns: minmax(0, 1fr) minmax(0, 38%);
}
body #main .about-crafted-hero.vibe-aligned-banner > .container > .about-banner-photo {
  width: min(100%, 380px) !important;
}
.about-banner-photo img {
  display: block;
  width: 100%;
  height: clamp(150px, 17vw, 210px);
  object-fit: cover;
}
@media (max-width: 760px) {
  body #main .about-crafted-hero.vibe-aligned-banner > .container {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 14px;
  }
  body #main .about-crafted-hero.vibe-aligned-banner > .container > .about-banner-photo {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }
  .about-banner-photo img { height: clamp(120px, 32vw, 165px); }
}

body:is(.home, .methodology-refined, .about-people-page) .site-header #main-nav > :is(a, details),
body:is(.home, .methodology-refined, .about-people-page) .site-header #main-nav summary {
  font-size: 10px !important;
}
@media (max-width: 760px) {
  body:is(.home, .methodology-refined, .about-people-page) .site-header #main-nav > :is(a, details),
  body:is(.home, .methodology-refined, .about-people-page) .site-header #main-nav summary {
    font-size: 13px !important;
  }
}
/* Compact News & Views header and archive cards. */
body #main .page-hero.news-balanced-hero.review-compact-banner {
  min-height: 0 !important;
  padding-block: clamp(16px, 2vw, 28px) !important;
}
body #main .news-balanced-hero .news-banner-heart {
  width: min(100%, 96px) !important;
}
body #main .news-balanced-hero .news-banner-copy h1 {
  margin-block: 6px 8px;
}
body #main .news-balanced-hero .news-banner-copy p { line-height: 1.5; }
#main .section.news-list { padding-block: clamp(24px, 4vw, 52px); }
#main .full-news-grid { gap: clamp(16px, 2vw, 24px); }
#main .full-news-grid .news-card-copy { padding: clamp(14px, 2vw, 20px); }
#main .full-news-grid .news-card-copy h2 {
  font-size: clamp(19px, 2vw, 23px);
  margin-block: 8px 10px;
}
#main .full-news-grid .news-card-copy p { margin-bottom: 14px; }

/* Compact the article title and metadata banner only. */
body:has(#main :is(.article-top, .review-article-banner)) .site-header {
  position: relative !important;
  top: auto !important;
}
body #main :is(.article-top, .page-hero.review-article-banner) {
  min-height: 0 !important;
  padding-block: clamp(24px, 4vw, 48px) !important;
}

body #main .news-balanced-hero > .news-banner-layout {
  align-items: center;
  padding-block: 0;
}
body #main .news-balanced-hero .news-banner-copy,
body #main .news-balanced-hero .news-banner-heart {
  grid-row: 1;
  align-self: center;
}

body #main .page-hero.method-hero h1 {
  font-size: clamp(30px, 3.1vw, 42px) !important;
  line-height: 1.16 !important;
}
@media (max-width: 760px) {
  body #main .page-hero.method-hero h1 {
    font-size: clamp(26px, 5.5vw, 34px) !important;
  }
}

/* Keep Team copy together and centre it alongside the heart. */
body:has(#main .team-hero) .site-header {
  position: relative !important;
  top: auto !important;
}
body #main .page-hero.team-hero.vibe-aligned-banner {
  height: auto;
  padding-block: clamp(32px, 4vw, 56px) !important;
  align-content: center;
}
body #main .team-hero.vibe-aligned-banner .team-banner-copy {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  min-width: 0;
}
body #main .team-hero.vibe-aligned-banner > .container > figure {
  grid-row: 1;
}
