/* certificate.css = homepage-certificate − homepage-inner + certificate-fallback-style
   Generated from the approved static design by scripts/extract/extract-css.mjs — do not edit by hand.
   The theme's markup mirrors the design's class names. */
/* ================================================================
   Certificate pages — each intentionally distinct, same SHCIS family
   ================================================================ */
.certificate-page .inner-hero{min-height:46rem;background:var(--brand-deep)}
.certificate-page .inner-hero::after{background:linear-gradient(180deg,rgba(6,21,47,.84),rgba(11,33,72,.48) 48%,rgba(6,21,47,.96))}
.certificate-page .inner-hero-content{position:relative;z-index:2}
.certificate-page .certificate-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.certificate-page .certificate-actions a{display:inline-flex;align-items:center;gap:.55rem}
.certificate-page .certificate-shell{max-width:90rem;margin:0 auto;padding:6rem 2.5rem}
.certificate-page .certificate-document{position:relative;border:1px solid rgba(11,33,72,.13);border-radius:1.8rem;background:var(--surface-card);box-shadow:0 1.4rem 4rem rgba(6,21,47,.08);overflow:hidden}
.certificate-page .certificate-document-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--hairline);background:#faf6ef;color:var(--ink-soft);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}
.certificate-page .certificate-document-bar div{display:flex;gap:.35rem}.certificate-page .certificate-document-bar i{width:.52rem;height:.52rem;border-radius:50%;background:var(--hairline);display:block}
.certificate-page .certificate-frame{position:relative;min-height:42rem;background:#ece8df}
.certificate-page .certificate-frame iframe{width:100%;height:42rem;border:0;background:white;display:block}
.certificate-page .certificate-fallback{display:none;padding:4rem 2rem;text-align:center}
.certificate-page .certificate-fallback h3{font-family:var(--serif);font-size:2.4rem;margin:0;color:var(--brand-deep)}
.certificate-page .certificate-fallback p{max-width:32rem;margin:1rem auto 0;color:var(--ink-soft);line-height:1.75}
.certificate-page .cert-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem;border:1px solid var(--hairline);border-radius:1.25rem;overflow:hidden;background:var(--surface-card)}
.certificate-page .cert-meta div{min-height:8rem;padding:1.2rem;border-right:1px solid var(--hairline);display:flex;flex-direction:column;justify-content:space-between}.certificate-page .cert-meta div:last-child{border-right:0}
.certificate-page .cert-meta span{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft)}
.certificate-page .cert-meta strong{font-family:var(--serif);font-size:1.45rem;line-height:1.05;color:var(--brand-deep)}

/* Building Safety — blueprint / measured architecture */
.building-blueprint{background:linear-gradient(180deg,#fffdf9,var(--background))}
.building-cert-layout{display:grid;grid-template-columns:minmax(18rem,.65fr) minmax(0,1.35fr);gap:3.5rem;align-items:start}
.building-cert-copy{position:sticky;top:2rem}.building-cert-copy h2{font-family:var(--serif);font-size:clamp(3.4rem,5.5vw,6.7rem);line-height:.9;letter-spacing:-.04em;margin:1rem 0 0;max-width:8ch;color:var(--brand-deep)}
.building-cert-copy p{font-size:.86rem;line-height:1.8;color:var(--ink-soft);max-width:30rem;margin:1.5rem 0 0}
.blueprint-key{display:grid;gap:.7rem;margin-top:2rem}.blueprint-key div{display:grid;grid-template-columns:2.3rem 1fr;gap:.85rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--hairline)}.blueprint-key b{width:2.3rem;height:2.3rem;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(11,33,72,.18);font-size:.64rem;color:var(--brand)}.blueprint-key span{font-size:.75rem;color:var(--ink)}
.page-building-safety-certificate .certificate-document::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--brand-light),transparent);animation:blueprintScan 5.5s ease-in-out infinite;z-index:3;box-shadow:0 0 1.25rem rgba(201,147,45,.65)}
@keyframes blueprintScan{0%,100%{transform:translateY(3rem);opacity:0}15%{opacity:1}85%{opacity:1}95%{transform:translateY(42rem);opacity:0}}

/* Affiliation — credential / seal / parchment */
.page-school-affiliation-certificate .inner-hero-content{grid-template-columns:minmax(0,1fr) minmax(17rem,.46fr)}
.affiliation-orbit{justify-self:end;position:relative;width:17rem;height:17rem;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(201,147,45,.4);box-shadow:0 0 0 2rem rgba(201,147,45,.035),0 0 0 4rem rgba(201,147,45,.02)}
.affiliation-orbit::before,.affiliation-orbit::after{content:"";position:absolute;border-radius:50%;inset:1.2rem;border:1px dashed rgba(255,255,255,.28);animation:orbitSpin 24s linear infinite}.affiliation-orbit::after{inset:3rem;border-style:solid;border-color:rgba(143,20,34,.45);animation-direction:reverse;animation-duration:18s}
.affiliation-orbit strong{font-family:var(--serif);font-size:3rem;color:white;text-align:center;line-height:.85}.affiliation-orbit strong small{display:block;font-family:var(--sans);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-light);margin-bottom:.8rem}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
.affiliation-stage{background:radial-gradient(circle at 12% 10%,rgba(201,147,45,.11),transparent 26rem),linear-gradient(180deg,#fbf5e9,var(--background))}
.affiliation-intro{text-align:center;max-width:60rem;margin:0 auto 3rem}.affiliation-intro h2{font-family:var(--serif);font-size:clamp(3.7rem,6vw,7.2rem);line-height:.88;letter-spacing:-.045em;margin:1rem auto 0;color:var(--brand-deep)}.affiliation-intro p{max-width:42rem;margin:1.4rem auto 0;color:var(--ink-soft);font-size:.88rem;line-height:1.8}
.page-school-affiliation-certificate .certificate-document{max-width:67rem;margin:0 auto;border-color:rgba(201,147,45,.25);box-shadow:0 2rem 5rem rgba(23,50,77,.09)}
.page-school-affiliation-certificate .certificate-document::before{content:"✦";position:absolute;z-index:3;right:1.3rem;top:3.8rem;width:4rem;height:4rem;border-radius:50%;display:grid;place-items:center;background:var(--brand-deep);color:var(--brand-light);font-family:var(--serif);font-size:2rem;box-shadow:0 .8rem 2rem rgba(6,21,47,.18)}

/* Fire Safety — safety pulse / inspection status */
.page-fire-safety-certificate .inner-hero::before{content:"";position:absolute;width:34rem;height:34rem;border-radius:50%;right:-8rem;bottom:-12rem;border:1px solid rgba(143,20,34,.45);box-shadow:0 0 0 5rem rgba(143,20,34,.06),0 0 0 10rem rgba(201,147,45,.025);z-index:-1;animation:firePulse 4.5s ease-in-out infinite}
@keyframes firePulse{50%{transform:scale(1.04);opacity:.72}}
.fire-stage{background:linear-gradient(135deg,var(--background),#f6eeee 58%,#fbf4e8)}
.fire-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:end;margin-bottom:3rem}.fire-intro h2{font-family:var(--serif);font-size:clamp(3.8rem,6vw,7rem);line-height:.88;letter-spacing:-.045em;margin:1rem 0 0;color:var(--brand-deep)}.fire-intro p{font-size:.9rem;line-height:1.8;color:var(--ink-soft);max-width:38rem}
.fire-status-line{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(143,20,34,.14);border:1px solid rgba(143,20,34,.14);border-radius:1.4rem;overflow:hidden;margin-bottom:1.25rem}.fire-status-line div{background:var(--surface-card);padding:1.2rem}.fire-status-line span{display:block;color:var(--brand);font-size:.58rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.55rem}.fire-status-line strong{font-family:var(--serif);font-size:1.45rem;line-height:1;color:var(--brand-deep)}
.page-fire-safety-certificate .certificate-document{border-top:.28rem solid var(--brand)}
.page-fire-safety-certificate .certificate-document-bar{background:linear-gradient(90deg,#fffaf4,#f7ecee)}

@media(max-width:980px){
  .building-cert-layout,.fire-intro{grid-template-columns:1fr}.building-cert-copy{position:static}.affiliation-orbit{justify-self:start;width:13rem;height:13rem}.certificate-page .inner-hero-content{grid-template-columns:1fr}.certificate-page .certificate-shell{padding:4.5rem 1.5rem}.certificate-page .certificate-frame,.certificate-page .certificate-frame iframe{min-height:34rem;height:34rem}.certificate-page .cert-meta,.fire-status-line{grid-template-columns:1fr}.certificate-page .cert-meta div{border-right:0;border-bottom:1px solid var(--hairline)}.certificate-page .cert-meta div:last-child{border-bottom:0}
}
@media(max-width:640px){.certificate-page .certificate-shell{padding:3.5rem 1rem}.affiliation-orbit{width:10rem;height:10rem}.affiliation-orbit strong{font-size:2rem}.certificate-page .certificate-frame,.certificate-page .certificate-frame iframe{min-height:30rem;height:30rem}}
@media(prefers-reduced-motion:reduce){.page-building-safety-certificate .certificate-document::after,.affiliation-orbit::before,.affiliation-orbit::after,.page-fire-safety-certificate .inner-hero::before{animation:none!important}}

/* ---- certificate-fallback-style ---- */
.certificate-open-action{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem auto 0;max-width:var(--inner-max)}.certificate-open-action p{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.5}
