
:root{
  --nc-blue:#2563ff;--nc-purple:#6c3bff;--nc-cyan:#00c2ff;--nc-dark:#071126;--nc-text:#121826;--nc-muted:#64748b;--nc-border:#e5e7eb;--nc-soft:#f8fafc;--nc-card:#ffffff;
  --nc-gradient:linear-gradient(90deg,var(--nc-purple),var(--nc-blue),var(--nc-cyan));
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--nc-text);background:#fff;letter-spacing:-.01em}
a{color:var(--nc-blue)}
.navbar{backdrop-filter:blur(16px);background:rgba(255,255,255,.9)!important;border-bottom:1px solid var(--nc-border)}
.brand-logo{height:34px}.hero{padding:96px 0 64px;background:radial-gradient(circle at 20% 0%,#eef2ff 0,transparent 34%),radial-gradient(circle at 80% 10%,#e0f7ff 0,transparent 28%),#fff}
.eyebrow{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid #dbeafe;border-radius:999px;background:#fff;color:#2563eb;font-weight:800;font-size:.84rem;box-shadow:0 8px 24px rgba(37,99,255,.08)}
.display-title{font-size:clamp(2.5rem,6vw,5.5rem);letter-spacing:-.07em;line-height:.92;font-weight:900}.gradient-text{background:var(--nc-gradient);-webkit-background-clip:text;color:transparent}.lead-lg{font-size:1.25rem;color:var(--nc-muted);line-height:1.75}.section{padding:82px 0}.section-soft{background:var(--nc-soft)}
.btn-primary{background:var(--nc-blue);border-color:var(--nc-blue);box-shadow:0 12px 28px rgba(37,99,255,.22)}.btn-primary:hover{background:#1d4ed8;border-color:#1d4ed8}.btn-outline-dark{border-color:#cbd5e1;color:#0f172a}.btn-outline-dark:hover{background:#0f172a;color:#fff}
.card-nc,.badge-preview{border:1px solid var(--nc-border);border-radius:26px;background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(15,23,42,.06)}.engine-card{padding:28px;height:100%;transition:.2s}.engine-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(15,23,42,.1)}
.icon-circle{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c1,#6c3bff),var(--c2,#00c2ff));color:#fff;font-weight:900;box-shadow:0 16px 38px rgba(37,99,255,.24)}.pill{display:inline-block;border:1px solid var(--nc-border);border-radius:999px;padding:7px 12px;background:#fff;color:#334155;font-size:.85rem}.diagram{border-radius:28px;border:1px solid var(--nc-border);background:linear-gradient(180deg,#fff,#f8fbff);padding:28px}.flow-node{border:1px solid var(--nc-border);border-radius:20px;padding:18px;background:#fff;min-height:140px}.footer{background:#071126;color:#cbd5e1;padding:56px 0}.footer a{color:#cbd5e1;text-decoration:none}.hero-img{max-width:100%;border-radius:28px;border:1px solid var(--nc-border);box-shadow:0 30px 80px rgba(15,23,42,.14)}
.badge-preview{padding:26px;height:100%;transition:.2s}.badge-preview:hover{transform:translateY(-4px);box-shadow:0 28px 76px rgba(15,23,42,.1)}.badge-art{width:132px;height:132px;object-fit:contain;border-radius:999px;display:block;margin-bottom:18px;background:#fff;filter:drop-shadow(0 14px 24px rgba(15,23,42,.12))}.badge-art-lg{width:180px;height:180px;object-fit:contain;border-radius:999px;background:#fff;filter:drop-shadow(0 18px 32px rgba(15,23,42,.12))}.cert-card{position:relative;overflow:hidden}.cert-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 0%,rgba(37,99,255,.12),transparent 34%);pointer-events:none}
/* Unified Admin Theme */
.admin-body{background:#f6f8fb}.admin-shell{min-height:100vh}.admin-sidebar{min-height:100vh;background:rgba(255,255,255,.94);border-right:1px solid var(--nc-border);box-shadow:18px 0 60px rgba(15,23,42,.04);position:sticky;top:0;color:#0f172a}.admin-brand{font-weight:900;font-size:1.25rem;letter-spacing:-.04em}.admin-sidebar a{color:#475569;text-decoration:none;display:flex;align-items:center;gap:.6rem;padding:10px 14px;border-radius:14px;font-weight:650;margin-bottom:4px}.admin-sidebar a:hover,.admin-sidebar a.active{background:linear-gradient(90deg,rgba(108,59,255,.11),rgba(37,99,255,.09));color:#1d4ed8}.admin-main{min-height:100vh;background:radial-gradient(circle at 8% 0%,#eef2ff 0,transparent 28%),#f8fafc}.admin-topbar{background:rgba(255,255,255,.8);border:1px solid var(--nc-border);border-radius:24px;padding:18px 22px;box-shadow:0 18px 55px rgba(15,23,42,.05);margin-bottom:24px}.admin-card{border:1px solid var(--nc-border);border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.05)}.table img{max-height:70px;max-width:110px;object-fit:contain}.form-control,.form-select{border-radius:14px;border-color:#dbe3ef}.form-control:focus,.form-select:focus{border-color:#93c5fd;box-shadow:0 0 0 .25rem rgba(37,99,255,.12)}.admin-section-title{font-weight:900;letter-spacing:-.04em}.preview-box{border:1px dashed #cbd5e1;border-radius:20px;background:#f8fafc;padding:16px;text-align:center}.preview-box img{max-width:100%;max-height:170px;object-fit:contain}

/* v5.3 polished certification frontend */
.certifications-section .badge-grid{align-items:stretch}
.badge-preview{
  padding:32px;
  min-height:390px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  overflow:hidden;
  position:relative;
}
.badge-preview:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(37,99,255,.08), transparent 42%);
  pointer-events:none;
}
.badge-media{
  width:100%;
  height:158px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:24px;
  position:relative;
  z-index:1;
}
.badge-art{
  width:148px;
  height:148px;
  object-fit:contain;
  border-radius:999px;
  display:block;
  margin:0 auto;
  background:#fff;
  filter:drop-shadow(0 16px 28px rgba(15,23,42,.12));
}
.badge-fallback{width:84px;height:84px;border-radius:26px;font-size:1.4rem;margin:0 auto}
.badge-copy{position:relative;z-index:1;width:100%;min-height:105px}
.badge-copy h5{font-size:1.35rem;line-height:1.1;letter-spacing:-.04em;min-height:48px;display:flex;align-items:flex-end}
.badge-copy p{font-size:1rem;line-height:1.45;min-height:48px}
.badge-meta{
  margin-top:auto;
  padding-top:24px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  position:relative;
  z-index:1;
}
.badge-meta .pill{font-size:.92rem;padding:8px 14px;white-space:nowrap;background:rgba(255,255,255,.9)}
.cert-grid .cert-card{display:flex;flex-direction:column;min-height:220px}
.cert-grid .cert-card .pill{margin-top:auto;align-self:flex-start}
@media (max-width:1199px){.badge-preview{min-height:360px}.badge-copy h5,.badge-copy p{min-height:auto}}

/* v5.4 badge alignment fix: uploaded badge images centered and uniform */
.certifications-section .badge-grid > [class*="col-"]{
  display:flex;
}
.certifications-section .badge-preview{
  width:100%;
  min-height:430px;
  padding:34px 28px;
  align-items:center;
  text-align:center;
}
.certifications-section .badge-media{
  width:100%;
  height:172px;
  display:grid;
  place-items:center;
  margin:0 auto 26px auto;
}
.certifications-section .badge-art{
  width:166px;
  height:166px;
  max-width:166px;
  max-height:166px;
  object-fit:contain;
  object-position:center center;
  border-radius:0;
  background:transparent;
  margin:0 auto;
  display:block;
  filter:drop-shadow(0 18px 30px rgba(15,23,42,.13));
}
.certifications-section .badge-fallback{
  margin:0 auto;
}
.certifications-section .badge-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:118px;
}
.certifications-section .badge-copy h5{
  width:100%;
  min-height:54px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  margin-bottom:10px!important;
}
.certifications-section .badge-copy p{
  width:100%;
  max-width:245px;
  min-height:52px;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.certifications-section .badge-meta{
  width:100%;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding-top:22px;
}
.certifications-section .badge-meta .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
}
@media (max-width: 575px){
  .certifications-section .badge-preview{min-height:auto;padding:28px 22px}
  .certifications-section .badge-media{height:150px}
  .certifications-section .badge-art{width:146px;height:146px;max-width:146px;max-height:146px}
}


/* v5.5 engine cards with editable representative image */
.engine-grid > [class*="col-"]{display:flex}
.engine-card-pro{
  width:100%;
  min-height:420px;
  padding:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  position:relative;
  background:linear-gradient(180deg,#fff,#fbfdff);
}
.engine-card-pro:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--engine-primary) 12%, transparent), transparent 45%);
  pointer-events:none;
}
.engine-card-media{
  height:170px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 22px 8px;
  position:relative;
  z-index:1;
}
.engine-card-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  border-radius:20px;
  filter:drop-shadow(0 18px 34px rgba(15,23,42,.10));
}
.engine-card-body{
  position:relative;
  z-index:1;
  padding:4px 28px 16px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  flex:1;
}
.engine-card-body h4{
  font-size:1.48rem;
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:850;
  margin:18px 0 12px;
  min-height:78px;
  display:flex;
  align-items:flex-end;
}
.engine-card-body p{
  font-size:1rem;
  line-height:1.55;
  margin:0;
  min-height:54px;
}
.engine-number{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#fff;
  font-weight:900;
  box-shadow:0 16px 34px rgba(37,99,255,.20);
}
.engine-card-footer{
  position:relative;
  z-index:1;
  padding:0 28px 28px;
  margin-top:auto;
}
.engine-card-footer .btn{
  border-radius:12px;
  padding:.5rem .9rem;
}
@media (max-width:575px){
  .engine-card-pro{min-height:auto}
  .engine-card-media{height:150px}
  .engine-card-body h4{min-height:auto}
  .engine-card-body p{min-height:auto}
}
