:root{
  --paper:#EDEEE9;
  --ink:#14181C;
  --ink-60:rgba(20,24,28,0.62);
  --ink-35:rgba(20,24,28,0.35);
  --ink-15:rgba(20,24,28,0.12);
  --teal:#145951;
  --teal-08:rgba(20,89,81,0.08);
  --gold:#A67C3D;
  --green:#2F6F4E;
  --amber:#B8860B;
  --red:#8B3A3A;
  --slate:#5B6470;
  --font-display:'Spectral',Georgia,serif;
  --font-body:'IBM Plex Sans',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55;}
a{color:var(--teal);}
img{max-width:100%;display:block;}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;}}

.container{max-width:68rem;margin:0 auto;padding:0 1.5rem;}
.container-narrow{max-width:42rem;margin:0 auto;padding:0 1.5rem;}
.focus-ring:focus-visible{outline:2px solid var(--teal);outline-offset:3px;}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(237,238,233,0.95);border-bottom:1px solid var(--ink-15);backdrop-filter:blur(6px);}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;height:4rem;}
.brand{display:flex;align-items:baseline;gap:0.5rem;text-decoration:none;}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.2rem;}
.brand-tag{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal);}
.nav-links{display:flex;gap:1.75rem;font-size:0.9rem;align-items:center;}
.nav-links a{text-decoration:none;}
.nav-links a:hover{color:var(--teal);}
@media (max-width:760px){.nav-links{display:none;}}

/* Buttons */
.btn{display:inline-block;text-decoration:none;font-size:0.9rem;font-weight:500;padding:0.75rem 1.5rem;border:1px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s;font-family:var(--font-body);}
.btn-primary{background:var(--teal);color:var(--paper);}
.btn-primary:hover{background:var(--ink);}
.btn-outline{border-color:var(--ink-35);color:var(--ink);background:transparent;}
.btn-outline:hover{border-color:var(--teal);color:var(--teal);}

/* Hero: the verification tool itself, not marketing copy+gradient */
.verify-hero{padding:4rem 0 3rem;text-align:center;}
.verify-hero .eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.2em;font-size:0.72rem;color:var(--teal);}
.verify-hero h1{font-family:var(--font-display);font-size:clamp(1.9rem,4.5vw,3rem);margin:0.75rem 0;font-weight:600;max-width:38rem;margin-left:auto;margin-right:auto;}
.verify-hero p{color:var(--ink-60);max-width:32rem;margin:0 auto;}
.verify-form{max-width:34rem;margin:2rem auto 0;display:flex;gap:0.6rem;}
.verify-form input{flex:1;border:1px solid var(--ink-35);background:#fff;padding:0.85rem 1rem;font-family:var(--font-body);font-size:1rem;}
.verify-form input:focus{outline:2px solid var(--teal);outline-offset:1px;}

/* Registry seal — the signature element */
.seal{
  --seal-color:var(--green);
  width:6.5rem;height:6.5rem;border-radius:50%;
  border:3px solid var(--seal-color);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  color:var(--seal-color);text-align:center;
  transform:rotate(-6deg);
  position:relative;
  flex-shrink:0;
}
.seal::before{
  content:'';position:absolute;inset:5px;border:1px solid var(--seal-color);border-radius:50%;opacity:0.55;
}
.seal .seal-status{font-family:var(--font-mono);font-size:0.62rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;}
.seal .seal-mark{font-family:var(--font-display);font-size:1.5rem;line-height:1;margin:0.15rem 0;}
.seal.seal-expired{--seal-color:var(--amber);}
.seal.seal-revoked{--seal-color:var(--red);}
.seal.seal-pending{--seal-color:var(--slate);}
.seal.seal-sm{width:3.4rem;height:3.4rem;border-width:2px;}
.seal.seal-sm .seal-mark{font-size:0.85rem;}
.seal.seal-sm .seal-status{font-size:0.5rem;}

/* Verification result card */
.verify-result{max-width:34rem;margin:2.5rem auto 0;border:1px solid var(--ink-15);background:#fff;padding:2rem;display:flex;gap:1.5rem;align-items:center;text-align:left;}
.verify-result .details h2{font-family:var(--font-display);font-size:1.3rem;margin:0 0 0.3rem;}
.verify-result .details .code{font-family:var(--font-mono);font-size:0.75rem;color:var(--ink-60);}
.verify-result .details dl{display:grid;grid-template-columns:auto 1fr;gap:0.2rem 0.75rem;margin-top:0.85rem;font-size:0.85rem;}
.verify-result .details dt{color:var(--ink-60);font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;}
.verify-result .details dd{margin:0;}

/* Directory */
.directory-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:2rem;}
.directory-card{border:1px solid var(--ink-15);background:#fff;padding:1.4rem;display:flex;gap:1rem;align-items:flex-start;}
.directory-card .name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin:0 0 0.2rem;}
.directory-card .type{font-family:var(--font-mono);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-60);}
.directory-card .code{font-family:var(--font-mono);font-size:0.72rem;color:var(--ink-35);margin-top:0.5rem;}

.filters{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:1.5rem;}

/* Forms */
.field{display:block;margin-bottom:1.4rem;}
.field label{display:block;font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-60);margin-bottom:0.4rem;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--ink-35);background:#fff;padding:0.6rem 0.75rem;font-family:var(--font-body);font-size:0.95rem;color:var(--ink);}
.field textarea{resize:vertical;}
.form-grid{display:grid;gap:1.4rem;}
@media(min-width:640px){.form-grid.two-col{grid-template-columns:1fr 1fr;}}

.alert{padding:0.9rem 1.1rem;border:1px solid;font-size:0.9rem;margin-bottom:1.5rem;}
.alert-error{border-color:rgba(139,58,58,0.4);background:rgba(139,58,58,0.06);color:var(--red);}
.alert-success{border-color:rgba(47,111,78,0.4);background:rgba(47,111,78,0.06);color:var(--green);}

.section{padding:3rem 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:0.5rem;}
.section h2{font-family:var(--font-display);font-size:1.5rem;margin:0;}

/* Footer */
.site-footer{border-top:1px solid var(--ink-15);margin-top:5rem;}
.footer-grid{display:grid;gap:2rem;padding:3rem 0;font-size:0.9rem;}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(3,1fr);}}
.footer-grid h4{font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--ink-60);margin:0 0 0.5rem;}
.footer-grid p,.footer-grid li{color:var(--ink-60);}
.footer-grid ul{list-style:none;padding:0;margin:0;}
.copyright{border-top:1px solid var(--ink-15);text-align:center;padding:1rem 0;font-family:var(--font-mono);font-size:0.7rem;color:var(--ink-35);}

.prose{max-width:42rem;color:var(--ink-60);}
.prose p{margin-bottom:1rem;}
