/* ============================================================
   Via Nutria — Base element defaults
   Applied globally so raw HTML inherits the brand voice.
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-text);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--text-body);
  background:var(--surface-page);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:var(--fw-regular);
  color:var(--text-strong);
  line-height:var(--lh-title);
  letter-spacing:var(--ls-display);
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{font-size:var(--fs-display-l)}
h2{font-size:var(--fs-display-m)}
h3{font-size:var(--fs-title)}
h4{font-size:var(--fs-subtitle)}
p{margin:0 0 1em;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--framboise-700);text-decoration:underline;text-underline-offset:2px}
strong{font-weight:400;color:var(--text-strong)}
small{font-size:var(--fs-caption)}
hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--space-6) 0}
::selection{background:var(--framboise-200);color:var(--bordeau-800)}

/* Utility: wide-tracked uppercase overline used throughout the brand */
.vn-eyebrow{
  font-family:var(--font-text);
  font-size:var(--fs-eyebrow);
  letter-spacing:var(--ls-eyebrow);
  text-transform:uppercase;
  color:var(--text-accent);
  font-weight:400;
}
