.elementor-336 .elementor-element.elementor-element-be4daf7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-2ac6f87 */.cpr-svc {
  --cpr-navy: #0D1B3D;
  --cpr-red: #D71920;
  --cpr-red-soft: #E84A50;
  --cpr-blue: #0072CE;
  --cpr-green: #2E7D32;
  --cpr-ink: #1B2440;
  --cpr-body: #47506B;
  --cpr-line: #DDE2ED;
  --cpr-wash: #F5F7FB;
  color: var(--cpr-body);
  line-height: 1.65;
}
 
.cpr-svc *, .cpr-svc *::before, .cpr-svc *::after { box-sizing: border-box; }
 
.cpr-svc-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
 
/* ---------- Headings: inherit Astra's font ---------- */
.cpr-svc h1,
.cpr-svc h2,
.cpr-svc h3 {
  color: var(--cpr-navy);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.08;
  margin: 0 0 16px;
}
.cpr-svc h2 { font-size: clamp(28px, 4vw, 44px); }
.cpr-svc h3 { font-size: clamp(18px, 1.9vw, 21px); }
.cpr-svc p { margin: 0 0 18px; }
.cpr-svc a { color: var(--cpr-blue); }
 
.cpr-svc-eyebrow,
.cpr-svc-eyebrow-dark {
  font-size: 12px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; margin: 0 0 14px;
}
.cpr-svc-eyebrow { color: var(--cpr-red-soft); }
.cpr-svc-eyebrow-dark { color: var(--cpr-red); }
 
.cpr-svc-sub { font-size: clamp(15.5px, 1.5vw, 17px); max-width: 800px; margin: 0 0 36px; }
.cpr-svc-sub em { font-style: italic; color: var(--cpr-ink); }
 
/* ---------- Buttons ---------- */
.cpr-svc .cpr-btn {
  display: inline-block; padding: 15px 28px;
  font-size: 15px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  text-decoration: none; border-radius: 3px;
  border: 2px solid transparent; transition: all .2s ease;
}
.cpr-svc .cpr-btn-red { background: var(--cpr-red); color: #fff; }
.cpr-svc .cpr-btn-red:hover { background: #b3141a; color: #fff; }
.cpr-svc .cpr-btn-white { background: #fff; color: var(--cpr-red); }
.cpr-svc .cpr-btn-white:hover { background: #f0f0f0; color: var(--cpr-red); }
.cpr-svc .cpr-btn-ghost,
.cpr-svc .cpr-btn-ghost-light { border-color: rgba(255,255,255,.58); color: #fff; }
.cpr-svc .cpr-btn-ghost:hover,
.cpr-svc .cpr-btn-ghost-light:hover { background: rgba(255,255,255,.14); color: #fff; }
.cpr-svc .cpr-btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
 
/* ---------- Hero ---------- */
.cpr-svc-hero {
  background-color: #0D1B3D;
  background-image:
    linear-gradient(100deg,
      rgba(13,27,61,.95) 0%,
      rgba(13,27,61,.88) 40%,
      rgba(13,27,61,.62) 75%,
      rgba(13,27,61,.48) 100%),
    url('https://cprresponds.com/wp-content/uploads/2026/07/CPR-Restoration-CPRResponds-Day.png');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  padding: clamp(64px, 9vw, 120px) 24px;
}
.cpr-svc-hero-inner { max-width: 1140px; margin: 0 auto; }
.cpr-svc-hero h1 {
  font-size: clamp(34px, 5.4vw, 62px);
  line-height: 1.04;
  margin: 0 0 12px; max-width: 16ch;
  text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.cpr-svc-tagline {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic; font-size: clamp(18px, 2.1vw, 24px);
  color: var(--cpr-red-soft); margin: 0 0 22px;
  text-transform: none;
}
.cpr-svc-hero-copy {
  color: #D5DDEC; font-size: clamp(15px, 1.6vw, 17px);
  max-width: 600px; margin: 0 0 32px;
  text-shadow: 0 1px 12px rgba(0,0,0,.30);
}
.cpr-svc-hero-cta { display: flex; flex-wrap: wrap; gap: 14px; }
 
/* ---------- Feature image band ---------- */
.cpr-svc-feature { padding: clamp(36px, 4.5vw, 56px) 0 0; }
.cpr-svc-feature img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
  border: 1px solid var(--cpr-line);
}
 
/* ---------- Lede ---------- */
.cpr-svc-lede { padding: clamp(44px, 5.5vw, 68px) 0 0; }
.cpr-svc-lede p { font-size: clamp(15.5px, 1.5vw, 17px); max-width: 880px; }
.cpr-svc-lede strong { color: var(--cpr-ink); }
 
/* ---------- Clock / four-card band ---------- */
.cpr-svc-clock { padding: clamp(48px, 6vw, 78px) 0; }
.cpr-svc-clock-grid {
  display: grid; gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(238px, 1fr));
}
.cpr-svc-clock-card {
  background: var(--cpr-wash);
  border-top: 4px solid var(--cpr-red);
  padding: 26px 24px 22px; border-radius: 3px;
}
.cpr-svc-clock-time {
  display: block; font-size: 30px; font-weight: 700;
  color: var(--cpr-red); line-height: 1.1; margin-bottom: 10px;
}
.cpr-svc-clock-time em {
  font-style: normal; font-size: 12px; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--cpr-body);
}
.cpr-svc-clock-card h3 { margin-bottom: 8px; }
.cpr-svc-clock-card p { font-size: 14.5px; margin: 0; }
.cpr-svc-footnote { font-size: 13px; color: #7A8299; margin: 22px 0 0; font-style: italic; }
 
/* ---------- Category / definition blocks ---------- */
.cpr-svc-cats { background: var(--cpr-wash); padding: clamp(48px, 6vw, 78px) 0; }
.cpr-svc-cat {
  display: grid; grid-template-columns: 210px 1fr; gap: 28px;
  background: #fff; border: 1px solid var(--cpr-line);
  border-left: 5px solid var(--cpr-red);
  border-radius: 3px; padding: 26px 28px; margin-bottom: 16px;
}
.cpr-svc-cat-label span {
  display: block; font-size: 22px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .02em;
  color: var(--cpr-navy); line-height: 1.15;
}
.cpr-svc-cat-label em {
  display: block; font-family: 'Playfair Display', Georgia, serif;
  font-size: 15px; color: var(--cpr-red); margin-top: 3px;
}
.cpr-svc-cat-body p { font-size: 15px; margin-bottom: 12px; }
.cpr-svc-cat-body p:last-child { margin-bottom: 0; }
.cpr-svc-cat-body strong { color: var(--cpr-ink); }
.cpr-svc-cat-body em { font-style: italic; }
 
.cpr-svc-callout {
  background: #fff; border: 1px solid var(--cpr-line);
  border-left: 5px solid var(--cpr-blue);
  padding: 24px 28px; margin-top: 28px; border-radius: 3px;
}
.cpr-svc-callout p { margin: 0; font-size: 15px; }
.cpr-svc-callout strong { color: var(--cpr-navy); }
 
/* ---------- Causes list ---------- */
.cpr-svc-causes { padding: clamp(48px, 6vw, 78px) 0; }
.cpr-svc-causes-list { list-style: none; margin: 0; padding: 0; }
.cpr-svc-causes-list li {
  position: relative; padding: 0 0 20px 34px;
  margin-bottom: 20px; border-bottom: 1px solid var(--cpr-line);
  font-size: 15.5px;
}
.cpr-svc-causes-list li:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.cpr-svc-causes-list li::before {
  content: ""; position: absolute; left: 0; top: 8px;
  width: 12px; height: 12px; background: var(--cpr-red);
  transform: rotate(45deg);
}
.cpr-svc-causes-list strong { color: var(--cpr-navy); }
 
/* ---------- Process steps ---------- */
.cpr-svc-process { background: var(--cpr-navy); padding: clamp(48px, 6vw, 78px) 0; }
.cpr-svc-process h2, .cpr-svc-process h3 { color: #fff; }
.cpr-svc-process .cpr-svc-sub { color: #B9C4DC; }
.cpr-svc-steps { list-style: none; margin: 0; padding: 0; }
.cpr-svc-steps li {
  display: grid; grid-template-columns: 72px 1fr; gap: 20px;
  padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.13);
  align-items: start;
}
.cpr-svc-steps li:last-child { border-bottom: none; }
.cpr-svc-step-n {
  font-size: 32px; font-weight: 700;
  color: var(--cpr-red-soft); line-height: 1;
}
.cpr-svc-steps h3 { margin-bottom: 6px; }
.cpr-svc-steps p { color: #B9C4DC; font-size: 15px; margin: 0; }
 
/* ---------- Documentation / two-column ---------- */
.cpr-svc-docs { padding: clamp(48px, 6vw, 78px) 0; }
.cpr-svc-docs-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start;
}
.cpr-svc-docs-grid p { font-size: 15.5px; }
.cpr-svc-docs-grid strong { color: var(--cpr-navy); }
.cpr-svc-equip { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--cpr-navy); }
.cpr-svc-equip li { padding: 16px 0; border-bottom: 1px solid var(--cpr-line); }
.cpr-svc-equip strong {
  display: block; color: var(--cpr-navy);
  font-size: 16px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .03em; margin-bottom: 3px;
}
.cpr-svc-equip span { font-size: 14px; color: var(--cpr-body); }
 
/* ---------- Trust grid ---------- */
.cpr-svc-trust { background: var(--cpr-wash); padding: clamp(48px, 6vw, 78px) 0; }
.cpr-svc-trust-grid {
  display: grid; gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.cpr-svc-trust-grid > div {
  background: #fff; border: 1px solid var(--cpr-line);
  border-top: 3px solid var(--cpr-red);
  padding: 22px; border-radius: 3px;
}
.cpr-svc-trust-grid strong {
  display: block; color: var(--cpr-navy);
  font-size: 17px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .03em; margin-bottom: 6px;
}
.cpr-svc-trust-grid span { font-size: 14.5px; }
 
/* ---------- Service area links ---------- */
.cpr-svc-areas { padding: clamp(48px, 6vw, 78px) 0; }
.cpr-svc-areas-links { display: flex; flex-wrap: wrap; gap: 10px; }
.cpr-svc-areas-links a {
  display: inline-block; padding: 10px 18px;
  border: 1px solid var(--cpr-line); border-radius: 3px;
  background: var(--cpr-wash); color: var(--cpr-navy);
  font-size: 14.5px; font-weight: 600; text-decoration: none;
  transition: all .18s ease;
}
.cpr-svc-areas-links a:hover {
  background: var(--cpr-navy); color: #fff; border-color: var(--cpr-navy);
}
.cpr-svc-areas-links a:focus-visible { outline: 3px solid var(--cpr-blue); outline-offset: 2px; }
.cpr-svc-related { margin-top: 26px; font-size: 15px; }
 
/* ---------- FAQ ---------- */
.cpr-svc-faq { background: var(--cpr-wash); padding: clamp(48px, 6vw, 78px) 0; }
.cpr-svc-faq-item {
  background: #fff; border: 1px solid var(--cpr-line);
  border-radius: 3px; margin-bottom: 10px;
}
.cpr-svc-faq-item summary {
  cursor: pointer; list-style: none; padding: 19px 52px 19px 24px;
  font-size: 16px; font-weight: 700; color: var(--cpr-navy);
  position: relative; line-height: 1.4;
}
.cpr-svc-faq-item summary::-webkit-details-marker { display: none; }
.cpr-svc-faq-item summary::after {
  content: "+"; position: absolute; right: 22px; top: 50%;
  transform: translateY(-50%); font-size: 24px; color: var(--cpr-red); line-height: 1;
}
.cpr-svc-faq-item[open] summary::after { content: "\2013"; }
.cpr-svc-faq-item summary:focus-visible { outline: 3px solid var(--cpr-blue); outline-offset: 2px; }
.cpr-svc-faq-item p { padding: 0 24px 22px; margin: 0; font-size: 15px; }
.cpr-svc-faq-item em { font-style: italic; }
 
/* ---------- Service area map embed ---------- */
.cpr-svc-map {
  margin: 0 0 34px;
  border: 1px solid var(--cpr-line);
  border-radius: 3px;
  overflow: hidden;
  line-height: 0;
  background: var(--cpr-wash);
}
.cpr-svc-map iframe { display: block; width: 100%; border: 0; }
.cpr-svc-areas h3 {
  font-size: 17px; letter-spacing: .04em;
  margin: 0 0 14px; color: var(--cpr-navy);
}
@media (max-width: 600px) {
  .cpr-svc-map iframe { height: 320px; }
}
 
/* ---------- Responsive ---------- */
@media (max-width: 880px) {
  .cpr-svc-cat { grid-template-columns: 1fr; gap: 14px; }
  .cpr-svc-docs-grid { grid-template-columns: 1fr; gap: 34px; }
}
@media (max-width: 600px) {
  .cpr-svc-hero {
    background-image:
      linear-gradient(180deg,
        rgba(13,27,61,.93) 0%,
        rgba(13,27,61,.88) 100%),
      url('https://cprresponds.com/wp-content/uploads/2026/07/CPR-Restoration-CPRResponds-Day.png');
    background-position: center center;
  }
  .cpr-svc-hero-cta { flex-direction: column; }
  .cpr-svc .cpr-btn { text-align: center; }
  .cpr-svc-steps li { grid-template-columns: 50px 1fr; gap: 14px; }
  .cpr-svc-step-n { font-size: 26px; }
  .cpr-svc-faq-item summary { padding-right: 46px; }
}
 
/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .cpr-svc * { transition: none !important; animation: none !important; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-be4daf7 */.cpr-svc-hero,
.cpr-svc-cats,
.cpr-svc-process,
.cpr-svc-trust,
.cpr-svc-faq,
.cpr-svc-final {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
body { overflow-x: hidden; }/* End custom CSS */