:root {
  --ink: #0b0b0a;
  --ink-2: #121110;
  --paper: #f0e9dc;
  --paper-dim: #d6cec0;
  --accent: #b7b0a2;
  --steel: #2c2a27;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: 'FF DIN', 'DIN', 'IBM Plex Mono', monospace;
  letter-spacing: 0.02em;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='0.12'/></svg>");
  opacity: 0.5;
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'><path d='M95 0H0V95' fill='none' stroke='%231f1c18' stroke-width='1'/></svg>");
  opacity: 0.2;
  pointer-events: none;
  z-index: 0;
}

.ink {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  background-color: var(--ink-2);
}

main {
  padding: 2rem 6vw 4rem;
  max-width: 900px;
}

.hero {
  --hero-title-size: clamp(2.8rem, 5vw, 4.6rem);
  --hero-tagline-size: clamp(1.3rem, 2.6vw, 2rem);
  --hero-text-gap: 0.6rem;
  margin: 3rem 0 2rem;
}

.hero-mark {
  display: flex;
  align-items: stretch;
  gap: 1.4rem;
}

.hero-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--hero-text-gap);
}

h1 {
  margin: 0;
  font-size: var(--hero-title-size);
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tagline {
  margin: 0;
  font-size: var(--hero-tagline-size);
  color: var(--paper-dim);
  font-weight: 500;
}

.brand-logo {
  height: calc((var(--hero-title-size) + var(--hero-tagline-size) + var(--hero-text-gap)) * 1.35);
  width: auto;
  object-fit: contain;
  display: block;
  color: var(--paper);
}

.block {
  --block-gap: 1.5rem;
  margin: 0 0 var(--block-gap);
  padding-top: var(--block-gap);
  border-top: 2px solid var(--steel);
}

p {
  margin: 0 0 1.4rem;
  font-size: 1.15rem;
  line-height: 1.7;
  color: var(--paper);
}

strong {
  color: var(--paper-dim);
  font-weight: 600;
}

footer {
  padding: 1.5rem 6vw 3rem;
  border-top: 2px solid var(--steel);
  color: var(--paper-dim);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.footmark {
  font-size: 0.9rem;
  color: var(--paper);
  margin-bottom: 0.4rem;
}

.footline {
  font-size: 0.75rem;
  margin-bottom: 0.4rem;
}

.footlinks a {
  color: var(--paper-dim);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.footlinks a:hover,
.footlinks a:focus-visible {
  color: var(--paper);
  border-bottom-color: var(--paper);
}

@media (max-width: 640px) {
  .mast {
    padding: 2rem 7vw 1.2rem;
  }

  main {
    padding: 1.5rem 7vw 3rem;
  }

  p {
    font-size: 1.05rem;
  }
}
