/* Ioskeley Mono, used for all text on the site. Loaded last on every page so it overrides each page's own faces. */
@font-face { font-family: "Ioskeley Mono"; font-weight: 300; font-style: normal; font-display: swap; src: url("fonts/IoskeleyMono-Light.woff2") format("woff2"); }
@font-face { font-family: "Ioskeley Mono"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/IoskeleyMono-Regular.woff2") format("woff2"); }
@font-face { font-family: "Ioskeley Mono"; font-weight: 400; font-style: italic; font-display: swap; src: url("fonts/IoskeleyMono-Italic.woff2") format("woff2"); }
@font-face { font-family: "Ioskeley Mono"; font-weight: 500; font-style: normal; font-display: swap; src: url("fonts/IoskeleyMono-Medium.woff2") format("woff2"); }
@font-face { font-family: "Ioskeley Mono"; font-weight: 600; font-style: normal; font-display: swap; src: url("fonts/IoskeleyMono-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "Ioskeley Mono"; font-weight: 700; font-style: normal; font-display: swap; src: url("fonts/IoskeleyMono-Bold.woff2") format("woff2"); }
@font-face { font-family: "Ioskeley Mono"; font-weight: 800 900; font-style: normal; font-display: swap; src: url("fonts/IoskeleyMono-ExtraBold.woff2") format("woff2"); }

*, *::before, *::after { font-family: "Ioskeley Mono", ui-monospace, "SF Mono", Menlo, monospace !important; font-stretch: normal !important; }
body { font-size: .9375rem; letter-spacing: 0; }

/* A monospaced face is much wider than the condensed and serif faces the pages were drawn with,
   so the large type is brought down to keep the same line breaks and stop anything spilling. */
h1 { font-size: clamp(1.75rem, 3.5vw, 3rem) !important; line-height: 1.1 !important; letter-spacing: -.02em !important; }
.lock h1 { font-size: clamp(1.05rem, 4.2vw, 1.25rem) !important; line-height: 1.35 !important; }
.step h2, .panel h2 { font-size: clamp(1.4rem, 2.7vw, 2.25rem) !important; line-height: 1.12 !important; letter-spacing: -.02em !important; }
.sec h2, .scale h2 { font-size: clamp(1.4rem, 2.8vw, 2.1rem) !important; line-height: 1.12 !important; letter-spacing: -.02em !important; }
.end h2 { font-size: clamp(1.6rem, 3.2vw, 2.6rem) !important; line-height: 1.1 !important; }
.index-head h2 { font-size: 1.5rem !important; }
.row .claim, .card h2 { font-size: clamp(1rem, 1.5vw, 1.1875rem) !important; line-height: 1.35 !important; letter-spacing: -.01em !important; }
.word { font-size: 1.1875rem !important; }
.mono, .k { letter-spacing: .02em !important; }

/* per-theorem display numbers */
.big { font-size: clamp(1.7rem, 3.6vw, 2.9rem) !important; line-height: 1.05 !important; letter-spacing: -.03em !important; }   /* habits, energy */
.numeral { font-size: clamp(5rem, 14vw, 10rem) !important; letter-spacing: -.04em !important; }                                  /* parents */
.numeral.long { font-size: clamp(3.2rem, 9vw, 6rem) !important; }
.step .caption { font-size: clamp(1.25rem, 2.6vw, 1.9rem) !important; }
.clock { font-size: clamp(5rem, 26vw, 8.5rem) !important; letter-spacing: -.06em !important; }                                    /* phone */
.read { font-size: 2.4rem !important; letter-spacing: -.03em !important; }
.back { font-size: 1.9rem !important; }
.odo { font-size: clamp(1.4rem, 2.8vw, 2.3rem) !important; letter-spacing: -.02em !important; }                                   /* travel */
.step .odo { font-size: clamp(1rem, 1.8vw, 1.35rem) !important; }
.odo i { width: .62em !important; } .odo i.sep { width: .3em !important; }
.verdict { font-size: 1.125rem !important; }
.facts b, .lat-out dd, .lat-read strong, .kwh, .mult-v, .src i, .water b { letter-spacing: -.02em !important; }
.strip b { font-size: 1.375rem !important; }
.arrow b { font-size: 1.25rem !important; width: 1.1ch !important; }
.cell input, .dob input, .money input { letter-spacing: -.02em; }
#lever-text { font-size: clamp(1.15rem, 2.4vw, 1.5rem) !important; }
