@font-face {
  font-family: "AccessCraft Sans";
  src: local("Segoe UI");
  font-display: swap;
}

:root {
  --accesscraft-paper: #f7f1e6;
  --accesscraft-warm-sheet: #fffaf0;
  --accesscraft-inkmark: #182229;
  --accesscraft-pencil: #5e6c70;
  --accesscraft-rulemark: #c9d5ce;
  --accesscraft-blueprint: #1f58a8;
  --accesscraft-spruce: #2f766d;
  --accesscraft-clay: #d66c4f;
  --accesscraft-honey: #f3b84f;
  --accesscraft-skywash: #dfecea;
  --accesscraft-night: #172437;
  --accesscraft-lift: 0 24px 60px rgba(23, 36, 55, .14);
  --accesscraft-pagewidth: min(1160px, calc(100vw - 36px));
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background:
    linear-gradient(135deg, rgba(31, 88, 168, .08), transparent 34%),
    linear-gradient(225deg, rgba(47, 118, 109, .12), transparent 38%),
    var(--accesscraft-paper);
  color: var(--accesscraft-inkmark);
  font-family: "AccessCraft Sans", "Segoe UI", Arial, sans-serif;
  line-height: 1.55;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
a {
  touch-action: manipulation;
}

.accesscraft-bypass {
  position: fixed;
  left: 18px;
  top: 14px;
  z-index: 20;
  transform: translateY(-160%);
  background: var(--accesscraft-night);
  color: #fff;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
}

.accesscraft-bypass:focus {
  transform: translateY(0);
}

.accesscraft-sheet,
.compact-sheet {
  width: var(--accesscraft-pagewidth);
  margin: 0 auto;
}

accesscraft-opening,
brand-slab,
offer-pane,
course-facts,
scope-clasp,
connection-walk,
walk-title,
walk-rail,
practice-note,
entry-stencil,
stencil-copy,
sample-strip,
team-fit,
fit-meter,
fit-slip,
training-shapes,
course-shape,
course-materials,
request-letter,
letter-copy,
operator-compact,
compact-cover,
compact-stack {
  display: block;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  font-size: clamp(2.15rem, 5vw, 5.2rem);
  line-height: .96;
  max-width: 11ch;
  letter-spacing: 0;
}

h2 {
  font-size: clamp(1.55rem, 3.2vw, 3rem);
  line-height: 1.05;
  letter-spacing: 0;
}

h3 {
  font-size: 1.35rem;
  line-height: 1.15;
}

.identity-mark,
.opening-beads a,
.letter-send,
.compact-home,
.compact-link a {
  text-decoration: none;
}

.identity-mark:focus-visible,
.opening-beads a:focus-visible,
.walk-mark:focus-visible,
.letter-send:focus-visible,
.compact-home:focus-visible,
.compact-link a:focus-visible,
.accesscraft-closing a:focus-visible {
  outline: 3px solid var(--accesscraft-honey);
  outline-offset: 4px;
}

.accesscraft-closing {
  width: var(--accesscraft-pagewidth);
  margin: 26px auto 36px;
  padding: 20px 0 0;
  border-top: 2px solid rgba(24, 34, 41, .18);
  color: var(--accesscraft-pencil);
  font-size: .95rem;
}

.accesscraft-closing p {
  margin: 0 0 8px;
}

.accesscraft-closing strong {
  color: var(--accesscraft-inkmark);
}

.accesscraft-closing a {
  color: var(--accesscraft-blueprint);
}

@media (max-width: 760px) {
  :root {
    --accesscraft-pagewidth: min(100vw - 24px, 1160px);
  }

  h1 {
    max-width: 12ch;
  }
}
