/* Client revision, July 2026. Kept separate so the door site remains untouched. */
.client-refresh {
  --refresh-paper: #f3f1ec;
  --refresh-paper-strong: #fbfaf7;
  --refresh-ink: #171716;
  --refresh-coffee: #2a221e;
  --refresh-muted: #706d68;
  --refresh-sage: #778071;
  --refresh-accent: #773c34;
  --refresh-brass: #b69b72;
  --refresh-line: rgba(23, 23, 22, .14);
  --refresh-gutter: max(24px, 5.2vw);
  overflow-x: hidden;
  color: var(--refresh-ink);
  background: var(--refresh-paper);
}

.client-refresh,
.client-refresh * {
  letter-spacing: 0;
}

.client-refresh :is(h1, h2, h3) {
  text-wrap: balance;
}

.client-refresh :is(p, li, figcaption) {
  text-wrap: pretty;
}

.client-refresh .site-shell {
  position: relative;
  width: 100%;
  max-width: none;
  overflow: clip;
  background: var(--refresh-paper);
  box-shadow: none;
}

.client-refresh :is(.section, .hero, .contacts-band) {
  scroll-margin-top: 96px;
}

.client-refresh .topbar {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  column-gap: clamp(20px, 2.4vw, 44px);
  row-gap: 0;
  min-height: 94px;
  padding: 14px var(--refresh-gutter);
  gap: 0;
  align-items: center;
  border-color: rgba(255, 250, 242, .2);
  color: #fffaf2;
  background: rgba(18, 17, 15, .86);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 32px rgba(10, 9, 8, .16);
}

.client-refresh .brand {
  grid-column: 1;
  justify-self: start;
  flex: 0 1 auto;
  gap: 15px;
}

.client-refresh .brand__logo {
  width: 112px;
  height: 52px;
  filter: brightness(0) invert(1);
  opacity: .96;
}

.client-refresh .brand__name {
  color: #fffaf2;
  font-size: 35px;
  line-height: .9;
}

.client-refresh .brand__line {
  max-width: 300px;
  color: rgba(255, 250, 242, .58);
  font-size: 11px;
  line-height: 1.3;
}

.client-refresh .nav {
  display: contents;
  margin: 0;
}

.client-refresh .nav__links {
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: clamp(14px, 1.7vw, 28px);
  color: rgba(255, 250, 242, .92);
  font-size: 14px;
}

.client-refresh .nav__links > a:not(.button) {
  position: relative;
  padding: 12px 0;
}

.client-refresh .nav__links > a:not(.button)::after {
  position: absolute;
  right: 0;
  bottom: 6px;
  left: 0;
  height: 1px;
  content: "";
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease-out;
}

.client-refresh .nav__links > a:not(.button):hover::after,
.client-refresh .nav__links > a:not(.button):focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

.client-refresh .topbar__contacts {
  grid-column: 3;
  justify-self: end;
  display: flex;
  min-height: 50px;
  align-items: center;
  gap: 18px;
  margin-left: 4px;
  padding-left: 24px;
  border-left: 1px solid rgba(255, 250, 242, .2);
}

.client-refresh .topbar__socials {
  display: flex;
  align-items: center;
  gap: 8px;
}

.client-refresh .topbar__social {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(218, 178, 133, .48);
  color: #dab285;
  text-decoration: none;
  transition: color 180ms ease-out, border-color 180ms ease-out, background-color 180ms ease-out;
}

.client-refresh .topbar__social:hover,
.client-refresh .topbar__social:focus-visible {
  border-color: #dab285;
  color: #fffaf2;
  background: rgba(218, 178, 133, .12);
}

.client-refresh .topbar__social svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.client-refresh .topbar__social circle:last-child {
  fill: currentColor;
  stroke: none;
}

.client-refresh .topbar__phone {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #fffaf2;
  text-decoration: none;
}

.client-refresh .topbar__phone strong {
  font-size: 15px;
  line-height: 1;
}

.client-refresh .topbar__phone span {
  color: rgba(255, 250, 242, .58);
  font-size: 10px;
  line-height: 1.2;
}

.client-refresh .topbar .button {
  min-height: 46px;
  padding-inline: 20px;
}

.client-refresh :is(.button, .ghost-button):active {
  transform: translateY(0);
}

.client-refresh .button:disabled {
  opacity: .58;
  cursor: wait;
  transform: none;
}

.client-refresh .menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255, 250, 242, .3);
  color: #fffaf2;
  background: transparent;
  cursor: pointer;
}

.client-refresh .menu-toggle span {
  display: block;
  width: 20px;
  height: 1px;
  margin: 5px auto;
  background: currentColor;
  transition: transform 180ms ease-out, opacity 180ms ease-out;
}

.client-refresh .menu-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.client-refresh .menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.client-refresh .menu-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.client-refresh .hero--refresh {
  position: relative;
  display: grid;
  min-height: 720px;
  height: clamp(720px, calc(100svh - 48px), 860px);
  isolation: isolate;
  color: #fffaf2;
  border-bottom: 0;
  background: #1d1b19;
}

.client-refresh .hero--refresh::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background:
    linear-gradient(90deg, rgba(13, 13, 12, .91) 0%, rgba(20, 18, 16, .7) 38%, rgba(20, 18, 16, .2) 72%, rgba(20, 18, 16, .1) 100%),
    linear-gradient(0deg, rgba(15, 14, 13, .5), transparent 52%);
  pointer-events: none;
}

.client-refresh .hero--refresh::after {
  content: none;
}

.client-refresh .hero--refresh .hero__copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-items: center;
  width: min(790px, 58%);
  min-height: 100%;
  padding: 146px var(--refresh-gutter) 108px;
}

.client-refresh .hero--refresh .hero__text {
  width: 100%;
  max-width: 640px;
}

.client-refresh .hero--refresh h1 {
  max-width: 640px;
  margin-top: 18px;
  font-size: clamp(52px, 4.4vw, 66px);
  line-height: .96;
  text-wrap: balance;
}

.client-refresh .hero--refresh .lead {
  max-width: 580px;
  margin-top: 20px;
  color: rgba(255, 250, 242, .79);
  font-size: 17px;
  line-height: 1.55;
}

.client-refresh .hero--refresh .eyebrow {
  color: rgba(255, 250, 242, .72);
}

.client-refresh .hero--refresh .hero__actions {
  display: flex;
  align-items: center;
  gap: 26px;
  margin-top: 28px;
}

.client-refresh .hero--refresh .hero__actions .button {
  min-height: 54px;
  border-color: #dab285;
  color: #211c18;
  background: #dab285;
}

.client-refresh .hero--refresh .hero__actions .button:hover,
.client-refresh .hero--refresh .hero__actions .button:focus-visible {
  border-color: #ebc99f;
  color: #171411;
  background: #ebc99f;
}

.client-refresh .hero--refresh .hero__actions .ghost-button {
  min-height: auto;
  padding: 9px 0 6px;
  border: 0;
  border-bottom: 1px solid rgba(255, 250, 242, .62);
  color: #fffaf2;
  background: transparent;
}

.client-refresh .hero--refresh .hero__actions .ghost-button:hover,
.client-refresh .hero--refresh .hero__actions .ghost-button:focus-visible {
  color: #dab285;
  background: transparent;
  transform: none;
}

.client-refresh .hero-rail {
  --rail-padding: 36px;
  --rail-axis-x: 6px;
  --rail-marker-size: 12px;
  --rail-marker-half: 6px;
  position: absolute;
  top: 52%;
  right: clamp(42px, 4vw, 76px);
  z-index: 2;
  width: clamp(300px, 20vw, 360px);
  padding-left: var(--rail-padding);
  color: #fffaf2;
}

.client-refresh .hero-rail::before {
  content: none;
}

.client-refresh .hero-rail__item {
  position: relative;
  min-height: 80px;
  padding: 0 0 20px;
}

.client-refresh .hero-rail__item:last-child {
  min-height: 0;
  padding-bottom: 0;
}

.client-refresh .hero-rail__item::before {
  position: absolute;
  top: 7px;
  left: calc(var(--rail-axis-x) - var(--rail-padding) - var(--rail-marker-half));
  box-sizing: border-box;
  width: var(--rail-marker-size);
  height: var(--rail-marker-size);
  border: 2px solid rgba(28, 25, 22, .84);
  border-radius: 50%;
  content: "";
  background: #fff5e8;
  box-shadow: 0 0 10px rgba(255, 238, 216, .72);
}

.client-refresh .hero-rail__item::after {
  position: absolute;
  top: 13px;
  bottom: -13px;
  left: calc(var(--rail-axis-x) - var(--rail-padding));
  width: 1px;
  content: "";
  background: rgba(218, 178, 133, .7);
}

.client-refresh .hero-rail__item:last-child::after {
  content: none;
}

.client-refresh .hero-rail__item strong {
  display: block;
  font-size: 18px;
  line-height: 1.25;
}

.client-refresh .hero-rail__item span {
  display: block;
  margin-top: 7px;
  color: rgba(255, 250, 242, .64);
  font-size: 12px;
  line-height: 1.4;
}

.client-refresh .hero-showroom {
  position: absolute;
  bottom: 28px;
  left: var(--refresh-gutter);
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 250, 242, .68);
  font-size: 11px;
  text-transform: uppercase;
}

.client-refresh .hero-showroom svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: #dab285;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.client-refresh .hero--refresh .hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  min-height: 100%;
}

.client-refresh .hero--refresh .hero__media::after {
  content: none;
}

.client-refresh .hero--refresh .hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% 57%;
}

.client-refresh .hero--refresh .image-caption {
  display: none;
}

.client-refresh .section {
  padding: 82px var(--refresh-gutter);
  border-color: var(--refresh-line);
}

.client-refresh .section::before {
  opacity: .45;
}

.client-refresh .section__head {
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .72fr);
  gap: clamp(36px, 7vw, 110px);
  align-items: end;
  margin-bottom: 38px;
}

.client-refresh .section__head--wide {
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .65fr);
}

.client-refresh .section h2,
.client-refresh .contacts-band h2 {
  margin-top: 10px;
  font-size: 54px;
  line-height: .98;
  text-wrap: balance;
}

.client-refresh .section__intro {
  color: var(--refresh-muted);
  font-size: 17px;
  line-height: 1.65;
}

.client-refresh .category-section {
  background: var(--refresh-paper-strong);
  padding-bottom: 42px;
}

.client-refresh .category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: #201f1d;
}

.client-refresh .category-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1 / 1.5;
  margin: 0;
  color: #fff;
  background: #292724;
  cursor: zoom-in;
  isolation: isolate;
}

.client-refresh .category-card::after,
.client-refresh .project-slide--photo::after,
.client-refresh .why-grid__media::after {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  content: "+";
  border: 1px solid rgba(255, 255, 255, .52);
  color: #fff;
  background: rgba(18, 17, 16, .46);
  font-size: 20px;
  line-height: 1;
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 180ms ease-out, transform 180ms ease-out;
}

.client-refresh :is(.category-card, .project-slide--photo, .why-grid__media):hover::after,
.client-refresh :is(.category-card, .project-slide--photo, .why-grid__media):focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.client-refresh .category-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transition: transform 420ms cubic-bezier(.2, .7, .2, 1);
}

.client-refresh .category-card:nth-child(1) img,
.client-refresh .category-card:nth-child(2) img,
.client-refresh .category-card:nth-child(5) img,
.client-refresh .category-card:nth-child(7) img,
.client-refresh .category-card:nth-child(8) img {
  object-position: 50% 43%;
}

.client-refresh .category-card:hover img,
.client-refresh .category-card:focus-visible img {
  transform: scale(1.025);
}

.client-refresh .category-card figcaption {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  display: grid;
  gap: 6px;
  min-height: 50%;
  align-content: end;
  padding: clamp(16px, 1.5vw, 24px);
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(14, 13, 12, .9));
}

.client-refresh .category-card figcaption b {
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.2;
}

.client-refresh .category-card figcaption span {
  color: rgba(255, 255, 255, .74);
  font-size: clamp(12px, .95vw, 13px);
  line-height: 1.5;
}

.client-refresh .projects-section {
  overflow: hidden;
  padding-top: 64px;
  padding-bottom: 60px;
  background: #1d1b19;
}

.client-refresh .projects-section::before {
  background: linear-gradient(180deg, #211f1c, #171614);
}

.client-refresh .projects-section .section__head {
  margin-bottom: 28px;
}

.client-refresh .projects-section h2 {
  color: #fffaf2;
}

.client-refresh .project-carousel {
  position: relative;
  --project-gap: 14px;
  --project-slides-per-view: 4;
  outline: 0;
}

.client-refresh .project-carousel__viewport {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
}

.client-refresh .project-carousel__track {
  display: flex;
  gap: var(--project-gap);
  width: 100%;
  will-change: transform;
  transition: transform 520ms cubic-bezier(.24, .78, .18, 1);
}

.client-refresh .project-slide {
  flex: 0 0 calc((100% - (var(--project-gap) * (var(--project-slides-per-view) - 1))) / var(--project-slides-per-view));
  width: auto;
  min-width: 0;
  opacity: 1;
}

.client-refresh .project-slide--photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1.5;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .14);
  background: #0f0e0d;
  cursor: zoom-in;
  touch-action: pan-y;
}

.client-refresh .project-slide--photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms cubic-bezier(.2, .7, .2, 1), filter 220ms ease-out;
}

.client-refresh .project-slide--photo:hover img,
.client-refresh .project-slide--photo:focus-visible img {
  transform: scale(1.012);
  filter: brightness(1.04);
}

.client-refresh .project-carousel__media-controls {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.client-refresh .project-carousel__arrow {
  position: absolute;
  top: 50%;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid rgba(255, 250, 242, .48);
  color: #fffaf2;
  background: rgba(24, 22, 20, .76);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  transform: translateY(-50%);
  transition: border-color 180ms ease-out, background-color 180ms ease-out, transform 180ms ease-out;
}

.client-refresh .project-carousel__arrow:hover {
  border-color: var(--refresh-brass);
  background: rgba(24, 22, 20, .94);
}

.client-refresh .project-carousel__arrow:focus-visible {
  outline: 2px solid var(--refresh-brass);
  outline-offset: 3px;
}

.client-refresh .project-carousel__arrow--prev {
  left: 16px;
}

.client-refresh .project-carousel__arrow--next {
  right: 16px;
}

.client-refresh .project-carousel__meta {
  margin: 20px calc(-1 * var(--refresh-gutter)) 0;
}

.client-refresh .project-carousel__progress {
  position: relative;
  height: 2px;
  overflow: hidden;
  background: rgba(255, 255, 255, .24);
}

.client-refresh .project-carousel__progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--refresh-brass);
  transform: scaleX(.0416667);
  transform-origin: left center;
  transition: transform 520ms cubic-bezier(.24, .78, .18, 1);
}

.client-refresh .section--compact {
  padding-top: 36px;
  padding-bottom: 36px;
  background: var(--refresh-paper-strong);
}

.client-refresh .editorial-route {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr);
  min-height: 430px;
  color: #fffaf2;
  background:
    linear-gradient(90deg, rgba(23, 21, 19, .99) 0%, rgba(35, 30, 26, .97) 56%, rgba(35, 30, 26, .74) 100%),
    url("/assets/images/client/main-selected/main-hidden-door.jpg") right 45% / 52% auto no-repeat,
    #211e1b;
}

.client-refresh .editorial-route::after {
  position: absolute;
  inset: 0 0 0 56%;
  content: "";
  border-left: 1px solid rgba(255, 255, 255, .12);
  background: linear-gradient(90deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, 0));
  pointer-events: none;
}

.client-refresh .editorial-route__statement,
.client-refresh .editorial-route__side {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  padding: clamp(34px, 5vw, 72px);
}

.client-refresh .editorial-route__statement blockquote {
  max-width: 850px;
  margin: 16px 0 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 54px;
  font-weight: 600;
  line-height: .98;
  text-wrap: balance;
}

.client-refresh .editorial-route__side {
  gap: 24px;
}

.client-refresh .editorial-route__side p {
  margin: 0;
  color: rgba(255, 250, 242, .72);
  font-size: 17px;
  line-height: 1.7;
}

.client-refresh .editorial-route__actions {
  display: grid;
  gap: 12px;
}

.client-refresh .editorial-route__actions > * {
  width: 100%;
}

/* Compact door-page sign between the category catalogue and completed projects. */
.client-refresh .door-route {
  position: relative;
  display: grid;
  height: 120px;
  min-height: 120px;
  box-sizing: border-box;
  gap: 0;
  padding: 0;
  align-items: stretch;
  overflow: hidden;
  grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
  background:
    radial-gradient(circle at -6% 122%, rgba(222, 198, 169, .38) 0 20%, transparent 20.2%),
    linear-gradient(90deg, #fbfaf7 0%, #f1ece4 31%, #776f68 44%, #1d1b19 56%, #1d1b19 100%);
  border: 0;
  border-top: 1px solid rgba(63, 55, 47, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.client-refresh .door-route::after {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 42%;
  width: 1px;
  content: '';
  background: rgba(255, 255, 255, .25);
}

.client-refresh .door-route__copy {
  position: relative;
  z-index: 1;
  display: flex;
  padding: 14px clamp(36px, 5.2vw, 66px);
  flex-direction: column;
  justify-content: center;
}

.client-refresh .door-route__copy h2 {
  max-width: 470px;
  margin: 0;
  color: #1f1c19;
  font-size: clamp(28px, 2.3vw, 32px);
  line-height: .97;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.client-refresh .door-route__actions {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(310px, 1fr) 196px;
  gap: 22px;
  align-items: center;
  padding: 16px clamp(42px, 5vw, 66px) 16px clamp(26px, 2.7vw, 34px);
}

.client-refresh .door-route__actions p {
  max-width: none;
  margin: 0;
  color: #f8f2e9;
  font-size: 14px;
  line-height: 1.3;
}

.client-refresh .door-route__button {
  width: 100%;
  min-width: 196px;
  min-height: 40px;
  justify-content: space-between;
  gap: 16px;
  padding: 0 16px;
  font-size: 12px;
  color: #1d1b19;
  border-color: #e6d5be;
  background: #e6d5be;
}

.client-refresh .door-route__button:hover {
  color: #fffaf2;
  border-color: #fffaf2;
  background: transparent;
}

.client-refresh .door-route-spacer {
  height: 42px;
  background: var(--refresh-paper-strong);
}

@media (max-width: 1100px) {
  .client-refresh .door-route {
    grid-template-columns: minmax(0, .36fr) minmax(0, .64fr);
  }

  .client-refresh .door-route::after {
    left: 36%;
  }

  .client-refresh .door-route__copy {
    padding-right: 26px;
    padding-left: 38px;
  }

  .client-refresh .door-route__copy h2 {
    font-size: 28px;
  }

  .client-refresh .door-route__actions {
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 16px;
    padding-right: 46px;
  }

  .client-refresh .door-route__button {
    min-width: 180px;
  }
}

.client-refresh .button--light {
  color: #1c1a18;
  border-color: #fffaf2;
  background: #fffaf2;
}

.client-refresh .why-section {
  background: var(--refresh-paper);
}

.client-refresh .why-grid {
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: stretch;
}

.client-refresh .why-grid__media {
  position: relative;
  overflow: hidden;
  min-height: 690px;
  margin: 0;
  background: #d8d2c7;
  cursor: zoom-in;
}

.client-refresh .why-grid__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transition: transform 420ms ease-out;
}

.client-refresh .why-grid__media:hover img {
  transform: scale(1.02);
}

.client-refresh .why-grid__copy {
  display: grid;
  gap: 30px;
  align-content: center;
}

.client-refresh .why-grid__copy h2 {
  max-width: 720px;
}

.client-refresh .why-grid__copy > .button {
  width: fit-content;
}

.client-refresh .why-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--refresh-line);
  list-style: none;
}

.client-refresh .why-list li {
  display: grid;
  gap: 8px;
  min-height: 138px;
  align-content: start;
  padding: 22px 24px 22px 0;
  border-bottom: 1px solid var(--refresh-line);
}

.client-refresh .why-list li:nth-child(even) {
  padding-left: 24px;
  border-left: 1px solid var(--refresh-line);
}

.client-refresh .why-list b {
  font-size: 15px;
  line-height: 1.35;
}

.client-refresh .why-list span {
  color: var(--refresh-muted);
  font-size: 13px;
  line-height: 1.55;
}

/* Approved advantages layout: separate editorial plaque and framed photo. */
.client-refresh .why-section--plaque {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at -7% 82%, rgba(225, 208, 185, .64) 0 17%, transparent 17.2%),
    radial-gradient(circle at 103% 14%, rgba(241, 230, 212, .8) 0 19%, transparent 19.2%),
    #eee2cf;
}

.client-refresh .why-section--plaque .why-grid {
  display: grid;
  grid-template-areas: "copy media";
  grid-template-columns: minmax(0, 1.04fr) minmax(340px, .78fr);
  gap: clamp(64px, 8vw, 132px);
  align-items: center;
}

.client-refresh .why-section--plaque .why-grid__copy {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: clamp(610px, 48vw, 690px);
  flex-direction: column;
  gap: 0;
  grid-area: copy;
  padding: clamp(42px, 5vw, 76px);
  border: 1px solid rgba(169, 137, 96, .68);
  border-left: 24px solid #b78e61;
  background: #fcf8f1;
  box-shadow: 0 24px 52px rgba(51, 38, 26, .16);
}

.client-refresh .why-section--plaque .why-grid__copy::after {
  position: absolute;
  top: 50%;
  right: clamp(-74px, -4vw, -38px);
  width: 1px;
  height: min(55%, 390px);
  content: "";
  background: #b78e61;
  transform: translateY(-50%);
}

.client-refresh .why-section--plaque .why-grid__copy h2 {
  max-width: 650px;
  margin: 0;
  font-size: clamp(44px, 4vw, 62px);
  line-height: .98;
}

.client-refresh .why-section--plaque .why-grid__copy > div:first-child::after {
  display: block;
  width: 56px;
  height: 4px;
  margin-top: 28px;
  content: "";
  background: #b38a5b;
}

.client-refresh .why-section--plaque .why-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin: 34px 0 30px;
  padding: 0;
  border: 0;
  list-style: none;
  counter-reset: why-benefit;
}

.client-refresh .why-section--plaque .why-list li,
.client-refresh .why-section--plaque .why-list li:nth-child(even) {
  position: relative;
  display: block;
  min-height: 0;
  padding: 0 0 0 52px;
  border: 0;
}

.client-refresh .why-section--plaque .why-list li::before {
  position: absolute;
  top: .25em;
  left: 0;
  color: #9f8260;
  content: counter(why-benefit, decimal-leading-zero);
  counter-increment: why-benefit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}

.client-refresh .why-section--plaque .why-list b {
  display: block;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.38;
}

.client-refresh .why-section--plaque .why-grid__copy > .button {
  width: fit-content;
  margin-top: auto;
  padding-right: 30px;
  padding-left: 30px;
}

.client-refresh .why-section--plaque .why-grid__media {
  position: relative;
  min-height: clamp(620px, 57vw, 800px);
  padding: 10px;
  grid-area: media;
  border: 1px solid rgba(169, 137, 96, .78);
  background: #e6d6c2;
  box-shadow: 0 24px 48px rgba(51, 38, 26, .16);
}

.client-refresh .why-section--plaque .why-grid__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-position: 58% 50%;
}

.client-refresh .process-section {
  background: var(--refresh-paper-strong);
}

.client-refresh .process-section .section__head--process {
  grid-template-columns: minmax(0, 1fr);
}

.client-refresh .process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--refresh-line);
  border-left: 1px solid var(--refresh-line);
}

.client-refresh .process-step {
  position: relative;
  min-height: 230px;
  padding: 26px;
  border-right: 1px solid var(--refresh-line);
  border-bottom: 1px solid var(--refresh-line);
  background: rgba(255, 255, 255, .27);
}

.client-refresh .process-step > span {
  display: block;
  margin-bottom: 46px;
  color: var(--refresh-accent);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 30px;
  line-height: 1;
}

.client-refresh .process-step h3 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 25px;
  line-height: 1.05;
}

.client-refresh .process-step p {
  margin: 12px 0 0;
  color: var(--refresh-muted);
  font-size: 13px;
  line-height: 1.55;
}

.client-refresh .lead-section {
  padding: 30px var(--refresh-gutter);
  background: #ebe7de;
}

.client-refresh .form-only {
  display: grid;
  grid-template-columns: minmax(270px, .7fr) minmax(560px, 1.3fr);
  gap: clamp(42px, 6vw, 86px);
  max-width: 1380px;
  margin: 0 auto;
  padding: 30px 38px 26px;
  border: 1px solid rgba(23, 23, 22, .14);
  background: var(--refresh-paper-strong);
  box-shadow: 0 12px 32px rgba(23, 23, 22, .045);
}

.client-refresh .form-only__head h2 {
  max-width: 330px;
  margin-top: 0;
  font-size: 44px;
  line-height: .94;
}

.client-refresh .form-only__head .section__intro {
  max-width: 340px;
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.55;
}

.client-refresh .form-only .lead-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 14px;
  row-gap: 10px;
  align-content: start;
  margin: 0;
}

.client-refresh .form-only .form-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.client-refresh .form-only .field {
  gap: 5px;
}

.client-refresh .form-only .field label {
  color: rgba(23, 23, 22, .62);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.client-refresh .form-only .field :is(input, textarea, select) {
  border-color: rgba(23, 23, 22, .18);
  border-radius: 0;
  background: #fffdfa;
}

.client-refresh .form-only .field :is(input, textarea)::placeholder {
  color: rgba(23, 23, 22, .62);
}

.client-refresh .form-only .field :is(input, select) {
  min-height: 42px;
  height: 42px;
  padding-top: 9px;
  padding-bottom: 9px;
}

.client-refresh .form-only .field textarea {
  min-height: 66px;
  height: 66px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.client-refresh .form-only .consent-field {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 18px;
  margin: 1px 0 0;
  font-size: 11px;
  line-height: 18px;
  cursor: pointer;
}

.client-refresh .form-only .consent-field input[type="checkbox"] {
  box-sizing: border-box;
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0;
  padding: 0;
  align-self: start;
  accent-color: #2a221d;
}

.client-refresh .form-only .consent-field input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(121, 55, 47, .78);
  outline-offset: 3px;
}

.client-refresh .form-only .consent-field > span {
  display: block;
}

.client-refresh .form-only .button {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 46px;
}

.client-refresh .form-only .form-status:empty {
  display: none;
  min-height: 0;
  margin: 0;
}

.client-refresh .form-only .form-status:not(:empty) {
  grid-column: 1 / -1;
  min-height: 0;
  margin: 0;
}

.client-refresh .contacts-band {
  display: grid;
  grid-template-columns: minmax(420px, .94fr) minmax(460px, .86fr);
  gap: clamp(52px, 7vw, 110px);
  align-items: stretch;
  padding: 48px var(--refresh-gutter);
  color: #f8f3eb;
  background: #1d1c19;
}

.client-refresh .contacts-band__intro {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 320px;
  padding: 8px 0 18px;
}

.client-refresh .contact-brand {
  display: grid;
  gap: 4px;
}

.client-refresh .contact-brand strong {
  color: #f8f3eb;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 21px;
  font-weight: 780;
  letter-spacing: -.02em;
}

.client-refresh .contact-brand span {
  color: rgba(248, 243, 235, .62);
  font-size: 13px;
  line-height: 1.4;
}

.client-refresh .contacts-band__intro h2 {
  max-width: none;
  margin: 22px 0 0;
  color: #f8f3eb;
  font-size: 58px;
  line-height: .89;
  letter-spacing: -.025em;
  white-space: nowrap;
}

.client-refresh .contacts-band__intro p {
  max-width: 550px;
  margin: 24px 0 0;
  color: rgba(248, 243, 235, .78);
  font-size: 16px;
  line-height: 1.55;
}

.client-refresh .contact-meta {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.client-refresh .contact-location {
  margin: 0;
  color: rgba(248, 243, 235, .54);
  font-size: 12px;
  line-height: 1.45;
}

.client-refresh .contact-location b {
  padding: 0 12px;
  color: var(--refresh-brass);
}

.client-refresh .contact-requisites {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.client-refresh .contact-requisites small {
  color: var(--refresh-brass);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.client-refresh .contact-requisites span {
  color: rgba(248, 243, 235, .68);
  font-size: 12px;
  line-height: 1.45;
}

.client-refresh .contact-requisites b {
  padding: 0 7px;
  color: var(--refresh-brass);
}

.client-refresh .contacts-band__grid {
  display: grid;
  grid-template-columns: 1fr;
  align-content: center;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, .16);
}

.client-refresh .contact-route {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 68px;
  padding: 13px 0 13px 42px;
  border-top: 1px solid rgba(255, 255, 255, .16);
  color: #f8f3eb;
  text-decoration: none;
}

.client-refresh .contact-route:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.client-refresh .contact-route svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: var(--refresh-brass);
  stroke-width: 1.7;
}

.client-refresh .contact-route span {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.client-refresh .contact-route small {
  color: rgba(248, 243, 235, .48);
  font-family: "Manrope", Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.client-refresh .contact-route :is(strong, a) {
  width: fit-content;
  color: #f8f3eb;
  font-family: "Manrope", Arial, sans-serif;
  font-size: 20px;
  font-weight: 760;
  line-height: 1.15;
  text-decoration: none;
}

.client-refresh .contact-route__minor,
.client-refresh .contact-route em {
  color: rgba(248, 243, 235, .58) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 11px !important;
  font-style: normal;
  font-weight: 550 !important;
  line-height: 1.35;
}

.client-refresh a.contact-route:hover :is(strong, a),
.client-refresh .contact-route--phone a:hover {
  color: var(--refresh-brass);
}

.client-refresh .image-lightbox {
  background: rgba(12, 12, 11, .96);
}

.client-refresh .image-lightbox__close {
  border-radius: 50%;
}

.client-refresh .image-lightbox__nav {
  position: fixed;
  top: 50%;
  z-index: 1001;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(255, 250, 240, .36);
  color: #fffaf2;
  background: rgba(21, 20, 19, .76);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  transition: border-color 180ms ease-out, color 180ms ease-out, background-color 180ms ease-out, transform 180ms ease-out;
}

.client-refresh .image-lightbox__nav[hidden] {
  display: none;
}

.client-refresh .image-lightbox__nav--previous {
  left: max(18px, env(safe-area-inset-left));
}

.client-refresh .image-lightbox__nav--next {
  right: max(18px, env(safe-area-inset-right));
}

.client-refresh .image-lightbox__nav:hover {
  border-color: var(--refresh-brass);
  color: var(--refresh-brass);
  background: rgba(21, 20, 19, .94);
}

.client-refresh .image-lightbox__nav--previous:hover {
  transform: translate(-3px, -50%);
}

.client-refresh .image-lightbox__nav--next:hover {
  transform: translate(3px, -50%);
}

.client-refresh .image-lightbox__nav:focus-visible {
  outline: 2px solid var(--refresh-brass);
  outline-offset: 3px;
}

.client-refresh .image-lightbox__caption {
  display: grid;
  justify-items: center;
  gap: 5px;
}

.client-refresh .image-lightbox__counter {
  color: rgba(255, 250, 240, .52);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 1320px) {
  .client-refresh .brand__line {
    display: none;
  }

  .client-refresh .brand__logo {
    width: 92px;
  }

  .client-refresh .nav__links {
    gap: 15px;
    font-size: 13px;
  }

  .client-refresh .topbar__contacts {
    gap: 12px;
    padding-left: 16px;
  }

  .client-refresh .topbar__phone strong {
    font-size: 13px;
  }

  .client-refresh .topbar__phone span {
    font-size: 9px;
  }

  .client-refresh .category-card {
    min-height: 0;
  }

  .client-refresh .category-card img {
    min-height: 0;
  }

  .client-refresh .editorial-route__statement blockquote {
    font-size: 46px;
  }
}

@media (max-width: 1080px) {
  .client-refresh .topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    min-height: 76px;
    background: rgba(18, 17, 15, .86);
  }

  .client-refresh .menu-toggle {
    grid-column: 2;
    display: block;
    margin-left: auto;
  }

  .client-refresh .brand__meta {
    display: flex;
  }

  .client-refresh .brand__name {
    display: block;
  }

  .client-refresh .nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin: 0;
    padding: 12px var(--refresh-gutter) 20px;
    border-bottom: 1px solid rgba(255, 250, 242, .18);
    color: #fffaf2;
    background: rgba(18, 17, 15, .98);
    box-shadow: 0 22px 42px rgba(10, 9, 8, .24);
    align-items: stretch;
    justify-content: stretch;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 180ms ease-out, transform 180ms ease-out, visibility 180ms;
  }

  .client-refresh .nav__links {
    display: contents;
  }

  .client-refresh .nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .client-refresh .nav__links > a,
  .client-refresh.main-page .nav__links > a:not(.button) {
    display: flex;
    width: 100%;
    min-height: 47px;
    align-items: center;
    border-bottom: 1px solid rgba(255, 250, 242, .14);
    color: #fffaf2;
  }

  .client-refresh .topbar__contacts {
    grid-column: auto;
    justify-self: stretch;
    display: flex;
    min-height: auto;
    justify-content: space-between;
    gap: 20px;
    margin: 14px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid rgba(255, 250, 242, .18);
    border-left: 0;
  }

  .client-refresh .nav a.topbar__social {
    display: grid;
    width: 40px;
    min-height: 40px;
    border: 1px solid rgba(218, 178, 133, .48);
  }

  .client-refresh .nav a.topbar__phone {
    display: flex;
    width: auto;
    min-height: auto;
    align-items: flex-end;
    border: 0;
  }

  .client-refresh .topbar__phone strong {
    font-size: 15px;
  }

  .client-refresh .topbar__phone span {
    display: block;
    text-align: right;
  }

  .client-refresh .hero--refresh {
    min-height: 760px;
    height: clamp(760px, calc(100svh - 32px), 840px);
  }

  .client-refresh .hero--refresh .hero__copy {
    width: 61%;
    padding-top: 128px;
    padding-bottom: 94px;
  }

  .client-refresh .hero--refresh h1 {
    font-size: 52px;
  }

  .client-refresh .hero--refresh .lead {
    font-size: 15px;
  }

  .client-refresh .hero-rail {
    --rail-padding: 34px;
    --rail-axis-x: 6px;
    --rail-marker-size: 11px;
    --rail-marker-half: 5.5px;
    top: 51%;
    right: 26px;
    width: 300px;
    padding-left: var(--rail-padding);
  }

  .client-refresh .hero-rail__item strong {
    font-size: 16px;
  }

  .client-refresh .hero-rail__item span {
    font-size: 11px;
  }

  .client-refresh .section {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .client-refresh .section__head,
  .client-refresh .section__head--wide {
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: start;
  }

  .client-refresh .section__intro {
    max-width: 760px;
  }

  .client-refresh .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-refresh .category-card,
  .client-refresh .category-card img {
    min-height: 0;
  }

  .client-refresh .editorial-route {
    grid-template-columns: 1fr;
  }

  .client-refresh .editorial-route::after {
    inset: auto 0 0;
    height: 44%;
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-left: 0;
  }

  .client-refresh .editorial-route__statement,
  .client-refresh .editorial-route__side {
    padding: 42px;
  }

  .client-refresh .editorial-route__side {
    padding-top: 34px;
  }

  .client-refresh .why-grid {
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    gap: 44px;
  }

  .client-refresh .why-grid__media {
    min-height: 610px;
  }

  .client-refresh .why-list {
    grid-template-columns: 1fr;
  }

  .client-refresh .why-list li:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }

  .client-refresh .why-list li {
    min-height: auto;
  }

  .client-refresh .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .client-refresh .form-only {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .client-refresh .contacts-band {
    grid-template-columns: 1fr;
    gap: 36px;
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .client-refresh .contacts-band__intro {
    min-height: 0;
  }

  .client-refresh .contacts-band__grid {
    border-left: 0;
  }

  .client-refresh .why-section--plaque .why-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    gap: 46px;
  }

  .client-refresh .why-section--plaque .why-grid__copy {
    min-height: 590px;
    padding: 42px 38px;
    border-left-width: 18px;
  }

  .client-refresh .why-section--plaque .why-grid__copy::after {
    right: -24px;
  }

  .client-refresh .why-section--plaque .why-grid__media {
    min-height: 590px;
  }
}

@media (max-width: 860px) {
  .client-refresh .hero--refresh {
    min-height: 900px;
    height: max(900px, 100svh);
  }

  .client-refresh .hero--refresh::before {
    background:
      linear-gradient(90deg, rgba(13, 13, 12, .88), rgba(13, 13, 12, .45)),
      linear-gradient(0deg, rgba(13, 13, 12, .78), rgba(13, 13, 12, .08) 76%);
  }

  .client-refresh .hero--refresh .hero__copy {
    width: 100%;
    min-height: 100%;
    align-items: start;
    padding: 116px var(--refresh-gutter) 360px;
  }

  .client-refresh .hero--refresh .hero__text {
    max-width: 620px;
  }

  .client-refresh .hero--refresh h1 {
    max-width: 600px;
    font-size: 48px;
  }

  .client-refresh .hero--refresh .lead {
    max-width: 590px;
  }

  .client-refresh .hero-rail {
    --rail-padding: 28px;
    --rail-axis-x: 5px;
    --rail-marker-size: 10px;
    --rail-marker-half: 5px;
    top: auto;
    right: var(--refresh-gutter);
    bottom: 70px;
    left: var(--refresh-gutter);
    width: auto;
    padding-left: var(--rail-padding);
  }

  .client-refresh .hero-rail__item {
    min-height: 59px;
    padding-bottom: 12px;
  }

  .client-refresh .hero-rail__item::before {
    top: 4px;
    left: calc(var(--rail-axis-x) - var(--rail-padding) - var(--rail-marker-half));
  }

  .client-refresh .hero-rail__item::after {
    top: 9px;
    bottom: -9px;
    left: calc(var(--rail-axis-x) - var(--rail-padding));
  }

  .client-refresh .hero-showroom {
    bottom: 22px;
  }

  .client-refresh .why-section--plaque .why-grid {
    grid-template-areas:
      "copy"
      "media";
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .client-refresh .why-section--plaque .why-grid__copy {
    min-height: 0;
    padding: 42px;
  }

  .client-refresh .why-section--plaque .why-grid__copy::after {
    display: none;
  }

  .client-refresh .why-section--plaque .why-grid__media {
    min-height: clamp(460px, 82vw, 670px);
  }
}

@media (max-width: 700px) {
  .client-refresh {
    --refresh-gutter: 18px;
  }

  .client-refresh .topbar {
    min-height: 68px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .client-refresh .brand {
    gap: 10px;
  }

  .client-refresh .brand__meta {
    display: flex;
  }

  .client-refresh .brand__name {
    display: block;
  }

  .client-refresh .brand__logo {
    width: 70px;
    height: 40px;
  }

  .client-refresh .brand__name {
    font-size: 27px;
  }

  .client-refresh .menu-toggle {
    width: 44px;
    height: 44px;
  }

  .client-refresh :is(.section, .hero, .contacts-band) {
    scroll-margin-top: 76px;
  }

  .client-refresh .hero--refresh {
    min-height: 860px;
    height: max(860px, 100svh);
  }

  .client-refresh .hero--refresh::before {
    background:
      linear-gradient(90deg, rgba(13, 13, 12, .84), rgba(13, 13, 12, .46)),
      linear-gradient(0deg, rgba(13, 13, 12, .74), rgba(13, 13, 12, .08) 74%);
  }

  .client-refresh .hero--refresh .hero__copy {
    width: 100%;
    min-height: 100%;
    align-items: start;
    padding: 104px var(--refresh-gutter) 342px;
  }

  .client-refresh .hero--refresh h1 {
    max-width: 520px;
    font-size: 42px;
    line-height: .96;
  }

  .client-refresh .hero--refresh .lead {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.48;
  }

  .client-refresh .hero--refresh .hero__actions {
    display: grid;
    justify-items: start;
    gap: 12px;
    margin-top: 22px;
  }

  .client-refresh .hero--refresh .hero__actions > * {
    width: 100%;
    min-height: 48px;
  }

  .client-refresh .hero--refresh .hero__actions .ghost-button {
    width: auto;
    min-height: auto;
  }

  .client-refresh .hero-rail {
    --rail-padding: 25px;
    --rail-axis-x: 4.5px;
    --rail-marker-size: 9px;
    --rail-marker-half: 4.5px;
    bottom: 62px;
    padding-left: var(--rail-padding);
  }

  .client-refresh .hero-rail__item {
    min-height: 56px;
    padding: 0 0 10px 3px;
  }

  .client-refresh .hero-rail__item::before {
    top: 4px;
    left: calc(var(--rail-axis-x) - var(--rail-padding) - var(--rail-marker-half));
    width: var(--rail-marker-size);
    height: var(--rail-marker-size);
  }

  .client-refresh .hero-rail__item::after {
    top: 8.5px;
    bottom: -8.5px;
    left: calc(var(--rail-axis-x) - var(--rail-padding));
  }

  .client-refresh .hero-rail__item strong {
    font-size: 14px;
  }

  .client-refresh .hero-rail__item span {
    margin-top: 4px;
    font-size: 10px;
  }

  .client-refresh .hero-showroom {
    bottom: 18px;
    font-size: 10px;
  }

  .client-refresh .hero--refresh .hero__media img {
    object-position: 55% 50%;
  }

  .client-refresh .section {
    padding-top: 28px;
    padding-bottom: 54px;
  }

  .client-refresh .site-shell::before,
  .client-refresh .section::before {
    display: none;
  }

  .client-refresh .section__head {
    margin-bottom: 26px;
  }

  .client-refresh .section h2,
  .client-refresh .contacts-band h2 {
    font-size: 40px;
  }

  .client-refresh .section__intro {
    font-size: 15px;
    line-height: 1.6;
  }

  .client-refresh .category-grid {
    grid-template-columns: 1fr;
  }

  .client-refresh .category-card,
  .client-refresh .category-card img {
    min-height: 0;
  }

  .client-refresh .category-card figcaption {
    padding: 22px;
  }

  .client-refresh .category-card figcaption span {
    font-size: 14px;
  }

  .client-refresh .projects-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .client-refresh .project-carousel {
    --project-gap: 12px;
    --project-slides-per-view: 1;
  }

  .client-refresh .project-slide {
    flex-basis: calc(100% - 48px);
  }

  .client-refresh .project-carousel__arrow {
    width: 44px;
    height: 44px;
    font-size: 21px;
  }

  .client-refresh .project-carousel__arrow--prev {
    left: 10px;
  }

  .client-refresh .project-carousel__arrow--next {
    right: 10px;
  }

  .client-refresh .image-lightbox__nav {
    width: 44px;
    height: 44px;
    font-size: 28px;
  }

  .client-refresh .image-lightbox__nav--previous {
    left: max(10px, env(safe-area-inset-left));
  }

  .client-refresh .image-lightbox__nav--next {
    right: max(10px, env(safe-area-inset-right));
  }

  .client-refresh .section--compact {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .client-refresh .editorial-route__statement,
  .client-refresh .editorial-route__side {
    padding: 30px 22px;
  }

  .client-refresh .editorial-route__statement blockquote {
    font-size: 39px;
  }

  .client-refresh .editorial-route__side p {
    font-size: 15px;
  }

  .client-refresh .why-grid {
    grid-template-columns: 1fr;
  }

  .client-refresh .why-grid__media {
    min-height: 470px;
  }

  .client-refresh .why-grid__copy {
    gap: 24px;
  }

  .client-refresh .why-list span,
  .client-refresh .process-step p {
    font-size: 14px;
  }

  .client-refresh .why-grid__copy > .button {
    width: 100%;
  }

  .client-refresh .why-section--plaque .why-grid__copy {
    padding: 32px 24px 30px;
    border-left-width: 12px;
  }

  .client-refresh .why-section--plaque .why-grid__copy h2 {
    font-size: clamp(39px, 11vw, 49px);
  }

  .client-refresh .why-section--plaque .why-grid__copy > div:first-child::after {
    margin-top: 22px;
  }

  .client-refresh .why-section--plaque .why-list {
    gap: 16px;
    margin: 27px 0 28px;
  }

  .client-refresh .why-section--plaque .why-list li,
  .client-refresh .why-section--plaque .why-list li:nth-child(even) {
    padding-left: 43px;
  }

  .client-refresh .why-section--plaque .why-list b {
    font-size: 16px;
  }

  .client-refresh .why-section--plaque .why-grid__copy > .button {
    width: 100%;
  }

  .client-refresh .why-section--plaque .why-grid__media {
    min-height: 460px;
    padding: 7px;
  }

  .client-refresh .process-grid {
    grid-template-columns: 1fr;
  }

  .client-refresh .process-step {
    min-height: 0;
    padding: 22px;
  }

  .client-refresh .process-step > span {
    margin-bottom: 25px;
  }

  .client-refresh .form-only {
    gap: 28px;
    padding: 30px 20px;
  }

  .client-refresh .form-only .form-grid {
    grid-template-columns: 1fr;
  }

  .client-refresh .form-only .lead-form {
    grid-template-columns: 1fr;
  }

  .client-refresh .contacts-band {
    gap: 30px;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .client-refresh .contacts-band__intro {
    min-height: 0;
    padding: 0;
  }

  .client-refresh .contact-brand strong {
    font-size: 18px;
  }

  .client-refresh .contact-brand span {
    font-size: 12px;
  }

  .client-refresh .contacts-band__intro h2 {
    margin-top: 22px;
    font-size: 44px;
    white-space: normal;
  }

  .client-refresh .contacts-band__intro p {
    margin-top: 20px;
    font-size: 14px;
  }

  .client-refresh .contact-location {
    margin-top: 20px;
    font-size: 11px;
  }

  .client-refresh .contacts-band__grid {
    grid-template-columns: 1fr;
    border-left: 0;
  }

  .client-refresh .contact-route {
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 14px 0;
  }

  .client-refresh .contact-route svg {
    width: 24px;
    height: 24px;
  }

  .client-refresh .contact-route :is(strong, a) {
    font-size: 17px;
  }

  .client-refresh .contact-route__minor,
  .client-refresh .contact-route em {
    font-size: 10px !important;
  }

  .client-refresh .sticky-cta {
    display: none;
  }
}

@media (max-width: 390px) {
  .client-refresh .brand__logo {
    width: 58px;
  }

  .client-refresh .brand__name {
    font-size: 24px;
  }

  .client-refresh .hero--refresh h1 {
    font-size: 36px;
  }

  .client-refresh .category-card,
  .client-refresh .category-card img {
    min-height: 0;
  }

  .client-refresh .editorial-route__statement blockquote {
    font-size: 35px;
  }
}

/* Mobile hero: preserve a full first screen, while keeping the feature rail
   in the natural content flow rather than leaving a desktop-sized void. */
@media (max-width: 700px) {
  .client-refresh .hero--refresh {
    display: flex;
    flex-direction: column;
    min-height: 100svh;
    height: auto;
  }

  .client-refresh .hero--refresh .hero__copy {
    min-height: 0;
    padding: 78px var(--refresh-gutter) 22px;
  }

  .client-refresh .hero--refresh h1 {
    max-width: none;
    margin-top: 10px;
    font-size: clamp(30px, 8.6vw, 34px);
    line-height: .97;
    letter-spacing: -.022em;
  }

  .client-refresh .hero--refresh .lead {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.42;
  }

  .client-refresh .hero--refresh .hero__actions {
    gap: 8px;
    margin-top: 17px;
  }

  .client-refresh .hero--refresh .hero__actions > * {
    min-height: 44px;
  }

  .client-refresh .hero--refresh .hero__actions .ghost-button {
    padding: 3px 0;
    font-size: 13px;
  }

  .client-refresh .hero-rail {
    --rail-padding: 22px;
    --rail-axis-x: 4px;
    --rail-marker-size: 7px;
    --rail-marker-half: 3.5px;
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: auto;
    margin: 0 var(--refresh-gutter);
    padding-left: var(--rail-padding);
  }

  .client-refresh .hero-rail__item {
    min-height: 43px;
    padding: 0 0 6px 2px;
  }

  .client-refresh .hero-rail__item::before {
    top: 3px;
  }

  .client-refresh .hero-rail__item::after {
    top: 6px;
    bottom: -6px;
  }

  .client-refresh .hero-rail__item strong {
    font-size: 12px;
    line-height: 1.12;
  }

  .client-refresh .hero-rail__item span {
    margin-top: 2px;
    font-size: 9px;
    line-height: 1.15;
  }

  .client-refresh .hero-showroom {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 12px var(--refresh-gutter) 18px;
    font-size: 9px;
  }

  .client-refresh .hero-showroom svg {
    width: 14px;
    height: 14px;
  }

  .client-refresh .category-section {
    padding-top: 38px;
  }
}

@media (max-width: 390px) {
  .client-refresh .hero--refresh h1 {
    font-size: clamp(29px, 8.6vw, 32px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .client-refresh .project-carousel__track,
  .client-refresh .category-card img,
  .client-refresh .project-slide--photo img,
  .client-refresh .why-grid__media img,
  .client-refresh .nav {
    transition: none;
  }
}

/* Compact desktop advantages: both editorial panels share one deliberate height. */
@media (min-width: 861px) {
  .client-refresh .why-section--plaque {
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .client-refresh .why-section--plaque .why-grid {
    align-items: stretch;
  }

  .client-refresh .why-section--plaque .why-grid__copy,
  .client-refresh .why-section--plaque .why-grid__media {
    height: 684px;
    min-height: 684px;
  }

  .client-refresh .why-section--plaque .why-grid__media img {
    height: 100%;
    object-fit: cover;
  }
}

@media (min-width: 861px) and (max-width: 1240px) {
  .client-refresh .why-section--plaque {
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .client-refresh .why-section--plaque .why-grid__copy,
  .client-refresh .why-section--plaque .why-grid__media {
    height: 590px;
    min-height: 590px;
  }
}

@media (max-width: 960px) {
  .client-refresh .category-section {
    padding-bottom: 48px;
  }

  .client-refresh .door-route {
    height: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    background:
      radial-gradient(130% 100% at 0% 0%, rgba(255, 255, 255, .44) 0%, rgba(255, 255, 255, 0) 48%),
      linear-gradient(168deg, #f1e8db 0%, #e8dccb 27%, #aca59a 57%, #1d1b1a 100%);
    border-top-color: #eadfce;
    border-bottom: 0;
  }

  .client-refresh .door-route::after {
    display: none;
  }

  .client-refresh .door-route__copy {
    min-height: 0;
    padding: 40px 24px 15px;
  }

  .client-refresh .door-route__copy h2 {
    font-size: clamp(34px, 10vw, 42px);
  }

  .client-refresh .door-route__actions {
    display: flex;
    gap: 23px;
    padding: 0 24px 32px;
    flex-direction: column;
    align-items: stretch;
  }

  .client-refresh .door-route__actions p {
    max-width: none;
    margin: 0;
    font-size: 16px;
  }

  .client-refresh .door-route__button {
    width: 100%;
  }

  .client-refresh .door-route-spacer {
    height: 48px;
  }
}

/* Approved mobile composition: the hero is a complete first screen, with the
   feature rail inside it; the catalogue keeps its selected two-column order. */
@media (max-width: 700px) {
  .client-refresh .hero--refresh::before {
    background:
      linear-gradient(90deg, rgba(13, 13, 12, .55), rgba(13, 13, 12, .08)),
      linear-gradient(0deg, rgba(13, 13, 12, .80) 0%, rgba(13, 13, 12, .56) 36%, rgba(13, 13, 12, .16) 72%, rgba(13, 13, 12, .02) 88%);
  }

  .client-refresh .hero--refresh .hero__media img {
    filter: none;
  }

  .client-refresh .topbar {
    min-height: 54px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .client-refresh .menu-toggle {
    width: 36px;
    height: 36px;
  }

  .client-refresh .hero--refresh {
    display: grid;
    min-height: max(820px, 100svh);
    height: max(820px, 100svh);
  }

  .client-refresh .hero--refresh .hero__copy {
    min-height: 100%;
    align-items: start;
    align-content: start;
    justify-content: start;
    padding: 84px 24px 260px;
  }

  .client-refresh .hero--refresh h1 {
    max-width: 345px;
    margin-top: 0;
    font-size: 36px;
    line-height: .97;
    letter-spacing: -.022em;
  }

  .client-refresh .hero--refresh .lead {
    max-width: 270px;
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.48;
  }

  .client-refresh .hero--refresh .hero__actions {
    display: grid;
    justify-items: start;
    gap: 8px;
    margin-top: 46px;
  }

  .client-refresh .hero--refresh .hero__actions > * {
    width: auto;
    min-height: 58px;
  }

  .client-refresh .hero--refresh .hero__actions .button {
    min-width: 194px;
    padding-inline: 22px;
    font-size: 12px;
  }

  .client-refresh .hero--refresh .hero__actions .ghost-button {
    min-height: auto;
    padding: 3px 0;
    font-size: 13px;
  }

  .client-refresh .hero-rail {
    --rail-padding: 25px;
    --rail-axis-x: 4.5px;
    --rail-marker-size: 9px;
    --rail-marker-half: 4.5px;
    position: absolute;
    top: auto;
    right: auto;
    bottom: 82px;
    left: 24px;
    width: calc(100% - 48px);
    margin: 0;
    padding-left: var(--rail-padding);
  }

  .client-refresh .hero-rail__item {
    box-sizing: border-box;
    min-height: 0;
    height: 76px;
    padding: 0 0 10px 2px;
  }

  .client-refresh .hero-rail__item:last-child {
    min-height: 0;
    height: 43px;
    padding-bottom: 0;
  }

  .client-refresh .hero-rail__item::before {
    top: 4px;
    width: var(--rail-marker-size);
    height: var(--rail-marker-size);
  }

  .client-refresh .hero-rail__item::after {
    top: 8.5px;
    bottom: -8.5px;
  }

  .client-refresh .hero-rail__item strong {
    font-size: 14px;
    line-height: 1.12;
  }

  .client-refresh .hero-rail__item span {
    margin-top: 2px;
    font-size: 9.5px;
    line-height: 1.2;
  }

  .client-refresh .hero-showroom {
    position: absolute;
    right: auto;
    bottom: 28px;
    left: 24px;
    margin: 0;
    font-size: 9px;
  }

  .client-refresh .hero-showroom svg {
    width: 14px;
    height: 14px;
  }

  .client-refresh .category-section {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .client-refresh .category-section .section__head {
    margin-bottom: 22px;
  }

  .client-refresh .category-section h2 {
    margin-top: 0;
    font-size: clamp(31px, 8.5vw, 34px);
    line-height: .98;
  }

  .client-refresh .category-section .section__intro {
    margin-top: 18px;
    font-size: 13px;
    line-height: 1.48;
  }

  .client-refresh .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 4px;
    border: 0;
  }

  .client-refresh .category-card {
    min-height: 0;
    aspect-ratio: 1 / 1.5;
  }

  .client-refresh .category-card:nth-child(1) { grid-column: 1; grid-row: 1; }
  .client-refresh .category-card:nth-child(2) { grid-column: 2; grid-row: 1; }
  .client-refresh .category-card:nth-child(7) { grid-column: 1; grid-row: 2; }
  .client-refresh .category-card:nth-child(6) { grid-column: 2; grid-row: 2; }
  .client-refresh .category-card:nth-child(3) { grid-column: 1; grid-row: 3; }
  .client-refresh .category-card:nth-child(5) { grid-column: 2; grid-row: 3; }
  .client-refresh .category-card:nth-child(8) { grid-column: 1; grid-row: 4; }
  .client-refresh .category-card:nth-child(4) { grid-column: 2; grid-row: 4; }

  .client-refresh .category-card::after {
    display: none;
  }

  .client-refresh .category-card figcaption {
    min-height: 42%;
    padding: 11px 10px 10px;
  }

  .client-refresh .category-card figcaption b {
    font-size: 11px;
    line-height: 1.15;
  }

  .client-refresh .category-card:nth-child(1) img { object-position: 50% 44%; }
  .client-refresh .category-card:nth-child(2) img { object-position: 50% 50%; }
  .client-refresh .category-card:nth-child(3) img { object-position: 50% 50%; }
  .client-refresh .category-card:nth-child(4) img { object-position: 50% 46%; }
  .client-refresh .category-card:nth-child(5) img { object-position: 50% 45%; }
  .client-refresh .category-card:nth-child(6) img { object-position: 50% 51%; }
  .client-refresh .category-card:nth-child(7) img { object-position: 50% 49%; }
  .client-refresh .category-card:nth-child(8) img { object-position: 50% 50%; }
}

@media (max-width: 390px) {
  .client-refresh .hero--refresh h1 {
    font-size: 35px;
  }
}

/* On iPhone Chrome the visible viewport is shorter than the device's 844px
   screen. Keep the approved hero composition inside that actual first screen. */
@media (max-width: 700px) and (max-height: 720px) {
  .client-refresh .hero--refresh {
    min-height: 100svh;
    height: 100svh;
  }

  .client-refresh .hero--refresh .hero__copy {
    padding: 74px 24px 204px;
  }

  .client-refresh .hero--refresh h1 {
    font-size: 32px;
    line-height: .99;
  }

  .client-refresh .hero--refresh .lead {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.4;
  }

  .client-refresh .hero--refresh .hero__actions {
    gap: 6px;
    margin-top: 12px;
  }

  .client-refresh .hero--refresh .hero__actions > * {
    min-height: 50px;
  }

  .client-refresh .hero--refresh .hero__actions .button {
    min-width: 184px;
    padding-inline: 18px;
    font-size: 11px;
  }

  .client-refresh .hero--refresh .hero__actions .ghost-button {
    min-height: auto;
    font-size: 12px;
    transform: translateY(6px);
  }

  .client-refresh .hero--refresh .hero__actions .ghost-button:hover,
  .client-refresh .hero--refresh .hero__actions .ghost-button:focus-visible {
    transform: translateY(6px);
  }

  .client-refresh .hero-rail {
    top: clamp(356px, calc(100svh - 287px), 377px);
    bottom: auto;
  }

  .client-refresh .hero-rail__item {
    height: 57px;
    padding-bottom: 10px;
  }

  .client-refresh .hero-rail__item:last-child {
    height: 40px;
  }

  .client-refresh .hero-rail__item strong {
    font-size: 12.5px;
  }

  .client-refresh .hero-rail__item span {
    font-size: 8.5px;
  }

  .client-refresh .hero-showroom {
    top: calc(clamp(356px, calc(100svh - 287px), 377px) + 239px);
    bottom: auto;
    font-size: 8px;
  }
}
