:root{
  --cz-ink:#0B0E0D;
  --cz-bone:#F4F1EA;
  --cz-paper:#FBF9F4;
  --cz-signal:#00A36C;
  --cz-teal:#0B7A75;
  --cz-gold:#B89968;
  --cz-grey:#6E6E6E;
  --cz-light-grey:#E8E5DE;
  --ink:#0B0E0D;
  --bone:#F4F1EA;
  --paper:#FBF9F4;
  --signal:#00A36C;
  --teal:#0B7A75;
  --gold:#B89968;
  --grey:#6E6E6E;
  --light-grey:#E8E5DE;
  --font-display:"Fraunces", Georgia, serif;
  --font-body:"Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:48px;
  --space-6:64px;
  --space-7:96px;
  --space-8:128px;
  --container-marketing:1280px;
  --container-prose:760px;
  --container-data:1440px;
}

html, body{
  font-family:var(--font-body);
  color:var(--ink);
}

h1, h2{
  font-family:var(--font-display);
  color:var(--ink);
}

p{
  font-family:var(--font-body);
  margin-bottom:20px;
}

code, .label, .eyebrow{
  font-family:var(--font-mono);
}

h1, h2, h3, h4{
  margin-bottom:var(--space-2);
}

em{
  font-style:italic;
  color:var(--teal);
}

body{
  background:var(--paper);
}

section, .section{
  background:var(--bone);
}

button, .btn-primary{
  background:var(--signal);
  color:var(--paper);
}

.btn-secondary{
  background:var(--teal);
  color:var(--paper);
}

a:focus-visible, button:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:2px;
}

.cz-btn{
  background:var(--ink);
  color:var(--bone);
  border:none;
  border-radius:0;
  padding:12px 28px;
  font-family:var(--font-body);
  font-weight:500;
  letter-spacing:.02em;
  transition:background 200ms ease,color 200ms ease;
}

.cz-btn:hover:not(:disabled){
  background:var(--teal);
  color:var(--bone);
}

.cz-btn:active:not(:disabled){
  background:var(--signal);
}

.cz-btn:disabled{
  opacity:.4;
  cursor:not-allowed;
}

.cz-btn:disabled:hover{
  background:var(--ink);
  color:var(--bone);
}

.cz-btn--secondary{
  background:transparent;
  border:1px solid var(--ink);
  color:var(--ink);
}

.cz-btn--secondary:hover:not(:disabled){
  background:var(--bone);
  color:var(--ink);
}

.cz-input{
  background:var(--bone);
  border:1px solid var(--light-grey);
  border-radius:0;
  color:var(--ink);
  font-family:var(--font-body);
}

.cz-input::placeholder{
  color:var(--grey);
}

.cz-input:focus{
  border-color:var(--ink);
  outline:none;
  box-shadow:none;
}

.cz-input.is-error{
  border-color:var(--signal);
}

.cz-label{
  font-family:var(--font-mono);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.15em;
  color:var(--grey);
}

.cz-eyebrow{
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--grey);
  margin-bottom:8px;
}

.cz-stat-block{
  background:var(--bone);
  padding:20px 24px;
  transition:border-left 150ms ease;
  border-left:0 solid transparent;
  border-bottom:1px solid transparent;
}

.cz-stat-block:hover{
  border-left:3px solid var(--teal);
}

.cz-stat-block__label{
  font-family:var(--font-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--grey);
}

.cz-stat-block__value{
  font-family:var(--font-display);
  font-size:32px;
  color:var(--ink);
  font-weight:400;
}

.cz-stat-block__value--medium{
  font-size:24px;
}

.cz-stat-block__sub{
  font-family:var(--font-body);
  font-size:12px;
  color:var(--grey);
}

.cz-stat-block--confidence-high{
  border-bottom-color:var(--signal);
}

.cz-stat-block--confidence-medium{
  border-bottom-color:var(--gold);
}

.cz-stat-block--confidence-low{
  border-bottom-color:var(--grey);
}

.cz-card{
  background:var(--paper);
  border:1px solid var(--light-grey);
  border-radius:0;
  padding:24px;
  transition:border-color 150ms ease;
  box-shadow:none;
}

.cz-card:hover{
  border-color:var(--ink);
  box-shadow:none;
}

.cz-card__media{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:0;
  background:var(--bone);
}

.cz-card__tag{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--grey);
}

.cz-card__title{
  font-family:var(--font-display);
  font-size:18px;
  color:var(--ink);
  font-weight:400;
}

.cz-card__sub{
  font-family:var(--font-body);
  font-size:13px;
  color:var(--grey);
}

.cz-card__cta{
  color:var(--teal);
  text-decoration:none;
}

.cz-card__cta:hover{
  text-decoration:underline;
}

.cz-section{
  padding-top:var(--space-6);
  padding-bottom:var(--space-6);
}

.cz-grid{
  gap:var(--space-4);
}

.cz-form-gap{
  gap:var(--space-2);
}

.cz-data-panel{
  padding:var(--space-3);
}

.cz-grid-max3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.cz-container-marketing{
  max-width:var(--container-marketing);
  margin:0 auto;
  padding-left:48px;
  padding-right:48px;
}

.cz-container-prose{
  max-width:var(--container-prose);
  margin:0 auto;
}

.cz-container-data{
  max-width:var(--container-data);
  margin:0 auto;
}
