@font-face {
  font-family: "Roboto";
  src: url("/assets/roboto-black.woff2") format("woff2");
  font-weight: 900;
  font-display: swap;
}
:root {
  --ink: #151515;
  --white: #fff;
  --paper: #f6f5f2;
  --red: #d82b20;
  --bright: #ff4b39;
  --edge: clamp(22px, 6.15vw, 104px);
  --display: "Roboto", "Arial Black", Helvetica, sans-serif;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background: white;
  scroll-behavior: smooth;
}
* { box-sizing: border-box; }
body, figure, dl, dd, p, h1, h2, h3 { margin: 0; }
body { font-size: 16px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
a:focus-visible, button:focus-visible { outline: 3px solid #0678d7; outline-offset: 5px; }
.skip { position: absolute; top: -6rem; left: 10px; background: white; color: black; padding: 10px 16px; z-index: 3; }
.skip:focus { top: 5px; }
.wrap { width: min(100%, 1720px); margin-inline: auto; padding-inline: var(--edge); }
.mast, footer { background: var(--white); }
.head { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { flex: 0 0 auto; display: inline-flex; align-items: center; }
.brand img { width: auto; height: 37px; }
nav, .button, .nav-action, .text-link { display: inline-flex; align-items: center; }
nav { gap: clamp(22px, 3.2vw, 54px); font-weight: 650; font-size: 14px; }
.nav-text:hover, .foot a:last-child:hover { text-decoration: underline; text-underline-offset: 5px; }
.nav-action, .button, .print-button { gap: 22px; padding: 12px 21px; color: white; background: var(--ink); font-weight: 700; line-height: 1.2; transition: background .16s; }
.nav-action:hover { background: var(--red); }
.arr { position: relative; display: inline-block; width: 15px; height: 15px; flex: 0 0 15px; }
.arr::before, .arr::after { content: ""; position: absolute; }
.arr::before { width: 13px; left: 0; top: 6.5px; border-top: 2px solid currentColor; }
.arr::after { width: 8px; height: 8px; right: 0; top: 3px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(45deg); }
.arr.ne { transform: rotate(-45deg); }
.arr.down { transform: rotate(90deg); }
.hero { position: relative; background: #111; color: white; overflow: hidden; isolation: isolate; }
.hero-photo, .hero-shade { position: absolute; z-index: -1; top: 0; right: 0; height: 100%; }
.hero-photo { width: 85%; object-fit: cover; object-position: 67% 59%; }
.hero-shade { width: 100%; background: linear-gradient(90deg,#101010 2%,rgba(16,16,16,.94) 19%,rgba(16,16,16,.71) 35%,rgba(16,16,16,.25) 54%,transparent 73%); }
.hero-inner { padding-top: clamp(65px, 5.3vw, 90px); padding-bottom: clamp(64px, 5.5vw, 96px); }
.kicker, .facts dt { display: flex; align-items: center; gap: 12px; font-size: 11px; line-height: 1.3; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.rule { width: 27px; height: 3px; background: var(--red); display: inline-block; }
.on-dark .rule { background: var(--bright); }
h1, h2, h3, .facts dd { font-family: var(--display); font-weight: 900; }
h1, h2 { letter-spacing: -.059em; }
h1 { margin: 26px 0 22px; font-size: clamp(88px, 8.1vw, 145px); line-height: .9; }
h1 span, .measurement h2 span { color: var(--bright); }
.hero-lead { max-width: 420px; font-size: clamp(17px, 1.32vw, 23px); line-height: 1.48; text-wrap: pretty; }
.button { margin-top: 29px; font-size: 14px; min-height: 48px; }
.red-button, .print-button { background: var(--red); }
.red-button:hover, .print-button:hover { background: #b81f16; }
.facts { background: var(--paper); border-bottom: 1px solid #d5d2cf; }
.facts-inner { display: grid; grid-template-columns: 1.35fr 1fr .9fr; padding-block: 23px; }
.facts-inner > div { border-left: 1px solid #cfccc8; padding-left: clamp(26px, 3vw, 52px); }
.facts-inner > div:first-child { border-left: 0; padding-left: 0; }
.facts dt { color: #585650; font-size: 10px; }
.facts dd { margin-top: 6px; font-size: clamp(17px, 1.5vw, 25px); line-height: 1.25; letter-spacing: -.025em; }
.work, .measurement, .contact { padding-block: clamp(72px, 7.3vw, 126px); }
.section-top, .work-grid, .measurement-grid, .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(38px, 6.6vw, 110px); }
h2 { margin-top: 20px; font-size: clamp(53px, 5.1vw, 88px); line-height: .98; }
.work h2 span { color: var(--red); }
.section-intro, .contact-grid p:not(.kicker), .measure-copy > p { font-size: clamp(19px, 1.65vw, 27px); line-height: 1.45; letter-spacing: -.02em; max-width: 40ch; text-wrap: pretty; }
.section-intro { align-self: end; }
.work-grid { margin-top: clamp(36px, 4vw, 68px); align-items: stretch; }
.boots img { width: 100%; height: 100%; object-fit: cover; object-position: 46% center; }
.programs article { padding-block: 18px 21px; border-top: 1px solid #c8c7c4; }
.programs article:first-child { border-top: 2px solid var(--ink); }
.programs article:last-child { padding-bottom: 0; }
h3 { font-size: clamp(24px, 2.1vw, 36px); letter-spacing: -.042em; line-height: 1.15; margin-bottom: 7px; }
.programs p, .brief p { color: #41403e; }
.programs p { max-width: 55ch; }
.measurement { background: var(--ink); color: white; }
.measure-copy { align-self: center; }
.measure-copy > p { font-size: clamp(18px, 1.4vw, 24px); }
.measure-copy ul { list-style: none; margin: 23px 0 0; padding: 0; }
.measure-copy li { border-top: 1px solid #555; padding: 11px 0; }
.text-link { margin-top: 24px; gap: 16px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-weight: 700; }
.text-link:hover { border-bottom-width: 3px; margin-bottom: -2px; }
.contact { background: #f4f1ed; }
.contact-grid { align-items: center; }
.foot { min-height: 86px; display: flex; align-items: center; gap: 28px; font-size: 13px; }
.foot .brand img { height: 27px; }
.foot a:last-child { margin-left: auto; font-weight: 700; }
.brief-main { background: var(--paper); padding-block: clamp(48px, 6vw, 90px); }
.brief { max-width: 1000px; margin: auto; padding: 0 var(--edge); }
.brief h1 { font-size: clamp(50px, 6vw, 89px); line-height: .98; }
.brief h2 { font-size: clamp(25px, 2.8vw, 36px); margin: 34px 0 10px; line-height: 1.1; letter-spacing: -.04em; }
.brief p, .brief li { max-width: 72ch; }
.brief .standfirst { font-size: clamp(18px, 2vw, 24px); line-height: 1.45; }
.brief .stats { display: flex; flex-wrap: wrap; gap: 26px 48px; margin: 30px 0; padding: 18px 0; border-block: 1px solid #b9b6b1; }
.stats dt { font-size: 12px; font-weight: bold; }.stats dd { font-weight: 750; }
.brief ul { padding-left: 20px; margin-block: 10px; }
.brief li { padding-bottom: 6px; }
.brief .contact-line a { text-decoration: underline; text-underline-offset: 3px; }
.print-button { font: inherit; font-weight: 700; border: none; cursor: pointer; margin-top: 22px; }
@media (max-width: 760px) {
  .head { min-height: 66px; gap: 13px; }
  .brand img { height: 30px; }
  nav { gap: 17px; font-size: 13px; }
  .nav-action { gap: 10px; padding: 10px 13px; }
  .hero-inner { padding-top: 64px; padding-bottom: 53px; }
  .hero-photo { width: 100%; object-position: 65% 54%; }
  .hero-shade { background: linear-gradient(90deg,rgba(12,12,12,.83),rgba(12,12,12,.68) 39%,rgba(12,12,12,.12) 85%), linear-gradient(0deg,rgba(10,10,10,.68),transparent 64%); }
  h1 { font-size: clamp(75px, 13vw, 100px); }
  .hero-lead { max-width: 340px; }
  .facts-inner { grid-template-columns: 1.3fr 1fr 1fr; gap: 14px; padding-block: 19px; }
  .facts-inner > div { padding-left: 14px; }
  .facts dd { font-size: 16px; }
  .section-top, .work-grid, .measurement-grid, .contact-grid { grid-template-columns: 1fr; gap: 26px; }
  .work, .measurement, .contact { padding-block: 57px; }
  .section-intro { max-width: 54ch; }
  .boots img { aspect-ratio: 1.72; height: auto; }
  .programs article { padding-block: 18px; }
  .measurement-grid { gap: 34px; }
  .contact-grid { gap: 20px; }
  .foot { min-height: 78px; gap: 14px; }
}
@media (max-width: 520px) {
  .head .nav-text:first-child { display: none; }
  .hero-photo { object-position: 61% 50%; }
  .hero-inner { padding-top: 53px; padding-bottom: 39px; }
  .hero-lead { font-size: 16px; max-width: 300px; }
  .hero .button { margin-top: 24px; }
  .facts-inner { grid-template-columns: 1fr 1fr; gap: 12px 20px; }
  .facts-inner > div:first-child { grid-column: 1 / -1; display: flex; align-items: baseline; gap: 16px; }
  .facts-inner > div:nth-child(2) { border-left: 0; padding-left: 0; }
  .facts dd { margin-top: 3px; }
  .foot { flex-wrap: wrap; gap: 10px 15px; font-size: 12px; }
  .foot .brand img { height: 22px; }
}
@media (max-width: 365px) {
  :root { --edge: 15px; }
  nav { gap: 9px; }
  .foot a:last-child { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
@media print {
  @page { size: auto; margin: .55in .65in; }
  :root { font-size: 12pt; }
  .mast nav, .print-button, footer, .skip, .brief .text-link { display: none; }
  .head, .brief { padding: 0; }
  .head { min-height: 0; margin-bottom: 20px; }
  .brief-main { padding: 0; background: white; }
  .brief h1 { font-size: 33pt; line-height: 1; margin: 10px 0; }
  .brief h2 { margin: 13px 0 4px; font-size: 16pt; break-after: avoid; }
  .brief .standfirst { font-size: 12pt; }
  .brief .stats { margin: 12px 0; padding: 7px 0; }
  .brief p, .brief li, .brief .stats { font-size: 10pt; line-height: 1.35; }
  .brief ul { margin: 0; }
}
.mission-title { font-size: clamp(62px, 6.1vw, 105px); line-height: .98; letter-spacing: -.055em; }
.brief .purpose { margin: 0 0 12px; font-weight: 750; font-size: 1.15rem; color: var(--ink); }
@media (max-width: 760px) {
  .mission-title { font-size: clamp(39px, 8vw, 62px); }
}
@media print {
  .brief .purpose { font-size: 11pt; margin-bottom: 6px; }
}
