/* Production compatibility layer over the preserved final client design. */
header.fixed {
  position: sticky;
  top: 0;
  padding-block: 0 !important;
}
header > .container {
  width: min(100% - 2rem, 1180px);
  min-height: 72px;
  padding-inline: 0 !important;
}
header.fixed + main { padding-top: 0 !important; }
.site-brand {
  position: relative;
  flex: 0 0 202px;
  width: 202px;
  height: 62px;
  overflow: hidden;
}
.site-brand-logo {
  position: absolute;
  top: -35px;
  left: -27px;
  width: 252px !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
}
header nav { gap: .9rem !important; }
header > .container > div { gap: 1rem !important; }
body { overflow-wrap: break-word; }

.client-work {
  --gallery-ink: #101820;
  --gallery-gold: #f5b335;
  color: #fff;
  background:
    linear-gradient(115deg, rgba(16, 24, 32, .98), rgba(16, 24, 32, .88)),
    repeating-linear-gradient(-45deg, transparent 0 18px, rgba(255,255,255,.025) 18px 19px);
  padding: clamp(4.5rem, 8vw, 7.5rem) 1rem;
}
.client-work__inner { width: min(100%, 1180px); margin: 0 auto; }
.client-work__head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 2.25rem;
}
.client-work__eyebrow {
  color: var(--gallery-gold);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .22em;
  margin: 0 0 .8rem;
}
.client-work h2 {
  color: #fff;
  font-size: clamp(2.35rem, 5vw, 4.75rem);
  line-height: .94;
  letter-spacing: -.04em;
  margin: 0;
  text-wrap: balance;
}
.client-work__intro {
  color: rgba(255,255,255,.72);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 0 .35rem;
}
.client-work__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 150px;
  gap: 12px;
}
.client-work__photo {
  position: relative;
  grid-column: span 3;
  grid-row: span 2;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: #202a31;
}
.client-work__photo:nth-child(1),
.client-work__photo:nth-child(6) { grid-column: span 6; }
.client-work__photo:nth-child(3),
.client-work__photo:nth-child(8) { grid-column: span 3; grid-row: span 3; }
.client-work__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .55s ease;
}
.client-work__photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.28));
  pointer-events: none;
}
.client-work__photo:hover img { transform: scale(1.035); filter: saturate(1.08) contrast(1.03); }
.quote-status {
  padding: 1rem;
  border: 1px solid #5048e5;
  border-radius: 12px;
  margin-top: 1rem;
}
.quote-status:empty { display: none; }
.quote-status[data-error="true"] { border-color: #df9090; }
.quote-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
input, select, textarea { font-size: 16px; }
:focus-visible { outline: 2px solid #a6a1ff; outline-offset: 4px; }
@media (max-width: 1023px) {
  header > .container { min-height: 64px; }
  .site-brand { flex-basis: 172px; width: 172px; height: 54px; }
  .site-brand-logo { top: -29px; left: -23px; width: 212px !important; }
  .client-work__grid { grid-auto-rows: 125px; }
  .client-work__photo,
  .client-work__photo:nth-child(n) { grid-column: span 6; grid-row: span 2; }
  .client-work__photo:first-child { grid-column: span 12; grid-row: span 3; }
}
@media (max-width: 640px) {
  header > .container { width: min(100% - 1.25rem, 1180px); }
  main h1 {
    font-size: clamp(2.2rem, 10vw, 2.55rem) !important;
    line-height: 1.02 !important;
    overflow-wrap: normal;
    word-break: normal;
  }
  .client-work__head { grid-template-columns: 1fr; gap: 1rem; }
  .client-work__grid { grid-auto-rows: 105px; gap: 8px; }
  .client-work__photo,
  .client-work__photo:nth-child(n) { grid-column: span 6; grid-row: span 2; }
  .client-work__photo:first-child { grid-column: span 12; grid-row: span 3; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
