/* ==========================================================================
   Consultancy
   ========================================================================== */
.consultancy {
  padding: clamp(2.5rem, 5.5vw, 4rem) 0;
}

.consultancy__head {
  max-width: 76ch;
  margin: 0 auto;
  text-align: center;
}

.consultancy__title {
  font-size: clamp(1.85rem, 3.9vw, 2.75rem);
  line-height: 1.1;
}

/* Intro */
.consultancy__intro {
  max-width: 76ch;
  margin: clamp(1.25rem, 2.5vw, 1.75rem) auto 0;
  text-align: center;
}

.consultancy__lead {
  font-size: 1.15rem;
  color: var(--colour-text);
}

/* Service cards — all-yellow post-it notes (like the hero) */
.consultancy__grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2.4rem);
  margin-top: clamp(2.5rem, 4.5vw, 3.25rem);
}

.consultancy__card {
  position: relative;
  padding: 1.6rem 1.4rem 1.75rem;
  background: linear-gradient(
    180deg,
    var(--colour-postit-hi) 0%,
    var(--colour-postit) 60%,
    var(--colour-postit-lo) 100%
  );
  border-radius: 3px;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.1),
    0 8px 18px -14px rgba(0, 0, 0, 0.3);
  transform-origin: 50% 0; /* pivot around the pin */
  transition: transform 0.25s ease;
}

/* Scattered tilt + a different pin colour each */
.consultancy__card:nth-child(1) { transform: rotate(-1.6deg); --pin-color: #e5484d; }
.consultancy__card:nth-child(2) { transform: rotate(1deg);    --pin-color: #f5a623; }
.consultancy__card:nth-child(3) { transform: rotate(-0.6deg); --pin-color: #17a39a; }

.consultancy__card:hover {
  transform: rotate(0deg);
}

/* Push pin — metal needle then plastic head */
.consultancy__card::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 50%;
  width: 3px;
  height: 12px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, #6d6d6d 0%, #f2f2f2 44%, #c4c4c4 60%, #767676 100%);
  border-radius: 1px 1px 0 0;
  clip-path: polygon(0 0, 100% 0, 60% 100%, 40% 100%);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  z-index: 2;
}

.consultancy__card::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 50%;
  width: 21px;
  height: 22px;
  transform: translateX(-50%);
  border-radius: 50% 50% 46% 46% / 56% 56% 44% 44%;
  background:
    radial-gradient(circle at 34% 24%, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0) 42%),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--pin-color) 76%, #ffffff) 0%,
      var(--pin-color) 34%,
      color-mix(in srgb, var(--pin-color) 60%, #000000) 80%,
      color-mix(in srgb, var(--pin-color) 42%, #000000) 100%
    );
  box-shadow:
    0 5px 7px -1px rgba(0, 0, 0, 0.4),
    inset 0 2px 2px rgba(255, 255, 255, 0.3),
    inset 0 -3px 4px rgba(0, 0, 0, 0.3);
  z-index: 3;
}




.consultancy__card-title {
  display: flex;
  align-items: center;
  gap: 0.62rem;
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2.2vw, 1.9rem);
  line-height: 1.1;
  margin-bottom: 0.5rem;
  color: var(--postit-ink);
}

.consultancy__card-title::before {
  content: "";
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  background: var(--cc-icon) no-repeat center / contain;
}

.consultancy__card:nth-child(1) {
  --cc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%233f340a' d='M192 0c-41.8 0-77.4 26.7-90.5 64L64 64C28.7 64 0 92.7 0 128L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64l-37.5 0C269.4 26.7 233.8 0 192 0zm0 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM305 273L177 401c-9.4 9.4-24.6 9.4-33.9 0L79 337c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L271 239c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E");
}

.consultancy__card:nth-child(2) {
  --cc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%233f340a' d='M256 48C141.1 48 48 141.1 48 256l0 40c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-40C0 114.6 114.6 0 256 0S512 114.6 512 256l0 144.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24l-32 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l32 0c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40L464 256c0-114.9-93.1-208-208-208zM144 208l16 0c17.7 0 32 14.3 32 32l0 112c0 17.7-14.3 32-32 32l-16 0c-35.3 0-64-28.7-64-64l0-48c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64l0 48c0 35.3-28.7 64-64 64l-16 0c-17.7 0-32-14.3-32-32l0-112c0-17.7 14.3-32 32-32l16 0z'/%3E%3C/svg%3E");
}

.consultancy__card:nth-child(3) {
  --cc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%233f340a' d='M152.1 38.2c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 113C-2.3 103.6-2.3 88.4 7 79s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zm0 160c9.9 8.9 10.7 24 1.8 33.9l-72 80c-4.4 4.9-10.6 7.8-17.2 7.9s-12.9-2.4-17.6-7L7 273c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.1 22.1 55.1-61.2c8.9-9.9 24-10.7 33.9-1.8zM224 96c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zm0 160c0-17.7 14.3-32 32-32l224 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32zM160 416c0-17.7 14.3-32 32-32l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E");
}

.consultancy__card-body {
  color: rgba(51, 48, 42, 0.75);
  font-size: 0.95rem;
}

/* Closing pull-quote callout */
.consultancy__callout {
  position: relative;
  max-width: 74ch;
  margin: clamp(1.75rem, 3.5vw, 2.75rem) auto 0;
  padding: clamp(1.3rem, 3vw, 1.85rem) clamp(1.5rem, 3vw, 2rem);
  padding-left: clamp(2.75rem, 5vw, 3.5rem);
  background: rgba(30, 122, 84, 0.07);
  border: 1px solid rgba(30, 122, 84, 0.16);
  border-radius: 14px;
}

.consultancy__callout::before {
  content: "\201C";
  position: absolute;
  left: clamp(0.9rem, 2.2vw, 1.5rem);
  top: 0.35rem;
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 1;
  color: rgba(30, 122, 84, 0.42);
}

.consultancy__callout p {
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  line-height: 1.3;
  color: var(--colour-text);
}

@media (max-width: 1200px) {
  .consultancy__grid {
    grid-template-columns: 1fr;
  }

  .consultancy__card:nth-child(1),
  .consultancy__card:nth-child(2),
  .consultancy__card:nth-child(3) {
    transform: none;
  }
}

/* Forced line breaks only apply on larger screens */
@media (max-width: 640px) {
  br.hide-mobile {
    display: none;
  }
}
