/* Crysten Curry Elementor Widget - Career Highlights (fonts come from fonts.css) */

.cc-keys-wrap {
  --cc-k-bg: #FFFFFF;
  --cc-k-chrome: #1B1A1A;
  --cc-k-min: 720px;
  --cc-k-gutter: clamp(20px, 3.2vw, 56px);
  --cc-k-heading: #1B1A1A;
  --cc-k-label: #7B7477;
  --cc-k-title: #1B1A1A;
  --cc-k-desc: #2A2627;
  --cc-k-link: #1B1A1A;
  width: 100%;
  font-size: 13px;
  line-height: 1.85;
  box-sizing: border-box;
}
.cc-keys-wrap *, .cc-keys-wrap *::before, .cc-keys-wrap *::after { box-sizing: border-box; }

.cc-keys {
  position: relative;
  background: var(--cc-k-bg);
  display: grid;
  grid-template-columns: minmax(0, calc(100% - var(--cc-k-gridw, 50%))) minmax(0, var(--cc-k-gridw, 50%));
  min-height: var(--cc-k-min);
}

.cc-keys__chrome {
  position: absolute;
  top: clamp(16px, 1.8vw, 28px);
  left: clamp(20px, 3.2vw, 56px);
  right: clamp(20px, 3.2vw, 56px);
  z-index: 6;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  pointer-events: none;
}
.cc-keys .cc-mono {
  margin: 0;
  font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.9;
  text-transform: uppercase;
  color: var(--cc-k-chrome);
}

.cc-keys__l {
  padding: clamp(80px, 8vw, 130px) clamp(20px, 3vw, 56px) 60px var(--cc-k-gutter);
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.cc-keys-wrap .cc-keys__heading {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--cc-k-heading);
  font-family: "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(15px, 1.25vw, 19px);
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--cc-k-heading);
}

.cc-keys-entry .cc-keys-entry__label {
  margin: 0 0 8px;
  font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.9;
  text-transform: uppercase;
  color: var(--cc-k-label);
}
.cc-keys-wrap .cc-keys-entry__title {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--cc-k-title);
  font-family: "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(15px, 1.25vw, 19px);
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--cc-k-title);
}
.cc-keys-entry .cc-keys-entry__desc {
  margin: 12px 0 0;
  max-width: 34em;
  font-family: "IBM Plex Mono", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.85;
  text-transform: none;
  letter-spacing: normal;
  color: var(--cc-k-desc);
}
.cc-keys-wrap .cc-keys-entry__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding-bottom: 4px;
  font-family: "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--cc-k-link);
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
  transition: background-size .35s;
}
.cc-keys-wrap .cc-keys-entry__link:hover,
.cc-keys-wrap .cc-keys-entry__link:focus { background-size: 0 1px; }
.cc-keys .cc-ico { width: 13px; height: 13px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.6; }

.cc-keys__r {
  padding: clamp(80px, 8vw, 130px) var(--cc-k-gutter) 60px clamp(20px, 3vw, 56px);
  display: grid;
  grid-template-columns: repeat(var(--cc-k-cols, 3), minmax(0, 1fr));
  gap: var(--cc-k-gap, clamp(8px, 1vw, 16px));
  align-content: start;
}
.cc-keys__r img {
  display: block;
  width: 100%;
  max-width: none;
  aspect-ratio: var(--cc-k-ratio, 3 / 4);
  height: var(--cc-k-img-h, auto);
  object-fit: cover;
}

.cc-keys a:focus-visible { outline: 2px solid #B0122A; outline-offset: 3px; }
