/* CHARUS shared visual system.
   Keep this file limited to site-wide tokens, theme metrics and base utilities.
   Page composition and header presentation belong to their own modules. */
:root{
  --bg:#F5F2EC;
  --bg2:#F1EEE7;
  --bg-rgb:245,242,236;
  --ink:#0F1011;
  --hair:#D8D1C8;
  --orange:#FF4A00;
  --copy:#3A3631;
  --muted:#AAA49D;
  --optical-weight-t:0;
  --headline-weight:calc(235 + 15 * var(--optical-weight-t));
  --body-copy-weight:calc(350 + 15 * var(--optical-weight-t));
  --body-copy-tracking:-.003em;
  --headline-grade-stroke:calc(.12px + .03px * var(--optical-weight-t));
  --body-grade-stroke:calc(.10px - .01px * var(--optical-weight-t));
}
html[data-theme="light"]{color-scheme:light}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0C0E10;
  --bg2:#13171B;
  --bg-rgb:12,14,16;
  --ink:#F4F0E9;
  --hair:#394148;
  --orange:#25C9FF;
  --copy:#D9D2CA;
  --muted:#7E8891;
  --headline-weight:calc(235 + 15 * var(--optical-weight-t));
  --body-copy-weight:calc(350 + 15 * var(--optical-weight-t));
  --body-copy-tracking:-.003em;
  --headline-grade-stroke:0px;
  --body-grade-stroke:0px;
}
*{box-sizing:border-box}
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
html{scroll-behavior:auto}
body{
  margin:0;
  font-family:"CHARUS Inter",Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--ink);
}
.orange{color:var(--orange)}

/* Shared headline punctuation geometry. The dot should read as part of the
   authored headline rather than as a second floating mark. Page-local legacy
   declarations may still carry older values; this system rule supersedes them. */
body .round-dot{
  width:.14em;
  height:.14em;
  margin-left:.20em;
  vertical-align:-.015em;
}
/* Supersede the older Home-only English kerning exception now that .20em is
   the approved site-wide spacing. */
html[lang] body main .section .round-dot{
  margin-left:.20em;
}
/* Only the final word + accent dot are non-breaking. This keeps authored
   wrapping available everywhere else while preventing an orphan dot. */
.headline-dot-unit{
  white-space:nowrap;
}