/* Official identity supplied in 27.ai, preserved as native vector lettering. */
.cine-runner-slot { position: absolute; height: 87%; aspect-ratio: 1226 / 1283; right: -1%; bottom: 3%; }
.cine-runner-slot>.cine-runner { position: relative; display: block; width: 100%; height: 100%; max-width: none; right: auto; bottom: auto; }
.cine-runner-slot.is-evading { will-change: transform; }
.cine-hero { min-height: 760px; }
.cine-copy { width: 58%; padding-top: 18px; padding-bottom: 65px; }
.cine-brand { width: min(100%, 610px); margin: 0 0 23px -6px; }
.cine-brand img { display: block; width: 100%; height: auto; }
.cine-race-title { margin-bottom: 14px; }
.cine-intro { font-size: 17px; }
.cine-actions { margin-top: 24px; }
.cine-female { right: 43%; top: 7%; height: 38%; }
@media (min-width: 1121px) {
  .cine-female { right: calc(43% + clamp(90px, 9.7vw, 140px)); }
}
@media (max-width: 1120px) {
  .cine-runner-slot { height: 81%; right: -18%; }
  .cine-copy { width: 62%; }
  .cine-brand { max-width: 520px; }
  .cine-actions { flex-direction: row; gap: 22px; }
  .cine-course-link { font-size: 13px; }
}
@media (min-width: 621px) and (max-width: 900px) {
  .cine-hero { height: 850px; }
  .cine-copy { width: 68%; }
  .cine-brand { max-width: 490px; }
  .cine-female { right: -3%; top: 11%; height: 29%; }
  .cine-runner-slot { height: 62%; right: -32%; bottom: 6%; }
  .cine-actions { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 620px) {
  /* One compact poster composition, with both runners beside the official mark. */
  .cine-hero { height: auto; min-height: 0; padding-bottom: 12px; }
  .cine-hero-inner { display: grid; grid-template-columns: minmax(0,1fr); align-content: start; height: auto; padding-top: 12px; }
  .cine-copy { display: contents; }
  .cine-event-date { grid-row: 1; margin-bottom: 8px; }
  .cine-race-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .cine-brand { grid-area: 2 / 1; width: 55%; max-width: 230px; margin: 0; justify-self: start; align-self: start; position: relative; z-index: 2; }
  .cine-art { grid-area: 2 / 1; position: relative; inset: auto; width: 100%; height: clamp(230px,70vw,300px); margin: 0; }
  .cine-runner-slot { height: 94%; max-width: 100%; right: -24px; bottom: 0; }
  .cine-female { height: clamp(145px,42vw,180px); top: calc((100vw - 40px) * .353 - 8px); bottom: auto; left: -16px; right: auto; opacity: 1; }
  .cine-actions { grid-row: 3; flex-direction: column; align-items: stretch; gap: 0; width: 100%; max-width: none; margin-top: 12px; position: relative; z-index: 3; }
  /* The practical introduction follows in La carrera; prioritize the date and bib here. */
  .cine-intro,.cine-bottom { display: none; }
}

/* One shared card surface for all six runner services, regardless of HTML tag. */
#bolsa-corredor .grid-servicios > :not(.cine-product) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 12px;
  min-height: 180px;
  height: 100%;
  padding: 26px;
  border: 1px solid #d6dde0;
  border-radius: 16px;
  background: #fff;
  color: var(--cine-ink);
  box-shadow: none;
  text-align: left;
  text-decoration: none;
  transform: none;
  transition: border-color 160ms ease;
}
#bolsa-corredor .grid-servicios > :not(.cine-product) > h3 {
  margin: 0;
  font-size: 25px;
  line-height: 1.1;
  color: var(--cine-ink);
}
#bolsa-corredor .grid-servicios > :not(.cine-product) > p {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: #53656d;
}
#bolsa-corredor .grid-servicios > :is(button,a):not(.cine-product):hover { border-color: var(--cine-blue); }
#bolsa-corredor .grid-servicios > :is(button,a):not(.cine-product):focus-visible { outline: 3px solid var(--cine-blue); outline-offset: 4px; }
@media (max-width: 620px) {
  #bolsa-corredor .grid-servicios { row-gap: 16px; }
  #bolsa-corredor .grid-servicios > :not(.cine-product) { grid-column: 1 / -1; padding: 22px; }
}
