/* V129 — production refinement audit
   Preserves V128 structure, copy and approved interactions. This layer only
   corrects responsive containment, visual rhythm, controls and first-paint
   stability across the site. */

:root {
  --v129-focus: #f4f3ee;
  --v129-touch: 44px;
  --v129-readable: 68ch;
}

html {
  scroll-padding-top: calc(var(--header) + 22px);
  scrollbar-gutter: stable;
}

body.production-audit-v129 {
  overflow-x: clip;
}

.production-audit-v129 img,
.production-audit-v129 svg {
  display: block;
}

.production-audit-v129 figure {
  min-width: 0;
}

.production-audit-v129 h1,
.production-audit-v129 h2,
.production-audit-v129 h3 {
  text-wrap: balance;
}

.production-audit-v129 p,
.production-audit-v129 blockquote {
  text-wrap: pretty;
}

.production-audit-v129 button,
.production-audit-v129 summary,
.production-audit-v129 [role="button"] {
  cursor: pointer;
}

.production-audit-v129 :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 5px;
}

.production-audit-v129 .site-header {
  isolation: isolate;
  min-width: 0;
}

.production-audit-v129 .digital-wordmark,
.production-audit-v129 .menu-toggle {
  position: relative;
  z-index: 3;
}

.production-audit-v129 .site-nav > a {
  white-space: nowrap;
}

.production-audit-v129 .journey-shell,
.production-audit-v129 .section,
.production-audit-v129 .site-footer,
.production-audit-v129 .project-hero__content,
.production-audit-v129 .project-intro,
.production-audit-v129 .project-gallery > *,
.production-audit-v129 .design-docs > *,
.production-audit-v129 .project-end__content {
  min-width: 0;
}

/* Keep deferred sections from producing abrupt scroll-height corrections. */
.production-audit-v129 .project-gallery,
.production-audit-v129 .design-docs,
.production-audit-v129 .project-end,
.production-audit-v129.content-page main > section:not(:first-child) {
  contain-intrinsic-block-size: auto 900px;
}

/* Header and navigation --------------------------------------------------- */
@media (max-width: 980px) {
  .production-audit-v129 .menu-toggle {
    width: var(--v129-touch);
    height: var(--v129-touch);
    padding: 11px;
    margin-right: -8px;
  }

  .production-audit-v129 .site-nav {
    z-index: 1;
    visibility: hidden;
    gap: 0;
    padding:
      calc(var(--header) + 38px)
      max(var(--pad), env(safe-area-inset-right))
      max(38px, env(safe-area-inset-bottom))
      max(var(--pad), env(safe-area-inset-left));
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .production-audit-v129 .site-nav.is-open {
    visibility: visible;
  }

  .production-audit-v129 .site-nav > a {
    display: flex;
    width: min(100%, 560px);
    min-height: 54px;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
    font-size: clamp(15px, 4vw, 19px);
    letter-spacing: .1em;
  }

  .production-audit-v129 .site-nav > a:first-child {
    border-top: 1px solid rgba(255,255,255,.12);
  }

  .production-audit-v129 .site-nav .nav-cta {
    width: min(100%, 560px);
    min-height: 54px;
    margin-top: 28px;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.38);
  }
}

/* Homepage --------------------------------------------------------------- */
.production-audit-v129.home-v127 .project-matrix--hero,
.production-audit-v129.home-v127 .journey-main > section {
  overflow: clip;
}

.production-audit-v129.home-v127 .journey-intro__statement > p:not(.journey-index),
.production-audit-v129.home-v127 .journey-section-head > p,
.production-audit-v129.home-v127 .journey-practice__details > p,
.production-audit-v129.home-v127 .editorial-testimonials__intro {
  max-width: var(--v129-readable);
}

@media (min-width: 981px) {
  .production-audit-v129.home-v127 .journey-services__layout,
  .production-audit-v129.home-v127 .journey-process__layout {
    align-items: start;
  }

  .production-audit-v129.home-v127 .journey-services__visual,
  .production-audit-v129.home-v127 .journey-process__visual {
    top: calc(var(--header) + 28px) !important;
    height: min(58svh, 600px) !important;
    max-height: calc(100svh - var(--header) - 56px);
    min-height: min(410px, calc(100svh - var(--header) - 56px)) !important;
  }

  .production-audit-v129.home-v127 .journey-service__row {
    min-height: clamp(112px, 15svh, 144px) !important;
  }

  .production-audit-v129.home-v127 .journey-process__step {
    min-height: clamp(164px, 22svh, 220px) !important;
  }
}

.production-audit-v129.home-v127 .journey-service__row,
.production-audit-v129.home-v127 .journey-process__step {
  scroll-margin-top: calc(var(--header) + 24px);
}

.production-audit-v129.home-v127 .simple-carousel {
  overflow: clip;
  touch-action: pan-y;
}

.production-audit-v129.home-v127 .simple-carousel__arrow {
  min-width: var(--v129-touch);
  min-height: var(--v129-touch);
  display: inline-grid;
  place-items: center;
}

.production-audit-v129.home-v127 .simple-carousel__slide a:focus-visible {
  outline-offset: -2px;
}

.production-audit-v129.home-v127 .editorial-testimonials__index button {
  min-width: var(--v129-touch);
  min-height: var(--v129-touch);
}

.production-audit-v129.home-v127 .editorial-testimonial__quote {
  min-width: 0;
}

.production-audit-v129.home-v127 .editorial-testimonial blockquote {
  overflow-wrap: anywhere;
}

.production-audit-v129.home-v127 .journey-contact__copy {
  align-content: center;
}

.production-audit-v129.home-v127 .journey-contact__media img {
  object-position: center center;
}

@media (max-width: 980px) {
  .production-audit-v129.home-v127 .journey-services__layout,
  .production-audit-v129.home-v127 .journey-process__layout {
    gap: 34px;
  }

  .production-audit-v129.home-v127 .journey-services__visual,
  .production-audit-v129.home-v127 .journey-process__visual {
    position: relative !important;
    top: auto !important;
    width: 100%;
    min-height: 0 !important;
    aspect-ratio: 16 / 10;
  }

  .production-audit-v129.home-v127 .journey-service__image,
  .production-audit-v129.home-v127 .journey-process__image {
    height: 100%;
  }

  .production-audit-v129.home-v127 .journey-service__row,
  .production-audit-v129.home-v127 .journey-process__step {
    min-height: 0 !important;
  }
}

@media (max-width: 680px) {
  .production-audit-v129.home-v127 .journey-intro,
  .production-audit-v129.home-v127 .journey-services,
  .production-audit-v129.home-v127 .simple-work,
  .production-audit-v129.home-v127 .journey-process-v28,
  .production-audit-v129.home-v127 .journey-practice,
  .production-audit-v129.home-v127 .editorial-testimonials,
  .production-audit-v129.home-v127 .journey-contact {
    scroll-margin-top: var(--header);
  }

  .production-audit-v129.home-v127 .journey-services__visual,
  .production-audit-v129.home-v127 .journey-process__visual {
    aspect-ratio: 4 / 3;
  }

  .production-audit-v129.home-v127 .simple-carousel__controls {
    gap: 8px;
  }

  .production-audit-v129.home-v127 .editorial-testimonial {
    min-height: 0;
  }

  .production-audit-v129.home-v127 .editorial-testimonial figure {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .production-audit-v129.home-v127 .editorial-testimonial__quote {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

/* Content pages ---------------------------------------------------------- */
.production-audit-v129.content-page .page-hero__copy,
.production-audit-v129.content-page .studio-profile__copy,
.production-audit-v129.content-page .founder-profile__copy,
.production-audit-v129.content-page .remote-model__copy,
.production-audit-v129.content-page .service-detail__body,
.production-audit-v129.content-page .process-phase__copy,
.production-audit-v129.content-page .contact-page__intro {
  min-width: 0;
}

.production-audit-v129.content-page .page-hero__copy > p,
.production-audit-v129.content-page .studio-profile__copy p,
.production-audit-v129.content-page .founder-profile__copy p,
.production-audit-v129.content-page .remote-model__copy p,
.production-audit-v129.content-page .service-detail__body > p,
.production-audit-v129.content-page .process-phase__copy > p,
.production-audit-v129.content-page .contact-page__intro > p {
  max-width: var(--v129-readable);
}

.production-audit-v129.content-page .page-hero__media,
.production-audit-v129.content-page .process-phase__media,
.production-audit-v129.content-page .editorial-figure,
.production-audit-v129.content-page .studio-hero-collage,
.production-audit-v129.content-page .services-hero-mosaic {
  overflow: clip;
}

.production-audit-v129.content-page .page-hero__media img,
.production-audit-v129.content-page .process-phase__media img,
.production-audit-v129.content-page .editorial-figure img,
.production-audit-v129.content-page .studio-hero-collage img,
.production-audit-v129.content-page .services-hero-mosaic img {
  width: 100%;
}

/* Projects archive ------------------------------------------------------- */
.production-audit-v129 .projects-toolbar {
  align-items: start;
}

.production-audit-v129 .project-filters {
  min-width: 0;
  flex-wrap: wrap;
}

.production-audit-v129 .project-filters button,
.production-audit-v129 [data-view] {
  min-height: var(--v129-touch);
}

.production-audit-v129 .filter-result {
  min-height: 1.5em;
}

.production-audit-v129 .project-card a {
  min-width: 0;
}

.production-audit-v129 .project-card img {
  transition: transform .7s var(--ease), filter .4s ease;
}

@media (hover: hover) and (pointer: fine) {
  .production-audit-v129 .project-card a:hover img {
    transform: scale(1.018);
  }
}

@media (max-width: 980px) {
  .production-audit-v129 .projects-toolbar {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .production-audit-v129 .project-filters,
  .production-audit-v129 .view-toggle {
    width: 100%;
  }

  .production-audit-v129 .project-filters button,
  .production-audit-v129 .view-toggle button {
    flex: 1 1 130px;
  }
}

@media (max-width: 680px) {
  .production-audit-v129 .project-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-audit-v129 .project-filters button:first-child {
    grid-column: 1 / -1;
  }

  .production-audit-v129 .view-toggle {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

/* Individual projects ---------------------------------------------------- */
.production-audit-v129.project-page .project-hero__content,
.production-audit-v129.project-page .project-intro,
.production-audit-v129.project-page .project-story,
.production-audit-v129.project-page .design-docs__head,
.production-audit-v129.project-page .project-end__content {
  width: min(100%, var(--max));
  margin-inline: auto;
}

.production-audit-v129.project-page .project-intro__copy p,
.production-audit-v129.project-page .project-story__copy p {
  max-width: var(--v129-readable);
}

.production-audit-v129.project-page .media-grid,
.production-audit-v129.project-page .media-triptych,
.production-audit-v129.project-page .compare,
.production-audit-v129.project-page .drawing-grid {
  align-items: start;
}

.production-audit-v129.project-page .media-grid figure,
.production-audit-v129.project-page .media-triptych figure,
.production-audit-v129.project-page .compare figure,
.production-audit-v129.project-page .drawing-grid figure,
.production-audit-v129.project-page .media-full {
  overflow: clip;
}

.production-audit-v129.project-page .media-caption,
.production-audit-v129.project-page figcaption {
  overflow-wrap: anywhere;
}

.production-audit-v129.project-page .project-end__actions a {
  min-height: var(--v129-touch);
  display: inline-flex;
  align-items: center;
}

@media (max-width: 760px) {
  .production-audit-v129.project-page .project-hero__meta {
    gap: 14px 22px;
  }

  .production-audit-v129.project-page .media-grid,
  .production-audit-v129.project-page .media-triptych,
  .production-audit-v129.project-page .compare,
  .production-audit-v129.project-page .drawing-grid {
    grid-template-columns: 1fr !important;
  }

  .production-audit-v129.project-page .project-end__actions {
    align-items: stretch;
  }

  .production-audit-v129.project-page .project-end__actions a {
    justify-content: space-between;
  }
}

/* Contact and forms ------------------------------------------------------ */
.production-audit-v129 .contact-form input,
.production-audit-v129 .contact-form select {
  min-height: 50px;
}

.production-audit-v129 .contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.production-audit-v129 .contact-form label > span {
  line-height: 1.35;
}

.production-audit-v129 .contact-form__optional {
  min-width: 0;
}

.production-audit-v129 .contact-form__optional summary {
  min-height: var(--v129-touch);
  display: grid;
  align-content: center;
}

.production-audit-v129 .contact-form .button {
  min-height: 50px;
}

/* Footer ---------------------------------------------------------------- */
.production-audit-v129 .site-footer {
  width: min(100%, 1440px);
  margin-inline: auto;
  align-items: center;
}

.production-audit-v129 .footer-links {
  min-width: 0;
}

.production-audit-v129 .footer-links a,
.production-audit-v129 .footer-contact a {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
}

@media (min-width: 1081px) {
  .production-audit-v129 .site-footer {
    grid-template-columns: 96px minmax(320px, 1fr) minmax(220px, .62fr) auto;
  }
}

@media (max-width: 1080px) and (min-width: 721px) {
  .production-audit-v129 .site-footer {
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: start;
  }

  .production-audit-v129 .footer-contact,
  .production-audit-v129 .footer-copy,
  .production-audit-v129 .site-footer > p:last-child {
    grid-column: 2;
    justify-self: start;
    text-align: left;
  }
}

@media (max-width: 720px) {
  .production-audit-v129 .site-footer {
    padding-top: 34px;
    padding-bottom: max(26px, env(safe-area-inset-bottom));
    gap: 22px;
  }

  .production-audit-v129 .footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 4px 20px;
  }
}

/* Motion and input modes ------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .production-audit-v129 *,
  .production-audit-v129 *::before,
  .production-audit-v129 *::after {
    scroll-behavior: auto !important;
  }

  .production-audit-v129 .project-card img,
  .production-audit-v129 .digital-wordmark,
  .production-audit-v129 .journey-button,
  .production-audit-v129 .button {
    transition-duration: .01ms !important;
  }
}

.production-audit-v129 img.image-load-failed {
  opacity: .28;
  background:
    linear-gradient(135deg, transparent 49.5%, currentColor 50%, transparent 50.5%),
    #151515;
}
