@charset "UTF-8";
/* scss/0-settings-tools/_s_config.scss */
:root {
  --base-unit: 1.5rem;
  --base-unit--ss: calc(var(--base-unit) * .438);
  --base-unit--s: calc(var(--base-unit) * .618);
  --base-unit--b: calc(var(--base-unit) * 1.618);
  --base-line-height: 1.5rem;
  --thumb-background-colour: var(--whiteLC);
  --hamburger-background-colour: var(--whiteLC);
  --type-measure: 96ch;
  --vertspace: 15vh;
  --islandsize: 10vw;
}
@media (max-width: 640px) {
  :root {
    --vertspace: var(--base-unit--b);
  }
}

/* scss/0-settings-tools/_s_mixins.scss */
/* scss/0-settings-tools/_s_shevy-config.scss */
/* scss/1-base/_b_reset.scss */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
code,
pre {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
  background: transparent;
  border: 0;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* scss/1-base/_b_fonts.scss */
:root {
  --sans: "Buch", "Helvetica Neue", Helvetica, sans;
  --serif: serif;
}

@font-face {
  font-family: "Buch";
  src: url("/themes/all-grid/styles/fonts/buch/KMR-Waldenburg-Halbschmal.woff2") format("woff2"), url("/themes/all-grid/styles/fonts/buch/KMR-Waldenburg-Halbschmal.woff") format("woff"), url("/themes/all-grid/styles/fonts/buch/KMR-Waldenburg-Halbschmal.otf") format("opentype");
}
/* scss/1-base/_b_typeset.scss */
/*16px*/
@view-transition {
  navigation: auto;
}
body {
  font-family: var(--sans);
  font-weight: 400;
  color: var(--black);
  background: var(--white);
  font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  font-size: 0.875rem;
}
@media (min-width: 24rem) {
  body {
    font-size: calc(0.875rem + 1.078 * (100vw - 24rem) / 136);
  }
}
@media (min-width: 160rem) {
  body {
    font-size: 1.953rem;
  }
}

.b_typeset {
  overflow: auto;
}
.b_typeset h1 {
  font-size: 3.052rem;
  line-height: 3.75rem;
  margin-bottom: 1.5rem;
}
.b_typeset h2 {
  font-size: 2.441rem;
  line-height: 3rem;
  margin-bottom: 1.5rem;
}
.b_typeset h3 {
  font-size: 1.953rem;
  line-height: 2.25rem;
  margin-bottom: 1.5rem;
}
.b_typeset h4 {
  font-size: 1.563rem;
  line-height: 2.25rem;
  margin-bottom: 1.5rem;
}
.b_typeset h5 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  margin-bottom: 1.5rem;
}
.b_typeset h6, .b_typeset .h6-style,
.b_typeset .h6-styled > * {
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 1.5rem;
}
.b_typeset body {
  font-size: 1rem;
  line-height: 1.5;
}
.b_typeset p,
.b_typeset ol,
.b_typeset ul,
.b_typeset pre {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.b_typeset.serif {
  font-family: var(--serif);
}
.b_typeset p:last-child {
  margin-bottom: 0;
}
.b_typeset p,
.b_typeset li {
  margin-bottom: 0.73125rem;
  line-height: 1.3;
}
.b_typeset p,
.b_typeset li {
  max-width: var(--type-measure);
}
.b_typeset li {
  margin-left: var(--base-unit);
}
.b_typeset ul,
.b_typeset ol {
  list-style-position: outside;
  list-style-type: square;
}
.b_typeset h1,
.b_typeset h2,
.b_typeset h3,
.b_typeset h4,
.b_typeset h5,
.b_typeset h6,
.b_typeset .h6-style,
.b_typeset .h6-styled > * {
  text-transform: uppercase;
  font-size: 1rem;
  margin-bottom: 0;
}
.b_typeset.bodycopy > h2 {
  line-height: inherit;
  margin-bottom: 1cap;
  margin-top: 0;
}
.b_typeset--lede-contact p {
  font-size: 1.25em;
}
.b_typeset--lede p,
.b_typeset--lede ol,
.b_typeset--lede ul,
.b_typeset--lede pre {
  font-size: 1.35rem;
  line-height: 1.25;
  margin-bottom: 1.6875rem;
}
.b_typeset--lede.serif {
  text-indent: var(--base-unit--b);
}
.b_typeset--lede.serif p,
.b_typeset--lede.serif li {
  margin-bottom: 0;
  line-height: 1.3;
}
.b_typeset--lede dl,
.b_typeset--lede ul,
.b_typeset--lede ol {
  font-size: 1rem;
}
.bottom .b_typeset--lede p:last-child {
  margin-bottom: 0;
}
.b_typeset a {
  text-decoration: underline;
}
.b_typeset blockquote {
  position: relative;
}
.b_typeset blockquote p:first-child:before {
  content: "“";
  top: 0;
  left: -1ch;
}
.b_typeset blockquote:after {
  content: "”";
}
.b_typeset.serif {
  letter-spacing: 0.005em;
}

.b_hyphenate {
  hyphens: auto;
}

.b_centered {
  text-align: center;
}

small, .b_small > *,
.b_small,
.b_typeset.b_small p {
  font-size: 0.875rem;
  letter-spacing: initial;
}

.b_small--min {
  font-size: 0.65rem;
}

.b_columns {
  columns: 2;
  column-gap: var(--base-unit);
}
.b_columns h2 {
  column-span: all;
}
.b_columns.tri {
  columns: 3;
}

.b_caps {
  text-transform: uppercase;
}

.b_right {
  text-align: right;
}
@media (min-width: 640px) {
  .b_right\@small {
    text-align: right;
  }
}

.b_balanced {
  text-wrap: balance;
}

/* scss/1-base/_b_colours.scss */
:root {
  --brand: var(--black);
  --background-colour: var(--white);
  --superimposed-bg: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  --superimposed-bg--white: linear-gradient(180deg, rgba(rgb(255, 255, 255), 1) 20%, rgba(rgb(255, 255, 255), .66) 100%);
  --backdrop-filter: blur(.25em) brightness(.9);
  /* ===================================
  		Le Corbusier colour palette
  ======================================*/
  --white: white;
  --whiteLC: rgb(234, 228, 215);
  --silver: rgb(188, 187, 182);
  --grey: rgb(167, 168, 165);
  --grey1: rgb(146, 150, 154);
  --grey2: rgb(146, 148, 148);
  --grey3: rgb(129, 134, 139);
  --grey4: rgb(96, 100, 106);
  --charcoal: rgb(94, 96, 97);
  --charcoal1: rgb(90, 85, 80);
  --black: rgb(12, 12, 12);
  --black1: rgb(64, 60, 58);
  --black2: rgb(69, 66, 62);
  --bluedark: rgb(49, 61, 107);
  --blue: rgb(57, 87, 165);
  --blue1: rgb(77, 106, 168);
  --blue2: rgb(62, 110, 144);
  --blue3: rgb(103, 157, 174);
  --blue4: rgb(122, 167, 203);
  --bluepale: rgb(143, 171, 201);
  --blue6: rgb(171, 189, 200);
  --blue7: rgb(182, 198, 206);
  --blue8: rgb(138, 181, 186);
  --green: rgb(64, 110, 88);
  --green1: rgb(62, 111, 66);
  --green2: rgb(66, 143, 112);
  --green3: rgb(127, 162, 90);
  --green4: rgb(171, 193, 122);
  --green5: rgb(196, 211, 155);
  --green6: rgb(145, 175, 161);
  --green7: rgb(168, 196, 193);
  --greenpale: rgb(190, 203, 183);
  --greenpale1: rgb(198, 213, 204);
  --greenpale2: rgb(217, 225, 221);
  --olive: rgb(184, 161, 54);
  --yellow: rgb(242, 187, 29);
  --yellowbeige2: rgb(234, 207, 166);
  --yelloworange: rgb(219, 176, 127);
  --yelloworange1: rgb(221, 191, 153);
  --orange: rgb(212, 108, 64);
  --orange2: rgb(220, 141, 103);
  --orangepale: rgb(234, 207, 185);
  --orange1: rgb(196, 94, 58);
  --red: rgb(172, 68, 58);
  --red1: rgb(155, 55, 56);
  --red2: rgb(143, 58, 67);
  --red3: rgb(148, 58, 77);
  --redbeige: rgb(214, 175, 166);
  --redbeige1: rgb(205, 152, 134);
  --pink: rgb(219, 163, 175);
  --pink2: rgb(230, 205, 191);
  --purple: rgb(116, 57, 59);
  --brown: rgb(116, 68, 56);
  --brown1: rgb(76, 66, 61);
  --brown3: rgb(139, 77, 62);
  --brown2: rgb(104, 68, 60);
  --brown4: rgb(182, 123, 102);
  --brown5: rgb(183, 172, 157);
  --brown6: rgb(183, 163, 146);
  --brown7: rgb(146, 138, 126);
  --beige: rgb(216, 178, 154);
  --beigepink: rgb(219, 190, 170);
  --beigepink1: rgb(234, 219, 192);
  --beigepink2: rgb(226, 203, 181);
}

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

.txt--black {
  color: var(--black);
}

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

.bg--white-opac {
  background-color: rgba(255, 255, 255, 0.5);
}

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

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

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

.bg--faint,
.bg--thumbs-no-image {
  background-color: #f3f3f3;
}

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

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

.bg--r2 {
  background-color: oklch(from var(--brown) l c h/0.15);
}

.bg--r3 {
  background-color: oklch(from var(--blue) l c h/0.15);
}

/* scss/2-quarks/_q_details.scss */
summary {
  cursor: pointer;
  list-style-type: none;
}
summary:focus {
  outline: none;
}
summary::-webkit-details-marker, summary::marker {
  display: none;
}
summary > *:after {
  display: inline-block;
  content: ">";
  transform: rotateZ(90deg);
  transition: transform 0.2s ease;
  margin-left: var(--base-unit--ss);
}
summary:hover > * :after {
  transform: scale(120%);
}

details[open] summary > *:after {
  transform: rotateZ(-90deg);
}

details[plain] summary > *:after {
  display: none;
}

/* scss/2-quarks/_q_links.scss */
a {
  color: inherit;
  text-decoration: none;
}

/* scss/2-quarks/_q_lists.scss */
ul, ol {
  padding-left: 0;
  list-style-position: inside;
}

dl {
  margin-bottom: var(--vertspace);
  padding-left: 0;
  font-size: 1rem;
}

dt {
  text-transform: uppercase;
}

dd {
  grid-column-start: 2;
}

/* scss/2-quarks/_q_forms.scss */
button {
  cursor: pointer;
  border: 2px solid var(--black);
  background: var(--white);
}
button.plain {
  border: none;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0 none;
}
button:focus {
  outline: 0;
}

input {
  border-bottom: 2px solid var(--black);
}

textarea {
  border: 2px solid var(--black);
}

input, textarea {
  background-color: var(--white);
  padding: var(--base-unit--ss);
}

label {
  display: none;
}

[type=submit] {
  text-align: left;
  cursor: pointer;
}

/* scss/2-quarks/_q_code.scss */
code {
  font-family: Menlo, Courier, monospace;
  font-size: small;
  background-color: #f3f3f3;
  border-radius: 0.3rem;
  color: var(--grey);
}
pre code {
  display: inline-block;
  padding: 1rem;
}

pre {
  border-radius: 0.3rem;
  display: block;
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
  margin-bottom: 1rem;
}

/* scss/2-quarks/_q_figure.scss */
figure > img {
  color: transparent;
}

figcaption {
  margin-top: var(--base-unit--s);
}
figcaption > p {
  max-width: var(--type-measure);
}
figcaption a {
  text-decoration: underline;
  font-weight: bolder;
}

/* scss/2-quarks/_q_hr.scss */
hr {
  border: 0;
  height: 1px;
  background: var(--black);
  margin-bottom: var(--base-unit--s);
}
.bg--dark hr {
  background: var(--white);
}

/* scss/3-quarks/_q_tables.scss */
table {
  width: 100%;
}

th,
td:first-child {
  font-weight: 600;
}

th {
  padding-bottom: 0.975rem;
}

td,
th {
  text-align: left;
  vertical-align: baseline;
}

tr:first-child {
  width: max-content;
}

td {
  padding-right: var(--base-unit--ss);
  padding-bottom: 0.975rem;
  word-break: break-word;
}

/* scss/2-quarks/_q_html.scss */
html {
  font-size: 100%;
  scroll-behavior: smooth;
}

/* scss/3-atoms/_a_headings.scss */
h1,
h2,
h3,
h4,
h5,
h6,
.h6-style,
.h6-styled > *,
.a_heading,
.b_typeset--lede {
  font-weight: 400;
}

h6, .h6-style,
.h6-styled > * {
  letter-spacing: initial;
}

.a_heading--ellipsis {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.h0-style {
  line-height: 1;
  word-break: break-word;
  font-size: clamp(3rem, 10vw, 6rem);
}
.h0-style.min {
  font-size: clamp(0.875rem, 3vw, 4rem);
}
.h0-style.max {
  font-size: clamp(3rem, 15vw, 12rem);
}

.h1-style,
.h1-styled > * {
  font-size: 3.052em;
  line-height: 1.2287024902;
  margin-bottom: 0.3194626474em;
}

.h2-style,
.h2-styled > * {
  font-size: 2.441em;
  line-height: 1.2290045063;
  margin-bottom: 0.3994264646em;
}

.h3-style,
.h3-styled > * {
  font-size: 1.953em;
  line-height: 1.1520737327;
  margin-bottom: 0.4992319508em;
}

.h4-style,
.h4-styled > * {
  font-size: 1.563em;
  line-height: 1.4395393474;
  margin-bottom: 0.6238003839em;
}

.h5-style,
.h5-styled > * {
  font-size: 1.25em;
  line-height: 1.5em;
  margin-bottom: 0.78em;
}

@media screen and (min-width: 800px) {
  .h1-style\@medium {
    font-size: 3.052em;
    line-height: 1.2287024902;
    margin-bottom: 0.3194626474em;
  }
  .h2-style\@medium {
    font-size: 2.441em;
    line-height: 1.2290045063;
    margin-bottom: 0.3994264646em;
  }
  .h3-style\@medium {
    font-size: 1.953em;
    line-height: 1.1520737327;
    margin-bottom: 0.4992319508em;
  }
  .h4-style\@medium {
    font-size: 1.563em;
    line-height: 1.4395393474;
    margin-bottom: 0.6238003839em;
  }
  .h5-style\@medium {
    font-size: 1.25em;
    line-height: 1.5em;
    margin-bottom: 0.78em;
  }
  .h6-style\@medium {
    font-size: 1rem;
  }
  .h1-styled\@medium > * {
    font-size: 3.052em;
    line-height: 1.2287024902;
    margin-bottom: 0.3194626474em;
  }
  .h2-styled\@medium > * {
    font-size: 2.441em;
    line-height: 1.2290045063;
    margin-bottom: 0.3994264646em;
  }
  .h3-styled\@medium > * {
    font-size: 1.953em;
    line-height: 1.1520737327;
    margin-bottom: 0.4992319508em;
  }
  .h4-styled\@medium > * {
    font-size: 1.563em;
    line-height: 1.4395393474;
    margin-bottom: 0.6238003839em;
  }
  .h5-styled\@medium > * {
    font-size: 1.25em;
    line-height: 1.5em;
    margin-bottom: 0.78em;
  }
  .h6-styled\@medium > * {
    font-size: 1rem;
  }
}
.p-style {
  font-size: 1rem;
  line-height: inherit;
}

/* scss/3-atoms/_a_list-bare.scss */
.a_list-bare {
  list-style: none;
  margin: 0;
}

/* scss/3-atoms/_a_image.scss */
.a_image {
  position: relative;
  min-height: max-content;
}
.a_image--fold-limited > img {
  max-height: 75vh;
}
.a_image figcaption p {
  margin-bottom: 0;
  max-width: 100%;
}
.a_image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.a_image img.lazyloaded {
  opacity: 1;
}
.a_image--contain img {
  object-fit: contain;
  height: auto;
  width: 100%;
}
.a_image--has-caption:not(.a_image--hide-caption) img {
  height: auto;
}
.a_image--pan {
  overflow: hidden;
}
.a_image--hide-caption figcaption {
  display: none;
}
.a_image--inline {
  padding-bottom: 2.925rem;
}
@media screen and (min-width: 800px) {
  .a_image--inline {
    padding-bottom: inherit;
    width: 33%;
    float: right;
    margin-left: var(--base-unit);
  }
  .a_image--inline.large {
    width: 66%;
  }
}

ken-burns-carousel {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* scss/3-atoms/_a_icon.scss */
.a_icon {
  display: inline-block;
}
.a_icon--flip {
  transform: scaleX(-1);
}
.a_icon--invert {
  filter: invert(1);
}
.a_icon--rotate-right {
  transform: rotateZ(90deg);
}
.a_icon--rotate-left {
  transform: rotateZ(-90deg);
}
.a_icon--rotate-down {
  transform: rotateZ(180deg);
}
.a_icon--social--twitter:after {
  content: url(../styles/img/social-twitter.svg);
}
.a_icon--social--facebook:after {
  content: url(../styles/img/social-facebook.svg);
}
.a_icon--social--linkedin:after {
  content: url(../styles/img/social-linkedin.svg);
}
.a_icon--social--instagram:after {
  content: url(../styles/img/social-instagram.svg);
}
.a_icon--social--threads:after {
  content: url(../styles/img/social-threads.svg);
}
.a_icon--social span {
  display: none;
}

.social p:empty {
  display: none;
}

/* scss/3-atoms/_a_ratio.scss */
.a_ratio--1x1 {
  aspect-ratio: 1/1;
}
.a_ratio--2x1 {
  aspect-ratio: 2/1;
}
.a_ratio--1x2 {
  aspect-ratio: 1/2;
}
@media (orientation: landscape) {
  .a_ratio--2x1\@landscape {
    aspect-ratio: 2/1;
  }
}
.a_ratio--3x2 {
  aspect-ratio: 3/2;
}
.a_ratio--2x3 {
  aspect-ratio: 2/3;
}
.a_ratio--gm {
  aspect-ratio: 1618/1000;
}
.a_ratio--video {
  aspect-ratio: 16/9;
}

/* scss/3-atoms/_a_opac.scss */
.a_opac--75 {
  opacity: 0.75;
}
.a_opac--50 {
  opacity: 0.5;
}
.a_opac--25 {
  opacity: 0.25;
}

/* scss/3-molecules/_m_menu.scss */
.m_menu > a:empty {
  display: none;
}
.o_header .m_menu li {
  padding-bottom: 0;
  margin-bottom: 0;
  text-align: center;
}
.m_menu--sub {
  margin-bottom: -2.925rem;
}
.m_menu__child > a:hover {
  opacity: 0.5;
}
.m_menu__child--active > a {
  text-transform: uppercase;
}
header .m_menu__child--active > a {
  letter-spacing: -0.05ch;
}
.b_small .m_menu__child--active > a {
  text-transform: initial;
  text-decoration: underline;
}
.m_menu--drop-down > li {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 800px) {
  .m_menu--drop-down > li:hover ul {
    display: block;
    z-index: -1;
  }
}
.m_menu--drop-down ul {
  display: none;
  width: 100%;
  position: absolute;
  background-color: var(--whiteLC);
}
.m_menu--compact {
  position: relative;
  z-index: 2;
  width: max-content;
}
.m_menu--compact__current {
  font-weight: 400;
  cursor: pointer;
}
.m_menu--compact__current:after {
  content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAyMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuMDc1OTk5OSAwLjk1NDkwNUwxMS40MTIgNy42ODg5MUwyMi43NDggMC45NTQ5MDZMMjIuNzQ4IDYuMTI4OTFMMTEuNDEyIDEyLjY4MDlMMC4wNzU5OTk3IDYuMTAyOTFMMC4wNzU5OTk5IDAuOTU0OTA1WiIgZmlsbD0iIzI3MjcyNyIvPgo8L3N2Zz4K");
  display: inline-block;
  transform: scale(0.62);
}
.m_menu--compact__holder {
  position: relative;
}
.m_menu--compact__holder > ul {
  display: none;
  position: absolute;
  z-index: -1;
  width: max-content;
  top: 0;
  height: max-content;
  padding-top: 1.4625rem;
  padding-bottom: 1.95rem;
  padding-left: var(--base-unit);
  left: calc(var(--base-unit) * -1);
  background-color: var(--whiteLC);
}
.m_menu--compact__holder > ul .m_menu__child--active {
  display: none;
}
.m_menu--compact:hover ul {
  display: block;
}

/* scss/4-molecules/_m_logo.scss */
.m_logo {
  height: 10vw;
}

/* scss/6-molecules/_m_video.scss */
.m_video {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m_video__holder--crop-top {
  overflow: hidden;
}
.m_video__holder--crop-top > video {
  margin-top: -1px;
}
.m_video + p {
  text-align: center;
}

/* scss/4-molecules/_m_hamburger.scss */
.m_hamburger {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  padding-top: 1.4625rem;
  padding-right: var(--base-unit);
  padding-left: var(--base-unit);
  z-index: 100;
}
.m_hamburger[open] {
  background-color: var(--hamburger-background-colour);
  bottom: 0;
}
.m_hamburger > summary {
  display: flex;
  justify-content: flex-end;
}
.m_hamburger__button {
  width: calc(var(--base-unit));
  background-color: var(--background-colour);
  border: 0;
}
[open] .m_hamburger__button {
  background-color: var(--hamburger-background-colour);
}
.m_hamburger__icon:after, .m_hamburger__icon:before, .m_hamburger__icon div {
  background-color: var(--black);
  content: "";
  display: block;
  height: 2.5px;
  margin: 7px 0;
  transition: all 0.2s ease-in-out;
}
.is-active .m_hamburger__icon:before {
  transform: translateY(9.5px) rotate(135deg);
}
.is-active .m_hamburger__icon:after {
  transform: translateY(-9.5px) rotate(-135deg);
}
.is-active .m_hamburger__icon div {
  transform: scale(0);
}
[open] .m_hamburger__menu .sitename {
  margin-bottom: 10vh;
}

/* scss/4-molecules/_m_thumb.scss */
.m_thumb {
  position: relative;
  display: grid;
  grid-template-rows: subgrid;
  grid-gap: 0;
}
.m_thumb.has--2-rows {
  grid-row: span 2;
}
.m_thumb.has--3-rows {
  grid-row: span 3;
}
.m_thumb > a {
  display: contents;
}
.m_thumb figure {
  align-self: end;
}
.m_thumb__inner > *:last-child {
  margin-bottom: 0;
}

/* scss/4-organisms/_o_header.scss */
.o_header {
  grid-gap: var(--base-unit--s);
  border-bottom: 1px solid var(--black);
  padding-block: 0.2lh;
}
.o_header:has(.m_menu--sub) {
  border-bottom: none;
}
@media (min-width: 800px) {
  .o_header:has(.m_menu--sub) {
    margin-left: -7%;
    margin-right: -7%;
  }
}
.o_header > h1 {
  font-style: italic;
}
.o_header--sticky {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: var(--background-colour);
}

/* scss/5-organisms/_o_paginator.scss */
.o_paginator.sticky {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--background-colour);
}
.o_paginator a {
  margin-bottom: 0;
}

/* scss/5-organisms/_o_footer.scss */
/* scss/5-organisms/_o_lightbox.scss */
.o_lightbox {
  display: none;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  z-index: 50;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  overflow: auto;
  background-color: var(--black);
}
.o_lightbox__content {
  max-height: 100%;
}
.o_lightbox__caption {
  text-align: center;
}

.o_lightbox__content, .o_lightbox__caption {
  animation-name: zoom;
  animation-duration: 0.6s;
}

@keyframes zoom {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}
.close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  transition: 0.3s;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

/* scss/5-layouts/_l_column.scss */
.l_column {
  display: flex;
  flex-direction: column;
}
.l_column.top {
  justify-content: flex-start;
}
.l_column.middlev {
  justify-content: center;
}
.l_column.bottom {
  justify-content: flex-end;
}
.l_column.space-between {
  justify-content: space-between;
}
.l_column.space-round {
  justify-content: space-around;
}
.l_column.middle {
  align-items: center;
}
.l_column.right {
  align-items: flex-end;
}

/* scss/5-layouts/_l_beam.scss */
.l_beam {
  display: flex;
  width: 100%;
}
.l_beam--wrap {
  flex-wrap: wrap;
}
.l_beam--spaced > * {
  margin-right: var(--base-unit);
}
.l_beam.middle {
  justify-content: center;
}
.l_beam.right {
  justify-content: flex-end;
}
.l_beam.right > :last-child {
  margin-right: 0;
}
@media (min-width: 640px) {
  .l_beam\@small {
    display: flex;
  }
  .l_beam.right\@small {
    justify-content: flex-end;
  }
  .l_beam.right\@small > :last-child {
    margin-right: 0;
  }
}
.l_beam.space-around {
  justify-content: space-around;
}
.l_beam.space-between {
  justify-content: space-between;
}
.l_beam.space-between > :last-child {
  margin-right: 0;
}
.l_beam.baseline {
  align-items: baseline;
}
.l_beam.middlev {
  align-items: center;
}
.l_beam.bottom {
  align-items: flex-end;
}
.l_beam:empty {
  display: none;
}

/* scss/6-layouts/_l_grid.scss */
.l_grid {
  display: grid;
  grid-gap: 1.4625rem var(--base-unit);
}
@media (max-width: 640px) {
  .l_grid {
    display: block;
  }
  .l_grid > * {
    margin-bottom: 1.4625rem;
  }
  .l_grid--mobile {
    display: grid;
  }
  .l_grid--mobile > * {
    margin-bottom: inherit;
  }
}
.l_grid--gap-small {
  grid-gap: var(--base-unit--s);
}
@media (min-width: 1318px) {
  .l_grid--gap-double {
    grid-gap: 2.925rem;
  }
  .l_grid--gap-large {
    grid-gap: 2.925rem var(--vertspace);
  }
}
.l_grid--twin {
  grid-template-columns: 1fr 1fr;
}
.l_grid--tri {
  grid-template-columns: 1fr 1fr 1fr;
}
.l_grid--quad {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media (min-width: 640px) {
  .l_grid--twin\@small {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .l_grid--tri\@small {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .l_grid--quad\@small {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media (min-width: 800px) {
  .l_grid--twin\@medium {
    grid-template-columns: 1fr 1fr;
  }
  .l_grid--tri\@medium {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .l_grid--quad\@medium {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media (min-width: 1318px) {
  .l_grid--twin\@desktop {
    grid-template-columns: 1fr 1fr;
  }
  .l_grid--tri\@desktop {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .l_grid--quad\@desktop {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.l_grid--auto {
  width: 100%;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.l_grid .self-right {
  justify-self: end;
}
.l_grid.top {
  align-items: start;
}
.l_grid.middlev {
  align-items: center;
  align-content: center;
}
.l_grid.bottom {
  align-items: end;
  align-content: end;
}
.l_grid.space-between {
  justify-content: space-between;
}
.l_grid.left {
  justify-content: start;
}
.l_grid.middle {
  justify-content: center;
}
.l_grid.right {
  justify-content: end;
}
@media (min-width: 640px) {
  .l_grid--images figure {
    margin-bottom: 10vh;
  }
  .l_grid.staggered .landscape {
    grid-column: span 2;
  }
}
@media screen and (min-width: 640px) and (min-width: 1318px) {
  .l_grid.staggered .landscape:nth-of-type(odd) {
    grid-column: span 3;
    grid-column-end: -1;
  }
  .l_grid.staggered .landscape + .landscape {
    grid-column-end: -1;
  }
}
@media (min-width: 640px) {
  .l_grid.staggered .square {
    grid-column: span 2;
    grid-row: span 2;
  }
  .l_grid.staggered .portrait:nth-of-type(even) {
    grid-row: span 2;
    grid-column: span 2;
  }
}

/* scss/6-layouts/_l_width-limited.scss */
.l_width-limited {
  margin-inline: auto;
  max-width: 1318px;
}
.l_width-limited--large {
  margin-inline: auto;
  max-width: 1720px;
}

/* scss/6-layouts/_l_superimposed.scss */
.l_superimposed {
  position: relative;
  height: max-content;
}
@media (max-width: 640px) {
  .l_superimposed.has--image-omitted {
    min-height: 5.85rem;
  }
}
@media (orientation: landscape) {
  .l_superimposed--fold-limited {
    height: 80vh;
  }
}
@media (orientation: portrait) {
  .l_superimposed--fold-limited {
    height: 60vh;
  }
}
.l_superimposed--fullscreen {
  width: 100%;
  height: 100vh;
}
.l_superimposed--fixed {
  position: fixed;
}
.l_superimposed__inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: currentcolor;
}
.l_superimposed__inner.bg-gradient {
  background: var(--superimposed-bg);
}
.l_superimposed__inner.bg-colour {
  background: var(--thumb-background-colour);
}
.l_superimposed__inner--shiftingtiles {
  color: inherit;
}
@media (max-width: 640px) {
  .l_superimposed__inner--shiftingtiles {
    background-color: var(--background-colour);
    height: max-content;
    padding-bottom: 0.975rem;
  }
}
@media (min-width: 640px) {
  .l_superimposed__inner--shiftingtiles {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-gap: var(--shiftingtiles-gap);
  }
  .l_superimposed__inner--shiftingtiles > * {
    background-color: var(--white);
    padding: 0.4875rem var(--base-unit--s);
    margin: calc(var(--shiftingtiles-gap) * -0.5);
  }
  .l_superimposed__inner--shiftingtiles [itemprop=headline] {
    grid-column-start: 2;
    grid-row-start: 2;
    display: grid;
    align-items: end;
  }
  .l_superimposed__inner--shiftingtiles [itemprop=description] {
    grid-column-start: 3;
    grid-row-start: 3;
  }
}
.l_superimposed figure {
  height: 100%;
  width: 100%;
}
.l_superimposed [itemprop=description] > *:last-child {
  margin-bottom: 0;
}

/* scss/6-layouts/_l_text-columns.scss */
.l_text-columns {
  column-count: 2;
  column-gap: var(--base-unit);
}
.l_text-columns.tri {
  column-count: 3;
}
.l_text-columns h1, .l_text-columns h2, .l_text-columns h3 {
  column-span: all;
}

/* scss/7-utilities/_u_m.scss */
.u_m--vertspace {
  margin-top: var(--vertspace);
  margin-bottom: var(--vertspace);
}
.u_m--t {
  margin-top: 1.4625rem;
}
.u_m--t0 {
  margin-top: 0;
}
.u_m--tvh {
  margin-top: var(--vertspace);
}
.u_m--tt {
  margin-top: 4.3875rem;
}
.u_m--l {
  margin-left: var(--base-unit);
}
.u_m--l0 {
  margin-left: 0;
}
.u_m--l- {
  margin-left: var(--base-unit--s);
}
.u_m--r {
  margin-right: var(--base-unit);
}
.u_m--r0 {
  margin-right: 0;
}
.u_m--r- {
  margin-right: var(--base-unit--s);
}
.u_m--b {
  margin-bottom: 1.4625rem;
}
.u_m--b0 {
  margin-bottom: 0;
}
.u_m--bb {
  margin-bottom: 4.3875rem;
}
.u_m--bvh {
  margin-bottom: var(--vertspace);
}
.u_m--b- {
  margin-bottom: 0.73125rem;
}
.u_m--b-- {
  margin-bottom: 0.36075rem;
}

/* scss/7-utilities/_u_p0.scss */
.u_p {
  padding: 1.4625rem var(--base-unit);
}
.u_p- {
  padding: 0.73125rem var(--base-unit--s);
}
.u_p--t {
  padding-top: 1.4625rem;
}
.u_p--tt {
  padding-top: 2.925rem;
}
.u_p--t0 {
  padding-top: 0;
}
.u_p--t- {
  padding-top: 0.73125rem;
}
.u_p--l {
  padding-left: var(--base-unit);
}
.u_p--l- {
  padding-left: var(--base-unit--s);
}
.u_p--l0 {
  padding-left: 0;
}
.u_p--r {
  padding-right: var(--base-unit);
}
.u_p--r- {
  padding-right: var(--base-unit--s);
}
.u_p--r0 {
  padding-right: 0;
}
.u_p--b {
  padding-bottom: 1.4625rem;
}
.u_p--bb {
  padding-bottom: 2.925rem;
}
.u_p--b0 {
  padding-bottom: 0;
}
.u_p--b- {
  padding-bottom: 0.73125rem;
}
.u_p--b-- {
  padding-bottom: 0.2925rem;
}

/* scss/7-utilities/_u_hide.scss */
@media screen and (max-width: 640px) {
  .u_hide--to-small {
    display: none;
  }
}
@media screen and (min-width: 640px) {
  .u_hide--from-small {
    display: none;
  }
}
@media screen and (max-width: 800px) {
  .u_hide--to-medium {
    display: none;
  }
}
@media screen and (min-width: 800px) {
  .u_hide--from-medium {
    display: none;
  }
}
@media screen and (max-width: 1318px) {
  .u_hide--to-desktop {
    display: none;
  }
}
@media screen and (min-width: 1318px) {
  .u_hide--from-desktop {
    display: none;
  }
}
.u_hide--always {
  display: none;
}

/* scss/7-utilities/_u_fold-limited.scss */
@media (orientation: landscape) {
  .u_fold-limited > * {
    max-height: 66vh;
  }
}
@media (orientation: portrait) {
  .u_fold-limited > * {
    max-height: 80vh;
  }
}

/* scss/7-utilities/_u_edit-in-txp.scss */
.u_edit-in-txp {
  position: absolute;
  z-index: 1;
  opacity: 1;
  cursor: pointer;
}
.u_edit-in-txp.static {
  position: static;
  display: inline-block;
  margin-top: -0.5em;
}
.u_edit-in-txp img {
  object-fit: contain;
  position: relative;
  top: var(--base-unit--ss);
  opacity: 1;
}
.u_edit-in-txp:hover {
  filter: invert(100%);
}

.u_edit-in-txp--image {
  top: calc(var(--base-unit) / 3);
  right: var(--base-unit--s);
}
.u_edit-in-txp--image:hover {
  filter: invert(100%);
}

/* scss/7-utilities/_u_baseline-grid.scss */
.u_baseline-grid {
  position: relative;
}
.u_baseline-grid:after {
  position: absolute;
  width: auto;
  height: auto;
  z-index: 9999;
  content: "";
  display: block;
  pointer-events: none;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url(//basehold.it/i/24/0/0/0/0.15);
  background-size: 2px 24px;
}
.u_baseline-grid:active:after {
  display: none;
}

/* scss/7-utilities/_u_debug.scss */
.u_debug {
  outline: 1px solid rgba(192, 192, 192, 0.5);
}
.u_debug * {
  outline: 1px dotted rgba(192, 192, 192, 0.5);
}
.u_debug--info {
  position: absolute;
  z-index: 10;
  top: 0.4875rem;
  left: var(--base-unit);
  font-size: 0.75rem;
  opacity: 0;
  transition: opacity 0.3s linear;
}
.l_superimposed .u_debug--info {
  color: var(--white);
}
.has--image-omitted .u_debug--info {
  color: var(--black);
}
.u_debug--info.raised {
  margin-top: -0.975rem;
}
.u_debug--info.static {
  position: static;
}
.u_debug--info__holder {
  position: relative;
}
.u_debug--info:hover {
  filter: invert(100%);
}

*:hover > .u_debug--info {
  opacity: 1;
}

/* scss/7-utilities/_u_span.scss */
.u_span--2 {
  grid-column: span 2;
}
.u_span--2vert {
  grid-row: span 2;
}
@media (min-width: 800px) {
  .u_span--3\@medium {
    grid-column: span 3;
  }
  .u_span--4\@medium {
    grid-column: span 4;
  }
}
.u_span--full-width {
  grid-column-start: 1;
  grid-column-end: -1;
}

/* scss/7-utilities/_u_clamp.scss */
.u_clamp {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.u_clamp > p {
  margin-bottom: 0;
}
.u_clamp > *:not(:first-child) {
  display: none;
}
.u_clamp--2 {
  -webkit-line-clamp: 2;
}
.u_clamp--3 {
  -webkit-line-clamp: 3;
}

/* scss/7-utilities/_u_sticky.scss */
.u_sticky {
  position: sticky;
  top: 0;
}
.u_sticky--menu {
  bottom: 0;
}

/* scss/7-utilities/_u_contents.scss */
.u_contents {
  display: contents;
}

/* scss/7-utilities/_u_filter.scss */
.u_filter--multiply {
  mix-blend-mode: multiply;
}
.u_filter--darken {
  mix-blend-mode: darken;
}
.u_filter--invert {
  filter: invert(1);
}

/* scss/8-project/_p_project.scss */
.sa-sitename {
  font-size: 1.33em;
  margin-top: 0.05lh;
}
.sa-article-title {
  min-height: var(--vertspace);
  font-size: 4rem;
}
@media (max-width: 640px) {
  .sa-about__nav {
    padding-left: var(--base-unit--s);
    display: flex;
    justify-content: start !important;
  }
}
@media (min-width: 640px) {
  .sa-about__nav {
    width: calc(33.333% - var(--base-unit));
    text-align: center;
  }
}
.sa-people article {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
.sa-archive li {
  display: grid;
  grid-template-columns: 6em 1fr;
  margin-bottom: var(--base-unit);
}
.sa-archive li [itemprop=headline] {
  line-height: 1;
}
.sa-projects {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--base-unit--ss);
}
@media (min-width: 800px) {
  .sa-projects {
    gap: var(--base-unit);
  }
}
.sa-projects__nav .m_menu {
  justify-self: center;
  min-width: 14ch;
}
.sa-projects__nav li,
.sa-projects__nav summary {
  white-space: nowrap;
}
@media (max-width: 640px) {
  .sa-projects__nav {
    padding-left: var(--base-unit--s);
    display: flex;
    justify-content: start !important;
  }
}
@media (min-width: 640px) {
  .sa-projects__nav {
    width: calc(33.333% - var(--base-unit));
    height: 11lh;
  }
  .sa-projects__nav details {
    min-width: 20ch;
  }
  .sa-projects__nav details a:hover {
    opacity: 0.5;
  }
}
@media (max-width: 640px) {
  .sa-projects__header {
    display: grid;
    grid-template-columns: 1fr;
  }
  .sa-projects__header [itemprop=headline] {
    grid-row-start: 2;
  }
}
@media (min-width: 640px) and (max-width: 1720px) {
  .sa-projects__header {
    grid-template-columns: 1fr 1fr;
  }
  .sa-projects__header > figure {
    grid-column: span 2;
  }
  .sa-projects__header > figure img {
    max-height: auto;
  }
  .sa-projects__header [itemprop=headline] {
    grid-row-start: 2;
  }
  .sa-projects__header [itemprop=description] {
    grid-column: span 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: calc(var(--base-unit) * 2);
  }
  .sa-projects__header [itemprop=description] .awards {
    grid-column-end: -1;
    margin-top: calc(var(--base-unit) * -0.33);
  }
  .sa-projects__header [itemprop=description] dl {
    margin-bottom: 0;
  }
  .sa-projects__header .maincopy {
    display: contents;
  }
}
@media (min-width: 1720px) {
  .sa-projects__header {
    grid-template-columns: 3fr 2fr;
  }
}
.sa-projects-images .landscape {
  grid-column: span 2;
}
.sa-projects-images .landscape:nth-child(even) {
  grid-column-end: -1;
}
.sa-projects-images .portrait:nth-child(odd) {
  grid-column-start: 2;
}
.sa-projects-images .portrait:first-child {
  grid-column-start: 1;
}
.sa-main--projects {
  position: relative;
}
.sa-search {
  position: absolute;
  right: 0;
  top: 0;
}
.sa-search input {
  padding-right: 0;
  border-bottom: 0;
}
.sa-search input:focus {
  outline: 0;
  max-width: 20ch;
}
.sa-search input:focus::placeholder {
  color: silver;
}
.sa-search input::placeholder {
  color: var(--black);
  text-align: right;
}
.sa-search input::-webkit-search-cancel-button {
  position: relative;
  right: var(--base-unit--ss);
}
.sa-thumb--project {
  display: flex;
  flex-direction: column;
  gap: var(--base-unit--s);
  aspect-ratio: 4/5;
}
@media (min-width: 800px) {
  .sa-thumb--project {
    gap: var(--base-unit);
  }
}
.sa-thumb--project.is-search {
  grid-row: span 3;
}
.sa-thumb--project a:hover img {
  filter: saturate(0.25);
}
.sa-thumb--project a:hover [itemprop=headline] {
  opacity: 0.5;
}
.sa-thumb--project [itemprop=headline] {
  transition: opacity 0.3s ease-in;
}
.sa-thumb--project figure {
  width: 100%;
}
.sa-thumb--project figure img {
  transition: filter 0.6s ease-in;
}
.sa-thumb--project [itemprop=headline] {
  margin-top: -0.25em;
}
.sa-thumb--spice {
  color: var(--charcoal);
  padding: clamp(var(--base-unit--ss), 2vw, var(--base-unit));
}
.sa-thumb--spice--solo {
  color: var(--charcoal);
}
.sa-home figure:first-of-type {
  padding: 0;
  grid-column-start: 1;
  grid-row-start: 1;
}
.sa-home figure:first-of-type img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.sa-home .portrait {
  grid-row: span 2;
}
.sa-home video:nth-of-type(1) {
  padding-left: 25%;
  grid-column-start: 2;
  grid-row-start: 1;
}
.sa-home video:nth-of-type(2) {
  grid-row-start: 6;
}
.sa-home video:nth-of-type(3) {
  grid-row-start: 9;
  grid-column-end: -1;
}
.sa-home .island:nth-of-type(1) {
  grid-row: 2;
  grid-column: 2;
}
.sa-home .island + .island {
  grid-column: 1;
}
.sa-footer-icon {
  margin-top: var(--vertspace);
  margin-left: -0.25em;
}
.sa-footer-icon img {
  width: 7ch;
  height: auto;
}
.sa-footer li > a {
  min-width: 12ch;
}

.cover img {
  object-fit: cover;
}

.island {
  padding: var(--islandsize);
}
.island-north {
  padding-bottom: var(--islandsize);
}
.island-east {
  padding-left: var(--islandsize);
}
.island-south {
  padding-top: var(--islandsize);
}
.island-west {
  padding-right: var(--islandsize);
}

[itemprop=description] dl {
  display: grid;
  grid-template-columns: 18ch 1fr;
  gap: var(--base-unit--s) 0;
}
[itemprop=description] dt {
  grid-column-start: 1;
  position: relative;
}

dt.toggle:after {
  position: absolute;
  left: 100%;
  margin-left: 0;
}
dt.toggle.open + dd {
  margin-top: 1lh;
}

.toggle {
  cursor: pointer;
}
.toggle:after {
  content: "+";
  display: inline-block;
  margin-left: var(--base-unit);
}
.toggle:hover:after {
  opacity: 0.5;
}
.toggle.open:after {
  content: "-";
}
.toggle.open + * {
  display: block;
}
.toggle + * {
  display: none;
}

/*# sourceMappingURL=main.css.map */
