/* Edge-mounted carousel controls adapted to each page's existing palette. */
.edge-arrow {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 44px;
  height: 104px;
  padding: 0;
  border: 0;
  border-radius: 0 60px 60px 0;
  background: var(--edge-arrow-bg, rgba(127, 200, 255, .25));
  color: var(--edge-arrow-color, var(--blue));
  box-shadow: none;
  backdrop-filter: none;
  opacity: .58;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  transition: opacity .2s, background-color .2s;
}
.edge-arrow-next { border-radius: 60px 0 0 60px; }
.edge-arrow svg { display: block; width: 30px; height: 72px; }
.edge-arrow:hover:not(:disabled), .edge-arrow:focus-visible {
  opacity: 1;
  background: var(--edge-arrow-hover-bg, rgba(127, 200, 255, .38));
  color: var(--edge-arrow-color, var(--blue));
}
.edge-arrow:focus-visible { outline: 3px solid var(--edge-arrow-color, var(--blue)); outline-offset: 2px; }
.edge-arrow:disabled { opacity: .24; cursor: default; }

.story-page { --edge-arrow-bg: rgba(255, 160, 106, .22); --edge-arrow-color: #ffa06a; --edge-arrow-hover-bg: rgba(255, 160, 106, .4); }
.proof-page, .projects-page { --edge-arrow-bg: rgba(127, 200, 255, .22); --edge-arrow-color: var(--blue); --edge-arrow-hover-bg: rgba(127, 200, 255, .4); }
.legend-page { --edge-arrow-bg: rgba(255, 189, 114, .22); --edge-arrow-color: #ffbd72; --edge-arrow-hover-bg: rgba(255, 189, 114, .4); }
.reviews-page { --edge-arrow-bg: rgba(255, 204, 102, .22); --edge-arrow-color: var(--gold); --edge-arrow-hover-bg: rgba(255, 204, 102, .4); }
.about-page { --edge-arrow-bg: rgba(127, 200, 255, .22); --edge-arrow-color: var(--blue); --edge-arrow-hover-bg: rgba(127, 200, 255, .4); }
.about-story { --edge-arrow-bg: rgba(40, 124, 183, .18); --edge-arrow-color: #246c9f; --edge-arrow-hover-bg: rgba(40, 124, 183, .34); }

.slide-nav button.edge-arrow { width: 44px; height: 104px; padding: 0; border: 0; background: var(--edge-arrow-bg); color: var(--edge-arrow-color); box-shadow: none; backdrop-filter: none; font-size: 0; transform: translateY(-50%); }
.slide-nav [data-slide-prev] { left: 0; }
.slide-nav [data-slide-next] { right: 0; }
.slide-nav button.edge-arrow:hover:not(:disabled), .slide-nav button.edge-arrow:focus-visible { background: var(--edge-arrow-hover-bg); color: var(--edge-arrow-color); transform: translateY(-50%); }
.slide-nav button.edge-arrow:disabled { opacity: .24; }

.about-chapter-next.edge-arrow { right: 0; width: 44px; height: 104px; padding: 0; border: 0; background: var(--edge-arrow-bg); color: var(--edge-arrow-color); box-shadow: none; backdrop-filter: none; font-size: 0; }
.about-chapter-next.edge-arrow:hover, .about-chapter-next.edge-arrow:focus-visible { background: var(--edge-arrow-hover-bg); color: var(--edge-arrow-color); transform: translateY(-50%); }
.about-carousel { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: clamp(8px, 1vw, 18px); }
.about-carousel-arrow.edge-arrow { width: 44px; height: 104px; padding: 0; border: 0; background: var(--edge-arrow-bg); color: var(--edge-arrow-color); font-size: 0; }
.about-carousel-arrow.edge-arrow:hover:not(:disabled), .about-carousel-arrow.edge-arrow:focus-visible { background: var(--edge-arrow-hover-bg); color: var(--edge-arrow-color); transform: none; }
.about-carousel-arrow.edge-arrow:disabled { opacity: .24; }

.projects-carousel { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: clamp(8px, 1vw, 18px); }
.projects-arrow.edge-arrow { width: 44px; height: 104px; border: 0; background: var(--edge-arrow-bg); color: var(--edge-arrow-color); font-size: 0; }
.projects-arrow.edge-arrow:not(:disabled):hover, .projects-arrow.edge-arrow:focus-visible { background: var(--edge-arrow-hover-bg); color: var(--edge-arrow-color); transform: none; }
.projects-arrow.edge-arrow:disabled { opacity: .24; }

.review-carousel-frame { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: clamp(8px, 1vw, 18px); }
.review-carousel-controls button.edge-arrow { width: 44px; height: 104px; padding: 0; border: 0; background: var(--edge-arrow-bg); color: var(--edge-arrow-color); box-shadow: none; font-size: 0; }
.review-carousel-controls button.edge-arrow:hover:not(:disabled), .review-carousel-controls button.edge-arrow:focus-visible { background: var(--edge-arrow-hover-bg); color: var(--edge-arrow-color); transform: none; }
.review-carousel-controls button.edge-arrow:disabled { opacity: .24; }

@media (max-width: 700px) {
  .edge-arrow, .slide-nav button.edge-arrow, .about-chapter-next.edge-arrow, .about-carousel-arrow.edge-arrow, .projects-arrow.edge-arrow, .review-carousel-controls button.edge-arrow { width: 44px; height: 72px; }
  .edge-arrow svg { width: 22px; height: 54px; }
  .slide-nav [data-slide-prev] { left: 0; }
  .slide-nav [data-slide-next] { right: 0; }
  .slide-nav button.edge-arrow { bottom: 48px; transform: none; }
  .slide-nav button.edge-arrow:hover:not(:disabled), .slide-nav button.edge-arrow:focus-visible { transform: none; }
  .about-chapter-next.edge-arrow { right: 0; bottom: 48px; }
  .about-chapter-next.edge-arrow:hover, .about-chapter-next.edge-arrow:focus-visible { transform: none; }
  .about-carousel { grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 4px; }
  .about-carousel-arrow.edge-arrow { width: 42px; }
  .projects-carousel { grid-template-columns: minmax(0, 1fr); }
  .projects-viewport { margin: 0 44px; }
  .projects-arrow.edge-arrow:first-child { left: 0; }
  .projects-arrow.edge-arrow:last-child { right: 0; }
  .review-carousel-controls button.edge-arrow { height: 60px; }
}
@media (prefers-reduced-motion: reduce) { .edge-arrow { transition: none; } }
