.services-page.service-detail, .cert-page.service-detail { background: #fff !important; padding: 145px 0 80px; min-height: auto; }
.service-detail .service-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.service-detail .service-intro { padding-top: 22px; }
.service-detail .service-kicker { display: inline-block; color: #145bff; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 18px; }
.service-detail .service-heading { font-family: var(--font-display); font-size: clamp(34px, 4vw, 48px); line-height: 1.12; color: #061938; margin-bottom: 22px; }
.service-detail .service-description { color: #526077; font-size: 16px; line-height: 1.8; margin-bottom: 32px; }
.service-detail .service-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.service-detail .service-step { display: flex; gap: 16px; align-items: flex-start; }
.service-detail .step-number { flex-shrink: 0; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #edf3ff; color: #145bff; font-weight: 800; font-size: 13px; }
.service-detail .service-step h2 { font-size: 18px; font-family: var(--font-display); color: #061938; margin-bottom: 5px; }
.service-detail .service-step p { color: #526077; font-size: 14px; line-height: 1.7; }
.service-detail .form-card { position: relative; background: #f7f9fd; border: 1px solid #dce5f1; border-radius: 24px; padding: 32px; max-width: none; margin: 0; box-shadow: 0 12px 36px rgba(6,25,56,.05); backdrop-filter: none; }
.service-detail .form-title { color: #061938; font-size: 24px; text-align: left; margin-bottom: 24px; }
.service-detail .form-label { color: #34415a; text-transform: none; letter-spacing: normal; font-size: 14px; }
.service-detail .form-control { color: #061938; background: #fff; border: 1px solid #cfdaea; }
.service-detail .form-control::placeholder { color: #66758b; opacity: 1; }
.service-detail .form-control option { color: #061938; background: #fff; }
.service-detail .form-control:focus { background: #fff; border-color: #145bff; box-shadow: 0 0 0 3px #e0eaff; }
.service-detail .handoff-note, .service-detail .cert-info-item { color: #526077; }
.service-detail .btn-submit { border-radius: 12px; }
.service-detail .certificate-stage { --mascot-width: 290px; --mascot-overlap: 76px; position: relative; padding-top: calc(var(--mascot-width) * 1167 / 1323 - var(--mascot-overlap) - 24px); isolation: isolate; }
.service-detail .certificate-stage .form-card { z-index: 2; padding-top: calc(var(--mascot-overlap) + 24px); }
.service-detail .certificate-art { position: absolute; z-index: 3; top: -24px; right: 14px; width: var(--mascot-width); margin: 0; pointer-events: none; transform: none; }
.service-detail .certificate-art img { width: 100%; max-width: none; height: auto; }
.cert-page.service-detail .certificate-stage, .cert-page.service-detail .certificate-art { overflow:visible; }
.cert-page.service-detail .certificate-art img { display:block; height:auto !important; object-fit:contain; clip-path:none; }
.cert-page.service-detail::before, .cert-page.service-detail::after { display: none; }
.cert-page.service-detail .certificate-stage { --mascot-width:230px; --mascot-overlap:80px; padding-top:113px; }
.cert-page.service-detail .certificate-art { top:0; }
.certificate-step { border:0; padding:0; margin:0; min-width:0; }
.certificate-step[hidden] { display:none; }
.certificate-step legend { font-size:16px; font-weight:700; color:#34415a; margin-bottom:20px; }
.certificate-step .certificate-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.certificate-progress { display:flex; gap:12px; list-style:none; padding:0; margin:0 0 24px; }
.certificate-progress li { flex:1; padding:10px 8px; color:#526077; background:#e8edf5; border-radius:10px; font-size:13px; }
.certificate-progress li.is-active { background:#dfeaff; color:#123d9c; font-weight:700; }
.certificate-actions { display:flex; gap:12px; align-items:center; margin-top:20px; }
.certificate-actions .btn-submit { margin-top:0; }
.certificate-back { border:1px solid #c8d6eb; border-radius:12px; padding:16px; background:#fff; color:#123d9c; font:inherit; cursor:pointer; }
.certificate-back:focus-visible { outline:3px solid #145bff; outline-offset:3px; }
.cert-page.service-detail .certificate-stage { padding-top:180px; }
.cert-page.service-detail .certificate-art { width:225px; top:0; right:18px; }
.cert-page.service-detail .certificate-stage .form-card { padding-top:44px; }
.cert-page.service-detail .certificate-actions { justify-content:space-between; flex-wrap:wrap; }
.cert-page.service-detail .certificate-actions .btn-submit { width:fit-content; padding:16px 22px; font-size:15px; }
@media(max-width:700px) {
  .cert-page.service-detail .certificate-stage { padding-top:168px; }
  .cert-page.service-detail .certificate-art { width:210px; }
  .cert-page.service-detail .certificate-stage .form-card { padding-top:40px; }
  .cert-page.service-detail .certificate-actions { gap:8px; }
  .cert-page.service-detail .certificate-actions .btn-submit { padding:14px 16px; font-size:14px; }
  .cert-page.service-detail .certificate-back { padding:14px 12px; }
}
@media (max-width: 900px) {
  .service-detail .service-layout { gap: 32px; }
  .service-detail .form-card { padding: 26px; }
}
@media (max-width: 700px) {
  .services-page.service-detail, .cert-page.service-detail { padding: 110px 0 48px; }
  .service-detail .service-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .service-detail .service-intro { padding-top: 0; }
  .service-detail .service-heading { font-size: 36px; }
  .service-detail .form-card { padding: 24px 20px; }
  .service-detail .certificate-stage { --mascot-width: min(260px, 90%); --mascot-overlap: 68px; padding-top: 137px; margin-top: 16px; }
  .service-detail .certificate-stage .form-card { padding-top: 92px; }
  .service-detail .certificate-art { right: 8px; }
}
