/* BRUT typography update, 2026-09-23. Exact files supplied by Caleb.
   2026-09-25: Slight arrived from Chernice (Up Up Creative web build, exact bytes) and now
   carries the script subheaders that Pinyon held as a stand-in. The Seasons is still to
   come; until it does, headers stay Glacial Indifference Bold. */
@font-face {
  font-family: 'Glacial Indifference';
  src: url('/fonts/glacial-indifference-regular.otf') format('opentype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Glacial Indifference';
  src: url('/fonts/glacial-indifference-bold.otf') format('opentype');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'Computer Says No';
  src: url('/fonts/computer-says-no.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'Slight';
  src: url('/fonts/slight-regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --wide: 'Glacial Indifference', sans-serif;
  --body: 'Glacial Indifference', sans-serif;
  --numbers: 'Computer Says No', monospace;
  /* Slight is 1 MB and not preloaded. Pinyon (39 KB, preloaded, as before) is the face shown
     while it loads, so the swap is script to script. A bare `cursive` fell back to Comic Sans
     on Windows. */
  --script: 'Slight', 'Pinyon Script', 'Apple Chancery', serif;
}

/* Slight's x-height is 0.433 em against Pinyon's 0.371 and it sets much wider, so the script
   words are scaled down (1.5em -> 1.2em). Desktop lockups keep their lines; on some phone
   widths "own words" and "the space" drop under their heading, which reads as intended. */
.h-big em { font-size: 1.2em; margin-left: .1em; }
/* Slight's B swash rises higher than Pinyon's, and its y tail drops lower. Padding, not margin:
   a margin collapsed into .hero-mark's own and added only 2px. */
.hero-tag { font-size: clamp(29px, 4.64vw, 64px); padding-top: 6px; padding-bottom: .1em; }

/* The long tail of the f in "crafted" reaches further down than Pinyon ever did and crossed the
   first line of the studio paragraph at desktop widths; its top loop also sat 1px under the C of
   "SPACE", so the word drops a hair (base is .08em) and the heading gets more room below. */
#studio .h-big { margin-bottom: calc(26px + .25em); }
#studio .h-big em { transform: translateY(.12em); }

/* Slight's quote glyph is tiny and reads as a closing quote; the review mark keeps Pinyon's. */
.rev-list blockquote::before { font-family: 'Pinyon Script', serif; }

/* Pinyon is only the stand-in while Slight loads: hide rather than show a system serif for the
   fraction of a second before Pinyon itself (39 KB, preloaded) arrives. */
@font-face {
  font-family: 'Pinyon Script'; font-style: normal; font-weight: 400; font-display: block;
  src: url('/fonts/pinyon-script-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Below 320px "start to finish" would break inside the phrase; smaller, and dropped a little so
   the f loop keeps clear of the comma in "FOUR STAGES,". */
@media (max-width: 319px) { #process .h-big em { font-size: 1.05em; margin-top: 8px; } }

/* Slight's first letters carry lead-in swashes that hang LEFT of the word's box (measured:
   o and c 0.08em, s 0.2em, t 0.58em). Without room they ran into the word before and, on
   phones, past the screen edge. Each margin is the overhang plus a hair, so the ink keeps a
   normal word space and starts at the column edge when the word wraps under its heading. */
#process .h-big em { margin-left: .22em; }   /* start to finish */
#enquire .h-big em { margin-left: .6em; }    /* the space */

/* These are static regular/bold faces, without Archivo's width axis. */
body, .rev-list blockquote, .enq-form input,
.enq-form select, .enq-form textarea { font-weight: 400; }
.wide, .h-big, .nav-mark, .hero-mark, .fact b, .tile-name,
.proc-list h3, .foot-mark, .imm-brand, .imm-name,
.story-name, .tour-where b {
  font-weight: 700;
  font-stretch: normal;
  font-variation-settings: normal;
}

/* Numeral groups retain their existing content, position and interaction. */
.fact:first-child b, .proc-list > li > b, .rev-score b,
.tile-idx, .imm-count, .lb-count {
  font-family: var(--numbers);
  font-weight: 400;
  font-stretch: normal;
  font-variation-settings: normal;
}

/* The pixel font's small cap height needs an optical size correction. */
.fact:first-child b { font-size: clamp(40px, 5.2vw, 80px); line-height: .525; }
.rev-score b { font-size: clamp(44px, 4.8vw, 68px); line-height: .5; }
.proc-list > li > b { font-size: 24px; line-height: .5; }
.tile-idx, .imm-count, .lb-count { font-size: 22px; line-height: .5; }
