/* Branding category page only. Shared navigation/footer remain in rasberi-styles.css. */
.branding-page { overflow: clip; }
main.branding-page > section:not(.hero) { border-top: 0; }

.br-hero { position: relative; background: var(--smoke); color: var(--cloud); }
.br-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 48%) minmax(0, 52%);
  min-height: clamp(40rem, 52vw, 48rem);
}
.br-hero-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(6rem, 9vw, 8rem) clamp(1rem, 2vw, 2rem) clamp(5rem, 8vw, 7rem) max(1.5rem, calc((100vw - 1440px) / 2));
}
.br-hero .section-eyebrow::before { width: 3.25rem; }
.br-hero .section-eyebrow::after { width: 7rem; }
.br-capabilities .section-eyebrow::before { width: 7rem; }
.br-capabilities .section-eyebrow::after { width: 3rem; }
.br-identity .section-eyebrow::before { width: 2.25rem; }
.br-identity .section-eyebrow::after { width: 8rem; }
.branding-page .ps-process .section-eyebrow::before { width: 5.5rem; }
.branding-page .ps-process .section-eyebrow::after { width: 4rem; }
.branding-page .ps-final .section-eyebrow::before { width: 4rem; }
.branding-page .ps-final .section-eyebrow::after { width: 7rem; }
.br-hero h1 {
  color: var(--cloud);
  font-size: clamp(4.5rem, 6.7vw, 6.8rem);
  line-height: .84;
}
.br-hero h1 span { color: var(--raz); }
.br-hero-copy > p:not(.section-eyebrow) {
  max-width: 29rem;
  margin: 1.75rem 0 0;
  color: var(--mist);
  font-size: clamp(1rem, 1.25vw, 1.1rem);
  font-weight: 400;
  line-height: 1.72;
}
.br-hero-media {
  display: grid;
  min-width: 0;
  margin: 0 1.5rem 1.5rem 0;
  place-items: center start;
  background: transparent;
}
.br-hero-art {
  position: relative;
  width: min(800px, calc(100% - 2rem));
  aspect-ratio: 1000 / 666;
  isolation: isolate;
}
.br-hero-art::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 2px solid var(--raz);
  transform: translate(12px, 12px);
}
.br-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  filter: saturate(.55) contrast(1.08) brightness(.84);
}

.br-capabilities {
  padding: clamp(5.5rem, 9vw, 9rem) 0 !important;
  background: var(--cloud);
  color: var(--pavement);
}
.br-capabilities-layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}
.br-capabilities-intro h2 {
  font-size: clamp(4rem, 6vw, 6rem);
  line-height: .9;
}
.br-capabilities-intro h2 span { color: var(--raz); }
.br-capabilities-intro > p:not(.section-eyebrow) {
  max-width: 34rem;
  margin: 1.75rem 0 0;
  color: var(--smoke);
  font-size: clamp(1rem, 1.2vw, 1.08rem);
  font-weight: 400;
  line-height: 1.72;
}
.br-capabilities-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(2rem, 4vw, 4rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.br-capabilities-list li,
.br-identity li {
  display: grid;
  grid-template-columns: 2.1rem 1fr;
  gap: .8rem;
  align-items: baseline;
  padding: 1.25rem 0;
  border-top: 1px solid rgba(34,34,34,.2);
}
.br-capabilities-list li:nth-child(-n+2) { border-top: 0; }
.br-capabilities-list li > i,
.br-identity li > i {
  color: var(--raz);
  font-size: .7rem;
  transform: translateY(-.12em);
}
.br-capabilities-list h3,
.br-identity h3 {
  color: var(--raz);
  font-family: var(--font-body);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.35;
  text-transform: uppercase;
}
.br-capabilities-list p,
.br-identity li p {
  margin: .45rem 0 0;
  font-size: .94rem;
  font-weight: 400;
  line-height: 1.6;
}
.br-capabilities-list p { color: var(--smoke); }

.br-identity { background: var(--smoke); color: var(--cloud); }
.br-identity-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: clamp(42rem, 58vw, 52rem);
}
.br-identity-media {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background-color: var(--pavement);
  background-image: url("assets/services/branding/rasberi-branding-image-2.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.br-identity-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4.5rem, 7vw, 7rem) clamp(2rem, 6vw, 6rem);
}
.br-identity h2 {
  color: var(--cloud);
  font-size: clamp(4rem, 6vw, 6rem);
  line-height: .87;
}
.br-identity h2 span { color: var(--raz); }
.br-identity-copy > p:not(.section-eyebrow) {
  max-width: 34rem;
  margin: 1.75rem 0 0;
  color: var(--mist);
  font-size: clamp(1rem, 1.2vw, 1.08rem);
  font-weight: 400;
  line-height: 1.72;
}
.br-identity ul {
  display: grid;
  max-width: 38rem;
  margin: 2.25rem 0 0;
  padding: 0;
  list-style: none;
}
.br-identity li { padding: .85rem 0; border-top-color: rgba(244,243,239,.2); }
.br-identity li p { color: var(--cloud); }

.branding-page .ps-final-image {
  object-position: 56% center;
  filter: saturate(.62) contrast(1.08) brightness(.72);
}

@media (max-width: 1000px) {
  .br-hero-layout { grid-template-columns: minmax(0, 48%) minmax(0, 52%); }
  .br-hero h1 { font-size: clamp(4rem, 7.6vw, 5.8rem); }
  .br-capabilities-layout { gap: 3.5rem; }
  .br-capabilities-list { grid-template-columns: 1fr; }
  .br-capabilities-list li:nth-child(2) { border-top: 1px solid rgba(34,34,34,.2); }
  .br-identity-copy { padding-right: 3rem; padding-left: 3rem; }
}

@media (max-width: 900px) {
  .br-hero-layout { grid-template-columns: 1fr; min-height: 0; }
  .br-hero-copy { padding: 6.25rem 1.5rem 4rem; }
  .br-hero h1 { font-size: clamp(5rem, 13vw, 7rem); }
  .br-hero-media { width: calc(100% - 1.5rem); min-height: 0; margin: 0 1.5rem 1.5rem 0; aspect-ratio: 1000 / 666; place-items: center; }
  .br-capabilities-layout { grid-template-columns: 1fr; gap: 4rem; }
  .br-capabilities-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .br-capabilities-list li:nth-child(2) { border-top: 0; }
  .br-identity-layout { grid-template-columns: 1fr; min-height: 0; }
  .br-identity-media { min-height: clamp(28rem, 75vw, 42rem); }
  .br-identity-copy { padding: 5rem 1.5rem; }
}

@media (max-width: 700px) {
  .br-hero-copy { padding: 5.5rem 1rem 3.75rem; }
  .br-hero h1 { font-size: clamp(4.5rem, 18vw, 6rem); }
  .br-hero-media { width: calc(100% - 1rem); margin-right: 1rem; margin-bottom: 1rem; }
  .br-hero-art::before { transform: translate(8px, 8px); }
  .br-capabilities .section-eyebrow::before { width: 3.75rem; }
  .br-capabilities .section-eyebrow::after { width: 1.75rem; }
  .br-identity .section-eyebrow::before { width: 1.5rem; }
  .br-identity .section-eyebrow::after { width: 4rem; }
  .branding-page .ps-process .section-eyebrow::before { width: 3rem; }
  .branding-page .ps-process .section-eyebrow::after { width: 2rem; }
  .branding-page .ps-final .section-eyebrow::before { width: 2.25rem; }
  .branding-page .ps-final .section-eyebrow::after { width: 3.5rem; }
  .br-capabilities { padding: 4.5rem 0 !important; }
  .br-capabilities-intro h2,
  .br-identity h2 { font-size: clamp(3.7rem, 14vw, 5.25rem); }
  .br-capabilities-list { grid-template-columns: 1fr; }
  .br-capabilities-list li:nth-child(2) { border-top: 1px solid rgba(34,34,34,.2); }
  .br-identity-media { min-height: clamp(24rem, 82vw, 34rem); }
  .br-identity-copy { padding: 4.5rem 1rem; }
  .branding-page .ps-final-image { object-position: 62% center; }
}

@media (max-width: 420px) {
  .br-hero-copy { padding-top: 5.25rem; }
  .br-hero .section-eyebrow::before { width: 2rem; }
  .br-hero .section-eyebrow::after { width: 4rem; }
  .br-hero h1 { font-size: clamp(4rem, 19vw, 5rem); }
  .br-capabilities-intro h2,
  .br-identity h2 { font-size: clamp(3.45rem, 16vw, 4.3rem); }
}
