.renovation-city-v1 {
  --city-ink: #0b213b;
  --city-navy: #071f35;
  --city-teal: #0d4650;
  --city-green: #117247;
  --city-green-bright: #2ec67d;
  --city-mint: #dff8ec;
  --city-sky: #edf6fb;
  --city-line: #d5e2e9;
  --city-muted: #5a6d7b;
  color: var(--city-ink);
  background: #fff;
}

.renovation-city-v1 .reno-breadcrumb {
  background: #061a2c;
  border-top: 1px solid rgba(255,255,255,.06);
  color: #b8cad6;
}

.renovation-city-v1 .reno-breadcrumb .container {
  display: flex;
  gap: .7rem;
  align-items: center;
  min-height: 48px;
  font-size: .92rem;
}

.renovation-city-v1 .reno-breadcrumb a { color: #fff; }

.reno-city-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(55,170,124,.08) 1px, transparent 1px),
    linear-gradient(rgba(55,170,124,.08) 1px, transparent 1px),
    radial-gradient(circle at 92% 8%, rgba(46,198,125,.2), transparent 28%),
    linear-gradient(125deg, #071d31 0%, #082a42 58%, #0b4b52 100%);
  background-size: 78px 78px, 78px 78px, auto, auto;
}

.reno-city-hero__grid {
  display: grid;
  grid-template-columns: minmax(0,1.04fr) minmax(380px,.96fr);
  gap: clamp(2rem,5vw,5rem);
  align-items: center;
  min-height: 660px;
  padding-block: clamp(3.6rem,7vw,6.8rem);
}

.reno-city-eyebrow,
.reno-city-kicker {
  margin: 0 0 .8rem;
  color: #8ee5bc;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.reno-city-kicker { color: var(--city-green); }
.reno-city-section--dark .reno-city-kicker,
.reno-city-final .reno-city-kicker { color: #8ee5bc; }

.reno-city-hero h1 {
  max-width: 780px;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem,5.4vw,5.6rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.reno-city-hero__lead {
  max-width: 690px;
  margin: 1.35rem 0 0;
  color: #d5e3ec;
  font-size: clamp(1.06rem,1.45vw,1.28rem);
  line-height: 1.65;
}

.reno-city-hero__actions,
.reno-city-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  align-items: center;
  margin-top: 1.6rem;
}

.reno-city-hero .btn,
.reno-city-final .btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.reno-city-btn-secondary {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.2rem;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 12px;
  color: #fff;
  font-weight: 750;
}

.reno-city-btn-secondary:hover { background: rgba(255,255,255,.1); color: #fff; }

.reno-city-phone {
  color: #fff;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: .25rem;
}

.reno-city-trust {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 1.65rem 0 0;
  padding: 0;
  list-style: none;
}

.reno-city-trust li {
  padding: .55rem .78rem;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(4,22,38,.36);
  color: #e7f3f7;
  font-size: .82rem;
  font-weight: 750;
}

.reno-city-hero__visual { position: relative; padding: 0 0 2.4rem 2.4rem; }
.reno-city-hero__visual figure { margin: 0; }

.reno-city-hero__main {
  position: relative;
  overflow: hidden;
  min-height: 500px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  background: #122c3e;
  box-shadow: 0 28px 70px rgba(0,0,0,.34);
}

.reno-city-hero__main img {
  width: 100%;
  height: 100%;
  min-height: 500px;
  object-fit: cover;
}

.reno-city-hero__main figcaption,
.reno-city-hero__secondary figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 1.25rem;
  color: #fff;
  background: linear-gradient(transparent, rgba(3,18,31,.94));
  font-weight: 760;
}

.reno-city-hero__main figcaption span,
.reno-city-hero__secondary figcaption span {
  display: block;
  margin-bottom: .25rem;
  color: #93e7c0;
  font-size: .7rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.reno-city-hero__secondary {
  position: absolute;
  right: -1.2rem;
  bottom: 0;
  width: min(270px,50%);
  overflow: hidden;
  border: 8px solid #08283e;
  border-radius: 22px;
  background: #0a2134;
  box-shadow: 0 18px 50px rgba(0,0,0,.32);
}

.reno-city-hero__secondary img {
  display: block;
  width: 100%;
  aspect-ratio: 1.3;
  object-fit: cover;
}

.reno-city-section { padding-block: clamp(4rem,7vw,6.5rem); }
.reno-city-section--soft { background: var(--city-sky); }
.reno-city-section--mint { background: linear-gradient(145deg,#effcf6,#e0f5ec); }
.reno-city-section--dark { color: #fff; background: var(--city-navy); }

.reno-city-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(280px,.56fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 2rem;
}

.reno-city-heading h2 {
  max-width: 820px;
  margin: 0;
  color: var(--city-ink);
  font-size: clamp(2rem,3.6vw,3.6rem);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.reno-city-section--dark .reno-city-heading h2,
.reno-city-section--dark .reno-city-heading p { color: #fff; }
.reno-city-heading > p { margin: 0; color: var(--city-muted); line-height: 1.7; }

.reno-city-paths,
.reno-city-scope-grid,
.reno-city-proof-grid,
.reno-city-process,
.reno-city-cost-grid {
  display: grid;
  gap: 1rem;
}

.reno-city-paths { grid-template-columns: repeat(2,minmax(0,1fr)); }
.reno-city-path-card,
.reno-city-scope-card,
.reno-city-cost-card {
  border: 1px solid var(--city-line);
  border-radius: 20px;
  background: #fff;
}

.reno-city-path-card { padding: clamp(1.4rem,3vw,2.2rem); }
.reno-city-path-card--commercial { color: #fff; border-color: #183b54; background: #0d2c44; }
.reno-city-path-card h3 { margin: .35rem 0 .75rem; font-size: 1.55rem; }
.reno-city-path-card--commercial h3,
.reno-city-path-card--commercial p,
.reno-city-path-card--commercial a { color: #fff; }
.reno-city-path-card ul { margin: 1rem 0 0; padding-left: 1.1rem; }
.reno-city-path-card li + li { margin-top: .45rem; }
.reno-city-path-card__label { color: var(--city-green); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.reno-city-path-card--commercial .reno-city-path-card__label { color: #8ee5bc; }

.reno-city-scope-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.reno-city-scope-card { padding: 1.5rem; }
.reno-city-scope-card span,
.reno-city-cost-card span,
.reno-city-process article span {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 50%;
  color: #fff;
  background: var(--city-green);
  font-weight: 850;
}
.reno-city-scope-card h3,
.reno-city-cost-card h3 { margin: 0 0 .6rem; font-size: 1.2rem; }
.reno-city-scope-card p,
.reno-city-cost-card p { margin: 0; color: var(--city-muted); line-height: 1.65; }

.reno-city-proof-grid { grid-template-columns: 1.35fr .8fr .8fr; }
.reno-city-proof-grid figure {
  position: relative;
  min-height: 360px;
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #10283a;
}
.reno-city-proof-grid img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.reno-city-proof-grid figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 2.4rem 1.2rem 1.15rem;
  color: #fff;
  background: linear-gradient(transparent,rgba(3,18,31,.94));
  font-weight: 750;
}

.reno-city-local-grid {
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(300px,.68fr);
  gap: clamp(2rem,5vw,5rem);
  align-items: start;
}
.reno-city-local-copy h2 { margin: 0 0 1rem; font-size: clamp(2rem,3.5vw,3.5rem); line-height: 1.06; letter-spacing: -.04em; }
.reno-city-local-copy p { color: var(--city-muted); font-size: 1.04rem; line-height: 1.75; }
.reno-city-local-card { padding: 1.6rem; border: 1px solid #b9ddce; border-radius: 20px; background: rgba(255,255,255,.76); }
.reno-city-local-card h3 { margin: 0 0 .8rem; }
.reno-city-local-card ul { margin: 0; padding-left: 1.1rem; }
.reno-city-local-card li + li { margin-top: .55rem; }
.reno-city-local-links { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem; }
.reno-city-local-links a { padding: .55rem .75rem; border: 1px solid #a9cdbf; border-radius: 999px; background: #fff; color: #0c5839; font-size: .86rem; font-weight: 750; }

.reno-city-cost-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.reno-city-cost-card { padding: 1.35rem; }

.reno-city-process { grid-template-columns: repeat(4,minmax(0,1fr)); counter-reset: process; }
.reno-city-process article { position: relative; padding: 1.4rem; border-top: 3px solid var(--city-green-bright); background: rgba(255,255,255,.06); }
.reno-city-process article h3 { margin: 0 0 .55rem; color: #fff; }
.reno-city-process article p { margin: 0; color: #cbdbe5; line-height: 1.6; }

.reno-city-proof-band {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 1px;
  border: 1px solid var(--city-line);
  border-radius: 18px;
  overflow: hidden;
  background: var(--city-line);
}
.reno-city-proof-band article { padding: 1.3rem; background: #fff; }
.reno-city-proof-band strong { display: block; color: var(--city-green); font-size: 1.28rem; }
.reno-city-proof-band span { display: block; margin-top: .25rem; color: var(--city-muted); font-size: .82rem; }

.reno-city-faq { max-width: 900px; margin-inline: auto; }
.reno-city-faq details { border-bottom: 1px solid var(--city-line); }
.reno-city-faq summary { min-height: 58px; padding: 1rem 2.3rem 1rem 0; cursor: pointer; color: var(--city-ink); font-weight: 800; }
.reno-city-faq p { margin: 0; padding: 0 0 1.25rem; color: var(--city-muted); line-height: 1.7; }

.reno-city-related { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.reno-city-related a { padding: 1rem; border: 1px solid var(--city-line); border-radius: 14px; color: var(--city-ink); background: #fff; font-weight: 780; }
.reno-city-related a:hover { border-color: var(--city-green); color: var(--city-green); }

.reno-city-final {
  padding-block: clamp(4rem,7vw,6.5rem);
  color: #fff;
  text-align: center;
  background: linear-gradient(125deg,#082237,#0b4c4f);
}
.reno-city-final h2 { max-width: 850px; margin: 0 auto; color: #fff; font-size: clamp(2.2rem,4.2vw,4rem); line-height: 1.04; letter-spacing: -.045em; }
.reno-city-final p { max-width: 690px; margin: 1rem auto 0; color: #d6e5eb; line-height: 1.7; }
.reno-city-final .reno-city-actions { justify-content: center; }

@media (max-width: 1020px) {
  .reno-city-hero__grid { grid-template-columns: 1fr 380px; gap: 2rem; }
  .reno-city-hero h1 { font-size: clamp(2.8rem,6vw,4.4rem); }
  .reno-city-scope-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reno-city-cost-grid,
  .reno-city-process { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .reno-city-hero__grid { grid-template-columns: 1fr; min-height: auto; padding-block: 2.4rem 3.4rem; }
  .reno-city-hero h1 { font-size: clamp(2.55rem,12vw,3.55rem); }
  .reno-city-hero__lead { margin-top: 1rem; font-size: 1rem; }
  .reno-city-hero__actions { margin-top: 1.2rem; }
  .reno-city-hero__actions .btn,
  .reno-city-btn-secondary { width: 100%; }
  .reno-city-hero .reno-city-btn-secondary { display: none; }
  .reno-city-phone { width: 100%; text-align: center; }
  .reno-city-hero .reno-city-trust { display: none; }
  .reno-city-hero__visual { padding: 0 0 1.5rem; }
  .reno-city-hero__main,
  .reno-city-hero__main img { min-height: 300px; }
  .reno-city-hero__secondary { right: -.35rem; width: 42%; border-width: 5px; }
  .reno-city-hero__secondary figcaption { display: none; }
  .reno-city-heading { grid-template-columns: 1fr; gap: .8rem; }
  .reno-city-paths,
  .reno-city-scope-grid,
  .reno-city-proof-grid,
  .reno-city-local-grid,
  .reno-city-process,
  .reno-city-related { grid-template-columns: 1fr; }
  .reno-city-scope-card,
  .reno-city-cost-card {
    display: grid;
    grid-template-columns: 2.2rem minmax(0,1fr);
    column-gap: .8rem;
    padding: 1.05rem;
  }
  .reno-city-scope-card span,
  .reno-city-cost-card span { grid-row: 1 / 3; margin: 0; }
  .reno-city-scope-card h3,
  .reno-city-cost-card h3 { margin: .1rem 0 .35rem; }
  .reno-city-scope-card p,
  .reno-city-cost-card p { font-size: .92rem; }
  .reno-city-cost-grid,
  .reno-city-proof-band { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reno-city-related { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .reno-city-proof-grid figure,
  .reno-city-proof-grid img { min-height: 260px; }
  .reno-city-section { padding-block: 3.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .renovation-city-v1 *,
  .renovation-city-v1 *::before,
  .renovation-city-v1 *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
