/* Editorial visual system shared by the inner-page introductions.
   Restrict selectors to the Renew theme's intended public pages. */
:root {
  --renew-editorial-display: 'Bodoni 72', Didot, 'Times New Roman', serif;
  --renew-editorial-copy: 'Avenir Next', Avenir, 'Helvetica Neue', Arial, sans-serif;
  --renew-editorial-sage: #697c70;
  --renew-editorial-ink: #2d3536;
  --renew-editorial-space: clamp(38px, 6vw, 82px);
}
/* Services: mirror Home's display typography, normal/italic contrast and rhythm. */
.renew-services-template .renew-services-page {
  background: #f2efe2;
  padding-top: var(--renew-editorial-space);
}
.renew-services-template .renew-services-intro {
  max-width: 770px;
  padding-inline: 14px;
  margin-bottom: clamp(38px, 5vw, 60px);
}
.renew-services-template .renew-services-eyebrow {
  font-family: var(--renew-editorial-copy);
  color: #6b8976;
  font-weight: 800;
  letter-spacing: .2em;
  font-size: .75rem;
}
.renew-services-template .renew-services-intro h1 {
  font-family: var(--renew-editorial-display);
  font-weight: 400;
  font-style: normal;
  font-size: clamp(3rem, 6vw, 5.7rem);
  letter-spacing: -.035em;
  line-height: 1.02;
  margin: 20px auto 25px;
  color: var(--renew-editorial-ink);
  text-wrap: balance;
}
.renew-services-template .renew-services-intro h1 em {
  color: var(--renew-editorial-sage);
  font-family: 'Snell Roundhand', 'Apple Chancery', cursive;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.018em;
}
.renew-services-template .renew-services-intro p {
  font-family: var(--renew-editorial-copy);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  line-height: 1.7;
  max-width: 58ch;
  color: #4a5858;
}
/* Careers and Contact retain their content and photos but use shared first-fold spacing. */
body.page .renew-editorial-photo--careers,
body.page .renew-editorial-photo--contact {
  margin-top: var(--renew-editorial-space) !important;
  margin-bottom: clamp(35px, 4vw, 56px) !important;
}
body.page .renew-editorial-photo--careers .renew-editorial-photo-frame,
body.page .renew-editorial-photo--contact .renew-editorial-photo-frame {
  border-radius: 72px 36px 72px 36px;
  box-shadow: 0 22px 55px rgba(71,91,82,.12);
}
body.page .renew-join-page,
body.page .renew-contact-page {
  color: var(--renew-editorial-ink);
}
body.page .renew-join-page h1,
body.page .renew-join-page h2:not(.renew-job-card h2),
body.page .renew-contact-page h1,
body.page .renew-contact-page h2 {
  font-family: var(--renew-editorial-display);
  font-weight: 400;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body.page .renew-join-page > .wp-block-group__inner-container > h1,
body.page .renew-join-page > .wp-block-group__inner-container > h2,
body.page .renew-contact-page > .wp-block-group__inner-container > h1 {
  font-size: clamp(3.2rem, 6vw, 5.7rem);
  line-height: 1.06;
}
@media (max-width: 700px) {
  .renew-services-template .renew-services-page { padding: 44px 15px 78px; }
  .renew-services-template .renew-services-intro { margin-bottom: 40px; }
  .renew-services-template .renew-services-intro h1 { font-size: clamp(3.15rem, 12vw, 4.5rem); }
  .renew-services-template .renew-services-intro p { font-size: 1rem; line-height: 1.7; }
  body.page .renew-editorial-photo--careers,
  body.page .renew-editorial-photo--contact {
    margin-top: 36px !important;
    margin-bottom: 38px !important;
  }
  body.page .renew-editorial-photo--careers .renew-editorial-photo-frame,
  body.page .renew-editorial-photo--contact .renew-editorial-photo-frame {
    border-radius: 48px 25px 48px 25px;
  }
}

/* v2: target the blocks and Contact Studio's actual front-end structure. */
body.page .renew-join-page > h1.wp-block-heading,
body.page .renew-join-page > h2.wp-block-heading,
body.page .renew-join-page > .wp-block-heading:first-child,
body.page .renew-contact-page .rcs-front-intro h1 {
  font-family: var(--renew-editorial-display) !important;
  color: var(--renew-editorial-ink);
  font-size: clamp(3.3rem, 6.5vw, 6rem) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}
body.page .renew-join-page > h1.wp-block-heading,
body.page .renew-join-page > h2.wp-block-heading {
  margin: 0 auto clamp(18px, 3vw, 32px) !important;
  max-width: 12ch;
}
body.page .renew-join-page > p:first-of-type,
body.page .renew-contact-page .rcs-front-lede {
  font-family: var(--renew-editorial-copy);
  color: #55625e;
  font-size: clamp(1.05rem, 1.75vw, 1.32rem) !important;
  line-height: 1.7 !important;
  letter-spacing: -.01em;
  max-width: 54ch;
  margin-inline: auto !important;
  text-align: center;
}
body.page .renew-contact-page .rcs-front-intro h1 { max-width: 14ch !important; margin-inline: auto !important; }
body.page .renew-contact-page .rcs-front-eyebrow {
  font-family: var(--renew-editorial-copy);
  font-weight: 800;
  font-size: .76rem;
  letter-spacing: .2em;
  color: var(--renew-editorial-sage);
  margin-bottom: clamp(16px,2vw,24px);
}
body.page .renew-join-page.is-style-renew-section,
body.page .renew-contact-page {
  padding-top: 0 !important;
}
body.page .renew-join-page .renew-job-list { margin-top: clamp(38px, 5vw, 66px); }
@media (max-width: 700px) {
  body.page .renew-join-page > h1.wp-block-heading,
  body.page .renew-join-page > h2.wp-block-heading,
  body.page .renew-contact-page .rcs-front-intro h1 {
    font-size: clamp(3.35rem, 11.2vw, 4.8rem) !important;
    line-height: 1.03 !important;
  }
  body.page .renew-join-page > p:first-of-type,
  body.page .renew-contact-page .rcs-front-lede {
    font-size: 1.05rem !important;
    line-height: 1.65 !important;
    padding-inline: 10px;
  }
  body.page .renew-contact-page .rcs-front-intro { margin-bottom: 42px; }
}
