@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap');

:root {
  --title-font: "Montserrat", Figtree, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero h1,
.page-hero h1,
.content h2,
.section-head h2,
.capabilities h2,
.stockists h2,
.partner h2,
.about h2,
.enquiry h2,
.brand-detail h1,
.brand-list article h2,
.path-grid h3,
.cap-grid h3,
.category-grid h3,
.values h3,
.logo b {
  font-family: var(--title-font);
}

h1,
.hero h1,
.page-hero h1,
.brand-detail h1 {
  font-weight: 800;
  letter-spacing: -0.055em;
}

h2,
h3,
.section-head h2,
.capabilities h2,
.stockists h2,
.partner h2,
.about h2,
.enquiry h2,
.content h2 {
  font-weight: 700;
  letter-spacing: -0.045em;
}

.review span::after {
  content: " · MONTSERRAT + NEW PHOTOGRAPHY";
}

.v3-photo-frame img {
  object-position: 50% center;
  filter: saturate(.96) contrast(1.02);
}

.path-grid img,
.cap-grid.visual img,
.capability-band img,
.contact-team-photo img,
.purpose-visual img,
.values-visual img {
  filter: saturate(.94) contrast(1.02);
}

.client-photo-note {
  color: var(--body);
  font-size: .8rem;
}

@media (max-width: 850px) {
  .review {
    justify-content:center;
  }

  .review span {
    display:none;
  }

  .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    padding: 3.5rem 6vw 4.5rem;
  }

  .hero h1 {
    font-size: clamp(3.25rem, 15vw, 5.5rem);
  }

  .hero-copy,
  .hero .hero-copy {
    max-width: 38rem;
  }

  .v3-hero-image {
    width:100%;
    min-height:390px;
  }

  .v3-photo-frame,
  .v3-photo-frame img {
    min-height:370px;
  }

  h1,
  .hero h1,
  .page-hero h1 {
    letter-spacing: -0.045em;
  }
}

@media (max-width: 520px) {
  .hero h1 {
    font-size: clamp(2.7rem, 14vw, 4rem);
    line-height: .94;
  }

  .v3-hero-image {
    min-height:330px;
  }

  .v3-photo-frame,
  .v3-photo-frame img {
    min-height:310px;
  }
}

/* Version 3.2: one consistent Montserrat display system. */
:where(h1, h2, h3, h4, h5, h6, .logo b, .stats b, .brand-facts b,
  .channel-list span, .stockist-grid.logos span, .sticker, .ticker) {
  font-family: var(--title-font) !important;
}

:where(.hero h1, .page-hero h1, .brand-detail h1, .intro h2,
  .section-head h2, .capabilities h2, .stockists h2, .partner h2,
  .about h2, .enquiry h2, .service-head h2, .content h2,
  .promise h2, .categories h2, .stockist-heading h2) {
  font-weight: 800;
}

.brand-list article > .brand-product {
  width: 100% !important;
  height: 210px !important;
  padding: 16px;
  object-fit: contain;
  object-position: center;
  flex-shrink: 0;
}

.brand-list article > div {
  width: 100%;
  min-width: 0;
}

.brand-list article .brand-name-logo {
  width: 100% !important;
  max-width: 220px;
  height: 100px !important;
  margin: 0 auto 18px;
  padding: 0;
  object-fit: contain;
  object-position: center;
  background: transparent;
  flex-shrink: 0;
}

.brand-list article .brand-name-logo[src$="brand-roca.jpg"] {
  mix-blend-mode: multiply;
}

.brand-logo-frame {
  position: relative;
  width: min(100%, 220px);
  height: 104px;
  margin: 0 auto 18px;
  overflow: hidden;
  flex-shrink: 0;
  mix-blend-mode: multiply;
}

.brand-list article .brand-logo-frame .brand-name-logo {
  max-width: none;
  margin: 0;
}

.brand-logo-frame.artwork-fitted .brand-name-logo {
  position: absolute;
  object-fit: fill;
}

.brand-hero-logo-frame {
  width: min(100%, 480px);
  height: clamp(110px, 13vw, 170px);
  margin: 12px 0 24px;
}

.brand-hero-logo-frame .brand-title-logo {
  max-width: none;
  margin: 0;
  object-position: left center;
}

.brand-hero-logo-frame.artwork-fitted .brand-title-logo {
  position: absolute;
  object-fit: fill;
}

/* Supplied NERDS artwork: blend its pale canvas into the card surface. */
img[src$="brand-nerds-clean.png"] {
  mix-blend-mode: multiply;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.brand-title-logo {
  width: min(440px, 82%);
  height: clamp(90px, 12vw, 150px);
  margin: 0 0 22px;
  object-fit: contain;
  object-position: left center;
}

.brand-page .brand-logo-float { display: none; }

/* Keep Hydrofy packaging fully visible throughout its product-led profile. */
[data-brand="hydrofy"] .brand-product-stage,
[data-brand="hydrofy"] .brand-range-visual,
[data-brand="hydrofy"] .profile-signature figure {
  background: #fff;
}
[data-brand="hydrofy"] .profile-signature figure img,
[data-brand="hydrofy"] .brand-range-visual img,
[data-brand="hydrofy"] .brand-local-section > img {
  object-fit: contain;
  background: #fff;
  padding: 24px;
}
[data-brand="hydrofy"] .brand-title-logo {
  object-fit: cover;
  object-position: center;
  height: 90px;
  mix-blend-mode: multiply;
}

.vanholtens-landing .brand-product-stage > .brand-product-image {
  width: 90%;
  height: 88%;
  object-fit: contain;
  filter: drop-shadow(0 22px 24px #0004);
}

@media (max-width: 520px) {
  .brand-list article > .brand-product { height: 190px !important; }
  .brand-list article .brand-name-logo { height: 100px !important; }
}
