.certification-page main { padding-top: 1.4rem; }
.cert-hero { position: relative; min-height: 470px; padding: 5.2rem; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .72fr); gap: 4.5rem; align-items: center; overflow: hidden; border: 1px solid #d9c8ea; border-radius: 12px; background: linear-gradient(122deg, #fff 0%, #fcf9ff 48%, #f0e4fb 100%); box-shadow: 0 25px 50px rgba(68, 34, 97, .08); }
.cert-hero::before { content: ""; position: absolute; top: -28rem; right: -11rem; width: 48rem; height: 48rem; border: 1px solid rgba(110, 49, 143, .14); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(183, 137, 215, .06), 0 0 0 9rem rgba(183, 137, 215, .035); pointer-events: none; }
.cert-hero > * { position: relative; z-index: 1; }
.cert-hero h1 { max-width: 690px; margin-bottom: 1.35rem; font-size: clamp(3.3rem, 6.1vw, 6rem); }
.cert-lead { max-width: 600px; margin-bottom: 2rem; color: var(--muted); font-size: 1.02rem; }
.cert-primary { display: inline-flex; align-items: center; gap: .65rem; min-height: 46px; padding: .7rem 1.05rem; border-radius: 4px; background: var(--purple); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; box-shadow: 0 10px 21px rgba(81, 32, 111, .16); transition: background .2s ease, transform .2s ease; }
.cert-primary:hover, .cert-primary:focus-visible { background: var(--purple-dark); outline: 0; transform: translateY(-2px); }
.cert-summary { border: 1px solid rgba(112, 57, 147, .2); border-radius: 7px; background: rgba(255,255,255,.74); box-shadow: 0 17px 33px rgba(71, 31, 97, .08); backdrop-filter: blur(8px); }
.cert-summary div { display: grid; grid-template-columns: 1fr auto; gap: .15rem .8rem; align-items: end; padding: 1.12rem 1.25rem; border-bottom: 1px solid var(--line); }
.cert-summary div:last-child { border-bottom: 0; }
.cert-summary span { grid-column: 1 / -1; color: var(--purple); font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cert-summary strong { font-family: var(--serif); font-size: 2.25rem; font-weight: 400; line-height: .9; }
.cert-summary p { margin: 0; color: var(--muted); font-size: .74rem; text-align: right; }
.certificate-library { padding: 5.5rem 0; }
.certificate-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .85rem; }
.certificate-grid article { min-height: 220px; padding: 1.2rem; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 7px; background: #fff; box-shadow: 0 8px 23px rgba(68, 34, 97, .04); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.certificate-grid article:hover { border-color: #b998d5; box-shadow: 0 14px 29px rgba(68, 34, 97, .1); transform: translateY(-3px); }
.document-type { width: fit-content; padding: .26rem .42rem; border-radius: 3px; background: #f0e4fb; color: var(--purple); font-size: .66rem; font-weight: 800; letter-spacing: .1em; }
.certificate-grid h3 { margin: 2.1rem 0 .45rem; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; line-height: 1.04; }
.certificate-grid p { margin: 0; color: var(--muted); font-size: .76rem; }
.certificate-grid a { display: inline-flex; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: 1.2rem; color: var(--purple); font-size: .69rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.certificate-grid a:hover, .certificate-grid a:focus-visible { color: var(--gold); outline: 0; }
.certificate-grid b { font-size: .95rem; font-weight: 400; }
.document-flow { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 5rem; padding: 5.5rem 0; border-top: 1px solid var(--line); }
.document-flow h2 { margin-bottom: 0; }
.document-flow ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.document-flow li { display: grid; grid-template-columns: 3rem 1fr; gap: .75rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.document-flow li > span { color: var(--gold); font-family: var(--serif); font-size: 1.2rem; }
.document-flow h3 { margin: 0 0 .35rem; font-size: .97rem; }
.document-flow p { margin: 0; color: var(--muted); font-size: .88rem; }
.certificate-request { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-bottom: 5.5rem; padding: 2.65rem; border: 1px solid #6d318f; border-radius: 7px; background: linear-gradient(125deg, #51206f, #7b3d9d); color: #fff; box-shadow: 0 22px 45px rgba(74, 29, 104, .17); }
.certificate-request .eyebrow { color: #ecd9ff; }
.certificate-request h2 { margin: 0; font-size: clamp(2rem, 3.6vw, 3.6rem); }
.certificate-request > div:last-child { align-self: end; }
.certificate-request p:not(.eyebrow) { margin-bottom: 1rem; color: #f0e7f6; }
.certificate-request a { display: inline-flex; align-items: center; gap: .6rem; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.certificate-request a:hover, .certificate-request a:focus-visible { color: #ecd9ff; outline: 0; }

@media (max-width: 1050px) { .certificate-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 840px) {
  .certification-page main { padding-top: 0; }
  .cert-hero { min-height: 0; padding: 3.5rem 2.5rem; grid-template-columns: 1fr; gap: 2.5rem; border-width: 0 0 1px; border-radius: 0; }
  .document-flow, .certificate-request { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 560px) {
  .cert-hero { padding: 3.2rem 1.45rem; }
  .cert-hero h1 { font-size: clamp(3rem, 16vw, 4.2rem); }
  .certificate-grid { grid-template-columns: 1fr; }
  .certificate-request { margin-bottom: 3.5rem; padding: 2rem 1.4rem; }
}
