


html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner { border-style: none; padding: 0; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"] { box-sizing: border-box; padding: 0; }
details { display: block; }
summary { display: list-item; }
template, [hidden] { display: none; }


*, *::before, *::after { box-sizing: border-box; }


body {
  background-color: #0B0B0D;
  color: #EFE7D8;
  font-family: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-weight: 400;
  line-height: 1.7;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}


h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', 'Iowan Old Style', Georgia, serif;
  font-weight: 700;
  letter-spacing: -0.011em;
  color: #F4EDE0;
  margin: 0 0 16px;
}
h1 { font-size: clamp(2.35rem, 5.6vw, 3.6rem); line-height: 1.12; }
h2 { font-size: clamp(1.65rem, 3.4vw, 2.1rem); line-height: 1.22; }
h3 { font-size: 1.4rem; line-height: 1.3; }
h4 { font-size: 1.115rem; line-height: 1.4; }
p { font-size: 1rem; line-height: 1.7; margin: 0 0 16px; color: #D6CDBB; }
p:last-child { margin-bottom: 0; }

a { color: #C9A227; text-decoration: none; }
a:hover, a:focus-visible { color: #E3BE55; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible {
  outline: 2px solid #C9A227;
  outline-offset: 3px;
}

ul, ol { margin: 0 0 16px; padding-left: 22px; }
li { margin-bottom: 8px; color: #D6CDBB; }
strong { color: #F4EDE0; font-weight: 600; }
hr { border: 0; border-top: 1px solid #2A2A31; margin: 40px 0; }
img { max-width: 100%; height: auto; }

::selection { background: #C9A227; color: #0B0B0D; }


@keyframes calorvisPageIn {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes calorvisBandIn {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes calorvisEmber {
  0%, 100% { opacity: 0.44; }
  50%      { opacity: 0.82; }
}
