/* ============================================================
   VEMMAR — brand layer
   Evidence-led laboratory: quiet, disciplined, material.
   Palette + type from the brand book (p14). Logo artwork is
   canonical and untouched; VEMMAR is the working name in copy.
   ============================================================ */

@font-face{
  font-family:"Alacrity Sans";
  src:url("../fonts/brand/AlacritySans-Light.otf") format("opentype");
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Alacrity Sans";
  src:url("../fonts/brand/AlacritySans-Regular.otf") format("opentype");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Alacrity Sans";
  src:url("../fonts/brand/AlacritySans-Semibold.otf") format("opentype");
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Alacrity Sans";
  src:url("../fonts/brand/AlacritySans-Bold.otf") format("opentype");
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Mairo";
  src:url("../fonts/brand/Mairo.woff") format("woff");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"FbUnicaSans";
  src:url("../fonts/fb/FbUnicaSansHeb-Light.otf") format("opentype");
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"FbUnicaSans";
  src:url("../fonts/fb/FbUnicaSansHeb-Regular.otf") format("opentype");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"FbUnicaSans";
  src:url("../fonts/fb/FbUnicaSansHeb-Medium.otf") format("opentype");
  font-weight:500;font-style:normal;font-display:swap;
}

:root{
  /* book palette, verified */
  --vm-forest:#475444;
  --vm-green:#74866C;
  --vm-stone:#B7B8A9;
  --vm-sage:#E2E6DA;
  --vm-white:#F6F5F0;
  /* derived working tones (transparent mixes of the book inks) */
  --vm-ink:#2E382C;                 /* forest deepened for long text */
  --vm-line:rgba(71,84,68,.22);     /* hairline on light  */
  --vm-line-strong:rgba(71,84,68,.45);
  --vm-line-cream:rgba(246,245,240,.28);

  --font-latin:"Alacrity Sans","Avenir Next","Helvetica Neue",sans-serif;
  --font-heb:"FbUnicaSans","Heebo","Arial Hebrew",sans-serif;
  --font-accent:"Mairo",cursive;

  --track-caps:.32em;
  --track-wide:.5em;
}

/* ---------- lab primitives ---------- */

.vm-caps{
  font-family:var(--font-latin);
  letter-spacing:var(--track-caps);
  text-transform:uppercase;
  font-weight:400;
}
.vm-index{
  font-family:var(--font-latin);
  font-weight:400;
  letter-spacing:.24em;
  font-size:.72rem;
  color:var(--vm-green);
  text-transform:uppercase;
}

/* measurement rule: hairline with end ticks */
.vm-rule{
  position:relative;height:1px;background:var(--vm-line-strong);
}
.vm-rule::before,.vm-rule::after{
  content:"";position:absolute;top:-4px;width:1px;height:9px;
  background:var(--vm-line-strong);
}
.vm-rule::before{inset-inline-start:0}
.vm-rule::after{inset-inline-end:0}
.vm-rule.cream{background:var(--vm-line-cream)}
.vm-rule.cream::before,.vm-rule.cream::after{background:var(--vm-line-cream)}

/* registration crosshair */
.vm-reg{
  width:14px;height:14px;position:relative;opacity:.55;
}
.vm-reg::before,.vm-reg::after{
  content:"";position:absolute;background:currentColor;
}
.vm-reg::before{inset-inline-start:50%;top:0;bottom:0;width:1px}
.vm-reg::after{top:50%;inset-inline-start:0;inset-inline-end:0;height:1px}

/* specimen card */
.vm-card{
  background:var(--vm-white);
  border:1px solid var(--vm-line);
  border-radius:2px;
}

/* fine grain so solids feel like paper, not pixels */
.vm-grain{position:relative}
.vm-grain::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:240px 240px;
  mix-blend-mode:multiply;
}
