/* Two homepage colour chapters. Opaque hero, cards and footer remain independent. */
.brawnd-home-journey {
  --journey-paper: #f1eee7;
  --journey-ink: #30262a;
  --journey-muted: #6c6065;
  --journey-ink-rgb: 48, 38, 42;
}
.brawnd-home-journey > :is(#strength, #services, #selected-work, #process, #faq, .brawnd-home-insight, #contact) {
  border-top: 0;
  border-bottom: 0;
}
.brawnd-home-journey > #strength,
.brawnd-home-journey > #process,
.brawnd-home-journey > #faq,
.brawnd-home-journey > .brawnd-home-insight,
.brawnd-home-journey > #contact { background: #f1eee7 !important; color: #30262a !important; }
.brawnd-home-journey > :is(#services, #selected-work) { background: var(--brawnd-dark-canvas, #1b1417) !important; }
.brawnd-home-journey.is-colour-journey { background: var(--journey-paper); }
/* Reviews share the transition canvas. An opaque cream section here would leave
   a horizontal join above Services after the dark cuts hand off. The actual
   review letters keep their own paper surfaces. */
.brawnd-home-journey.is-colour-journey > .brawnd-reviews {
  background: transparent !important;
}

.brawnd-home-journey.is-colour-journey > :is(#strength, #services, #selected-work, #process, #faq, .brawnd-home-insight, #contact) {
  background: transparent !important;
}
/* Solid palettes only: the canvas changes underneath full, opaque cuts. */
.brawnd-home-journey[data-journey-palette="dark"],
.brawnd-home-journey:not(.is-colour-journey) > :is(#services, #selected-work) {
  --journey-paper: var(--brawnd-dark-canvas, #1b1417);
  --journey-ink: #f1eee7;
  --journey-muted: #c9c3bd;
  --journey-ink-rgb: 241, 238, 231;
}
.brawnd-home-journey.is-colour-journey,
.brawnd-home-journey > :is(#strength, #services, #selected-work, #process, #faq, .brawnd-home-insight, #contact) {
  transition: none !important;
}
/* Preserve existing transform/opacity reveals, but never tween palette colours. */
.brawnd-home-journey :is(#strength, #selected-work, #process) :is(h2, h3, p, a, span, .b2-kicker) {
  transition-property: transform, opacity !important;
}
.brawnd-home-journey #strength :is(h2, h3),
.brawnd-home-journey #process :is(h2, h3, .b2-inline-cta, .b2-inline-cta span),
.brawnd-home-journey #selected-work :is(h2, h3, a) { color: var(--journey-ink) !important; }
.brawnd-home-journey #strength :is(p, .b2-kicker, .b2-strength-num),
.brawnd-home-journey #process :is(p, .brawnd-process-number) { color: var(--journey-muted) !important; }
.brawnd-home-journey #strength .b2-kicker::before { background: var(--journey-muted) !important; box-shadow: none !important; }
.brawnd-home-journey #process .brawnd-process-line { background: rgba(var(--journey-ink-rgb), .18); }
.brawnd-home-journey #process .brawnd-process-line span,
.brawnd-home-journey #process .brawnd-process-dot.is-reached { background: var(--journey-ink); }
.brawnd-home-journey #process .brawnd-process-dot { background: rgba(var(--journey-ink-rgb), .32); }
.brawnd-home-journey #process .brawnd-process-card-frame rect { stroke: rgba(var(--journey-ink-rgb), .3); }
.brawnd-home-journey #process .is-process-complete .brawnd-process-card-frame rect { fill: rgba(var(--journey-ink-rgb), .025); }
.brawnd-home-journey.is-colour-journey #services #brawndServicesTitle {
  background-image:
    radial-gradient(ellipse 17% 65% at var(--services-light-x) var(--services-light-y),
      rgba(var(--journey-ink-rgb), var(--services-light-strength)) 0%, transparent 75%),
    linear-gradient(180deg, rgba(var(--journey-ink-rgb), .25), rgba(var(--journey-ink-rgb), .15) 55%, rgba(var(--journey-ink-rgb), .04));
}
.brawnd-home-journey #strength :is(.b2-strength-grid, .b2-strength-item) { border-color: rgba(var(--journey-ink-rgb), .16); }
/* The rest of the journey stays cream, including its forms and article links. */
.brawnd-home-journey :is(.brawnd-home-insight-heading h2, .brawnd-home-insight-card h3, .brawnd-home-contact h2) { color: #30262a !important; }
.brawnd-home-journey :is(.brawnd-home-insight-meta, .brawnd-home-contact-copy > p, .brawnd-home-contact .b2-kicker) { color: #6c6065; }
.brawnd-home-journey .brawnd-home-contact .b2-kicker::before { background: #6c6065 !important; box-shadow: none !important; }
.brawnd-home-journey .brawnd-home-insight-card { border-color: rgba(48, 38, 42, .16); }
.brawnd-home-journey :is(.brawnd-home-insight-all, .brawnd-home-contact-submit) { background: #30262a; border-color: #30262a; color: #f1eee7; }
.brawnd-home-journey :is(.brawnd-home-insight-all, .brawnd-home-contact-submit):hover { background: #4d3841; }
.brawnd-home-journey .brawnd-home-contact-options a { color: #30262a; border-color: rgba(48, 38, 42, .35); }
.brawnd-home-journey .brawnd-home-contact-form { background: #fff; border-color: #d4cacb; }
.brawnd-home-journey :is(.brawnd-home-contact-field label, .brawnd-home-contact-status) { color: #30262a; }
.brawnd-home-journey .brawnd-home-contact-field :is(input, textarea) { background: #f8f6f0; border-color: #d4cacb; color: #30262a; }
.brawnd-home-journey .brawnd-home-contact-field :is(input, textarea)::placeholder { color: #75666c; }
.brawnd-home-journey :is(.brawnd-home-contact, .brawnd-home-insight) :is(a, button, input, textarea):focus-visible { outline-color: #6a4753; }
/* Put actual incoming content above its matching paper windows. Its position and
   scroll behaviour are unchanged. The temporary clip is removed at arrival. */
.brawnd-home-journey > .is-journey-arriving { position: relative; z-index: 81; }
.brawnd-home-journey > #services.is-journey-arriving {
  --journey-ink: #f1eee7;
  --journey-muted: #c9c3bd;
  --journey-ink-rgb: 241, 238, 231;
}
.brawnd-home-journey > #strength.is-journey-arriving {
  --journey-ink: #30262a;
  --journey-muted: #6c6065;
  --journey-ink-rgb: 48, 38, 42;
}
/* Six stationary cuts widen around fixed centres, starting with the lowest. */
.brawnd-colour-slices { position: fixed; inset: 0; z-index: 80; pointer-events: none; overflow: hidden; }
.brawnd-colour-slices[hidden] { display: none !important; }
.brawnd-colour-slice {
  position: absolute; top: 0; left: 0; width: 100%; height: 0;
  background: var(--slice-paper); transform: none;
  opacity: 1; transition: none; will-change: top, height;
}
@media (prefers-reduced-motion: reduce) { .brawnd-colour-slices { display: none !important; } }
/* The navigation also changes its surface directly while a cut passes under it. */
body:has(.brawnd-colour-slices:not([hidden])) .site-header .nav { transition: none !important; }

/* Reveal the cube chapter only after the cream cuts have completed.
   Hide the stage contents without flattening the cube's nested 3D transforms. */
.brawnd-home-journey.is-colour-journey > #strength:not(.is-why-ready) .brawnd-why-inner {
  visibility: hidden;
}

/* Completed Services cuts must not uncover remnants of the old review letters.
   Include descendants because the active review sets its own visible state. */
@media screen {
  .brawnd-home-journey.is-services-revealed > .brawnd-reviews,
  .brawnd-home-journey.is-services-revealed > .brawnd-reviews * {
    visibility: hidden !important;
  }
}

/* A real gap lets the brown cuts lead while content rises with native scrolling. */
.brawnd-home-journey > #services > .brawnd-services-shell {
  padding-top: clamp(120px, 22vh, 220px);
}

