/* Re Create Technologies service landing pages — image-first editorial update */
.service-page{--sp-red:#c71931;--sp-text:#242127;--sp-muted:#646169;--sp-bg:#fffdfa;--sp-alt:#faf7f5;--sp-card:#fff;--sp-border:#ede6e3;color:var(--sp-text);background:radial-gradient(circle at 92% 30%,rgba(199,25,49,.045),transparent 35%),radial-gradient(circle at 5% 78%,rgba(199,25,49,.035),transparent 40%),var(--sp-bg);font-family:"DM Sans",sans-serif;overflow:clip}
.service-page *, .service-page *:before,.service-page *:after{box-sizing:border-box}
.service-page .wrap{width:min(1180px,calc(100% - 44px));margin-inline:auto}
.service-page h1,.service-page h2,.service-page h3{font-family:"Bricolage Grotesque",sans-serif;letter-spacing:-.045em;color:var(--sp-text);margin:0}
.service-page h2{font-size:clamp(34px,4.2vw,58px);line-height:1.12}.service-page h3{font-size:21px}.service-page em{font-style:normal;color:var(--sp-red)}.service-page p{line-height:1.75;color:var(--sp-muted)}.service-page a{text-decoration:none}.service-page a:focus-visible,.service-page button:focus-visible,.service-page summary:focus-visible,.service-page .sp-word:focus-visible{outline:3px solid var(--sp-red);outline-offset:5px}
.service-page .sp-kicker{display:inline-flex;align-items:center;color:#992339;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800}
/* Full-width image background on each service hero. Individual SVG illustrations are bundled locally. */
.service-page .sp-hero-image{position:relative;isolation:isolate;min-height:620px;padding:50px 0 95px;background-image:linear-gradient(90deg,rgba(255,253,250,.98) 0%,rgba(255,253,250,.94) 36%,rgba(255,253,250,.65) 56%,rgba(255,253,250,.10) 100%),var(--sp-hero-url);background-color:#fff5f4;background-size:cover;background-position:center;border-bottom:1px solid var(--sp-border)}
.service-page .sp-hero-grid{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;min-height:470px}
.service-page .sp-hero-copy{max-width:670px;z-index:2}.service-page .sp-crumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 62px;color:#665e63;font-size:12px}.service-page .sp-crumb a{color:inherit}.service-page .sp-crumb a:hover{color:var(--sp-red)}
.service-page .sp-interactive-title{margin:18px 0 25px;font-size:clamp(45px,5.8vw,85px);line-height:1.035;letter-spacing:-.065em;max-width:660px;overflow-wrap:anywhere}.service-page .sp-word{display:inline-block;cursor:default;transition:transform .25s,color .25s,text-shadow .25s;border-radius:4px}.service-page .sp-word:hover,.service-page .sp-word:focus-visible{color:var(--sp-red);transform:translateY(-5px);text-shadow:0 12px 25px rgba(199,25,49,.12)}.service-page .sp-hero-description{max-width:525px;color:#514b50;font-size:16px}.service-page .sp-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 22px}
.service-page .sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 23px;border:1px solid transparent;border-radius:8px;font-weight:800;font-size:14px;transition:transform .22s,box-shadow .22s}.service-page .sp-btn:hover{transform:translateY(-3px)}.service-page .sp-btn-primary{background:var(--sp-red);color:white}.service-page .sp-btn-primary:hover{color:white;box-shadow:0 14px 30px #c7193130}.service-page .sp-btn-secondary{background:#fff;color:#29262c;border-color:#e4d9da}
.service-page .sp-hero-points{display:flex;flex-wrap:wrap;gap:9px}.service-page .sp-hero-points span{padding:7px 11px;border:1px solid #e3cdd2;border-radius:100px;color:#9b3347;font-weight:700;font-size:11px;background:rgba(255,255,255,.74)}.service-page .sp-hero-microcopy{position:absolute;right:0;bottom:20px;background:rgba(255,255,255,.85);border:1px solid #ead8db;padding:10px 16px;border-radius:8px;color:#9e354d;font-size:12px;font-weight:800;box-shadow:0 10px 30px #68172a09}
/* Standardized underlying sections, different copy and hero visuals per page */
.service-page .sp-section{padding:95px 0}.service-page .sp-alt{background:rgba(247,244,242,.78)}.service-page .sp-heading{max-width:770px;margin:0 auto 44px;text-align:center}.service-page .sp-heading h2{margin:17px 0}.service-page .sp-heading p{max-width:640px;margin:0 auto}.service-page .sp-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-page .sp-card{background:var(--sp-card);border:1px solid var(--sp-border);border-radius:16px;padding:28px;transition:transform .25s,border-color .25s,box-shadow .25s}.service-page .sp-card:hover{transform:translateY(-6px);border-color:#dd9aa9;box-shadow:0 15px 40px #651e310e}.service-page .sp-card .sp-num{display:inline-flex;color:var(--sp-red);font-size:13px;font-weight:800;letter-spacing:.1em;margin-bottom:21px}.service-page .sp-card h3{margin-bottom:12px}.service-page .sp-card p{font-size:14px;margin:0}
.service-page .sp-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.service-page .sp-split h2{margin:18px 0}.service-page .sp-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.service-page .sp-list li{display:flex;align-items:center;gap:14px;background:var(--sp-card);border:1px solid var(--sp-border);border-radius:11px;padding:18px;font-size:14px;font-weight:700}.service-page .sp-list b{color:var(--sp-red)}
.service-page .sp-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.service-page .sp-step{border:1px solid var(--sp-border);border-radius:15px;background:var(--sp-card);padding:25px;transition:transform .25s}.service-page .sp-step:hover{transform:translateY(-4px)}.service-page .sp-step>span{display:block;color:var(--sp-red);font-size:13px;font-weight:800;margin-bottom:25px}.service-page .sp-step h3{font-size:20px}.service-page .sp-step p{font-size:13px;margin-bottom:0}
.service-page .sp-faq details{padding:19px 4px;border-bottom:1px solid var(--sp-border)}.service-page .sp-faq summary{cursor:pointer;font-weight:800;list-style:none;position:relative;padding-right:35px}.service-page .sp-faq summary::-webkit-details-marker{display:none}.service-page .sp-faq summary:after{content:'+';position:absolute;right:8px;top:-4px;color:var(--sp-red);font-size:25px;transition:transform .2s}.service-page .sp-faq details[open] summary:after{transform:rotate(45deg)}.service-page .sp-faq p{font-size:14px;margin-bottom:0}
.service-page .sp-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-page .sp-related a{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--sp-card);border:1px solid var(--sp-border);border-radius:12px;padding:20px;color:var(--sp-text);font-size:14px;font-weight:800;transition:transform .2s,border-color .2s}.service-page .sp-related a:hover{transform:translateY(-4px);border-color:#d992a3}.service-page .sp-related span{color:var(--sp-red)}
.service-page .sp-reveal{opacity:1;transform:none}.service-page.sp-animate .sp-reveal{opacity:0;transform:translateY(19px);transition:opacity .65s,transform .65s}.service-page.sp-animate .sp-reveal.sp-visible{opacity:1;transform:none}
html[data-theme="dark"] .service-page{--sp-text:#f4f4f5;--sp-muted:#b3b5bd;--sp-bg:#16171a;--sp-alt:#202127;--sp-card:#292b31;--sp-border:#414148;background:var(--sp-bg)}
html[data-theme="dark"] .service-page .sp-hero-image{background-image:linear-gradient(90deg,rgba(22,23,26,.97) 0%,rgba(22,23,26,.89) 38%,rgba(22,23,26,.52) 65%,rgba(22,23,26,.18) 100%),var(--sp-hero-url);background-color:#291d22}
html[data-theme="dark"] .service-page .sp-hero-description,html[data-theme="dark"] .service-page .sp-crumb{color:#e1d7db}html[data-theme="dark"] .service-page .sp-kicker{color:#f19cad}html[data-theme="dark"] .service-page .sp-hero-points span{background:#292126;color:#f19cad;border-color:#663643}
@media(max-width:950px){.service-page .sp-split{grid-template-columns:1fr;gap:35px}.service-page .sp-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-page .sp-hero-image{background-position:60% center}.service-page .sp-hero-microcopy{display:none}}
@media(max-width:650px){.service-page .wrap{width:calc(100% - 30px)}.service-page .sp-hero-image{min-height:auto;padding:33px 0 74px;background-image:linear-gradient(90deg,rgba(255,253,250,.93),rgba(255,253,250,.83)),var(--sp-hero-url);background-position:70% center}.service-page .sp-hero-grid{min-height:0}.service-page .sp-crumb{margin-bottom:54px}.service-page .sp-interactive-title{font-size:clamp(40px,10vw,60px)}.service-page .sp-section{padding:65px 0}.service-page .sp-feature-grid,.service-page .sp-process-grid,.service-page .sp-related{grid-template-columns:1fr}.service-page .sp-actions{display:grid;grid-template-columns:1fr;width:100%}.service-page .sp-hero-description{font-size:15px}html[data-theme="dark"] .service-page .sp-hero-image{background-image:linear-gradient(90deg,rgba(22,23,26,.94),rgba(22,23,26,.85)),var(--sp-hero-url)}}
@media(prefers-reduced-motion:reduce){.service-page .sp-word,.service-page .sp-btn,.service-page .sp-card,.service-page .sp-step{transition:none}.service-page.sp-animate .sp-reveal{opacity:1;transform:none;transition:none}}


/* ===============================================
   MORE SERVICES — SAME CARDS AS services.html
=============================================== */

.service-page .sp-more-services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}

/* Same card structure as main Services page */
.service-page .sp-more-services-grid > .detail {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}

/* Keep feature list above the buttons */
.service-page .sp-more-services-grid .checks {
  margin-bottom: 18px;
}

/* Equal-sized, side-by-side buttons */
.service-page .sp-more-services-grid .service-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px;
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
}

/* Both buttons same width and height */
.service-page .sp-more-services-grid .service-actions > a.btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  min-width: 0;
  min-height: 46px;
  margin: 0 !important;
  padding: 10px 8px;
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
  white-space: normal;
  box-sizing: border-box;
}

/* Tablet */
@media (max-width: 950px) {
  .service-page .sp-more-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 650px) {
  .service-page .sp-more-services-grid {
    grid-template-columns: 1fr;
  }
}
