
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
table { border-collapse: collapse; border-spacing: 0; }

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

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: 'Roboto', 'Segoe UI', Arial, sans-serif;
  font-weight: 400;
  line-height: 1.7;
  font-size: clamp(1rem, 1.05vw + 0.78rem, 1.12rem);
  background: #141414;
  color: #ffffff;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Oswald', 'Arial Narrow', 'Roboto Condensed', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #ffffff;
}
h1 { font-size: clamp(2.35rem, 7.4vw, 4.05rem); line-height: 1.08; }
h2 { font-size: clamp(1.6rem, 4.2vw, 2.25rem); line-height: 1.18; margin-bottom: 3.2vh; }
h3 { font-size: clamp(1.15rem, 2.4vw, 1.42rem); line-height: 1.3; }
h4 { font-size: clamp(1rem, 1.9vw, 1.15rem); line-height: 1.35; }

p { margin-bottom: 1.25rem; line-height: 1.7; }
p:last-child { margin-bottom: 0; }
strong { font-weight: 700; color: #ffffff; }
em { font-style: italic; }
a { color: #e07a9a; text-decoration: none; transition: color 0.18s ease; }
a:hover, a:focus { color: #ffffff; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid #bd3d65; outline-offset: 3px; }


.is-centered { text-align: center; }
.is-start-aligned { text-align: left; }
.width-readable { max-width: 64ch; }
.width-narrow { max-width: 44ch; }
.is-inline-centered { margin-left: auto; margin-right: auto; }
.text-muted { color: #c0c0c0; }
.text-dim { color: #888888; }
.text-dark { color: #141414; }
.emphasis-accent { color: #e07a9a; }
.no-wrap { white-space: nowrap; }
.uppercase-label { text-transform: uppercase; }
.letter-wide { letter-spacing: 0.18em; }
.weight-strong { font-weight: 700; }
.size-small { font-size: 0.86rem; }
.size-tiny { font-size: 0.78rem; }
.line-tight { line-height: 1.45; }
.stack-compact { display: flex; flex-direction: column; gap: 1.6vh; }
.stack-roomy { display: flex; flex-direction: column; gap: 3.4vh; }
.row-wrapped { display: flex; flex-wrap: wrap; gap: 2.4vh 2.4vw; }
.row-centered { justify-content: center; }
.fills-width { width: 100%; }
.space-above { margin-top: 3.2vh; }
.space-below { margin-bottom: 3.2vh; }
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.relative-box { position: relative; }
.min-width-zero { min-width: 0; }
.hyphen-safe { overflow-wrap: anywhere; }
.bleed-none { max-width: 100%; }
.antialias { -webkit-font-smoothing: antialiased; }
.pointer-cursor { cursor: pointer; }
.list-plain { list-style: none; }
.flex-shrink-none { flex: 0 0 auto; }
