.brand-logo {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}

.footer-brand .brand-logo {
  border: 1px solid rgba(255, 255, 255, .18);
}

.factory-section {
  background: #eee9df;
  padding: 120px 0;
}

.factory-heading {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 48px;
}

.factory-heading h2,
.packaging-copy h2 {
  font-family: var(--serif);
  font-size: clamp(39px, 4.4vw, 64px);
  line-height: 1.06;
  letter-spacing: -.055em;
  margin: 0;
}

.factory-heading > p {
  max-width: 440px;
  margin: 0 0 7px;
  color: #555a52;
}

.factory-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr .95fr;
  grid-template-rows: 310px 310px;
  gap: 16px;
}

.factory-card {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #ddd3c3;
}

.factory-card-tall { grid-row: 1 / 3; }
.factory-card-wide { grid-column: 2 / 4; }

.factory-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.factory-card:hover img { transform: scale(1.025); }

.factory-card figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 50px 20px 18px;
  background: linear-gradient(transparent, rgba(15, 17, 14, .82));
  color: #fff;
  display: flex;
  flex-direction: column;
}

.factory-card figcaption strong {
  font-family: var(--serif);
  font-size: 18px;
}

.factory-card figcaption span {
  font-size: 11px;
  opacity: .8;
}

.packaging-section {
  padding: 120px 0;
  background: #f5f0e7;
}

.packaging-grid {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 70px;
  align-items: center;
}

.packaging-copy > p:not(.eyebrow) {
  font-size: 17px;
  color: #555a53;
  margin: 26px 0;
}

.packaging-copy ul {
  padding: 0;
  margin: 0 0 34px;
  list-style: none;
}

.packaging-copy li {
  padding: 13px 0;
  border-top: 1px solid var(--line);
  font-size: 13px;
}

.packaging-copy li::before {
  content: "✓";
  margin-right: 12px;
  color: var(--sage);
}

.packaging-visual {
  margin: 0;
  background: #e9dfd0;
  padding: 12px;
}

.packaging-visual img {
  width: 100%;
  height: auto;
}

.packaging-visual figcaption {
  font-size: 10px;
  color: #646860;
  padding: 12px 3px 3px;
}

@media (max-width: 1100px) {
  .brand span:last-child { max-width: 190px; }
  .factory-grid { grid-template-rows: 270px 270px; }
}

@media (max-width: 700px) {
  .brand-logo { width: 38px; height: 38px; }
  .brand span:last-child { max-width: 210px; }
  .factory-section,
  .packaging-section { padding: 80px 0; }
  .factory-heading,
  .packaging-grid { grid-template-columns: 1fr; gap: 32px; }
  .factory-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .factory-card,
  .factory-card-tall,
  .factory-card-wide { grid-column: auto; grid-row: auto; height: 310px; }
  .factory-card-tall { height: 430px; }
  .factory-heading { margin-bottom: 34px; }
}
