html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

html,
body {
  height: 100%; }

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased; }

ol,
ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word; }

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

button,
input[type="submit"],
summary {
  cursor: pointer; }

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%; }

input,
textarea,
button {
  border-radius: 0;
  border: 0;
  background: none; }

details summary::marker {
  content: ""; }

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

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: auto;
  width: 100%; }

.span-6-md {
  grid-column: span 12; }
  @media (min-width: 850px) {
    .span-6-md {
      grid-column: span 6; } }
.span-6 {
  grid-column: span 6; }

.span-12 {
  grid-column: span 12; }

.span-6-end {
  grid-column: span 12; }
  @media (min-width: 850px) {
    .span-6-end {
      grid-column: 7/13; } }
.row-gap-15 {
  grid-row-gap: 15px; }

.row-gap-35 {
  grid-row-gap: 35px; }

.row-gap-50 {
  grid-row-gap: 25px; }
  @media (min-width: 850px) {
    .row-gap-50 {
      grid-row-gap: 50px; } }
.row-gap-135 {
  grid-row-gap: 135px; }

@media (min-width: 850px) {
  .span-12-md {
    grid-column: span 12; } }

.children-span-4 > div {
  grid-column: span 12; }
  @media (min-width: 850px) {
    .children-span-4 > div {
      grid-column: span 4; } }
.sr-only {
  position: absolute !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0; }

.flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.flex-between {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  align-items: center;
  justify-content: space-between;
  width: 100%; }

.align-center {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  align-items: center;
  justify-content: flex-start; }

.flex-vertical-between {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: space-between;
  flex-direction: column;
  height: 100%; }

:root {
  --body: "Suisse Intl";
  --works: 'Suisse Works';
  --h1: 160px;
  --h2: 60px;
  --h3: 24px;
  --body-xl: 38px;
  --body-lg: 28px;
  --body-md: 24px;
  --body-sm: 16px;
  --body-xs: 14px;
  --p: 12px;
  --black: #121212;
  --white: #F3F3EE;
  --cream: #F3F3EE;
  --beige: #AAA29A;
  --brown: #5B4D3F;
  --concrete: #898989;
  --gutter: 24px;
  --top-space: 220px;
  --headerHeight: 103px;
  --space-xl: 220px;
  --space-lg: 120px;
  --space-md: 105px;
  --space-sm: 85px;
  --space-xs: 50px;
  --sec: 0.5s;
  --timing: ease; }
  @media (max-width: 850px) {
    :root {
      --h1: 38px;
      --h2: 38px;
      --h3: 14px;
      --body-xl: 24px;
      --body-md: 14px;
      --body-sm: 14px;
      --headerHeight: 90px;
      --top-space: 155px;
      --space-xl: 85px;
      --space-lg: 65px;
      --space-md: 50px;
      --space-sm: 40px; } }
*,
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

*:focus {
  outline: none; }

html {
  font-size: 12px;
  font-weight: normal;
  font-style: normal;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  html.beige {
    background-color: var(--beige); }
    html.beige body {
      background-color: var(--beige); }
  html.cream {
    background-color: var(--cream); }
    html.cream body {
      background-color: var(--cream); }

html,
body {
  font-family: var(--body);
  background-color: var(--cream); }

body {
  line-height: 1;
  overflow-x: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none; }
  body.panel-open {
    overflow: hidden; }
  body::-webkit-scrollbar {
    display: none;
    -webkit-appearance: none; }

a {
  text-decoration: none;
  color: currentColor; }

h1, .h1 {
  font-size: var(--h1);
  font-family: var(--works);
  letter-spacing: -0.05em; }

h2, .h2 {
  font-size: var(--h2);
  letter-spacing: -0.025em; }

h3, .h3 {
  font-size: var(--h3); }

p, .p {
  font-size: var(--p);
  line-height: 1.2; }

button {
  color: inherit;
  font-size: inherit; }

.mobile-only {
  display: block; }
  @media (min-width: 850px) {
    .mobile-only {
      display: none; } }
.desktop-only {
  display: none; }
  @media (min-width: 850px) {
    .desktop-only {
      display: block; } }
.tablet-up-only {
  display: none; }
  @media (min-width: 1100px) {
    .tablet-up-only {
      display: block; } }
.fit-content {
  display: block;
  width: fit-content;
  line-height: 1.2; }

.space-xl {
  margin-bottom: var(--space-xl); }

.space-lg {
  margin-bottom: var(--space-lg); }

.space-md {
  margin-bottom: var(--space-md); }

.space-sm {
  margin-bottom: var(--space-sm); }

.space-xs {
  margin-bottom: var(--space-xs); }

.padd-xs {
  padding-bottom: var(--space-xs); }

.pb-15 {
  padding-bottom: 15px; }

.mb-15 {
  margin-bottom: 15px; }

.mb-25 {
  margin-bottom: 25px; }

.gutter {
  padding: 0 var(--gutter); }

.kt-h3 p {
  font-size: var(--h3); }

.body-xl {
  font-size: var(--body-xl); }

.body-md {
  font-size: var(--body-md); }

.body-sm {
  font-size: var(--body-sm); }

.body-xs {
  font-size: var(--body-xs); }

.kt-xs > p {
  font-size: var(--body-xs); }

.kt-sm > p {
  font-size: var(--body-sm); }

.kt-lg {
  width: 100%;
  max-width: 580px; }
  .kt-lg p {
    font-size: var(--body-xl); }
    @media (min-width: 850px) {
      .kt-lg p {
        font-size: var(--body-lg); } }
.kt-md {
  width: 100%;
  max-width: 680px; }
  .kt-md.w-560 {
    max-width: 560px; }
  .kt-md p {
    font-size: var(--body-md); }
    .kt-md p:not(:first-of-type)::before {
      content: "";
      padding-left: 20px; }
      @media (min-width: 850px) {
        .kt-md p:not(:first-of-type)::before {
          padding-left: 40px; } }
  .kt-md.p-space > p:not(:last-of-type) {
    margin-bottom: 25px; }

.page-title-lg {
  margin-bottom: 40px; }
  @media (min-width: 850px) {
    .page-title-lg {
      margin-bottom: 90px; } }
.page-title-md {
  margin-bottom: 35px; }
  @media (min-width: 850px) {
    .page-title-md {
      margin-bottom: 60px; } }
.cream-bg {
  background-color: var(--cream); }

.black-bg {
  background-color: var(--black); }

.beige-bg {
  background-color: var(--beige); }

.brown-bg {
  background-color: var(--brown); }

.text-white {
  color: var(--white); }

.works {
  font-family: var(--works); }

.landscape-slim .aspectholder {
  height: 0;
  position: relative;
  padding-top: 62.5%; }
  @media (min-width: 850px) {
    .landscape-slim .aspectholder {
      padding-top: 46.5%; } }
  .landscape-slim .aspectholder img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center;
    height: 100%;
    width: 100%; }

.landscape .aspectholder {
  height: 0;
  position: relative;
  padding-top: 62.5%; }

.portrait .aspectholder {
  height: 0;
  padding-bottom: 110%;
  position: relative; }

.image-max-w {
  width: 100%; }
  @media (min-width: 850px) {
    .image-max-w {
      padding-right: var(--gutter); } }
  @media (min-width: 1100px) {
    .image-max-w {
      max-width: 575px; } }
.opacity-50 {
  opacity: 0.5; }

.cursor-point {
  cursor: pointer; }

.border-bottom-black {
  border-bottom: 1px solid var(--black); }

.hover-opacity {
  transition: opacity var(--sec) var(--timing); }
  @media (min-width: 850px) {
    .hover-opacity:hover {
      opacity: 0.5; } }
img, video {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  height: 100%;
  width: 100%; }

.word {
  display: inline-block;
  overflow: hidden; }
  .word > p {
    position: relative;
    display: block;
    transition: transform 0.3s var(--timing);
    transform: translateY(-100%); }
  .word.active > p {
    transform: translateY(0%); }

.transition-in {
  transition: opacity 0.4s var(--timing);
  opacity: 0; }
  .transition-in.visible {
    opacity: 1; }

.hover-underline {
  position: relative; }
  .hover-underline::before {
    content: "";
    width: 0px;
    height: 1px;
    background-color: var(--black);
    position: absolute;
    bottom: -1px;
    left: 0;
    transition: width var(--sec) var(--timing); }
  @media (min-width: 850px) {
    .hover-underline:hover::before {
      width: 100%; } }
.arrow-link-hover .arrow-wrap {
  overflow: hidden;
  margin-left: 4px;
  display: block; }
  @media (min-width: 850px) {
    .arrow-link-hover .arrow-wrap {
      margin-left: 8px; } }
.arrow-link-hover svg {
  transform: translateX(-4px);
  transition: transform var(--sec) var(--timing); }
  @media (max-width: 850px) {
    .arrow-link-hover svg {
      width: 22px; } }
  @media (min-width: 850px) {
    .arrow-link-hover svg {
      transform: translateX(-7px); } }
@media (min-width: 850px) {
  .arrow-link-hover:hover svg {
    transform: translateX(0px); } }

.fit-content {
  width: fit-content;
  display: block; }

.z-forward {
  position: relative;
  z-index: 2; }

.logo-animation {
  display: flex; }
  .logo-animation > span {
    display: block;
    overflow: hidden;
    transition: width var(--sec) var(--timing); }
  .logo-animation svg {
    height: 34px;
    min-height: 34px; }
  .logo-animation .lloyd {
    width: 27px; }
    .logo-animation .lloyd svg {
      width: 152px;
      min-width: 152px; }
  .logo-animation .hartley {
    width: 34px; }
    .logo-animation .hartley svg {
      width: 220px;
      min-width: 220px; }
  @media (min-width: 850px) {
    .logo-animation:hover .lloyd {
      width: 172px; }
    .logo-animation:hover .hartley {
      width: 220px; } }
.projects__page .project-page__details {
  padding-bottom: 6px; }
  @media (min-width: 850px) {
    .projects__page .project-page__details {
      padding-bottom: var(--space-xl); } }
  .projects__page .project-page__details > li {
    border-top: 1px solid var(--black);
    padding: 6px 0; }
    .projects__page .project-page__details > li > p:first-child {
      grid-column: span 4; }
    .projects__page .project-page__details > li > p:last-child {
      grid-column: span 8; }
  .projects__page .project-page__details .awards {
    grid-column: span 8; }
    .projects__page .project-page__details .awards li:not(:last-of-type) {
      margin-bottom: 2px; }

.projects__page .image-text-grid {
  border-top: 1px solid var(--black);
  border-bottom: 0px;
  padding-top: 35px; }
  @media (max-width: 850px) {
    .projects__page .image-text-grid {
      padding-bottom: 0px; } }
.projects__page .highlights__section {
  padding: var(--space-sm) 0 var(--space-md); }
  @media (min-width: 850px) {
    .projects__page .highlights__section {
      padding: var(--space-sm) 0 var(--space-lg); } }
  .projects__page .highlights__section .h3 {
    font-size: var(--body-xl);
    margin-bottom: 4px; }
    @media (min-width: 850px) {
      .projects__page .highlights__section .h3 {
        margin-bottom: 25px;
        font-size: var(--h3); } }
.projects__page .page__bottom {
  padding-bottom: 35px; }
  @media (min-width: 850px) {
    .projects__page .page__bottom {
      padding-bottom: var(--space-xl); } }
.projects__page .credit {
  margin-top: 20px; }
