.brand-header .header-inner { min-height: 88px; padding-top: 4px; padding-bottom: 4px; }
.brand-logo-link { display: inline-flex; align-items: center; flex: 0 1 240px; min-width: 0; }
.brand-logo { display: block; width: 240px; max-width: 100%; height: 80px; object-fit: contain; }
.brand-scene { overflow: hidden; }
.scene-canvas { position: absolute; width: 100%; height: 100%; container-type: inline-size; }
.scene-base { display: block; width: 100%; height: 100%; }
.scene-logo {
  position: absolute;
  height: auto;
  mix-blend-mode: multiply;
  pointer-events: none;
  transform-origin: center;
  opacity: .95;
  filter: saturate(.94) brightness(.94) contrast(.98) blur(.025cqw);
  mask-image: linear-gradient(115deg, rgba(0,0,0,.9), #000 48%, rgba(0,0,0,.88));
}
/* Keep perspective and photographic softness proportional to the scene crop. */
.hero-wall-logo {
  left: 75.2%; top: 14.7%; width: 18.2%;
  transform: perspective(75cqw) skewY(-6.3deg) rotateY(-14deg);
}
.solution-wall-logo {
  left: 76%; top: 12.8%; width: 15.2%;
  transform: perspective(60cqw) skewY(-9deg) rotateY(-19deg);
  opacity: .94;
  filter: saturate(.92) brightness(.94) contrast(.98) blur(.03cqw);
}
.solution-box-logo {
  left: 77.2%; top: 71%; width: 10.2%;
  /* Shear follows the carton edges without tilting vertical letter strokes. */
  transform: perspective(40cqw) skewY(9deg) rotateY(21deg);
  opacity: .78;
  filter: saturate(.62) contrast(.86) blur(.022cqw);
}
.solution-banner { position: relative; isolation: isolate; overflow: hidden; background: #202526; color: #fff; }
.solution-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; z-index: -2; }
.solution-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(20,26,27,.8), rgba(20,26,27,.45) 42%, transparent 70%); }
.solution-inner { max-width: 1280px; margin: 0 auto; padding: 84px 48px; min-height: clamp(570px, 50vw, 760px); display: flex; align-items: center; }
.solution-copy { max-width: 520px; }
.solution-copy > p:first-child { font-size: 13px; font-weight: 600; color: #bce4c5; }
.solution-copy h2 { margin-top: 18px; font-size: 38px; line-height: 1.4; font-weight: 650; }
.solution-description { margin-top: 24px; max-width: 460px; font-size: 16px; line-height: 1.9; color: #e4e9e5; }
.solution-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.solution-actions .secondary { background: rgba(20,26,27,.5); color: #fff; border-color: #c3cdc5; }
.solution-actions .secondary:hover { background: #35433a; }
@media (min-width: 1024px) and (max-width: 1279px) { .brand-header .header-inner > div > a[href^="tel:"] { display: none; } }
@media (max-width: 1023px) {
  #mobile-menu { position: absolute; inset-inline: 0; top: 100%; max-height: calc(100vh - 90px); max-height: calc(100dvh - 90px); overflow-y: auto; overscroll-behavior: contain; box-shadow: 0 12px 20px #182d3614; }
  .menu-open .service-dock { display: none; }
}
main .text-brand-green { color: #20803c; }
footer a { text-underline-offset: 4px; }
footer a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
footer ul a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 767px) {
  .brand-header .header-inner { min-height: 76px; }
  .brand-logo-link { flex-basis: 210px; }
  .brand-logo { width: 210px; height: 70px; }
  .solution-inner { padding: 44px 24px 240px; min-height: 620px; align-items: flex-start; }
  .solution-photo { object-fit: contain; object-position: center bottom; }
  .solution-shade { background: linear-gradient(180deg, #202526 0%, #202526 51%, rgba(32,37,38,.9) 61%, transparent 77%); }
  .solution-copy h2 { font-size: 28px; }
  .solution-description { font-size: 14px; margin-top: 18px; }
  .solution-actions { margin-top: 24px; }
}
