/* Final requested portfolio refinements — 2026-07-29 */
:root {
  --portfolio-dark: #2d2d2d;
  --portfolio-white: #ffffff;
  --portfolio-red: #023fa1;
  --portfolio-green: #cccc33;

  /* Prevent the approved green accent from appearing in unrelated components. */
  --portfolio-accent: #023fa1;
  --portfolio-accent-deep: #023fa1;
  --portfolio-acid: #023fa1;
  --portfolio-chevron: #2d2d2d;
}

/* Homepage project cards: keep titles left aligned and truly centered vertically. */
.page-home .project-card__content {
  display: flex !important;
  min-height: 64px !important;
  height: 64px !important;
  padding: 0 clamp(22px, 2vw, 32px) !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 64px !important;
  text-align: left !important;
}

.page-home .project-card__title {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  color: var(--portfolio-white) !important;
  font-size: clamp(1.05rem, 1.12vw, 1.2rem) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

/* The homepage V is one of the intentional green accents. */
.page-home .hero-scroll-indicator,
.page-home .hero-scroll-indicator:hover,
.page-home .hero-scroll-indicator:focus-visible {
  border-color: var(--portfolio-green) !important;
  color: var(--portfolio-green) !important;
}

/* Return the homepage filter to its simple, editorial treatment. */
.page-home .project-filter__toggle {
  display: inline-flex !important;
  min-width: 128px !important;
  min-height: 0 !important;
  padding: 8px 2px 6px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(45, 45, 45, 0.38) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--portfolio-dark) !important;
  font-size: clamp(0.6875rem, 0.8vw, 0.75rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.page-home .project-filter__toggle:hover,
.page-home .project-filter__toggle:focus-visible,
.page-home .project-filter__toggle[aria-expanded="true"] {
  border-bottom-color: var(--portfolio-dark) !important;
  background: transparent !important;
  color: var(--portfolio-dark) !important;
}

.page-home #project-filter-current,
.page-home .project-filter__arrow,
.page-home .project-filter__arrow::before,
.page-home .project-filter__arrow::after {
  border-color: var(--portfolio-dark) !important;
  color: var(--portfolio-dark) !important;
  opacity: 1 !important;
  transform: none !important;
}

.page-home .project-filter__toggle[aria-expanded="true"] .project-filter__arrow {
  transform: rotate(180deg) !important;
}

.page-home .project-filter__menu {
  border-color: rgba(45, 45, 45, 0.18) !important;
  background: var(--portfolio-white) !important;
}

/* Profile action colors. */
.page-profile .profile-actions .view-switcher__button,
.page-profile .profile-actions .view-switcher__button:hover,
.page-profile .profile-actions .view-switcher__button:focus-visible {
  border-color: var(--portfolio-green) !important;
  background: var(--portfolio-green) !important;
  color: var(--portfolio-dark) !important;
}

.page-profile .profile-actions .explore-work,
.page-profile .profile-actions .explore-work:hover,
.page-profile .profile-actions .explore-work:focus-visible {
  border-color: var(--portfolio-dark) !important;
  background: var(--portfolio-dark) !important;
  color: var(--portfolio-white) !important;
}

/* Project-page header bar is white, including the hamburger control. */
.project-page .project-site-header,
.project-page .project-nav {
  background: var(--portfolio-white) !important;
}

.project-page .project-nav__brand,
.project-page .menu-toggle {
  background: var(--portfolio-white) !important;
  color: var(--portfolio-dark) !important;
}

.project-page .menu-toggle__line {
  background: var(--portfolio-dark) !important;
}

/* Keep the project back control as an approved green accent. */
.project-page .project-nav__back,
.project-page .project-nav__back:hover,
.project-page .project-nav__back:focus-visible {
  border-color: var(--portfolio-green) !important;
  background: var(--portfolio-white) !important;
  color: var(--portfolio-green) !important;
}

.project-page .project-nav__back::before,
.project-page .project-nav__back::after,
.project-page .project-nav__back span::before,
.project-page .project-nav__back span::after {
  border-color: var(--portfolio-green) !important;
  color: var(--portfolio-green) !important;
}

/* Project pages show the project title only, followed by the work. */
.project-page .project-summary,
.project-page .project-meta-line,
.project-page .project-note,
.project-page .source-media-section__header,
.project-page .learn-more__title,
.project-page .learn-more-card__content,
.project-page .final-work-showcase__header,
.project-page .showcase-header,
.project-page .project-copy,
.project-page figcaption {
  display: none !important;
}

.project-page .project-intro {
  padding-bottom: clamp(30px, 4vw, 52px) !important;
}

.project-page .project-title {
  margin-bottom: 0 !important;
}

/* Green is not used on unrelated arrows or controls. */
.project-page .source-carousel-arrow,
.project-page .source-browser-edge-arrow,
.project-page .interactive-book__controls button,
.image-lightbox__arrow,
.contact-item__arrow {
  border-color: var(--portfolio-red) !important;
  color: var(--portfolio-red) !important;
}

.page-home .project-filter__arrow {
  color: var(--portfolio-dark) !important;
}

/* The approved up control remains green with a white chevron. */
.back-to-top,
.back-to-top:hover,
.back-to-top:focus-visible {
  border-color: var(--portfolio-white) !important;
  background: var(--portfolio-green) !important;
  color: transparent !important;
}

.back-to-top__icon {
  border-top-color: var(--portfolio-white) !important;
  border-left-color: var(--portfolio-white) !important;
}

/* UGA interactive book: replace all cream surfaces with white and neutral gray. */
.source-case-section--uga .interactive-book,
.source-case-section--uga .interactive-book__stage,
.source-case-section--uga .interactive-book__spread,
.source-case-section--uga .interactive-book__spread::before,
.source-case-section--uga .interactive-book__page,
.source-case-section--uga .interactive-book__blank-page,
.source-case-section--uga .interactive-book__spread--cover .interactive-book__page--left .interactive-book__blank-page,
.source-case-section--uga .interactive-book__turn-page,
.source-case-section--uga .interactive-book__turn-face {
  background: var(--portfolio-white) !important;
  background-color: var(--portfolio-white) !important;
}

.source-case-section--uga .interactive-book {
  border-color: rgba(45, 45, 45, 0.14) !important;
  box-shadow: 0 18px 44px rgba(45, 45, 45, 0.08) !important;
}

.source-case-section--uga .interactive-book__spread {
  box-shadow: 0 26px 54px -32px rgba(45, 45, 45, 0.52), 0 0 0 1px rgba(45, 45, 45, 0.08) !important;
}

.source-case-section--uga .interactive-book__controls {
  color: var(--portfolio-dark) !important;
}

.source-case-section--uga .interactive-book__controls button {
  border-color: rgba(45, 45, 45, 0.25) !important;
  background: var(--portfolio-white) !important;
  color: var(--portfolio-dark) !important;
}

.source-case-section--uga .interactive-book__controls button:hover:not(:disabled),
.source-case-section--uga .interactive-book__controls button:focus-visible:not(:disabled) {
  background: #f3f3f3 !important;
}

@media (max-width: 600px) {
  .page-home .project-card__content {
    min-height: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
    padding-inline: 18px !important;
  }

  .page-home .project-card__title {
    font-size: 1rem !important;
  }
}
