/* Company-profile expansion: purpose and specialist endourology rental. */
.profile-purpose {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
  gap: 0 min(7vw, 100px);
  margin-top: 95px;
  padding-top: 43px;
  border-top: 1px solid var(--line);
}

.profile-purpose .mini-label,
.endo-focus .mini-label {
  color: var(--jade);
}

.profile-purpose-intro h3 {
  font-size: clamp(35px, 3.8vw, 57px);
  margin: 24px 0 18px;
  line-height: 1.08;
}

.profile-purpose-intro p {
  max-width: 310px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--muted);
}

.profile-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.purpose-card {
  min-height: 280px;
  padding: 30px 30px 26px;
  background: #e7f0e8;
  border-top: 3px solid var(--jade);
}

.purpose-card:nth-child(2) {
  background: #e9ede3;
  border-color: #7e9b32;
}

.purpose-card > span,
.endo-group-index {
  display: block;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  color: var(--jade-deep);
}

.purpose-card h4 {
  font-size: 28px;
  letter-spacing: -.045em;
  margin: 28px 0 15px;
}

.purpose-card p {
  color: #394d41;
  font-size: 13px;
  line-height: 1.78;
  margin: 0;
}

.profile-values {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 245px 1fr;
  align-items: start;
  gap: 42px;
  border-top: 1px solid var(--line);
  margin-top: 50px;
  padding-top: 30px;
}

.profile-values h4 {
  font-size: 29px;
  margin: 14px 0 0;
  letter-spacing: -.045em;
}

.profile-values ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  list-style: none;
  padding: 0;
  margin: 0;
}

.profile-values li {
  border-left: 1px solid var(--line);
  min-height: 105px;
  padding: 7px 14px 15px 19px;
}

.profile-values li span {
  display: block;
  color: var(--jade);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 800;
  margin-bottom: 15px;
}

.profile-values li strong {
  display: block;
  font-family: var(--font-display);
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: -.02em;
}

.endo-focus {
  margin-top: 95px;
  padding-top: 64px;
  border-top: 1px solid #c8d2c6;
}

.endo-header {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  align-items: end;
  gap: 8vw;
  margin-bottom: 46px;
}

.endo-header h3 {
  font-size: clamp(39px, 4.45vw, 69px);
  margin: 21px 0 0;
}

.endo-header p {
  max-width: 485px;
  margin: 0 0 5px;
  color: #4e6055;
  font-size: 15px;
  line-height: 1.8;
}

.endo-range {
  background: #e5eee5;
  border: 1px solid #cbdacb;
  padding: 34px 36px 32px;
}

.endo-range-intro {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 42px;
  border-bottom: 1px solid #b9cdbb;
  padding-bottom: 27px;
}

.endo-range-intro h4 {
  font-size: clamp(27px, 2.7vw, 39px);
  margin: 17px 0 0;
}

.endo-range-intro p {
  max-width: 330px;
  margin: 0;
  color: #495e50;
  font-size: 13px;
  line-height: 1.7;
}

.endo-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.endo-groups article {
  padding: 28px 27px 0;
  border-right: 1px solid #b9cdbb;
}

.endo-groups article:first-child { padding-left: 0; }
.endo-groups article:last-child { padding-right: 0; border-right: 0; }

.endo-groups h5 {
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: -.045em;
  margin: 18px 0 17px;
}

.endo-groups ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.endo-groups li {
  border-top: 1px solid #c8d8c8;
  padding: 12px 0;
  color: #425649;
  font-size: 13px;
  line-height: 1.52;
}

.endo-people {
  display: grid;
  grid-template-columns: .85fr 1fr;
  align-items: center;
  gap: 7vw;
  padding: 36px 43px;
  background: var(--forest);
  color: white;
}

.endo-people .mini-label { color: var(--lime); }

.endo-people h4 {
  font-size: clamp(26px, 2.8vw, 42px);
  margin: 15px 0 0;
}

.endo-people p {
  color: #d7e8dd;
  font-size: 14px;
  line-height: 1.75;
  margin: 0;
}

@media (max-width: 900px) {
  .profile-purpose { grid-template-columns: 1fr; gap: 27px; margin-top: 75px; }
  .profile-purpose-intro p { max-width: 570px; }
  .profile-values { grid-column: auto; grid-template-columns: 1fr; gap: 20px; }
  .endo-header { grid-template-columns: 1fr; gap: 18px; }
  .endo-header p { max-width: 660px; }
}

@media (max-width: 650px) {
  .profile-purpose { margin-top: 67px; padding-top: 31px; }
  .profile-purpose-intro h3 { font-size: 41px; }
  .profile-principles { grid-template-columns: 1fr; gap: 12px; }
  .purpose-card { min-height: 0; padding: 26px; }
  .purpose-card h4 { margin-top: 22px; }
  .profile-values { margin-top: 24px; padding-top: 27px; }
  .profile-values ul { grid-template-columns: 1fr 1fr; gap: 0 15px; }
  .profile-values li { border-left: 0; border-top: 1px solid var(--line); padding: 13px 6px 17px 0; min-height: 80px; }
  .profile-values li span { margin-bottom: 9px; }
  .endo-focus { margin-top: 67px; padding-top: 40px; }
  .endo-header { margin-bottom: 34px; }
  .endo-header h3 { font-size: clamp(38px, 10vw, 51px); }
  .endo-header p { font-size: 14px; }
  .endo-range { padding: 25px 21px 20px; }
  .endo-range-intro { display: block; padding-bottom: 22px; }
  .endo-range-intro h4 { font-size: 29px; }
  .endo-range-intro p { margin-top: 16px; }
  .endo-groups { display: block; }
  .endo-groups article,
  .endo-groups article:first-child,
  .endo-groups article:last-child { border-right: 0; border-top: 1px solid #b9cdbb; padding: 25px 0 0; margin-top: 22px; }
  .endo-groups article:first-child { border-top: 0; margin-top: 0; }
  .endo-groups h5 { margin: 12px 0 14px; }
  .endo-people { grid-template-columns: 1fr; gap: 16px; padding: 31px 24px; }
  .endo-people h4 { font-size: 30px; }
  .endo-people p { font-size: 13px; }
}
