:root {
  --branded-font-family: "AmericanaSE", Helvetica, Arial, sans-serif;
  --sans-serif-font-family: "ModernGothic", Helvetica, Arial, sans-serif;
  --serif-font-family: Times, "Times New Roman", serif;
}

html, body {
  font-family: var(--sans-serif-font-family);
  font-weight: 400;
  font-style: normal;
}

.u-font--light {
  font-weight: 300;
}

.u-font--normal {
  font-weight: 400;
}

.u-font--medium {
  font-weight: 500;
}

.u-font--bold, strong, b {
  font-weight: 700;
}

.u-font--italic, em, i {
  font-style: italic;
}

.u-font--sans-serif {
  font-family: var(--sans-serif-font-family);
}

.u-font--serif {
  font-family: var(--serif-font-family);
}

.u-text--uppercase {
  text-transform: uppercase;
}

.u-text--lowercase {
  text-transform: lowercase;
}

.u-text--capitalize {
  text-transform: capitalize;
}

@font-face {
  font-family: "AmericanaSE";
  src: url("./font/AmericanaSE/AmericanaSE-Medium.woff2") format("woff2"), url("./font/AmericanaSE/AmericanaSE-Medium.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "ModernGothic";
  src: url("./font/ModernGothic/ModernGothic-Medium.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "ModernGothic";
  src: url("./font/ModernGothic/ModernGothic-MediumItalic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: "ModernGothic";
  src: url("./font/ModernGothic/ModernGothic-Black.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "ModernGothic";
  src: url("./font/ModernGothic/ModernGothic-BlackItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
}
.u-text--white {
  color: #FFFFFF;
}

.u-bg--white {
  background-color: #FFFFFF;
}

.u-text--whitesmoke {
  color: #FFFFFF;
}

.u-bg--whitesmoke {
  background-color: #FFFFFF;
}

.u-text--lightgray {
  color: #DADADA;
}

.u-bg--lightgray {
  background-color: #DADADA;
}

.u-text--darkgray {
  color: #9D9999;
}

.u-bg--darkgray {
  background-color: #9D9999;
}

.u-text--black {
  color: #000000;
}

.u-bg--black {
  background-color: #000000;
}

.u-text--lightyellow {
  color: #F3FFBF;
}

.u-bg--lightyellow {
  background-color: #F3FFBF;
}

:root {
  --text-font-family-heading-lg: var(--branded-font-family);
  --text-font-weight-heading-lg: 400;
  --text-font-size-heading-lg: 3.375rem;
  --text-line-height-heading-lg: 3.625rem;
  --text-letter-spacing-heading-lg: 0em;
  --text-font-family-paragraph-lg: var(--sans-serif-font-family);
  --text-font-weight-paragraph-lg: 400;
  --text-font-size-paragraph-lg: 2.25rem;
  --text-line-height-paragraph-lg: 2.5rem;
  --text-letter-spacing-paragraph-lg: 0em;
  --text-font-family-paragraph-md: var(--sans-serif-font-family);
  --text-font-weight-paragraph-md: 400;
  --text-font-size-paragraph-md: 1.375rem;
  --text-line-height-paragraph-md: 1.4375rem;
  --text-letter-spacing-paragraph-md: 0em;
  --text-font-family-paragraph-xm: var(--sans-serif-font-family);
  --text-font-weight-paragraph-xm: 400;
  --text-font-size-paragraph-xm: 1.125rem;
  --text-line-height-paragraph-xm: 1.25rem;
  --text-letter-spacing-paragraph-xm: 0em;
  --text-font-family-paragraph-sm: var(--sans-serif-font-family);
  --text-font-weight-paragraph-sm: 400;
  --text-font-size-paragraph-sm: 1rem;
  --text-line-height-paragraph-sm: 1.125rem;
  --text-letter-spacing-paragraph-sm: 0em;
  --text-font-family-paragraph-xs: var(--sans-serif-font-family);
  --text-font-weight-paragraph-xs: 400;
  --text-font-size-paragraph-xs: 0.875rem;
  --text-line-height-paragraph-xs: 1rem;
  --text-letter-spacing-paragraph-xs: 0em;
}

h1 {
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  margin-top: 1rem;
  margin-bottom: 0rem;
}

h2 {
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  margin-top: 0rem;
  margin-bottom: 0rem;
}

h3 {
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  margin-top: 0rem;
  margin-bottom: 0rem;
}

h4 {
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  margin-top: 0rem;
  margin-bottom: 0rem;
}

h5 {
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  margin-top: 0rem;
  margin-bottom: 0rem;
}

h6 {
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  margin-top: 0rem;
  margin-bottom: 0rem;
}

p,
.u-paragraph {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
  margin-top: 0rem;
  margin-bottom: 0.875rem;
}

h1:empty,
h1:first-child,
h2:empty,
h2:first-child,
h3:empty,
h3:first-child,
h4:empty,
h4:first-child,
h5:empty,
h5:first-child,
h6:empty,
h6:first-child,
p:empty,
p:first-child,
.u-paragraph:empty,
.u-paragraph:first-child {
  margin-top: 0rem;
}

h1:empty,
h1:last-child,
h2:empty,
h2:last-child,
h3:empty,
h3:last-child,
h4:empty,
h4:last-child,
h5:empty,
h5:last-child,
h6:empty,
h6:last-child,
p:empty,
p:last-child,
.u-paragraph:empty,
.u-paragraph:last-child {
  margin-bottom: 0rem;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color 200ms;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, p a, .u-paragraph a {
  color: #9D9999;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, p a:hover, .u-paragraph a:hover {
  color: inherit;
}

sup,
sub {
  font-size: 10px;
  letter-spacing: 0.5px;
}

hr {
  color: inherit;
  border: none;
  border-bottom: 2.5px solid currentColor;
  transition: border-width 200ms, margin 200ms;
}

:root {
  --global-icon-width-lg: 2.125rem;
  --global-icon-width-md: 1.625rem;
  --global-icon-width-xs: 1rem;
  --global-icon-width-2xs: 0.625rem;
  --body-padding-x: 1rem;
  --body-header-height: 6.5625rem;
  --body-footer-margin-top: 14.125rem;
  --body-footer-margin-bottom: 2.5rem;
  --control-overlay-height: 0rem;
  --banner-head-height: 4.375rem;
  --modal-overlay-height: 3.625rem;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  outline: none;
}

html,
body {
  font-size: 14px;
  color: #000000;
  background: #FFFFFF;
}

html {
  height: 100%;
}

body {
  min-height: 100%;
}

.o-body {
  display: flex;
  flex-direction: column;
}
.o-body--preload * {
  transition: none !important;
}
.o-body--overflow-hidden {
  overflow: hidden;
}
.o-body__header {
  position: fixed;
  top: 0;
  width: 100%;
  height: var(--body-header-height);
  z-index: 1;
  pointer-events: none;
}
.o-body__header .c-menu__button, .o-body__header .c-menu__title {
  pointer-events: auto;
}
.o-body__main {
  padding-top: var(--body-header-height);
  flex-grow: 1;
}
.o-body__aside {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.o-body__inner {
  margin: 0 auto;
  padding: 0 var(--body-padding-x);
}
.o-body__placeholder--control {
  margin-bottom: var(--control-overlay-height);
}
.o-body__placeholder--banner {
  margin-bottom: var(--banner-head-height);
}

.o-aside {
  background: transparent;
  box-shadow: none;
  pointer-events: none;
  transition: background-color 200ms, box-shadow 200ms, -webkit-backdrop-filter 200ms, backdrop-filter 200ms;
}
.o-aside--open {
  background: #FFFFFF;
  pointer-events: auto;
}
.o-aside--open.o-aside--lightyellow {
  background: #F3FFBF;
}
.o-aside--open.o-aside--transparent {
  background: transparent;
}
.o-aside--open.o-aside--blur {
  background: transparent;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.o-aside--full {
  width: 100%;
  height: 100%;
}
.o-aside--top {
  width: 100%;
  height: var(--body-header-height);
}
.o-aside--open.o-aside--top {
  box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}
.o-aside__header {
  width: 100%;
  height: var(--body-header-height);
  opacity: 0;
  transition: opacity 200ms;
}
.o-aside--open .o-aside__header {
  opacity: 1;
}
.o-aside__child {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transition: opacity 200ms;
}
.o-aside--open .o-aside__child {
  opacity: 1;
}
.o-aside__header + .o-aside__child {
  height: calc(100% - var(--body-header-height));
}
.o-aside__header--bare + .o-aside__child {
  height: 100%;
  margin-top: calc(-1 * var(--body-header-height));
}

.c-menu {
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.c-menu--bare {
  justify-content: flex-end;
}
.c-menu--bare .c-menu__button {
  z-index: 1;
}
.c-menu__button {
  flex-shrink: 0;
  cursor: pointer;
}
.c-menu__button--search {
  width: var(--global-icon-width-md);
  height: var(--global-icon-width-md);
}
.c-menu__button--nav {
  width: var(--global-icon-width-md);
  height: 1.3125rem;
}
.c-menu__button--close {
  width: var(--global-icon-width-md);
  height: var(--global-icon-width-md);
}
.c-menu__title {
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  text-transform: lowercase;
}
.c-menu__form {
  flex-grow: 1;
  padding: 0 var(--body-padding-x);
}
.c-menu__form input {
  all: unset;
  width: 100%;
  height: 100%;
  color: inherit;
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
}
.c-menu__form input::placeholder {
  all: inherit;
  color: #9D9999;
}
.c-menu__spacer {
  width: var(--global-icon-width-md);
}
.c-menu__back {
  display: flex;
}

.c-logo {
  opacity: 1;
  transition: opacity 200ms;
}
.o-body--scrolled-down .c-logo--fading:not(:hover) {
  opacity: 0;
}

.o-grid {
  --grid-column-count: 16;
  --grid-column-gap: 1rem;
  --grid-row-gap: 1rem;
  display: grid;
  grid-template-columns: repeat(var(--grid-column-count), minmax(0, 1fr));
  column-gap: var(--grid-column-gap);
  row-gap: var(--grid-row-gap);
  justify-items: stretch;
  align-items: start;
}
.o-grid__item {
  --grid-column-start: auto;
  --grid-column-span: 1;
  --grid-column-width: calc(((100% + var(--grid-column-gap)) / var(--grid-column-span)) - var(--grid-column-gap));
  grid-column: var(--grid-column-start)/span var(--grid-column-span);
}
.o-grid__item.o-grid {
  --grid-column-count: var(--grid-column-span);
}

.o-masonry__col {
  --grid-column-start: auto;
  --grid-column-span: 1;
}
.o-masonry__col:empty {
  align-self: stretch;
}
.o-masonry__item {
  --grid-column-start: 1;
  --grid-column-span: 1;
}
.o-masonry__item--hidden {
  display: none;
}
.o-masonry__image {
  display: block;
  position: relative;
  overflow: hidden;
}
.o-masonry__pict {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.m-home .o-masonry__col {
  --grid-column-span: 8;
  --grid-row-gap: 12.5rem;
  padding-top: 4.875rem;
}
.m-home .o-masonry__col:nth-child(1) {
  --grid-column-start: 1;
}
.m-home .o-masonry__col:nth-child(2) {
  --grid-column-start: 9;
  padding-top: 12.5rem;
}
.m-home .o-masonry__item {
  --grid-column-start: 1;
  --grid-column-span: 8;
  --grid-row-gap: 0;
}
.m-home .o-masonry__image {
  --grid-column-start: 1;
  --grid-column-span: 8;
}
.m-home .o-masonry__text {
  --grid-column-start: 1;
  --grid-column-span: 5;
}
.m-home .o-masonry__item--xl .o-masonry__image {
  --grid-column-span: 8;
}
.m-home .o-masonry__item--lg .o-masonry__image {
  --grid-column-span: 7;
}
.m-home .o-masonry__item--md .o-masonry__image {
  --grid-column-span: 6;
}
.m-home .o-masonry__item--sm .o-masonry__image {
  --grid-column-span: 5;
}
.m-home .o-masonry__item--xs .o-masonry__image {
  --grid-column-span: 4;
}
.m-home .o-masonry__item--2xs .o-masonry__image {
  --grid-column-span: 3;
}
.m-home .o-masonry__item--4-3 .o-masonry__image {
  aspect-ratio: 4/3;
}
.m-home .o-masonry__item--5-4 .o-masonry__image {
  aspect-ratio: 5/4;
}
.m-home .o-masonry__item--16-9 .o-masonry__image {
  aspect-ratio: 16/9;
}
.m-home .o-masonry__item--3-4 .o-masonry__image {
  aspect-ratio: 3/4;
}
.m-home .o-masonry__item--4-5 .o-masonry__image {
  aspect-ratio: 4/5;
}
.m-home .o-masonry__item--1-1 .o-masonry__image {
  aspect-ratio: 1/1;
}
.m-home .o-masonry__item--lg.o-masonry__item--center .o-masonry__image, .m-home .o-masonry__item--lg.o-masonry__item--center .o-masonry__text {
  --grid-column-start: 2;
}
.m-home .o-masonry__item--lg.o-masonry__item--right .o-masonry__image, .m-home .o-masonry__item--lg.o-masonry__item--right .o-masonry__text {
  --grid-column-start: 2;
}
.m-home .o-masonry__item--md.o-masonry__item--center .o-masonry__image, .m-home .o-masonry__item--md.o-masonry__item--center .o-masonry__text {
  --grid-column-start: 2;
}
.m-home .o-masonry__item--md.o-masonry__item--right .o-masonry__image, .m-home .o-masonry__item--md.o-masonry__item--right .o-masonry__text {
  --grid-column-start: 3;
}
.m-home .o-masonry__item--sm.o-masonry__item--left .o-masonry__image, .m-home .o-masonry__item--sm.o-masonry__item--left .o-masonry__text {
  --grid-column-start: 2;
}
.m-home .o-masonry__item--sm.o-masonry__item--center .o-masonry__image, .m-home .o-masonry__item--sm.o-masonry__item--center .o-masonry__text {
  --grid-column-start: 3;
}
.m-home .o-masonry__item--sm.o-masonry__item--right .o-masonry__image, .m-home .o-masonry__item--sm.o-masonry__item--right .o-masonry__text {
  --grid-column-start: 4;
}
.m-home .o-masonry__item--xs.o-masonry__item--left .o-masonry__image, .m-home .o-masonry__item--xs.o-masonry__item--left .o-masonry__text {
  --grid-column-start: 2;
}
.m-home .o-masonry__item--xs.o-masonry__item--center .o-masonry__image, .m-home .o-masonry__item--xs.o-masonry__item--center .o-masonry__text {
  --grid-column-start: 3;
}
.m-home .o-masonry__item--xs.o-masonry__item--right .o-masonry__image, .m-home .o-masonry__item--xs.o-masonry__item--right .o-masonry__text {
  --grid-column-start: 4;
}
.m-home .o-masonry__item--2xs.o-masonry__item--left .o-masonry__image, .m-home .o-masonry__item--2xs.o-masonry__item--left .o-masonry__text {
  --grid-column-start: 2;
}
.m-home .o-masonry__item--2xs.o-masonry__item--center .o-masonry__image, .m-home .o-masonry__item--2xs.o-masonry__item--center .o-masonry__text {
  --grid-column-start: 3;
}
.m-home .o-masonry__item--2xs.o-masonry__item--right .o-masonry__image, .m-home .o-masonry__item--2xs.o-masonry__item--right .o-masonry__text {
  --grid-column-start: 4;
}
.m-home .o-masonry__title {
  padding: 0.5rem 0;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.m-home .o-masonry__gist p {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
}
.m-home .o-masonry__link {
  display: block;
  margin-top: 1.5rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
  color: #9D9999;
}
.m-home .o-masonry__link:hover {
  color: inherit;
}
.m-home .o-masonry__link + .o-masonry__link {
  margin-top: 0;
}
.m-project-all .o-masonry__col {
  --grid-column-start: auto;
  --grid-column-span: 2;
  --grid-row-gap: 1.5rem;
}
.m-project-all .o-masonry__col:nth-child(1) {
  --grid-column-start: 3;
}
.m-project-all .o-masonry__item {
  --grid-column-start: 1;
  --grid-column-span: 2;
  --grid-row-gap: 0;
}
.m-project-all .o-masonry__image {
  --grid-column-start: 1;
  --grid-column-span: 2;
  aspect-ratio: 3/2;
}
.m-project-all .o-masonry__col:nth-child(even) .o-masonry__image {
  order: 1;
}
.m-project-all .o-masonry__text {
  --grid-column-start: 1;
  --grid-column-span: 2;
}
.m-project-all .o-masonry__separator {
  --grid-column-start: 1;
  --grid-column-span: 2;
}
.m-project-all .o-masonry__separator:first-child {
  margin-bottom: 1.5rem;
}
.m-project-all .o-masonry__separator:last-child {
  margin-top: 1.5rem;
}
.m-project-all .o-masonry__col:nth-child(odd) .o-masonry__separator:first-child {
  display: none;
}
.m-project-all .o-masonry__col:nth-child(even) .o-masonry__separator:last-child {
  display: none;
}
.m-project-all .o-masonry__title {
  margin-top: 0.75rem;
  display: flex;
  column-gap: 0.375rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.m-project-all .o-masonry__col:nth-child(even) .o-masonry__title {
  margin-top: 0;
  margin-bottom: 0.75rem;
}
.m-project-all .o-masonry__gist {
  margin-top: 0.75rem;
}
.m-project-all .o-masonry__gist p {
  font-family: var(--text-font-family-paragraph-xm);
  font-weight: var(--text-font-weight-paragraph-xm);
  font-size: var(--text-font-size-paragraph-xm);
  line-height: var(--text-line-height-paragraph-xm);
  letter-spacing: var(--text-letter-spacing-paragraph-xm);
}
.m-project-all .o-masonry__col:nth-child(even) .o-masonry__gist {
  margin-bottom: 0.75rem;
}
.m-project-all .o-masonry__cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.75);
  opacity: 0;
  transition: opacity 200ms;
}
.m-project-all .o-masonry__cover .o-masonry__title {
  padding: 0.5rem 1rem;
}
.m-project-all .o-masonry--collapsed .o-masonry__cover:hover {
  opacity: 1;
}

.c-nav {
  justify-content: flex-end;
}

.c-index {
  width: 100%;
  margin-top: var(--body-footer-margin-top);
}
.c-index--closer {
  margin-top: calc(0.5 * var(--body-footer-margin-top));
}
.c-index__entry {
  --grid-column-start: 2;
  --grid-column-span: 14;
  display: flex;
  align-items: baseline;
  column-gap: 1rem;
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
}
.c-index__icon {
  width: var(--global-icon-width-lg);
  height: var(--global-icon-width-lg);
}

.c-info {
  width: 100%;
  margin-top: var(--body-footer-margin-top);
  margin-bottom: var(--body-footer-margin-bottom);
}
.c-info__group {
  --grid-column-start: auto;
  display: flex;
  flex-direction: column;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.c-info__group:nth-child(1) {
  --grid-column-start: 2;
}
.c-info__group--full {
  --grid-column-span: 7;
}
.c-info__group--half.c-info__group--left {
  --grid-column-span: 4;
  align-items: flex-start;
}
.c-info__group--half.c-info__group--right {
  --grid-column-span: 3;
  align-items: flex-end;
}

.c-control {
  position: fixed;
  top: var(--body-header-height);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  pointer-events: none;
}
.c-control__panel {
  --grid-column-start: 1;
  --grid-column-span: 2;
}
.c-control__overlay {
  display: none;
}
.c-control__slide {
  display: none;
}
.c-control__item {
  margin-bottom: 0.75rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
  color: #9D9999;
}
.c-control__button {
  cursor: pointer;
  pointer-events: auto;
}

.c-view__button {
  display: inline-flex;
  align-items: center;
  column-gap: 0.5rem;
}
.c-view__icon {
  color: #000000;
}
.c-view__icon circle {
  transition: transform 200ms;
}
.c-view[data-view=collapsed] .c-view__icon circle {
  transform: translateX(8px);
}

.c-filter__head {
  display: inline-flex;
  align-items: baseline;
  column-gap: 0.125rem;
  border-bottom: 2px solid transparent;
  margin-bottom: 0.5rem;
  transition: color 200ms, border-color 200ms;
}
.c-filter--open .c-filter__head {
  color: #000000;
  border-color: #000000;
}
.c-filter__body {
  opacity: 0;
  transition: opacity 200ms;
}
.c-filter--open .c-filter__body {
  opacity: 1;
}
.c-filter__component {
  margin-bottom: 0.5rem;
}
.c-filter__label {
  display: inline-block;
  margin-bottom: 0.5rem;
  color: #000000;
  border-bottom: 2px solid #000000;
}
.c-filter__group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.c-filter__option {
  display: inline-flex;
  align-items: baseline;
  column-gap: 0.125rem;
  transition: color 200ms;
}
.c-filter__option--selected {
  color: #000000;
}
.c-filter__option--disabled {
  color: #DADADA;
  pointer-events: none;
}
.c-filter__icon {
  width: 0;
  height: var(--global-icon-width-2xs);
  transition: width 200ms;
}
.c-filter__head .c-filter__icon, .c-filter__option--selected .c-filter__icon {
  width: var(--global-icon-width-2xs);
}
.m-project .c-filter__head {
  border-color: transparent;
}

.c-banner {
  position: fixed;
  bottom: 0;
  width: 100%;
  max-height: calc(100% - var(--body-header-height));
  background: #F3FFBF;
  transform: translateY(calc(100% - var(--banner-head-height)));
  transition: transform 400ms;
}
.c-banner--open {
  transform: translateY(0%);
}
.c-banner__wrap {
  --grid-row-gap: 0;
}
.c-banner__track {
  --grid-column-span: 16;
  --fake-column-gap-span: 1;
  display: flex;
  flex-flow: row nowrap;
  column-gap: calc(var(--fake-column-gap-span) * var(--grid-column-width) + (var(--fake-column-gap-span) + 1) * var(--grid-column-gap));
  overflow: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.c-banner__track::-webkit-scrollbar {
  display: none;
}
.c-banner__item {
  --fake-column-span: 4;
  flex-shrink: 0;
  width: calc(var(--fake-column-span) * var(--grid-column-width) + (var(--fake-column-span) - 1) * var(--grid-column-gap));
  scroll-snap-align: start;
}
.c-banner__head {
  height: var(--banner-head-height);
  display: flex;
  align-items: center;
  column-gap: 1rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
  cursor: pointer;
}
.c-banner--open .c-banner__head {
  cursor: auto;
}
.c-banner__icon {
  width: var(--global-icon-width-xs);
  height: var(--global-icon-width-xs);
}
.c-banner__head .c-banner__icon {
  flex-shrink: 0;
  opacity: 1;
  transition: opacity 200ms;
}
.c-banner--open .c-banner__head .c-banner__icon {
  opacity: 0;
}
.c-banner__image {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/2;
  margin-bottom: 1rem;
  max-height: 33vh;
}
.c-banner__pict {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-banner__text {
  margin-bottom: 1rem;
}
.c-banner__gist {
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
  overflow: hidden;
}
.c-banner__gist p {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
}
.c-banner__text--alone .c-banner__gist {
  -webkit-line-clamp: 20;
}
.c-banner__link {
  display: block;
  color: #9D9999;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.c-banner__link:hover {
  color: inherit;
}
.c-banner__button {
  --grid-column-span: 4;
  height: var(--banner-head-height);
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
  cursor: pointer;
  opacity: 1;
  transition: opacity 200ms;
}
.c-banner__button--close {
  --grid-column-start: 7;
  justify-content: center;
}
.c-banner__button--prev {
  --grid-column-start: 1;
  justify-content: flex-start;
}
.c-banner__button--next {
  --grid-column-start: 13;
  justify-content: flex-end;
}
.c-banner__button--disabled {
  opacity: 0;
  pointer-events: none;
}

.o-sheet {
  --grid-row-gap: 1.5rem;
}
.o-sheet__slider {
  --grid-column-start: 1;
  --grid-column-span: 16;
}
.o-sheet__separator {
  --grid-column-start: 2;
  --grid-column-span: 14;
  border-bottom: 2.5px solid currentColor;
}
.o-sheet__button {
  --grid-column-span: 4;
  height: 2rem;
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
  cursor: pointer;
}
.o-sheet__button--prev {
  --grid-column-start: 2;
  justify-content: flex-start;
}
.o-sheet__button--next {
  --grid-column-start: 12;
  justify-content: flex-end;
}
.o-sheet__icon {
  width: var(--global-icon-width-xs);
  height: var(--global-icon-width-xs);
}
.m-news .o-sheet__title {
  --grid-column-start: 5;
  --grid-column-span: 8;
  display: inline-flex;
  align-items: center;
  column-gap: 1rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.m-news .o-sheet__slider {
  height: 65vh;
}
.m-news .o-sheet__text {
  --grid-column-start: 5;
  --grid-column-span: 8;
}
.m-news .o-sheet__detail p {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
}
.m-project .o-sheet__slider {
  height: calc(100vh - var(--body-header-height) - var(--text-line-height-heading-lg) - 2 * var(--grid-row-gap));
}
.m-project .o-sheet__title {
  --grid-column-start: 2;
  --grid-column-span: 14;
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  text-transform: lowercase;
}
.m-project .o-sheet__block .o-sheet__title {
  margin-bottom: 1rem;
}
.m-project .o-sheet__block {
  --grid-column-start: 2;
  --grid-column-span: 6;
}
.m-project .o-sheet__list {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
}
.m-project .o-sheet__entry {
  display: inline-flex;
  column-gap: 1rem;
  align-items: center;
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
  text-transform: lowercase;
}
.m-project .o-sheet__entry span:first-child {
  display: inline-block;
  width: 1.5rem;
}
.m-project .o-sheet__icon {
  width: var(--global-icon-width-xs);
  height: var(--global-icon-width-xs);
  flex-shrink: 0;
  margin-top: 0.25rem;
}
.m-project .o-sheet__text {
  --grid-column-start: 2;
  --grid-column-span: 10;
}
.m-project .o-sheet__lang {
  margin-bottom: 1rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.m-project .o-sheet__detail p {
  font-family: var(--text-font-family-paragraph-lg);
  font-weight: var(--text-font-weight-paragraph-lg);
  font-size: var(--text-font-size-paragraph-lg);
  line-height: var(--text-line-height-paragraph-lg);
  letter-spacing: var(--text-letter-spacing-paragraph-lg);
}

.c-lang {
  display: flex;
  column-gap: 1rem;
}
.c-lang__button {
  color: #9D9999;
  border-bottom: 2.5px solid transparent;
  transition: color 200ms, border-color 200ms;
  cursor: pointer;
}
.c-lang__button:hover, .c-lang__button--active {
  color: inherit;
}
.c-lang__button--active {
  border-color: currentColor;
}
.c-lang:empty {
  display: none;
}

.c-slider {
  --grid-column-count: 16;
  --grid-column-gap: 1rem;
  width: 100%;
  z-index: 0;
}
.c-slider__slide {
  display: flex;
  flex-direction: column;
}
.c-slider__figure {
  flex: 1;
  min-height: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.c-slider__image {
  position: relative;
  max-height: 100%;
  margin: 0 auto;
  display: block;
  position: relative;
  overflow: hidden;
}
.c-slider__pict {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-slider__caption {
  --grid-column-start: 5;
  --grid-column-span: 8;
  position: relative;
  left: calc(((var(--grid-column-start) - 1) / var(--grid-column-count)) * (100% + var(--grid-column-gap)));
  width: calc((var(--grid-column-span) / var(--grid-column-count)) * (100% + var(--grid-column-gap)) - var(--grid-column-gap));
  margin-top: 0.5rem;
  padding-right: 2rem;
  display: inline-flex;
  align-items: flex-start;
  column-gap: 1rem;
  font-family: var(--text-font-family-paragraph-xs);
  font-weight: var(--text-font-weight-paragraph-xs);
  font-size: var(--text-font-size-paragraph-xs);
  line-height: var(--text-line-height-paragraph-xs);
  letter-spacing: var(--text-letter-spacing-paragraph-xs);
  text-transform: lowercase;
}
.c-slider__caption span:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre;
}
.c-slider__area {
  position: absolute;
}
.c-slider__area:not(.c-slider__area--disabled) {
  z-index: 1;
}
.c-slider__area--prev {
  top: 0;
  bottom: 1.5rem;
  left: 0;
  width: 33.333%;
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14.514" viewBox="0 0 16 14.514"><g transform="translate(16 14.514) rotate(180)"><path d="M3.632,0,2.051,1.562,6.62,6.131H-5.987V8.383H6.62L2.051,12.952l1.581,1.562,6.381-6.381V6.381Z" transform="translate(5.987)"/></g></svg>'), pointer;
}
.c-slider__area--next {
  top: 0;
  bottom: 1.5rem;
  right: 0;
  width: 33.333%;
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14.514" viewBox="0 0 16 14.514"><path d="M3.632,0,2.051,1.562,6.62,6.131H-5.987V8.383H6.62L2.051,12.952l1.581,1.562,6.381-6.381V6.381Z" transform="translate(5.987)"/></svg>'), pointer;
}
.c-slider__area--fullscreen {
  top: 0;
  bottom: 1.5rem;
  left: 33.333%;
  width: 33.333%;
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15.973" viewBox="0 0 16 15.973"><path d="M-8.062,0V2.235h5.668l-1,1h-.019l-8.906,8.9V6.474h-2.236v8.247l1.253,1.252h8.25V13.738h-5.668L-9.7,12.717v.019l8.906-8.9V9.5H1.442V1.252L.189,0Z" transform="translate(14.558)"/></svg>'), pointer;
}
.c-slider__button {
  position: absolute;
  width: var(--global-icon-width-xs);
  height: var(--global-icon-width-xs);
  z-index: 1;
  cursor: pointer;
}
.c-slider__button--fullscreen {
  --grid-column-end: 5;
  right: calc(((var(--grid-column-end) - 1) / var(--grid-column-count)) * (100% + var(--grid-column-gap)));
  bottom: 0;
}
.c-slider--gallery .c-slider__caption {
  --line-count: 1;
  padding-right: 0;
  height: calc(var(--line-count) * var(--text-line-height-paragraph-xs));
}
.c-slider--gallery .c-slider__caption span:nth-child(2) {
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--line-count);
}
.c-slider--modal .c-slider__caption {
  left: 0;
  width: 100%;
  margin-top: 0.25rem;
  padding-right: 0;
  min-height: 1rem;
}
.c-slider--modal .c-slider__caption span:nth-child(2) {
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: none;
}
.c-slider--section .c-slider__image {
  top: auto;
  transform: none;
}

.c-gallery {
  padding: 2.5rem var(--body-padding-x);
}
.c-gallery__slider {
  height: 100%;
}

.o-list {
  --grid-row-gap: 0;
}

.o-section {
  --grid-column-start: 2;
  --grid-column-span: 14;
  border-bottom: 2.5px solid currentColor;
}
.o-section--coupled {
  --grid-column-span: 7;
  align-self: stretch;
}
.o-section--coupled--1 {
  --grid-column-start: 2;
  width: calc(100% + var(--grid-column-gap));
  padding-right: var(--grid-column-gap);
}
.o-section--coupled--2 {
  --grid-column-start: 9;
}
.o-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  cursor: pointer;
}
.o-section__button {
  width: var(--global-icon-width-lg);
  height: var(--global-icon-width-lg);
  transition: transform 200ms;
}
.o-section--open .o-section__button {
  transform: rotate(45deg);
}
.o-section--coupled--1 .o-section__button {
  display: none;
}
.o-section__body {
  --grid-column-count: 14;
  --grid-row-gap: 1.5rem;
  padding-bottom: 1.5rem;
}
.o-section--coupled .o-section__body {
  --grid-column-count: 7;
}
.o-section__text {
  --grid-column-start: 1;
  --grid-column-span: 6;
}
.o-section__lang {
  margin-bottom: 1rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.o-section__detail p {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
}
.o-section__extra {
  margin-top: 1.5rem;
}
.o-section__extra p {
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
}
.o-section__slider {
  --grid-column-start: 8;
  --grid-column-span: 7;
}
.o-section__info {
  --grid-column-span: 14;
  margin: 0;
}
.o-section__info .c-info__group:nth-child(1) {
  --grid-column-start: 1;
}
.o-section__list {
  --grid-column-start: 1;
  --grid-column-span: 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 0.5rem;
}
.o-section__list--compact {
  row-gap: 0.25rem;
}
.o-section__list--confortable {
  row-gap: 1rem;
}
.o-section__entry {
  display: inline-flex;
  column-gap: 1rem;
  align-items: flex-start;
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
  text-transform: lowercase;
}
.o-section__entry span:first-child {
  display: inline-block;
  width: 1.5rem;
}
.o-section__icon {
  width: var(--global-icon-width-xs);
  height: var(--global-icon-width-xs);
  flex-shrink: 0;
  margin-top: 0.25rem;
}

.c-more__target {
  display: none;
}
.c-more__button {
  color: #9D9999;
  transition: color 200ms;
  cursor: pointer;
}
.c-more__button:hover {
  color: inherit;
}
.c-more span:nth-child(1) {
  display: inline;
}
.c-more span:nth-child(2) {
  display: none;
}
.c-more__button--active span:nth-child(1) {
  display: none;
}
.c-more__button--active span:nth-child(2) {
  display: inline;
}

.o-modal {
  --modal-gradient-height: 4rem;
  position: absolute;
  top: var(--body-header-height);
  bottom: var(--body-header-height);
  left: 50%;
  transform: translateX(-50%);
  width: 37.5%;
  height: auto;
  padding: 1.5rem 1.5rem var(--modal-overlay-height) 1.5rem;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  overflow: hidden;
  background-color: #FFFFFF;
  box-shadow: 0px 1px 24px 6px rgba(0, 0, 0, 0.16);
}
.o-modal__title {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
  text-transform: lowercase;
}
.o-modal__box {
  flex: 1;
  overflow: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.o-modal__box::-webkit-scrollbar {
  display: none;
}
.o-modal__slider {
  flex-shrink: 0;
}
.o-modal__insert {
  display: flex;
  flex-direction: column;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
}
.o-modal__insert a {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  color: #9D9999;
  transition: color 200ms;
}
.o-modal__insert a:hover {
  color: inherit;
}
.o-modal__detail {
  padding-bottom: 1.5rem;
}
.o-modal__detail p {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
}
.o-modal__gradient {
  flex-shrink: 0;
  position: sticky;
  left: 0;
  right: 0;
  height: var(--modal-gradient-height);
  pointer-events: none;
  opacity: 0;
  transition: opacity 200ms;
}
.o-modal__gradient--up {
  display: none;
  top: 0;
  margin-bottom: calc(-1 * var(--modal-gradient-height));
  background: linear-gradient(#FFFFFF, transparent);
}
.o-modal__gradient--down {
  bottom: 0;
  margin-top: calc(-1 * var(--modal-gradient-height));
  background: linear-gradient(transparent, #FFFFFF);
}
.o-modal__gradient--visible {
  opacity: 1;
}
.o-modal__overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: var(--modal-overlay-height);
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  background-color: #FFFFFF;
}
.o-modal__button {
  cursor: pointer;
}
.o-modal__button--close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: var(--global-icon-width-md);
  height: var(--global-icon-width-md);
}
.o-modal__button--prev, .o-modal__button--next {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.o-modal__button--prev {
  margin-right: auto;
}
.o-modal__button--next {
  margin-left: auto;
}
.o-modal__button--disabled {
  display: none;
}
.o-modal__icon {
  width: var(--global-icon-width-xs);
  height: var(--global-icon-width-xs);
}
.o-modal--notext .o-modal__slider {
  flex-grow: 1;
  flex-basis: 0;
  min-height: 0;
}
.o-modal--notext .o-modal__text {
  display: none;
}
.o-modal--notext .o-modal__gradient {
  display: none;
}

.c-search {
  padding-top: 2.5rem;
}
.c-search__message {
  --grid-column-start: 2;
  --grid-column-span: 7;
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
  text-transform: lowercase;
}
.c-search__list {
  --grid-column-start: 2;
  --grid-column-span: 7;
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5rem;
}
.c-search__category {
  margin-bottom: 1rem;
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  text-transform: lowercase;
}
.c-search__title {
  display: inline-block;
  text-transform: lowercase;
}
.c-search__preview {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
}
.c-search__list--project {
  row-gap: 1.5rem;
}
.c-search__list--project .c-search__title {
  margin-bottom: 0.5rem;
  display: inline-flex;
  column-gap: 0.375rem;
  font-family: var(--text-font-family-paragraph-sm);
  font-weight: var(--text-font-weight-paragraph-sm);
  font-size: var(--text-font-size-paragraph-sm);
  line-height: var(--text-line-height-paragraph-sm);
  letter-spacing: var(--text-letter-spacing-paragraph-sm);
  text-transform: lowercase;
}
.c-search__list--media {
  row-gap: 0.5rem;
}
.c-search__list--media .c-search__title {
  display: inline-flex;
  column-gap: 1rem;
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
  text-transform: lowercase;
}
.c-search__list--person {
  row-gap: 0.5rem;
}
.c-search__list--person .c-search__title {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
  text-transform: lowercase;
}
.c-search mark {
  color: inherit;
  background: none;
  text-decoration: underline;
}

.o-default__title {
  --grid-column-start: 2;
  --grid-column-span: 14;
  margin-bottom: 1.5rem;
  font-family: var(--text-font-family-heading-lg);
  font-weight: var(--text-font-weight-heading-lg);
  font-size: var(--text-font-size-heading-lg);
  line-height: var(--text-line-height-heading-lg);
  letter-spacing: var(--text-letter-spacing-heading-lg);
  text-transform: lowercase;
}
.o-default__text {
  --grid-column-start: 2;
  --grid-column-span: 6;
}
.o-default__text p {
  font-family: var(--text-font-family-paragraph-md);
  font-weight: var(--text-font-weight-paragraph-md);
  font-size: var(--text-font-size-paragraph-md);
  line-height: var(--text-line-height-paragraph-md);
  letter-spacing: var(--text-letter-spacing-paragraph-md);
}

.c-env {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  z-index: 9999;
  opacity: 0.5;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-size: 1rem;
}
.c-env:hover {
  opacity: 1;
}
.c-env__item {
  padding: 0.25rem 0.5rem;
  background: white;
  text-align: center;
}
.c-env__item--dev {
  background: black;
  color: lime;
}
.c-env__item--preview {
  background: yellow;
}

@media (min-width: 1920px) {
  .u-desktop,
.u-desktop-tablet-phone,
.u-tablet,
.u-tablet-phone,
.u-phone {
    display: none;
  }
}
@media (min-width: 1440px) and (max-width: 1919px) {
  .u-wide,
.u-tablet-phone,
.u-tablet,
.u-phone {
    display: none;
  }
}
@media (min-width: 1024px) and (max-width: 1439px) {
  .u-wide,
.u-wide-desktop,
.u-desktop,
.u-phone {
    display: none;
  }

  .m-project-all .o-masonry__col {
    --grid-column-start: auto;
    --grid-column-span: 4;
  }
  .m-project-all .o-masonry__col:nth-child(1) {
    --grid-column-start: 3;
  }
  .m-project-all .o-masonry__col:not(:nth-child(1), :nth-child(2), :nth-child(3)) {
    display: none;
  }
  .m-project-all .o-masonry__item {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }
  .m-project-all .o-masonry__image {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }
  .m-project-all .o-masonry__text {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }
  .m-project-all .o-masonry__separator {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }

  .o-modal {
    width: 50%;
  }
}
@media (max-width: 1023px) {
  .u-wide,
.u-wide-desktop,
.u-wide-desktop-tablet,
.u-desktop,
.u-tablet {
    display: none;
  }

  :root {
    --global-icon-width-md: 1.375rem;
    --global-icon-width-lg: 1.375rem;
    --body-padding-x: 0.75rem;
    --body-header-height: 4.75rem;
    --body-footer-margin-top: 11.375rem;
    --body-footer-margin-bottom: 1rem;
    --control-overlay-height: 3.625rem;
  }

  .o-body--phone-overflow-hidden {
    overflow: hidden;
  }

  .o-grid {
    --grid-column-count: 8;
    --grid-column-gap: 0.75rem;
    --grid-row-gap: 0.75rem;
  }

  .m-home .o-masonry__col {
    --grid-row-gap: 6.25rem;
    padding-top: 3rem;
  }
  .m-home .o-masonry__col:nth-child(2) {
    display: none;
  }
  .m-home .o-masonry__text {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-home .o-masonry__item--sm.o-masonry__item--right .o-masonry__image {
    --grid-column-start: 3;
  }
  .m-home .o-masonry__item--xs.o-masonry__item--right .o-masonry__image {
    --grid-column-start: 4;
  }
  .m-home .o-masonry__item--2xs.o-masonry__item--right .o-masonry__image {
    --grid-column-start: 5;
  }
  .m-home .o-masonry__item--lg.o-masonry__item--center .o-masonry__text, .m-home .o-masonry__item--lg.o-masonry__item--right .o-masonry__text, .m-home .o-masonry__item--md.o-masonry__item--center .o-masonry__text, .m-home .o-masonry__item--md.o-masonry__item--right .o-masonry__text, .m-home .o-masonry__item--sm.o-masonry__item--left .o-masonry__text, .m-home .o-masonry__item--sm.o-masonry__item--center .o-masonry__text, .m-home .o-masonry__item--sm.o-masonry__item--right .o-masonry__text, .m-home .o-masonry__item--xs.o-masonry__item--left .o-masonry__text, .m-home .o-masonry__item--xs.o-masonry__item--center .o-masonry__text, .m-home .o-masonry__item--xs.o-masonry__item--right .o-masonry__text, .m-home .o-masonry__item--2xs.o-masonry__item--left .o-masonry__text, .m-home .o-masonry__item--2xs.o-masonry__item--center .o-masonry__text, .m-home .o-masonry__item--2xs.o-masonry__item--right .o-masonry__text {
    --grid-column-start: 1;
  }
  .m-home .o-masonry__link {
    margin-top: 1.25rem;
  }
  .m-project-all .o-masonry__col {
    --grid-column-start: auto;
    --grid-column-span: 3;
  }
  .m-project-all .o-masonry__col:nth-child(1) {
    --grid-column-start: 2;
  }
  .m-project-all .o-masonry__col:not(:nth-child(1), :nth-child(2)) {
    display: none;
  }
  .m-project-all .o-masonry__item {
    --grid-column-start: 1;
    --grid-column-span: 3;
  }
  .m-project-all .o-masonry__image {
    --grid-column-start: 1;
    --grid-column-span: 3;
  }
  .m-project-all .o-masonry__text {
    --grid-column-start: 1;
    --grid-column-span: 3;
  }
  .m-project-all .o-masonry__separator {
    --grid-column-start: 1;
    --grid-column-span: 3;
  }

  .c-index__entry {
    --grid-column-start: 1;
    --grid-column-span: 8;
    column-gap: 1rem;
  }

  .c-info {
    --grid-row-gap: 4.75rem;
  }
  .c-info__group {
    font-family: var(--text-font-family-paragraph-sm);
    font-weight: var(--text-font-weight-paragraph-sm);
    font-size: var(--text-font-size-paragraph-sm);
    line-height: var(--text-line-height-paragraph-sm);
    letter-spacing: var(--text-letter-spacing-paragraph-sm);
    text-transform: lowercase;
  }
  .c-info__group:nth-child(1) {
    --grid-column-start: 1;
  }
  .c-info__group--full {
    --grid-column-span: 8;
  }
  .c-info__group--half.c-info__group--left {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }
  .c-info__group--half.c-info__group--right {
    --grid-column-start: 5;
    --grid-column-span: 4;
    align-items: flex-end;
  }

  .c-control {
    --grid-row-gap: 0;
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    transform: none;
    pointer-events: auto;
  }
  .c-control__panel {
    display: none;
  }
  .c-control__overlay {
    --grid-column-start: 1;
    --grid-column-span: 8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    height: var(--control-overlay-height);
    background: #FFFFFF;
  }
  .c-control__slide {
    --grid-column-start: 1;
    --grid-column-span: 8;
    display: block;
    position: absolute;
    bottom: var(--control-overlay-height);
    left: calc(-1 * var(--body-padding-x));
    right: calc(-1 * var(--body-padding-x));
    padding: var(--body-padding-x);
    transform: translateY(100%);
    transition: transform 400ms;
    background: #FFFFFF;
    box-shadow: 0px -3px 6px 0px rgba(0, 0, 0, 0.16);
  }
  .c-control__slide--open {
    transform: translateY(0%);
  }
  .c-control__item {
    margin-bottom: 0;
  }
  .c-control__button--toggle {
    display: inline-flex;
    align-items: center;
    column-gap: 0.5rem;
  }
  .c-control__button--close {
    position: absolute;
    top: var(--body-padding-x);
    right: var(--body-padding-x);
  }
  .c-control__icon {
    width: var(--global-icon-width-lg);
    height: var(--global-icon-width-lg);
  }
  .m-project .c-control__item {
    color: #000000;
  }
  .m-project .c-control__item:not(.m-project .c-control__button) {
    display: flex;
    flex-direction: column;
  }
  .m-project .c-control__button {
    display: inline-flex;
    align-items: baseline;
    column-gap: 0.125rem;
  }
  .m-project .c-control__icon {
    width: var(--global-icon-width-2xs);
    height: var(--global-icon-width-2xs);
  }

  .c-banner__wrap {
    --grid-row-gap: 0;
  }
  .c-banner__track {
    --grid-column-span: 8;
    --fake-column-gap-span: 0;
  }
  .c-banner__item {
    --fake-column-span: 8;
  }
  .c-banner__button {
    --grid-column-span: 2;
  }
  .c-banner__button--close {
    --grid-column-start: 4;
  }
  .c-banner__button--prev {
    --grid-column-start: 1;
  }
  .c-banner__button--next {
    --grid-column-start: 7;
  }

  .o-sheet {
    --grid-row-gap: 1.5rem;
  }
  .o-sheet__slider {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .o-sheet__separator {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .o-sheet__button {
    --grid-column-span: 4;
  }
  .o-sheet__button--prev {
    --grid-column-start: 1;
  }
  .o-sheet__button--next {
    --grid-column-start: 5;
  }
  .m-news .o-sheet {
    padding-right: calc(2 * var(--body-padding-x) + var(--global-icon-width-md));
  }
  .m-news .o-sheet__slider {
    height: 30vh;
  }
  .m-news .o-sheet__title {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-news .o-sheet__text {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-project .o-sheet__slider {
    height: 37.5vh;
  }
  .m-project .o-sheet__title {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-project .o-sheet__block {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-project .o-sheet__text {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }

  .c-slider {
    --grid-column-count: 8;
    --grid-column-gap: 0.75rem;
  }
  .c-slider__caption {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .c-slider__button--fullscreen {
    --grid-column-end: 1;
  }
  .c-slider--gallery .c-slider__caption {
    --line-count: 1;
  }

  .c-gallery {
    padding: 1.75rem var(--body-padding-x);
  }

  .o-list {
    --grid-row-gap: 0;
  }

  .o-section {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .o-section--coupled {
    --is-coupling-disabled: true;
  }
  .o-section--coupled--1 {
    width: auto;
    padding-right: 0;
  }
  .o-section--coupled--1 .o-section__button {
    display: block;
  }
  .o-section__body {
    --grid-column-count: 8;
    --grid-row-gap: 1.5rem;
  }
  .o-section--coupled .o-section__body {
    --grid-column-count: 8;
  }
  .o-section__text {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .o-section__slider {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .o-section__info {
    --grid-column-span: 8;
  }

  .o-modal {
    bottom: 0;
    width: 100%;
    padding: 1rem 0.75rem var(--modal-overlay-height) 0.75rem;
    row-gap: 1rem;
  }
  .o-modal__detail {
    padding-bottom: 1rem;
  }
  .o-modal__detail p {
    font-family: var(--text-font-family-paragraph-md);
    font-weight: var(--text-font-weight-paragraph-md);
    font-size: var(--text-font-size-paragraph-md);
    line-height: var(--text-line-height-paragraph-md);
    letter-spacing: var(--text-letter-spacing-paragraph-md);
  }
  .o-modal__overlay {
    padding: 0 0.75rem;
  }
  .o-modal__button--close {
    top: 1rem;
    right: 0.75rem;
  }
  .o-modal--person .o-modal__slider .c-slider__image {
    aspect-ratio: 1/1 !important;
  }

  .c-search {
    padding-top: 1.75rem;
  }
  .c-search__message {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .c-search__list {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }

  .o-default__title {
    --grid-column-start: 1;
    --grid-column-span: 8;
    margin-bottom: 1rem;
  }
  .o-default__text {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .o-default__text p {
    font-family: var(--text-font-family-paragraph-md);
    font-weight: var(--text-font-weight-paragraph-md);
    font-size: var(--text-font-size-paragraph-md);
    line-height: var(--text-line-height-paragraph-md);
    letter-spacing: var(--text-letter-spacing-paragraph-md);
  }

  :root {
    --text-font-size-logo-lg: 2.375rem;
    --text-line-height-logo-lg: 2.5rem;
    --text-letter-spacing-logo-lg: 0em;
    --text-font-size-heading-lg: 2.375rem;
    --text-line-height-heading-lg: 2.5rem;
    --text-letter-spacing-heading-lg: 0em;
    --text-font-size-paragraph-lg: 1.75rem;
    --text-line-height-paragraph-lg: 1.875rem;
    --text-letter-spacing-paragraph-lg: 0em;
    --text-font-size-paragraph-md: 1.1875rem;
    --text-line-height-paragraph-md: 1.25rem;
    --text-letter-spacing-paragraph-md: 0em;
    --text-font-size-paragraph-xm: 1.25rem;
    --text-line-height-paragraph-xm: 1.375rem;
    --text-letter-spacing-paragraph-xm: 0em;
    --text-font-size-paragraph-sm: 1rem;
    --text-line-height-paragraph-sm: 1.125rem;
    --text-letter-spacing-paragraph-sm: 0em;
    --text-font-size-paragraph-xs: 0.875rem;
    --text-line-height-paragraph-xs: 1rem;
    --text-letter-spacing-paragraph-xs: 0em;
  }
}
@media (max-width: 767px) {
  .m-project-all .o-masonry__col {
    --grid-column-start: auto;
    --grid-column-span: 8;
  }
  .m-project-all .o-masonry__col:nth-child(1) {
    --grid-column-start: 1;
  }
  .m-project-all .o-masonry__col:not(:nth-child(1)) {
    display: none;
  }
  .m-project-all .o-masonry__item {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-project-all .o-masonry__image {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-project-all .o-masonry__text {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-project-all .o-masonry__separator {
    --grid-column-start: 1;
    --grid-column-span: 8;
  }
  .m-project-all .o-masonry--collapsed .o-masonry__col {
    --grid-column-span: 4;
  }
  .m-project-all .o-masonry--collapsed .o-masonry__col:nth-child(2) {
    display: grid;
  }
  .m-project-all .o-masonry--collapsed .o-masonry__item {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }
  .m-project-all .o-masonry--collapsed .o-masonry__image {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }
  .m-project-all .o-masonry--collapsed .o-masonry__text {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }
  .m-project-all .o-masonry--collapsed .o-masonry__separator {
    --grid-column-start: 1;
    --grid-column-span: 4;
  }
}
@media print {
  html,
body {
    font-size: 16px;
  }

  .o-body__header {
    position: static;
  }
  .o-body__header .c-menu__button {
    visibility: hidden;
  }
  .o-body__main {
    padding-top: 0;
  }
  .o-body__main .c-index {
    display: none;
  }
  .o-body__aside {
    position: absolute;
  }
  .o-body__aside .c-menu__button--close {
    visibility: hidden;
  }

  .o-aside {
    display: none;
  }
  .o-aside--open {
    display: block;
  }

  .o-masonry:not(.o-masonry--collapsed) .o-masonry__item:not(:last-child) {
    page-break-after: always;
  }

  .c-info__group--half.c-info__group--right {
    visibility: hidden;
  }

  .c-control {
    display: none;
  }

  .c-banner {
    display: none;
  }

  .o-sheet__button {
    display: none;
  }

  .c-slider__slide {
    width: 100% !important;
    transform: translate3d(0px, 0px, 0px) !important;
    position: absolute;
  }
  .c-slider__button {
    visibility: hidden;
  }

  .o-section__icon {
    visibility: hidden;
  }

  .c-more__button {
    display: none;
  }

  .o-modal {
    padding-left: 4.5cm;
    padding-right: 4.5cm;
    box-shadow: none;
  }
  .o-modal__slider {
    height: 33.333%;
  }
  .o-modal__insert {
    display: none;
  }
  .o-modal__gradient {
    display: none;
  }
  .o-modal__button {
    visibility: hidden;
  }

  .c-env {
    display: none;
  }
}

/*# sourceMappingURL=site.bundle.css.map */
