/*
  Cross-platform interface arrows
  --------------------------------
  These icons are drawn with CSS rather than Unicode arrow characters.
  This prevents iOS/Safari from substituting Apple Color Emoji glyphs.
*/

.icon-arrow-up-right,
.icon-arrow-right,
.icon-arrow-left {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  color: currentColor;
  font-size: 1em;
  line-height: 1;
  vertical-align: -0.1em;
}

/* Up-right arrow: diagonal shaft + square arrowhead */
.icon-arrow-up-right::before {
  content: "";
  position: absolute;
  left: 0.10em;
  bottom: 0.16em;
  width: 0.82em;
  height: 0.085em;
  background: currentColor;
  transform: rotate(-45deg);
  transform-origin: left center;
}

.icon-arrow-up-right::after {
  content: "";
  position: absolute;
  top: 0.06em;
  right: 0.06em;
  width: 0.46em;
  height: 0.46em;
  border-top: 0.085em solid currentColor;
  border-right: 0.085em solid currentColor;
}

/* Right arrow */
.icon-arrow-right::before {
  content: "";
  position: absolute;
  left: 0.08em;
  top: 50%;
  width: 0.78em;
  height: 0.085em;
  background: currentColor;
  transform: translateY(-50%);
}

.icon-arrow-right::after {
  content: "";
  position: absolute;
  right: 0.08em;
  top: 50%;
  width: 0.42em;
  height: 0.42em;
  border-top: 0.085em solid currentColor;
  border-right: 0.085em solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
}

/* Left arrow */
.icon-arrow-left::before {
  content: "";
  position: absolute;
  right: 0.08em;
  top: 50%;
  width: 0.78em;
  height: 0.085em;
  background: currentColor;
  transform: translateY(-50%);
}

.icon-arrow-left::after {
  content: "";
  position: absolute;
  left: 0.08em;
  top: 50%;
  width: 0.42em;
  height: 0.42em;
  border-left: 0.085em solid currentColor;
  border-bottom: 0.085em solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
}

/* Small arrows used inside text links */
.icon-inline {
  width: 0.82em;
  height: 0.82em;
  margin-left: 0.20em;
  vertical-align: -0.06em;
}

.back a .icon-arrow-left {
  margin-left: 0;
  margin-right: 0.28em;
}

.card-cta .icon-arrow-right,
.now-cta .icon-arrow-right {
  width: 0.82em;
  height: 0.82em;
  vertical-align: 0;
}

/*
  Large decorative project arrow — elongated editorial style.
  Its visible lower-left endpoint now begins exactly at the project text edge.
*/
.project-head > .icon-arrow-up-right {
  width: clamp(34px, 2.7vw, 54px);
  height: clamp(34px, 2.7vw, 54px);
  vertical-align: 0;
}

/* Original grid geometry translated 9 / 56 units to the left. */
.project-head > .icon-arrow-up-right::before {
  left: 0;
  bottom: 16.07%;
  width: 90.91%;
  height: clamp(1.5px, 0.11vw, 2px);
  background: currentColor;
  transform: rotate(-45deg);
  transform-origin: left center;
}

.project-head > .icon-arrow-up-right::after {
  top: 19.64%;
  right: 35.71%;
  width: 35.71%;
  height: 35.71%;
  border-top-width: clamp(1.5px, 0.11vw, 2px);
  border-right-width: clamp(1.5px, 0.11vw, 2px);
}
