:root {
  --bg: #1F1F1E;
  --bg-sunken: #1A1A19;
  --bg-surface: #242423;
  --bg-raised: #2A2A29;
  --bg-muted: #30302F;
  --text: #F5F5F4;
  --text-2: #C4C4C2;
  --text-3: #A3A3A0;
  --line: #333332;
  --line-2: #41413F;
  --line-3: #7A7A78;
  --accent: #FF5A1F;
  --accent-hover: #FF7440;
  --accent-text: #FF7440;
  --gutter: clamp(1rem, 0.5rem + 2vw, 2rem);
  --pad: clamp(1rem, 0.6rem + 1vw, 1.5rem);
  --section: clamp(4rem, 2.5rem + 5vw, 8rem);
  --max: 1440px;
  --edge: max(var(--gutter), calc((100% - var(--max)) / 2));
  --inset: calc(var(--edge) + var(--pad));
  --sans: "Outfit", sans-serif;
  --display: "Manrope", sans-serif;
  --mono: "Outfit", sans-serif;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 188 188'%3E%3Cpath fill-rule='evenodd' d='M94 0a94 94 0 1 1 0 188A94 94 0 1 1 94 0ZM94 63.6a32 32 0 1 0 0 60.8a32 32 0 1 0 0-60.8Z'/%3E%3C/svg%3E");
  --arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E");
  --cross: linear-gradient(var(--line-3), var(--line-3)) center / 9px 1px no-repeat, linear-gradient(var(--line-3), var(--line-3)) center / 1px 9px no-repeat;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 80px;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  left: var(--edge);
  right: var(--edge);
  z-index: -1;
  pointer-events: none;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  background: linear-gradient(var(--line), var(--line)) 50% 0 / 1px 100% no-repeat;
}

body.menu-open {
  overflow: hidden;
}

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

a {
  color: inherit;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--accent-text);
  outline-offset: 3px;
}

::selection {
  background: var(--accent);
  color: var(--bg);
}

h1, h2, h3, h4, p, ul, ol, dl, dd, figure {
  margin: 0;
}

.skip {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 100;
  padding: 10px 14px;
  background: var(--accent);
  color: var(--bg);
  border-radius: 999px;
  text-decoration: none;
}

.skip:focus {
  top: 12px;
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  height: 60px;
  padding: 0 var(--inset);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: rgba(31, 31, 30, .74);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: background-color .3s ease;
}

.site-header.is-scrolled,
.menu-open .site-header {
  background: rgba(31, 31, 30, .92);
}

.wordmark {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -.02em;
  text-decoration: none;
}

.wordmark::before {
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 10px;
  background: var(--accent);
  -webkit-mask: var(--logo) center / contain no-repeat;
  mask: var(--logo) center / contain no-repeat;
}

.menu-toggle {
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  margin-right: -10px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--text);
  cursor: pointer;
}

.menu-toggle span,
.menu-toggle span::before {
  position: absolute;
  left: 12px;
  width: 20px;
  height: 1px;
  background: currentColor;
  transition: transform .3s var(--ease), top .3s var(--ease);
}

.menu-toggle span {
  top: 18px;
}

.menu-toggle span::before {
  content: "";
  left: 0;
  top: 7px;
}

.menu-open .menu-toggle span {
  top: 22px;
  transform: rotate(45deg);
}

.menu-open .menu-toggle span::before {
  top: 0;
  transform: rotate(-90deg);
}

.site-nav {
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 32px var(--inset) 40px;
  background: var(--bg);
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s var(--ease), visibility 0s linear .35s;
}

.menu-open .site-nav {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.site-nav ul {
  list-style: none;
  padding: 0;
  border-top: 1px solid var(--line);
}

.site-nav li {
  border-bottom: 1px solid var(--line);
}

.site-nav a {
  display: block;
  padding: 14px 0;
  font-size: clamp(1.75rem, 1.3rem + 2.4vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -.03em;
  text-decoration: none;
}

.site-nav a[aria-current="page"] {
  color: var(--accent-text);
}

main {
  display: block;
}

.hero {
  position: relative;
  overflow: hidden;
  padding: 128px var(--inset) var(--section);
  border-bottom: 1px solid var(--line);
}

.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -30%;
  right: -30%;
  width: 90%;
  height: 120%;
  background: radial-gradient(closest-side, rgba(255, 255, 255, .05), transparent);
  pointer-events: none;
}

.kicker {
  margin-bottom: 20px;
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .01em;
  color: var(--text-3);
}

.hero .kicker {
  padding-left: 12px;
  border-left: 2px solid var(--accent);
  color: var(--text-2);
}

.hero h1 {
  font-size: clamp(2.25rem, 1.5rem + 3.2vw, 4.25rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.035em;
  max-width: 14ch;
}

.hero--long h1 {
  max-width: 18ch;
}

.hero .lead {
  margin-top: 24px;
  max-width: 32rem;
  font-size: clamp(1rem, .95rem + .3vw, 1.125rem);
  line-height: 1.55;
  color: var(--text-3);
}

.hero .lead + .lead {
  margin-top: 14px;
}

.hero__globe {
  position: relative;
  margin: 48px -8% 0 auto;
  width: 108%;
  max-width: 560px;
}

.hero__globe img {
  width: 100%;
}

[data-globe] {
  position: relative;
}

.globe-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: grab;
  touch-action: pan-y;
  opacity: 0;
  transition: opacity 1.2s ease;
}

.globe-canvas.is-dragging {
  cursor: grabbing;
}

.is-live > img {
  visibility: hidden;
}

.is-live > .globe-canvas {
  opacity: 1;
}

.block {
  position: relative;
  padding: var(--section) var(--inset);
  border-bottom: 1px solid var(--line);
}

.block > .kicker {
  position: relative;
  display: flex;
  align-items: center;
  height: 44px;
  margin: calc(var(--section) * -1) calc(var(--pad) * -1) var(--section);
  padding: 0 var(--pad);
  border-bottom: 1px solid var(--line);
}

.block > .kicker::before,
.block > .kicker::after {
  content: "";
  position: absolute;
  bottom: -5px;
  width: 9px;
  height: 9px;
  background: var(--cross);
}

.block > .kicker::before {
  left: -4px;
}

.block > .kicker::after {
  right: -4px;
}

.block--sunken {
  background: transparent;
}

.block h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.03em;
  max-width: 20ch;
}

.block--plain h2 {
  max-width: 24ch;
}

.block h2 + p,
.block h2 + .text {
  margin-top: 20px;
}

.text p,
.block .body > p {
  max-width: 36rem;
  color: var(--text-3);
}

.text p + p {
  margin-top: 1em;
}

.body > * + * {
  margin-top: 24px;
}

.body > .text + .pairs,
.body > p + .pairs,
.body > .text + .items,
.body > h2 + .items,
.body > p + .areas,
.body > .text + .map,
.body > .map + .regions,
.body > .pairs + .logos,
.body > h2 + .sectors {
  margin-top: 56px;
}

.pairs {
  border-top: 1px solid var(--line);
}

.pairs > div {
  padding: 18px 0 20px;
  border-bottom: 1px solid var(--line);
}

.pairs dt {
  font-size: 15px;
  font-weight: 500;
  color: var(--text);
}

.pairs dd {
  margin-top: 6px;
  color: var(--text-3);
  max-width: 38rem;
}

.items {
  list-style: none;
  padding: 0;
  display: grid;
  counter-reset: item;
}

.items > li {
  counter-increment: item;
  padding: 24px 0 28px;
  border-top: 1px solid var(--line);
}

.items > li::before {
  content: counter(item, decimal-leading-zero);
  display: block;
  margin-bottom: 18px;
  font-family: var(--mono);
  font-size: 13px;
  color: var(--accent-text);
}

.items h3 {
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.items .meta {
  margin-top: 6px;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-3);
}

.items p {
  color: var(--text-3);
}

.items h3 + p,
.items .meta + p {
  margin-top: 12px;
}

.items p + p {
  margin-top: 1em;
}

.areas {
  list-style: none;
  padding: 0;
  border-top: 1px solid var(--line);
  counter-reset: area;
}

.areas li {
  counter-increment: area;
  display: flex;
  align-items: baseline;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
  font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem);
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--text-2);
  transition: color .15s ease;
}

.areas li::before {
  content: counter(area, decimal-leading-zero);
  width: 2.2em;
  flex: none;
  color: var(--accent);
}

.areas li:hover {
  color: var(--text);
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--text);
  background: var(--bg-muted);
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform 80ms ease;
}

.btn::after {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: var(--arrow) center / contain no-repeat;
  mask: var(--arrow) center / contain no-repeat;
  transition: transform .24s var(--ease);
}

.btn:hover {
  background: #3A3A38;
}

.btn:hover::after {
  transform: translate(2px, -2px);
}

.btn:active {
  transform: scale(.98);
}

.btn--primary {
  background: var(--accent);
  color: var(--bg);
}

.btn--primary:hover {
  background: var(--accent-hover);
  box-shadow: 0 0 36px rgba(255, 90, 31, .4);
}

.actions {
  margin-top: 36px;
}

.map {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.map img {
  width: 100%;
  min-width: 620px;
  margin-left: -6%;
}

.map.map--bleed {
  margin: 0 var(--edge);
  border: 0;
}

.regions {
  display: grid;
}

.regions > div {
  padding: 24px 0 28px;
  border-top: 1px solid var(--line);
}

.logos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.logos a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 112px;
  padding: 20px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-3);
  text-decoration: none;
  transition: color .15s ease, background-color .15s ease;
}

.logos a:hover {
  color: var(--text);
  background: var(--bg-raised);
}

.logos img {
  max-height: 44px;
  width: auto;
}

.sectors {
  border-top: 1px solid var(--line);
  counter-reset: sector;
}

.sectors details {
  counter-increment: sector;
  border-bottom: 1px solid var(--line);
}

.sectors summary {
  display: flex;
  align-items: baseline;
  gap: 20px;
  padding: 20px 0;
  list-style: none;
  cursor: pointer;
  font-size: clamp(1.25rem, 1.05rem + .9vw, 1.875rem);
  line-height: 1.2;
  letter-spacing: -.025em;
  color: var(--text-2);
  transition: color .15s ease;
}

.sectors summary::-webkit-details-marker {
  display: none;
}

.sectors summary::before {
  content: counter(sector, decimal-leading-zero);
  width: 2.2em;
  flex: none;
  color: var(--accent);
}

.sectors summary::after {
  content: "";
  flex: none;
  align-self: center;
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-radius: 50%;
  background: var(--line-3);
  transition: background-color .15s ease, transform .24s ease;
}

.sectors summary:hover,
.sectors details[open] summary {
  color: var(--text);
}

.sectors details[open] summary::after {
  background: var(--accent);
  transform: scale(1.3);
}

.sectors .text {
  padding: 0 0 28px calc(2.2em * 1.4 + 20px);
}

.job {
  border-top: 1px solid var(--line);
  padding-top: 28px;
}

.job + .job {
  margin-top: 88px;
}

.job h3 {
  font-size: clamp(1.625rem, 1.25rem + 1.5vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.03em;
}

.job .meta {
  display: inline-block;
  margin-top: 14px;
  padding: 4px 12px;
  border: 1px solid var(--line-2);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-2);
}

.job .text {
  margin-top: 24px;
}

.job h4 {
  margin: 44px 0 14px;
  font-size: 15px;
  font-weight: 500;
  color: var(--accent-text);
}

.form {
  display: grid;
  gap: 20px;
  max-width: 40rem;
}

.field label {
  display: block;
  margin-bottom: 8px;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-3);
  transition: color .15s ease;
}

.field:focus-within label {
  color: var(--accent-text);
}

.field input,
.field textarea {
  width: 100%;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid var(--line-2);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 16px;
  transition: border-color .15s ease;
}

.field textarea {
  min-height: 140px;
  resize: vertical;
}

.field input:hover,
.field textarea:hover {
  border-color: var(--line-3);
}

.field input:focus,
.field textarea:focus {
  outline: none;
  border-color: var(--accent-text);
}

.form .btn {
  justify-self: start;
  margin-top: 12px;
}

.offices {
  display: grid;
  margin-top: 48px;
  border-top: 1px solid var(--line);
}

.office {
  padding-top: 24px;
}

.office h3 {
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.1;
  padding-bottom: 16px;
}

.office dl > div {
  display: flex;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}

.office dt {
  width: 88px;
  flex: none;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-3);
}

.note {
  margin-top: 56px;
  color: var(--text-3);
}

.note a {
  color: var(--text);
  text-decoration-color: var(--line-3);
  text-underline-offset: 4px;
}

.note a:hover {
  text-decoration-color: currentColor;
}

.cta {
  position: relative;
  overflow: hidden;
}

.cta::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: 900px;
  height: 520px;
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(255, 90, 31, .14), transparent);
  pointer-events: none;
}

.site-footer {
  position: relative;
  padding: 72px var(--inset) 28px;
}

.footer-mark {
  display: flex;
  align-items: center;
  gap: .18em;
  font-size: clamp(2rem, 1rem + 4.5vw, 5.5rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.05em;
  margin-left: -.03em;
}

.footer-mark::before {
  content: "";
  width: .56em;
  height: .56em;
  flex: none;
  margin-right: .06em;
  background: var(--accent);
  -webkit-mask: var(--logo) center / contain no-repeat;
  mask: var(--logo) center / contain no-repeat;
}

.footer-nav {
  margin: 56px calc(var(--pad) * -1) 0;
  padding: 20px var(--pad);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.footer-nav ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
}

.footer-nav a {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-3);
  text-decoration: none;
}

.footer-nav a:hover,
.footer-nav a[aria-current="page"] {
  color: var(--text);
}

.legal {
  margin-top: 24px;
  font-size: 13px;
  color: var(--text-3);
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}

.reveal.is-in,
.no-js .reveal {
  opacity: 1;
  transform: none;
}

@media (min-width: 640px) {
  .map img {
    min-width: 0;
    margin-left: 0;
  }
}

@media (min-width: 768px) {
  body::before {
    background:
      linear-gradient(var(--line), var(--line)) 25% 0 / 1px 100% no-repeat,
      linear-gradient(var(--line), var(--line)) 50% 0 / 1px 100% no-repeat,
      linear-gradient(var(--line), var(--line)) 75% 0 / 1px 100% no-repeat;
  }

  .items--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .items--3 > li {
    padding-right: var(--pad);
  }

  .items--3 > li + li {
    padding-left: var(--pad);
    border-left: 1px solid var(--line);
  }

  .items--2 > li {
    display: grid;
    grid-template-columns: 2.4em minmax(0, 1fr) minmax(0, 2fr);
    column-gap: var(--pad);
    align-items: baseline;
  }

  .items--2 > li::before {
    margin: 0;
  }

  .items--2 > li > * {
    grid-column: 3;
  }

  .items--2 > li > h3 {
    grid-column: 2;
    grid-row: 1 / span 3;
  }

  .items--2 h3 + p {
    margin-top: 0;
  }

  .regions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .regions > div {
    padding-right: var(--pad);
  }

  .regions > div + div {
    padding-left: var(--pad);
    border-left: 1px solid var(--line);
  }

  .pairs > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: var(--pad);
  }

  .pairs dd {
    margin-top: 0;
  }

  .offices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .office + .office {
    padding-left: var(--pad);
    border-left: 1px solid var(--line);
  }

  .office:first-child {
    padding-right: var(--pad);
  }

  .form {
    grid-template-columns: 1fr 1fr;
    column-gap: 32px;
  }

  .form .field--full {
    grid-column: 1 / -1;
  }
}

@media (min-width: 1024px) {
  .site-header {
    height: 64px;
  }

  .menu-toggle {
    display: none;
  }

  .site-nav {
    position: static;
    padding: 0;
    background: none;
    opacity: 1;
    visibility: visible;
  }

  .site-nav ul {
    display: flex;
    align-items: center;
    gap: 22px;
    border: 0;
  }

  .site-nav li {
    border: 0;
  }

  .site-nav a {
    padding: 6px 0;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--text-3);
    transition: color .15s ease;
  }

  .site-nav a:hover,
  .site-nav a[aria-current="page"] {
    color: var(--text);
  }

  .site-nav a.nav-contact {
    margin-left: 14px;
    padding: 9px 16px;
    border-radius: 999px;
    background: var(--accent);
    color: var(--bg);
    transition: background-color .15s ease, box-shadow .15s ease;
  }

  .site-nav a.nav-contact:hover,
  .site-nav a.nav-contact[aria-current="page"] {
    background: var(--accent-hover);
    color: var(--bg);
    box-shadow: 0 0 30px rgba(255, 90, 31, .4);
  }

  .hero {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-content: end;
    min-height: 78vh;
    padding-top: 160px;
  }

  .hero > .kicker,
  .hero > h1 {
    grid-column: 1 / 4;
  }

  .hero > .lead {
    grid-column: 3 / 5;
    padding-left: var(--pad);
    margin-top: 40px;
  }

  .hero > .lead + .lead {
    margin-top: 14px;
  }

  .hero--globe {
    align-content: center;
    min-height: 100vh;
    max-height: 980px;
  }

  .hero--globe > .kicker,
  .hero--globe > h1,
  .hero--globe > .lead {
    grid-column: 1 / 3;
    padding-left: 0;
  }

  .hero--globe > .lead {
    margin-top: 24px;
  }

  .hero__globe {
    position: absolute;
    top: 50%;
    right: calc(var(--edge) - 3%);
    width: 52%;
    max-width: 760px;
    margin: 0;
    transform: translateY(-46%);
  }

  .block {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .block > .kicker {
    grid-column: 1 / -1;
  }

  .block > .body {
    grid-column: 2 / 5;
    padding-left: var(--pad);
  }

  .block--shift > .body {
    grid-column: 2 / 4;
  }

  .block--plain > .body {
    grid-column: 1 / 4;
    padding-left: 0;
  }

  .block--right > .body {
    grid-column: 3 / 5;
  }

  .cta > .body {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px 0;
  }

  .cta h2,
  .cta .body > p {
    margin-left: auto;
    margin-right: auto;
  }

  .map {
    margin-left: calc(var(--pad) * -1 - 1px);
  }

  .site-footer {
    padding-top: 110px;
  }
}

@media (min-width: 1440px) {
  .hero h1 {
    font-size: 4.5rem;
  }

  .hero__globe {
    right: calc(var(--edge) - 40px);
  }
}


.ab-hero {
  position: relative;
  padding: 128px var(--inset) var(--section);
  border-bottom: 1px solid var(--line);
}

.ab-hero h1 {
  font-size: clamp(2.5rem, 1.4rem + 5vw, 6rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
  max-width: 12ch;
}

.ab-hero__panel {
  position: relative;
  overflow: hidden;
  margin-top: 48px;
  padding: 32px 24px;
  min-height: 260px;
  display: flex;
  align-items: flex-end;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-surface);
}

.ab-hero__panel::before {
  content: "";
  position: absolute;
  right: -20%;
  top: -60%;
  width: 90%;
  height: 180%;
  background: radial-gradient(closest-side, rgba(255, 90, 31, .28), rgba(255, 90, 31, .06) 60%, transparent);
  pointer-events: none;
}

.ab-hero__panel .lead {
  position: relative;
  max-width: 34rem;
  font-size: clamp(1.125rem, 1rem + .6vw, 1.5rem);
  line-height: 1.45;
  letter-spacing: -.015em;
  color: var(--text);
}

.ab-section {
  padding: var(--section) var(--inset);
  border-bottom: 1px solid var(--line);
}

.ab-section h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.03em;
  max-width: 20ch;
}

.ab-head p:not(.kicker),
.ab-intl__text p:not(.kicker) {
  margin-top: 20px;
  max-width: 34rem;
  color: var(--text-3);
}

.ab-cards {
  display: grid;
  gap: 16px;
  margin-top: 48px;
}

.ab-card {
  padding: 28px 24px 32px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-surface);
  transition: border-color .15s ease, background-color .15s ease;
}

.ab-card:hover {
  border-color: var(--line-2);
  background: var(--bg-raised);
}

.ab-card h3,
.ab-pillars h3 {
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.ab-card h3 {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.ab-card p,
.ab-pillars p,
.ab-role__cols p {
  color: var(--text-3);
}

.ab-role h2 {
  font-size: clamp(2rem, 1.3rem + 3vw, 4rem);
  line-height: 1.04;
  letter-spacing: -.04em;
  max-width: 16ch;
}

.ab-role__cols {
  display: grid;
  gap: 20px;
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.ab-pillars {
  display: grid;
  margin-top: 48px;
  border-top: 1px solid var(--line);
}

.ab-pillars article {
  padding: 28px 0 32px;
  border-bottom: 1px solid var(--line);
}

.ab-pillars h3 {
  margin-bottom: 14px;
}

.ab-logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 40px;
}

.ab-logos a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 104px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-3);
  text-decoration: none;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}

.ab-logos img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 56px;
  opacity: .85;
  transition: opacity .15s ease;
}

.ab-logos a:hover img {
  opacity: 1;
}

.ab-logos a:hover {
  color: var(--text);
  border-color: var(--line-2);
  background: var(--bg-raised);
}

.ab-intl__globe {
  max-width: 420px;
  margin: 40px auto 0;
}

.ab-intl__globe img {
  width: 100%;
}

.ab-tabs {
  margin-top: 56px;
}

.ab-tabs__list {
  display: none;
}

.ab-tabs.is-ready .ab-tabs__list {
  display: flex;
  gap: 6px;
  padding: 4px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--bg-surface);
  width: max-content;
  max-width: 100%;
}

.ab-tabs__list button {
  flex: none;
  padding: 10px 18px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-3);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}

.ab-tabs__list button:hover {
  color: var(--text);
}

.ab-tabs__list button[aria-selected="true"] {
  background: var(--accent);
  color: var(--bg);
}

.ab-tabs__panel {
  padding: 28px 0;
  border-top: 1px solid var(--line);
}

.ab-tabs.is-ready .ab-tabs__panel {
  margin-top: 20px;
  padding: 28px 24px 32px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-surface);
}

.ab-tabs__panel p {
  max-width: 44rem;
  color: var(--text-3);
}

.ab-tabs__panel .ab-tabs__meta {
  margin-bottom: 6px;
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--text);
}

.ab-tabs__panel .ab-tabs__sub {
  margin-bottom: 14px;
  font-size: 14px;
  color: var(--accent-text);
}

.ab-tabs__panel:last-child {
  border-bottom: 1px solid var(--line);
}

.ab-map {
  margin-top: 40px;
  overflow: hidden;
}

.ab-map img {
  width: 100%;
  min-width: 620px;
}

@media (min-width: 768px) {
  .ab-hero__panel {
    padding: 48px;
    min-height: 340px;
  }

  .ab-cards,
  .ab-role__cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ab-role__cols {
    column-gap: 48px;
  }

  .ab-pillars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid var(--line);
  }

  .ab-pillars article {
    padding: 28px 28px 36px 0;
    border-bottom: 0;
  }

  .ab-pillars article + article {
    padding-left: 28px;
    border-left: 1px solid var(--line);
  }

  .ab-map img {
    min-width: 0;
  }
}

@media (min-width: 1024px) {
  .ab-hero {
    padding-top: 180px;
  }

  .ab-hero__panel {
    margin-left: 25%;
    margin-top: 64px;
  }

  .ab-context {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 64px;
    align-items: start;
  }

  .ab-context .ab-head {
    position: sticky;
    top: 110px;
  }

  .ab-context .ab-cards {
    margin-top: 0;
    grid-template-columns: 1fr;
  }

  .ab-role {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ab-role > .kicker,
  .ab-role > h2 {
    grid-column: 1 / 4;
  }

  .ab-role__cols {
    grid-column: 2 / 5;
  }

  .ab-intl__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 48px;
    align-items: center;
  }

  .ab-intl__globe {
    max-width: 540px;
    margin: 0 0 0 auto;
  }

  .ab-tabs__panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: 48px;
  }

  .ab-tabs__panel .ab-tabs__sub {
    margin-bottom: 0;
  }

  .ab-tabs.is-ready .ab-tabs__panel {
    padding: 36px 40px 40px;
  }
}


.iv-hero {
  padding: 128px var(--inset) var(--section);
  border-bottom: 1px solid var(--line);
}

.iv-hero h1 {
  font-size: clamp(2.5rem, 1.4rem + 5vw, 6rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
  max-width: 13ch;
}

.iv-hero .lead {
  margin-top: 32px;
  max-width: 36rem;
  font-size: clamp(1.0625rem, 1rem + .4vw, 1.25rem);
  line-height: 1.55;
  color: var(--text-2);
}

.iv-head h2,
.iv-before__head h2,
.iv-after h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.03em;
  max-width: 20ch;
}

.iv-cards {
  list-style: none;
  padding: 0;
  margin: 48px 0 0;
  display: grid;
  gap: 12px;
}

.iv-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 24px 24px 28px;
  min-height: 280px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-surface);
  transition: border-color .15s ease, background-color .15s ease;
}

.iv-card:hover {
  border-color: var(--line-2);
  background: var(--bg-raised);
}

.iv-card__num {
  align-self: flex-end;
  padding: 2px 10px;
  border: 1px solid var(--line-2);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-3);
}

.iv-card h3 {
  margin-top: auto;
  padding-top: 48px;
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.iv-card p {
  margin-top: 12px;
  color: var(--text-3);
}

.iv-card--lead {
  overflow: hidden;
  border-color: #5A2A16;
  background: #2B211C;
}

.iv-card--lead::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -20%;
  width: 80%;
  height: 120%;
  background: radial-gradient(closest-side, rgba(255, 90, 31, .3), transparent);
  pointer-events: none;
}

.iv-card--lead:hover {
  border-color: #7A3A1C;
  background: #2F241E;
}

.iv-card--lead .iv-card__num {
  position: relative;
  border-color: var(--accent);
  color: var(--accent-text);
}

.iv-card--lead h3,
.iv-card--lead p {
  position: relative;
}

.iv-card--lead p {
  color: var(--text-2);
}

.iv-before__head p:not(.kicker) {
  margin-top: 20px;
  max-width: 34rem;
  color: var(--text-3);
}

.iv-questions {
  margin-top: 48px;
  border-top: 1px solid var(--line);
  counter-reset: q;
}

.iv-questions > div {
  counter-increment: q;
  padding: 28px 0 32px;
  border-bottom: 1px solid var(--line);
}

.iv-questions dt {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .02em;
  color: var(--accent-text);
}

.iv-questions dd {
  margin-top: 14px;
  max-width: 40rem;
  font-size: clamp(1.125rem, 1rem + .6vw, 1.5rem);
  line-height: 1.4;
  letter-spacing: -.015em;
  color: var(--text);
}

.iv-after__panel {
  position: relative;
  overflow: hidden;
  padding: 36px 24px 40px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-surface);
}

.iv-after__panel::before {
  content: "";
  position: absolute;
  left: -20%;
  bottom: -70%;
  width: 90%;
  height: 160%;
  background: radial-gradient(closest-side, rgba(255, 90, 31, .22), transparent);
  pointer-events: none;
}

.iv-after__panel > * {
  position: relative;
}

.iv-after__cols {
  display: grid;
  gap: 20px;
  margin-top: 36px;
}

.iv-after__cols p {
  color: var(--text-2);
}

.iv-tabs {
  margin-top: 48px;
}

.iv-tabs__list {
  display: none;
}

.iv-tabs.is-ready .iv-tabs__list {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  margin: 0 calc(var(--inset) * -1);
  padding: 0 var(--inset) 4px;
  scrollbar-width: none;
}

.iv-tabs__list::-webkit-scrollbar {
  display: none;
}

.iv-tabs__list button {
  flex: none;
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--bg-surface);
  color: var(--text-2);
  font-family: var(--sans);
  font-size: 15px;
  text-align: left;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.iv-tabs__list button span {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text-3);
}

.iv-tabs__list button:hover {
  color: var(--text);
  border-color: var(--line-2);
}

.iv-tabs__list button[aria-selected="true"] {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--bg);
}

.iv-tabs__list button[aria-selected="true"] span {
  color: var(--bg);
}

.iv-tabs__panel {
  padding: 28px 0;
  border-top: 1px solid var(--line);
}

.iv-tabs.is-ready .iv-tabs__panel {
  margin-top: 16px;
  padding: 32px 24px 36px;
  min-height: 300px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-surface);
}

.iv-tabs__panel h3 {
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.03em;
  margin-bottom: 24px;
}

.iv-tabs__panel p {
  max-width: 40rem;
  color: var(--text-3);
}

.iv-tabs__panel p + p {
  margin-top: 1em;
}

@media (min-width: 768px) {
  .iv-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .iv-card--lead {
    grid-column: 1 / -1;
  }

  .iv-after__panel {
    padding: 56px 48px 60px;
  }

  .iv-after__cols {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 48px;
    max-width: 60rem;
  }

  .iv-questions > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: 32px;
    align-items: baseline;
  }

  .iv-questions dd {
    margin-top: 0;
  }
}

@media (min-width: 1024px) {
  .iv-hero {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-top: 180px;
  }

  .iv-hero > .kicker {
    grid-column: 1 / 2;
    padding-top: 1.6em;
  }

  .iv-hero__main {
    grid-column: 2 / 5;
  }

  .iv-hero .lead {
    margin-top: 48px;
    margin-left: 33.333%;
  }

  .iv-head {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .iv-head .kicker {
    grid-column: 1 / 2;
    padding-top: .9em;
  }

  .iv-head h2 {
    grid-column: 2 / 5;
  }

  .iv-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .iv-card--lead {
    grid-column: span 2;
  }

  .iv-before {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 64px;
    align-items: start;
  }

  .iv-before__head {
    position: sticky;
    top: 110px;
  }

  .iv-questions {
    margin-top: 0;
  }

  .iv-questions > div {
    display: block;
  }

  .iv-questions dd {
    margin-top: 14px;
  }

  .iv-tabs.is-ready {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: 24px;
    align-items: start;
  }

  .iv-tabs.is-ready .iv-tabs__list {
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    border-top: 1px solid var(--line);
  }

  .iv-tabs.is-ready .iv-tabs__list button {
    padding: 16px 4px;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    font-size: clamp(1.0625rem, 1rem + .4vw, 1.25rem);
    letter-spacing: -.015em;
    color: var(--text-3);
  }

  .iv-tabs.is-ready .iv-tabs__list button:hover {
    color: var(--text);
  }

  .iv-tabs.is-ready .iv-tabs__list button[aria-selected="true"] {
    background: transparent;
    color: var(--accent-text);
  }

  .iv-tabs.is-ready .iv-tabs__list button[aria-selected="true"] span {
    color: var(--accent);
  }

  .iv-tabs.is-ready .iv-tabs__panel {
    margin-top: 0;
    padding: 44px 48px 48px;
    min-height: 100%;
  }
}


.pt-hero {
  padding: 128px var(--inset) var(--section);
  border-bottom: 1px solid var(--line);
}

.pt-hero h1 {
  font-size: clamp(2.5rem, 1.4rem + 5vw, 6rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
  max-width: 15ch;
}

.pt-hero__cols {
  display: grid;
  gap: 18px;
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.pt-hero__cols p {
  max-width: 34rem;
  color: var(--text-2);
}

.pt-cards {
  list-style: none;
  padding: 0;
  margin: 48px 0 0;
  display: grid;
  gap: 12px;
}

.pt-card {
  display: flex;
  flex-direction: column;
  padding: 24px 24px 28px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-surface);
  transition: border-color .15s ease, background-color .15s ease;
}

.pt-card:hover {
  border-color: var(--line-2);
  background: var(--bg-raised);
}

.pt-card .iv-card__num {
  align-self: flex-start;
}

.pt-card h3 {
  margin: 56px 0 16px;
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.625rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.02em;
  max-width: 18ch;
}

.pt-card p {
  color: var(--text-3);
}

.pt-card p + p {
  margin-top: 1em;
}

.pt-routes h2 {
  font-size: clamp(2rem, 1.3rem + 3vw, 4rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.04em;
}

.pt-routes > p:not(.kicker) {
  margin-top: 24px;
  max-width: 36rem;
  font-size: clamp(1.0625rem, 1rem + .4vw, 1.25rem);
  line-height: 1.5;
  color: var(--text-2);
}

.pt-principles {
  display: grid;
  gap: 12px;
  margin-top: 48px;
}

.pt-principles article {
  position: relative;
  padding: 28px 24px 32px;
  border-radius: 12px;
  background: var(--bg-surface);
  border: 1px solid var(--line);
}

.pt-principles article::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 24px;
  width: 36px;
  height: 2px;
  background: var(--accent);
}

.pt-icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line-2);
  border-radius: 12px;
  color: var(--accent-text);
  background: rgba(255, 90, 31, .06);
}

.pt-icon svg {
  width: 22px;
  height: 22px;
}

.iv-card--lead .pt-icon {
  border-color: var(--accent);
  background: rgba(255, 90, 31, .12);
}

.pt-principles h3 {
  margin: 36px 0 12px;
  font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.pt-principles p {
  color: var(--text-3);
}

.pt-start__panel {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 40px;
  padding: 36px 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-sunken);
}

.pt-start__panel::before {
  content: "";
  position: absolute;
  left: -15%;
  top: -50%;
  width: 70%;
  height: 150%;
  background: radial-gradient(closest-side, rgba(255, 90, 31, .2), transparent);
  pointer-events: none;
}

.pt-start__panel > * {
  position: relative;
}

.pt-start h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.03em;
  max-width: 16ch;
}

.pt-start__intro p {
  margin-top: 20px;
  max-width: 30rem;
  color: var(--text-2);
}

.pt-note {
  padding: 8px 20px;
  border: 1px solid var(--line-2);
  border-radius: 12px;
  background: var(--bg-surface);
}

.pt-note > div {
  padding: 18px 0 20px;
}

.pt-note > div + div {
  border-top: 1px solid var(--line);
}

.pt-note dt {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
}

.pt-note dd {
  margin-top: 6px;
  color: var(--text-3);
}

@media (min-width: 768px) {
  .pt-hero__cols,
  .pt-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pt-hero__cols {
    column-gap: 48px;
  }

  .pt-principles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pt-start__panel {
    padding: 56px 48px;
  }
}

@media (min-width: 1024px) {
  .pt-hero {
    padding-top: 180px;
  }

  .pt-hero__cols {
    margin-left: 25%;
    margin-top: 64px;
  }

  .pt-cards {
    margin-left: 25%;
  }

  .pt-routes {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
  }

  .pt-routes > .kicker {
    grid-column: 1 / -1;
  }

  .pt-routes h2 {
    grid-column: 1 / 3;
  }

  .pt-routes > p:not(.kicker) {
    grid-column: 3 / 5;
    margin-top: 0;
  }

  .pt-start__panel {
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    column-gap: 64px;
    align-items: center;
    padding: 72px 64px;
  }
}


.cr-hero__lead {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.cr-hero__lead p {
  max-width: 36rem;
  font-size: clamp(1.0625rem, 1rem + .4vw, 1.25rem);
  line-height: 1.55;
  color: var(--text-2);
}

.cr-working h2,
.cr-apply h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.03em;
  max-width: 18ch;
}

.cr-working__text {
  margin-top: 24px;
}

.cr-working__text p {
  max-width: 36rem;
  color: var(--text-3);
}

.cr-working__text p + p {
  margin-top: 1em;
}

.cr-values {
  display: grid;
  gap: 12px;
  margin-top: 48px;
}

.cr-values article {
  padding: 24px 24px 28px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-surface);
}

.cr-values h3 {
  margin: 0 0 10px;
  font-size: clamp(1.1875rem, 1.05rem + .5vw, 1.375rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.cr-values p {
  color: var(--text-3);
}

.cr-index {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  border-top: 1px solid var(--line);
}

.cr-index li {
  border-bottom: 1px solid var(--line);
}

.cr-index a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  padding: 22px 0;
  text-decoration: none;
}

.cr-index__title {
  font-size: clamp(1.25rem, 1.05rem + .9vw, 1.875rem);
  letter-spacing: -.025em;
  line-height: 1.2;
  transition: color .15s ease;
}

.cr-index__loc {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-3);
  transition: color .15s ease;
}

.cr-index__loc::after {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: var(--arrow) center / contain no-repeat;
  mask: var(--arrow) center / contain no-repeat;
  transform: rotate(90deg);
  transition: transform .24s var(--ease);
}

.cr-index a:hover .cr-index__loc {
  color: var(--accent-text);
}

.cr-index a:hover .cr-index__loc::after {
  transform: rotate(90deg) translate(2px, -2px);
}

.cr-job {
  margin-top: 64px;
  padding: 28px 24px 36px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-surface);
  scroll-margin-top: 90px;
}

.cr-job h3 {
  font-size: clamp(1.625rem, 1.25rem + 1.5vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.03em;
}

.cr-job__loc {
  display: inline-block;
  margin: 14px 0 28px;
  padding: 4px 12px;
  border: 1px solid var(--line-2);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--text-2);
}

.cr-job__side .btn {
  display: flex;
  width: max-content;
  max-width: 100%;
}

.cr-job__body {
  margin-top: 40px;
}

.cr-job__intro p {
  max-width: 40rem;
  color: var(--text-2);
}

.cr-job__intro p + p {
  margin-top: 1em;
}

.cr-job__group {
  margin-top: 44px;
}

.cr-job__group h4 {
  margin-bottom: 14px;
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--accent-text);
}

.cr-list {
  border-top: 1px solid var(--line);
}

.cr-list > div {
  padding: 16px 0 18px;
  border-bottom: 1px solid var(--line);
}

.cr-list dt {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: 16px;
  font-weight: 500;
}

.cr-list dd {
  margin-top: 6px;
  max-width: 40rem;
  color: var(--text-3);
}

.cr-apply {
  position: relative;
  overflow: hidden;
  padding: 36px 24px 40px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-sunken);
}

.cr-apply::before {
  content: "";
  position: absolute;
  right: -15%;
  top: -60%;
  width: 70%;
  height: 170%;
  background: radial-gradient(closest-side, rgba(255, 90, 31, .22), transparent);
  pointer-events: none;
}

.cr-apply > * {
  position: relative;
}

.cr-apply__cols {
  display: grid;
  gap: 18px;
  margin-top: 32px;
}

.cr-apply__cols p {
  max-width: 34rem;
  color: var(--text-2);
}

.cr-apply__cols a {
  color: var(--text);
  text-decoration-color: var(--accent);
  text-underline-offset: 4px;
}

.cr-apply__cols a:hover {
  color: var(--accent-text);
}

@media (min-width: 768px) {
  .cr-values {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cr-job {
    padding: 40px 40px 48px;
  }

  .cr-list > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    column-gap: 24px;
  }

  .cr-list dd {
    margin-top: 0;
    padding-left: 0;
  }

  .cr-apply {
    padding: 56px 48px 60px;
  }

  .cr-apply__cols {
    padding-left: calc((100% - 24px) / 3 + 24px);
  }
}

@media (min-width: 1024px) {
  .cr-hero__lead {
    margin-left: 50%;
    margin-top: 64px;
  }

  .cr-working {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 64px;
    align-items: start;
  }

  .cr-working__head {
    position: sticky;
    top: 110px;
  }

  .cr-values {
    margin-top: 0;
  }

  .cr-index {
    margin-left: 25%;
  }

  .cr-job {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    column-gap: 56px;
    align-items: start;
    padding: 56px;
  }

  .cr-job__side {
    position: sticky;
    top: 110px;
  }

  .cr-job__body {
    margin-top: 0;
  }

  .cr-apply {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 64px;
    padding: 72px 64px;
  }

  .cr-apply > .kicker {
    grid-column: 1 / -1;
  }

  .cr-apply__cols {
    margin-top: 0;
    grid-template-columns: 1fr;
    align-self: end;
    padding-left: 0;
  }
}


.ct-hero {
  position: relative;
  overflow: hidden;
  padding: 128px var(--inset) 0;
  border-bottom: 1px solid var(--line);
}

.ct-hero h1 {
  font-size: clamp(2.5rem, 1.4rem + 5vw, 6rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
  max-width: 11ch;
}

.ct-hero .lead {
  margin-top: 28px;
  max-width: 30rem;
  font-size: clamp(1.0625rem, 1rem + .4vw, 1.25rem);
  line-height: 1.55;
  color: var(--text-2);
}

.ct-hero__globe {
  width: 118%;
  max-width: 620px;
  margin: 40px -9% -24% auto;
}

.ct-hero__globe img {
  width: 100%;
}

.ct-form-panel {
  height: 511px;
  position: relative;
  overflow: hidden;
  padding: 32px 24px 36px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-surface);
}

.ct-form-panel::before {
  content: "";
  position: absolute;
  right: -25%;
  top: -40%;
  width: 70%;
  height: 90%;
  background: radial-gradient(closest-side, rgba(255, 90, 31, .16), transparent);
  pointer-events: none;
}

.ct-form {
  position: relative;
  max-width: none;
}

.ct-offices {
  margin-top: 64px;
}

.ct-offices h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.03em;
}

.ct-offices__list {
  display: grid;
  gap: 12px;
  margin-top: 32px;
}

.ct-office {
  position: relative;
  padding: 24px 24px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-surface);
}

.ct-office::before {
  content: "";
  position: absolute;
  top: 30px;
  right: 24px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(255, 90, 31, .18);
}

.ct-office h3 {
  padding-bottom: 18px;
  font-size: clamp(1.375rem, 1.15rem + .9vw, 1.875rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.03em;
}

.ct-office dl > div {
  display: flex;
  align-items: baseline;
  gap: 16px;
  min-height: 46px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}

.ct-office dt {
  width: 80px;
  flex: none;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-3);
}

.ct-office dd {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.5;
}

.ct-office dd a {
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: rgba(255, 116, 64, .4);
  text-underline-offset: 3px;
  transition: color .15s ease, text-decoration-color .15s ease;
}

.ct-office dd a:hover {
  color: var(--accent-text);
  text-decoration-color: currentColor;
}

.ct-note {
  margin-top: 28px;
  color: var(--text-3);
}

.ct-note a {
  color: var(--text);
  text-decoration-color: var(--accent);
  text-underline-offset: 4px;
}

.ct-note a:hover {
  color: var(--accent-text);
}

@media (min-width: 768px) {
  .ct-form-panel {
    padding: 44px 40px 48px;
  }

  .ct-offices__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ct-hero__globe {
    width: 80%;
    margin-right: -6%;
  }
}

@media (min-width: 1024px) {
  .ct-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 48px;
    align-items: center;
    min-height: 88vh;
    max-height: 920px;
    padding-top: 120px;
    padding-bottom: 0;
  }

  .ct-hero__text {
    padding-bottom: 40px;
  }

  .ct-hero__globe {
    width: 112%;
    max-width: 720px;
    margin: 0 -12% 0 0;
    justify-self: end;
    align-self: center;
  }

  .ct-main {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: 48px;
    align-items: start;
  }

  .ct-offices {
    margin-top: 0;
    position: sticky;
    top: 110px;
  }

  .ct-offices__list {
    grid-template-columns: 1fr;
  }
}



.hm-statement p {
  max-width: 30ch;
  font-size: clamp(1.75rem, 1.2rem + 2.4vw, 3.5rem);
  line-height: 1.12;
  letter-spacing: -.035em;
  color: var(--text-3);
}

.hm-statement strong {
  font-weight: 400;
  color: var(--text);
}

.hm-cards {
  list-style: none;
  padding: 0;
  margin: 48px 0 0;
  display: grid;
  gap: 12px;
}

.hm-areas__intro {
  max-width: 34rem;
  font-size: clamp(1.0625rem, 1rem + .4vw, 1.25rem);
  line-height: 1.5;
  color: var(--text-2);
}

.hm-tiles {
  list-style: none;
  padding: 0;
  margin: 40px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.hm-tiles li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  min-height: 132px;
  padding: 16px 16px 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-surface);
  font-size: clamp(1.0625rem, 1rem + .4vw, 1.3125rem);
  line-height: 1.2;
  letter-spacing: -.015em;
  transition: border-color .15s ease, background-color .15s ease;
}

.hm-tiles li:hover {
  border-color: var(--line-2);
  background: var(--bg-raised);
}

.hm-tiles span {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--accent-text);
}

.hm-tiles li:last-child {
  grid-column: 1 / -1;
}

.hm-reach {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-surface);
}

.hm-reach__text {
  padding: 36px 24px 8px;
}

.hm-reach h2,
.hm-cta h2 {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.625rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.03em;
  max-width: 18ch;
}

.hm-reach__text p,
.hm-cta p {
  margin-top: 20px;
  max-width: 32rem;
  color: var(--text-3);
}

.hm-reach__map {
  overflow: hidden;
  padding: 24px 0 16px;
}

.hm-reach__map img {
  width: 100%;
  min-width: 560px;
  margin-left: -8%;
}

.hm-cta {
  position: relative;
  overflow: hidden;
  padding: 56px 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg-sunken);
  text-align: center;
}

.hm-cta::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -70%;
  width: 120%;
  height: 140%;
  transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(255, 90, 31, .26), transparent);
  pointer-events: none;
}

.hm-cta > * {
  position: relative;
}

.hm-cta h2,
.hm-cta p {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 640px) {
  .hm-tiles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hm-tiles li:last-child {
    grid-column: span 2;
  }
}

@media (min-width: 768px) {
  .hm-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hm-cards .iv-card--lead {
    grid-column: 1 / -1;
  }

  .hm-reach__text {
    padding: 48px 48px 8px;
  }

  .hm-reach__map img {
    min-width: 0;
    margin-left: 0;
  }

  .hm-cta {
    padding: 96px 48px;
  }
}

@media (min-width: 1024px) {

  .hm-statement {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .hm-statement p {
    grid-column: 2 / 5;
  }

  .hm-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hm-cards .iv-card--lead {
    grid-column: auto;
    grid-row: span 1;
  }

  .hm-cards .iv-card {
    min-height: 380px;
  }

  .hm-areas {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
    column-gap: 56px;
    align-items: start;
  }

  .hm-areas__head {
    position: sticky;
    top: 110px;
  }

  .hm-tiles {
    margin-top: 0;
  }

  .hm-tiles li {
    min-height: 168px;
  }

  .hm-reach {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: center;
  }

  .hm-reach__text {
    padding: 64px 0 64px 56px;
  }

  .hm-reach__map {
    padding: 32px 0;
  }

  .hm-reach__map img {
    width: 118%;
    max-width: none;
    margin-left: -6%;
  }
}

.pv-hero__lead{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.pv-hero__lead p{max-width:40rem;font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);line-height:1.55;color:var(--text-2)}
.pv-hero__lead p+p{margin-top:1em}
.pv a:not(.btn){color:var(--accent-text);text-decoration:underline;text-decoration-color:rgba(255,116,64,.4);text-underline-offset:3px;transition:text-decoration-color .15s ease}
.pv a:not(.btn):hover{text-decoration-color:currentColor}
.pv-toc .kicker{margin-bottom:12px}
.pv-toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pv-toc li{border-bottom:1px solid var(--line)}
.pv .pv-toc a{display:flex;gap:14px;align-items:baseline;padding:11px 0;font-size:14px;line-height:1.35;color:var(--text-2);text-decoration:none;transition:color .15s ease}
.pv .pv-toc a:hover{color:var(--text)}
.pv-toc a span{flex:none;font-family:var(--mono);font-size:11px;color:var(--text-3);transition:color .15s ease}
.pv-toc a:hover span{color:var(--accent-text)}
.pv-content{margin-top:56px}
.pv-sec{padding:40px 0;border-top:1px solid var(--line);scroll-margin-top:88px}
.pv-sec:first-child{padding-top:0;border-top:0}
.pv-sec:last-child{padding-bottom:0}
.pv-sec h2{display:flex;flex-direction:column;gap:14px;margin-bottom:20px;font-size:clamp(1.375rem,1.15rem + .9vw,1.875rem);line-height:1.2;letter-spacing:-.025em;max-width:28ch}
.pv-sec h2 span{font-family:var(--mono);font-size:12px;letter-spacing:0;color:var(--accent-text)}
.pv-sec>p,.pv-card p{max-width:42rem;color:var(--text-2);text-wrap:pretty}
.pv-sec>p+p,.pv-card p+p{margin-top:1em}
.pv-sec>*+p{margin-top:1em}
.pv-bullets{list-style:none;margin:16px 0 0;padding:0;max-width:42rem;border-top:1px solid var(--line)}
.pv-bullets+p{margin-top:20px}
.pv-bullets li{position:relative;padding:12px 0 12px 24px;border-bottom:1px solid var(--line);color:var(--text-2)}
.pv-bullets li::before{content:"";position:absolute;left:2px;top:1.35em;width:8px;height:1px;background:var(--accent)}
.pv-card{max-width:44rem;padding:24px 24px 28px;border:1px solid var(--line);border-radius:12px;background:var(--bg-surface)}
.pv-card h3{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:16px;font-size:clamp(1.1875rem,1.05rem + .5vw,1.375rem);font-weight:400;letter-spacing:-.02em}
.pv-card h3 span{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
.pv-meta{margin-top:24px;border-top:1px solid var(--line)}
.pv-meta>div{padding:12px 0;border-bottom:1px solid var(--line)}
.pv-meta>div:last-child{border-bottom:0;padding-bottom:0}
.pv-meta dt{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}
.pv-meta dd{margin-top:6px;color:var(--text-2)}
.pv-rights{margin-top:20px;max-width:48rem}
.pv-rights+p{margin-top:24px}
@media (min-width:768px){
.pv-card{padding:32px 32px 36px}
.pv-meta>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px}
.pv-meta dd{margin-top:0}
.pv-sec{padding:56px 0}
}
@media (min-width:1024px){
.pv-hero__lead{margin-left:50%;margin-top:64px}
.pv-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:48px;align-items:start}
.pv-toc{position:sticky;top:110px}
.pv-content{margin-top:0}
.pv-sec h2{flex-direction:row;align-items:baseline;gap:20px;max-width:none}
.pv-sec h2 span{flex:none;width:28px}
.pv-sec>p,.pv-bullets,.pv-card,.pv-rights{margin-left:48px}
.pv-sec>p{max-width:42rem}
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0s !important;
    animation: none !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

h1,h2,h3,h4,h5,h6,.wordmark,.footer-mark,.cr-index__title{font-family:var(--display)}

.cookie{position:fixed;left:0;right:0;bottom:0;z-index:100;padding:12px;pointer-events:none;opacity:0;transform:translateY(24px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.cookie.is-visible{opacity:1;transform:none}
.cookie__inner{pointer-events:auto;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:20px 20px 16px;border:1px solid var(--line-2);border-radius:16px;background:rgba(36,36,35,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 64px rgba(0,0,0,.5)}
.cookie__inner::before{content:"";position:absolute;right:-30%;top:-60%;width:80%;height:120%;background:radial-gradient(closest-side,rgba(255,90,31,.14),transparent);pointer-events:none}
.cookie__inner>*{position:relative}
.cookie__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cookie__kicker{display:flex;align-items:center;gap:10px;margin:0;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.cookie__link{font-size:13px;color:var(--text-3);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}
.cookie__link:hover{color:var(--accent-text);text-decoration-color:currentColor}
.cookie__text{margin:0;font-size:15px;line-height:1.55;color:var(--text-2);text-wrap:pretty}
.cookie__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.cookie__btn{min-height:44px;padding:0 18px;border:1px solid var(--line-2);border-radius:999px;background:transparent;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,transform 80ms ease}
.cookie__btn:hover{background:var(--bg-muted);border-color:var(--line-3)}
.cookie__btn:active{transform:scale(.98)}
.cookie__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cookie__btn--accept{border-color:var(--accent);background:var(--accent);color:var(--bg)}
.cookie__btn--accept:hover{border-color:var(--accent-hover);background:var(--accent-hover);box-shadow:0 0 32px rgba(255,90,31,.35)}
@media (min-width:640px){
.cookie{left:auto;right:auto;padding:24px}
.cookie__inner{width:400px;padding:24px 24px 20px}
}
@media (prefers-reduced-motion:reduce){.cookie{transition:none;transform:none}}

.nowrap{white-space:nowrap}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
