/* Full brand story: the original About-page content, rebuilt as readable V3 HTML. */
.brand-story {
  background:
    radial-gradient(circle at 94% 5%, rgba(255, 213, 61, .32) 0 6%, transparent 6.2%),
    linear-gradient(135deg, rgba(185, 229, 217, .5), var(--cis-cream) 44%, rgba(255, 249, 235, .96));
  color: var(--cis-navy);
  overflow: hidden;
  padding-block: clamp(74px, 7vw, 118px);
  position: relative;
}

.brand-story::before {
  background: rgba(185, 229, 217, .45);
  border-radius: 50%;
  content: "";
  height: clamp(330px, 34vw, 610px);
  left: -16vw;
  pointer-events: none;
  position: absolute;
  top: 17%;
  width: clamp(330px, 34vw, 610px);
}

.brand-story .container { position: relative; z-index: 1; }

.brand-story__heading {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, .96fr) minmax(320px, .72fr);
  margin-bottom: clamp(38px, 4vw, 64px);
}

.brand-story__heading .eyebrow { grid-column: 1 / -1; margin: 0; }

.brand-story__heading h2 {
  font-size: clamp(42px, 4.05vw, 60px);
  letter-spacing: -.075em;
  line-height: 1.13;
  margin: 0;
}

.brand-story__heading h2 span { color: var(--cis-green-deep); }

.brand-story__heading > p:last-child {
  align-self: end;
  color: var(--cis-copy);
  font-size: 21px;
  line-height: 1.85;
  margin: 0;
  max-width: 33em;
}

.brand-story__origin {
  background: linear-gradient(115deg, var(--cis-navy), #3e5365);
  border: 1px solid rgba(255, 249, 235, .26);
  border-radius: 28px;
  box-shadow: 0 20px 40px rgba(39, 52, 71, .15);
  color: var(--cis-cream);
  display: grid;
  gap: clamp(24px, 4vw, 74px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: clamp(24px, 2.2vw, 34px);
  overflow: hidden;
  padding: clamp(30px, 3.2vw, 52px);
  position: relative;
}

.brand-story__origin::after {
  border: 2px solid rgba(185, 229, 217, .35);
  border-radius: 50%;
  content: "";
  height: 270px;
  position: absolute;
  right: -100px;
  top: -132px;
  width: 270px;
}

.brand-story__milestone {
  align-items: start;
  display: grid;
  gap: clamp(18px, 2vw, 30px);
  grid-template-columns: minmax(106px, .23fr) 1fr;
  position: relative;
  z-index: 1;
}

.brand-story__milestone + .brand-story__milestone {
  border-left: 1px solid rgba(185, 229, 217, .35);
  padding-left: clamp(24px, 3vw, 56px);
}

.brand-story__year {
  color: var(--cis-yellow);
  font-family: "DM Sans", sans-serif;
  font-size: clamp(62px, 7vw, 112px);
  font-weight: 800;
  letter-spacing: -.09em;
  line-height: .8;
  margin: 0;
  position: relative;
  z-index: 1;
}

.brand-story__milestone > div { position: relative; z-index: 1; }
.brand-story__origin h3,
.brand-story__closing h3,
.brand-story__card h3 { letter-spacing: -.035em; }

.brand-story__origin h3 {
  color: var(--cis-cream);
  font-size: clamp(29px, 2.4vw, 38px);
  line-height: 1.27;
  margin: 7px 0 12px;
}

.brand-story__origin p:last-child {
  color: rgba(255, 249, 235, .86);
  font-size: 21px;
  line-height: 1.82;
  margin: 0;
  max-width: 58em;
}

.brand-story__kicker {
  color: var(--cis-green-deep);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: .08em;
  margin: 0;
}

.brand-story__origin .brand-story__kicker { color: var(--cis-mint); }

.brand-story__grid {
  display: grid;
  gap: clamp(18px, 1.7vw, 28px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.brand-story__card {
  background: rgba(255, 249, 235, .88);
  border: 1px solid rgba(39, 52, 71, .16);
  border-radius: 22px;
  box-shadow: 0 10px 24px rgba(39, 52, 71, .06);
  padding: clamp(28px, 2.5vw, 42px);
}

.brand-story__card--feature {
  background: linear-gradient(135deg, rgba(185, 229, 217, .88), rgba(255, 249, 235, .96));
  border-color: rgba(57, 116, 74, .32);
}

.brand-story__card h3 {
  color: var(--cis-navy);
  font-size: clamp(28px, 2.25vw, 36px);
  line-height: 1.3;
  margin: 10px 0 21px;
}

.brand-story__card > p:not(.brand-story__kicker) {
  color: var(--cis-copy);
  font-size: 21px;
  line-height: 1.78;
  margin: 0 0 18px;
}

.brand-story__card ul {
  display: grid;
  gap: 13px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.brand-story__card li {
  color: var(--cis-copy);
  font-size: 20px;
  line-height: 1.68;
  padding-left: 24px;
  position: relative;
}

.brand-story__card li::before {
  background: var(--cis-yellow);
  border: 2px solid var(--cis-navy);
  border-radius: 50%;
  content: "";
  height: 10px;
  left: 1px;
  position: absolute;
  top: .55em;
  width: 10px;
}

.brand-story__card strong { color: var(--cis-navy); }

.brand-story__service-list {
  border-top: 1px solid rgba(39, 52, 71, .17);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-top: 18px !important;
}

.brand-story__closing {
  align-items: center;
  background: var(--cis-yellow);
  border-radius: 24px;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-top: clamp(24px, 2.2vw, 34px);
  padding: clamp(30px, 3.2vw, 48px);
}

.brand-story__closing .brand-story__kicker { color: var(--cis-green-deep); }

.brand-story__closing h3 {
  color: var(--cis-navy);
  font-size: clamp(29px, 2.5vw, 40px);
  line-height: 1.24;
  margin: 8px 0 0;
}

.brand-story__closing .button { flex: 0 0 auto; font-size: 20px; }

@media (max-width: 900px) {
  .brand-story__heading { grid-template-columns: 1fr; }
  .brand-story__heading > p:last-child { max-width: 45em; }
}

@media (max-width: 680px) {
  .brand-story { padding-block: 68px; }
  .brand-story__heading h2 { font-size: clamp(39px, 11vw, 54px); }
  .brand-story__origin { grid-template-columns: 1fr; }
  .brand-story__milestone { grid-template-columns: 1fr; gap: 12px; }
  .brand-story__milestone + .brand-story__milestone { border-left: 0; border-top: 1px solid rgba(185, 229, 217, .35); padding: 26px 0 0; }
  .brand-story__year { font-size: 76px; }
  .brand-story__grid,
  .brand-story__service-list { grid-template-columns: 1fr; }
  .brand-story__closing { align-items: flex-start; flex-direction: column; }
}

/* Homepage brand-story introduction: a concise handoff to the full About page. */
.brand-story-home {
  background: var(--cis-yellow);
  color: var(--cis-navy);
  min-height: 548px;
  overflow: hidden;
  padding-block: clamp(82px, 7vw, 114px) clamp(72px, 6vw, 102px);
  position: relative;
}

.brand-story-home__arc {
  border: clamp(12px, 1.2vw, 20px) solid rgba(185, 229, 217, .9);
  border-radius: 50%;
  height: clamp(310px, 31vw, 530px);
  left: clamp(-262px, -13vw, -136px);
  position: absolute;
  top: clamp(-326px, -17vw, -170px);
  width: clamp(310px, 31vw, 530px);
}

.brand-story-home__inner {
  min-height: 352px;
  position: relative;
  z-index: 1;
}

.brand-story-home__copy {
  margin-inline: auto;
  /* Keep the copy column tied to the viewport, rather than shrinking twice
     inside the global page container. */
  max-width: none;
  padding-inline: 0;
  text-align: center;
  width: min(88vw, 1180px);
}

.brand-story-home__eyebrow {
  align-items: center;
  color: var(--cis-green-deep);
  display: flex;
  font-size: 17px;
  font-weight: 800;
  gap: 12px;
  justify-content: center;
  letter-spacing: .05em;
  margin: 0 0 24px;
}

.brand-story-home__eyebrow::before,
.brand-story-home__eyebrow::after {
  background: rgba(57, 116, 74, .58);
  content: "";
  height: 1px;
  width: clamp(48px, 7vw, 104px);
}

.brand-story-home__eyebrow i {
  background: var(--cis-cream);
  border-radius: 50%;
  height: 10px;
  width: 10px;
}

.brand-story-home h2 {
  color: var(--cis-navy);
  font-size: clamp(39px, 4.28vw, 70px);
  letter-spacing: -.08em;
  line-height: 1.15;
  margin: 0;
}

.brand-story-home h2 span { color: var(--cis-green-deep); }

.brand-story-home__body {
  color: var(--cis-navy);
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.72;
  margin: clamp(28px, 3vw, 42px) auto 0;
  max-width: none;
  width: min(78vw, 1000px);
}

.brand-story-home__body p { margin: 0; }
.brand-story-home__body p + p { margin-top: 8px; }

.brand-story-home__cta {
  background: var(--cis-navy);
  color: var(--cis-yellow);
  margin-top: clamp(25px, 2.5vw, 36px);
  padding-inline: 28px;
  position: relative;
  z-index: 2;
}

.brand-story-home__art {
  bottom: clamp(-72px, -4.4vw, -36px);
  height: auto;
  max-width: 33vw;
  pointer-events: none;
  position: absolute;
  right: clamp(-8px, 2vw, 46px);
  width: clamp(250px, 23vw, 380px);
}

@media (max-width: 980px) {
  .brand-story-home { min-height: 0; }
  .brand-story-home__art { opacity: .24; right: -72px; }
}

@media (max-width: 680px) {
  .brand-story-home { padding-block: 72px 38px; }
  .brand-story-home__inner { display: flex; flex-direction: column; min-height: 0; }
  .brand-story-home__copy,
  .brand-story-home__body { width: 100%; }
  .brand-story-home__eyebrow { font-size: 13px; gap: 8px; }
  .brand-story-home__eyebrow::before,
  .brand-story-home__eyebrow::after { width: 28px; }
  .brand-story-home h2 { font-size: clamp(36px, 10.3vw, 52px); }
  .brand-story-home__body { font-size: 16px; line-height: 1.78; }
  .brand-story-home__art {
    align-self: flex-end;
    bottom: auto;
    margin: 22px -20px -52px 0;
    max-width: none;
    opacity: 1;
    position: relative;
    right: auto;
    width: min(64vw, 294px);
  }
}
