/* Public certificate register — verdict band, certifying statement, record fields. */
:root{
  --ink:#14171C; --muted:#697079; --line:#E5E8EC; --shell:#F1F3F5;
  --ok:#0E5C3A; --bad:#8E1B1B; --grey:#4A5058; --navy:#0A2C70;
  --serif:"Spectral",Charter,"Bitstream Charter",Georgia,serif;
  --sans:"Inter",Carlito,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--shell);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}

/* letterhead bar */
.bar{background:#fff;border-bottom:1px solid var(--line)}
.bar-inner{max-width:640px;margin:0 auto;padding:14px 18px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand img{flex:none;width:30px;height:auto}
.brand b{display:block;font-weight:600;font-size:15px}
.brand em{display:block;font-style:normal;font-size:12.5px;color:var(--muted)}

.wrap{max-width:640px;margin:0 auto;padding:0 18px}

/* record card */
.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:26px}

.band{padding:24px 28px 22px;color:#fff}
.band.ok{background:var(--ok)}
.band.bad{background:var(--bad)}
.band.none{background:var(--grey)}
.band.neutral{background:var(--navy)}
.band h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.015em;line-height:1.1}
.band p{margin:6px 0 0;font-size:14.5px;opacity:.92}

/* the record, stated in the centre's own voice */
.statement{
  font-family:var(--serif);font-size:20px;line-height:1.6;
  margin:0;padding:28px 28px 26px;color:var(--ink);
}
.statement b{font-weight:600}
.statement .name{font-size:23px;font-weight:600}

.fields{
  margin:0;padding:22px 28px 26px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:20px 28px;
}
.fields>div{flex:0 0 calc(50% - 14px);min-width:170px}
.fields dt{color:var(--muted);font-size:13px;margin:0 0 3px}
.fields dd{margin:0;font-size:15.5px;font-weight:500}
.fields.plain{display:block}
.fields.plain p{margin:0;font-size:14.5px;color:#4C525A;line-height:1.65}
.code{font-family:var(--mono);font-size:15px;letter-spacing:.02em}

.strip{
  border-top:1px solid var(--line);padding:16px 28px;background:#FAFBFC;margin:0;
  font-size:13.5px;color:#4C525A;line-height:1.6;
}
.strip b{color:var(--ink);font-weight:600}
.strip a{color:var(--navy);white-space:nowrap}

/* code entry */
.lookup{padding:26px 28px 24px}
.lookup label{display:block;font-size:13px;color:var(--muted);margin:0 0 7px}
.lookup input{
  width:100%;font-family:var(--mono);font-size:20px;letter-spacing:.06em;
  padding:13px 14px;border:1.5px solid #C9CED5;border-radius:10px;background:#fff;
  color:var(--ink);text-transform:uppercase;
}
.lookup input::placeholder{color:#A8AEB6;letter-spacing:.06em}
.field-error{color:var(--bad);font-size:13.5px;margin:10px 0 0}
.lookup button{
  margin-top:14px;background:var(--navy);color:#fff;border:0;border-radius:10px;
  font-family:var(--sans);font-size:15px;font-weight:600;padding:12px 26px;cursor:pointer;
}
.lookup button:hover{background:#0D3789}
.lookup .hint{margin:16px 0 0;font-size:13.5px;color:var(--muted);line-height:1.6}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

.again{text-align:center;margin:20px 0 0}
.again a{color:var(--navy);font-size:14.5px}

.page-foot{padding-top:24px;padding-bottom:44px;text-align:center;color:var(--muted);font-size:13px;line-height:1.7}
.page-foot p{margin:0}
.page-foot a{color:var(--navy)}
.snapshot{opacity:.8;margin-top:4px}

@media (max-width:460px){
  .band,.statement,.fields,.strip,.lookup{padding-left:20px;padding-right:20px}
  .band h1{font-size:24px}
  .statement{font-size:18px}
  .statement .name{font-size:21px}
  .fields>div{flex:0 0 100%}
}
