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

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

* {
  box-sizing: border-box;
}

/* ----------------------------------------------------------------------------------------------------

Super Form Reset

A couple of things to watch out for:

- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs

----------------------------------------------------------------------------------------------------*/
input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  line-height: 1;
  /* Browsers have different default form fonts */
}

/* Remove the stupid outer glow in Webkit */
input:focus {
  outline: 0;
}

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
input,
textarea {
  box-sizing: content-box;
}

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
  box-sizing: border-box;
}

/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox],
input[type=radio] {
  width: 13px;
  height: 13px;
}

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none;
}

/* Buttons
-----------------------------------------------*/
button,
input[type=reset],
input[type=button],
input[type=submit] {
  /* Fix IE7 display bug */
  overflow: visible;
  width: auto;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
  padding: 0;
  border: 0;
  background: none;
}

/* Textarea
-----------------------------------------------*/
textarea {
  /* Move the label to the top */
  vertical-align: top;
  /* Turn off scroll bars in IE unless needed */
  overflow: auto;
}

/* Selects
-----------------------------------------------*/
select[multiple] {
  /* Move the label to the top */
  vertical-align: top;
}

.-font-heading, h1, h2, h3, h4, h5, h6 {
  font-family: Geist, sans-serif;
  font-optical-sizing: auto;
  line-height: 100%;
}

.-font-body, p, body, html {
  font-family: Geist, sans-serif;
  font-optical-sizing: auto;
}

.-font-ui, k-input label.field ._label, .button {
  font-family: sans-serif;
  font-optical-sizing: auto;
}

body, html {
  font-size: 18px;
  line-height: 133%;
}
@media (max-width:500px) {
  body, html {
    font-size: 16px;
  }
  body h1, html h1 {
    font-size: 3rem;
  }
  body h2, html h2 {
    font-size: 2rem;
  }
  body h3, html h3 {
    font-size: 1.33rem;
  }
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

p {
  line-height: 133%;
}

a:not(.button) {
  color: var(--col-accent);
  text-decoration: none;
}
a:not(.button):hover {
  text-decoration: underline;
}

h1 {
  font-size: 4em;
}

h2 {
  font-size: 3rem;
}

h3 {
  font-size: 2rem;
}

h4 {
  font-size: 1.33rem;
}

h5 {
  font-size: 1rem;
}

h6 {
  font-size: 0.8rem;
}

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

i {
  font-style: italic;
}

.-font-xxxl {
  font-size: 4em;
}

.-font-xxl {
  font-size: 3rem;
}

.-font-xl {
  font-size: 2rem;
}

.-font-l {
  font-size: 1.33rem;
}

.-font-m, k-input label.field ._control, k-input label.field ._control .input, .button {
  font-size: 1rem;
}

.-font-s, k-input label.field ._label {
  font-size: 0.8rem;
}

.-text-no-wrap {
  white-space: nowrap;
}

.-text-left {
  text-align: left;
}

.-text-center {
  text-align: center;
}

.-text-right {
  text-align: right;
}

:root {
  --col-accent: $col-accent;
}

.-theme-dark {
  --col-main:#f5f2ed;
  --col-off-main:#fff;
  --col-bg: #301;
  --col-off-bg: #606669;
}

.-theme-off-dark {
  --col-main:#f5f2ed;
  --col-off-main:#fff;
  --col-bg: #606669;
  --col-off-bg: #301;
}

.-theme-light {
  --col-main: #301;
  --col-off-main:#606669;
  --col-bg: #f5f2ed;
  --col-off-bg: #fff;
}

.-theme-off-light {
  --col-main: #301;
  --col-off-main:#606669;
  --col-bg: #fff;
  --col-off-bg: #f5f2ed;
}

.-theme-accent {
  --col-main: #301;
  --col-off-main:#606669;
  --col-bg: #1a1f2e;
  --col-off-bg: #FFF8;
}

.-apply-theme, .button.-primary, .button.-secondary, .-theme-dark, .-theme-off-dark, .-theme-light, .-theme-off-light, .-theme-accent {
  background: var(--col-bg);
  color: var(--col-main);
  /* for inline SVG: */
  stroke: var(--col-main);
  fill: var(--col-main);
}

.-invert-theme, .button.-primary:hover {
  background: var(--col-main);
  color: var(--col-bg);
  /* for inline SVG: */
  stroke: var(--col-bg);
  fill: var(--col-bg);
}

.-col-accent, .button:not(.-primary):not(.-secondary) {
  color: var(--col-accent);
  stroke: var(--col-accent);
  fill: var(--col-accent);
}

.-space-xxxl {
  margin-top: 24rem;
}

.-space-xxl {
  margin-top: 16rem;
}

.-space-xl, .next-project {
  margin-top: 8rem;
}

.-space-l {
  margin-top: 4rem;
}

.-space, .space-m {
  margin-top: 1rem;
}

.-space-s {
  margin-top: 0.5rem;
}

.-pad-xl {
  padding: 8rem;
}

.-pad-l {
  padding: 4rem;
}

.-pad,
.-pad-m {
  padding: 1rem;
}

.-pad-s, .button:not(.-primary):not(.-secondary) {
  padding: 0.5rem;
}

.-pad-xs {
  padding: 2px;
}

.-pad-horiz-l {
  padding: 1rem 4rem;
}

.-pad-horiz, k-input label.field ._control .input, .-pad-horiz-m {
  padding: 0.5rem 1rem;
}

.-pad-horiz-s {
  padding: 0 0.5rem;
}

.-absolute {
  position: absolute;
}

.-relative, k-input label.field ._control {
  position: relative;
}

.-fixed {
  position: fixed;
}

.-sticky {
  position: sticky;
}

.-z-modal {
  z-index: 300;
}

.-z-over-top {
  z-index: 200;
}

.-z-top {
  z-index: 100;
}

.-z-mid {
  z-index: 50;
}

.-z-over {
  z-index: 2;
}

.-aspect-1x1 {
  aspect-ratio: 1;
}

.-aspect-16x9 {
  aspect-ratio: 16/9;
}

.-aspect-9x16 {
  aspect-ratio: 9/16;
}

.-aspect-2x1 {
  aspect-ratio: 2;
}

.-aspect-1x2 {
  aspect-ratio: 0.5;
}

.-aspect-3x2 {
  aspect-ratio: 1.5;
}

.-aspect-2x3 {
  aspect-ratio: 2/3;
}

.-aspect-4x3 {
  aspect-ratio: 4/3;
}

.-aspect-3x4 {
  aspect-ratio: 3/4;
}

.-aspect-4x5 {
  aspect-ratio: 4/5;
}

.-no-select, .button {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */ /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */ /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently
supported by Chrome, Edge, Opera and Firefox */
}

.-scroll-lock {
  overflow: hidden;
  width: 100%;
}

.-round-corners {
  border-radius: 4px;
  overflow: hidden;
}

.-round {
  border-radius: 50%;
}

.container {
  position: relative;
  width: calc(100% - 4rem);
  margin-left: auto;
  margin-right: auto;
}
@media (orientation:portrait) {
  .container {
    width: calc(100% - 2rem);
  }
}
.container.-xl {
  max-width: 12800px;
}
.container.-l {
  max-width: 1400px;
}
.container.-m {
  max-width: 640px;
}
.container.-s {
  max-width: 320px;
}

/* Common for both horizontal and vertical flex layouts */
.flex-h, section, .next-project a, k-input label.field ._control, .button, .flex-v, main, k-input label.field, .link-list {
  --gap: 2rem;
  display: flex;
}
.flex-h.-equal > *, .next-project a.-equal > *, k-input label.field .-equal._control > *, .-equal.button > *, section > *, k-input label.field section._control > *, section.button > *, .flex-v.-equal > *, main.-equal > *, k-input label.-equal.field > *, .-equal.link-list > *, section.link-list > * {
  flex: 1;
}
.flex-h.-reverse, section.-reverse, .next-project a.-reverse, k-input label.field .-reverse._control, .-reverse.button, .flex-v.-reverse, main.-reverse, k-input label.-reverse.field, .-reverse.link-list {
  flex-direction: row-reverse;
}
.flex-h.-no-gap, section.-no-gap, .next-project a.-no-gap, k-input label.field .-no-gap._control, .-no-gap.button, .next-project a.link-list, k-input label.field ._control.link-list, .flex-v.-no-gap, main.-no-gap, k-input label.-no-gap.field, k-input label.field.link-list, .link-list {
  --gap: 0 ;
}
.flex-h, section, .next-project a, k-input label.field ._control, .button, .flex-v, main, k-input label.field, .link-list {
  /* -gap no needed actually.this only for compatibility, should be removed as gap is the default now */
}
.flex-h.-gap, section.-gap, .next-project a.-gap, k-input label.field .-gap._control, .-gap.button, .flex-v.-gap, main.-gap, k-input label.-gap.field, .-gap.link-list {
  --gap: 2rem;
}
.flex-h.-gap-xl, section.-gap-xl, .next-project a.-gap-xl, k-input label.field .-gap-xl._control, .-gap-xl.button, .flex-v.-gap-xl, main.-gap-xl, k-input label.-gap-xl.field, .-gap-xl.link-list {
  --gap: 8rem;
}
.flex-h.-gap-l, section.-gap-l, .next-project a.-gap-l, k-input label.field .-gap-l._control, .-gap-l.button, .flex-v.-gap-l, main.-gap-l, k-input label.-gap-l.field, .-gap-l.link-list {
  --gap: 4rem;
}
.flex-h.-gap-s, .next-project a.-gap-s, k-input label.field .-gap-s._control, section, k-input label.field section._control, .next-project a.button, k-input label.field ._control.button, .button, .flex-v.-gap-s, main.-gap-s, k-input label.-gap-s.field, .-gap-s.link-list, section.link-list, k-input label.field.button {
  --gap: 0.5rem;
}
.flex-h.-gap-xs, section.-gap-xs, .next-project a.-gap-xs, k-input label.field .-gap-xs._control, .-gap-xs.button, k-input label.field label._control.field, .flex-v.-gap-xs, main.-gap-xs, .-gap-xs.link-list, k-input label.field {
  --gap: 2px;
}
.flex-h.-space-between, section.-space-between, .next-project a.-space-between, k-input label.field .-space-between._control, .-space-between.button, .flex-v.-space-between, main.-space-between, k-input label.-space-between.field, .-space-between.link-list {
  justify-content: space-between;
}
.flex-h.-space-around, section.-space-around, .next-project a.-space-around, k-input label.field .-space-around._control, .-space-around.button, .flex-v.-space-around, main.-space-around, k-input label.-space-around.field, .-space-around.link-list {
  justify-content: space-around;
}
.flex-h.-justify-center, section.-justify-center, .next-project a.-justify-center, k-input label.field .-justify-center._control, .-justify-center.button, .flex-v.-justify-center, main.-justify-center, k-input label.-justify-center.field, .-justify-center.link-list {
  justify-content: center;
}
.flex-h.-justify-start, section.-justify-start, .next-project a.-justify-start, k-input label.field .-justify-start._control, .next-project a.button, k-input label.field ._control.button, .button, .flex-v.-justify-start, main.-justify-start, k-input label.-justify-start.field, .-justify-start.link-list, k-input label.field.button {
  justify-content: flex-start;
}
.flex-h.-justify-end, section.-justify-end, k-input label.field .-justify-end._control, .-justify-end.button, .next-project a, k-input label.field .next-project a._control, .next-project k-input label.field a._control, .flex-v.-justify-end, main.-justify-end, k-input label.-justify-end.field, .-justify-end.link-list {
  justify-content: flex-end;
}
.flex-h.-align-stretch, section.-align-stretch, .next-project a.-align-stretch, k-input label.field .-align-stretch._control, .-align-stretch.button, .next-project a.link-list, k-input label.field ._control.link-list, .flex-v.-align-stretch, main.-align-stretch, k-input label.-align-stretch.field, k-input label.field.link-list, .link-list {
  align-items: stretch;
}
.flex-h.-align-center, section.-align-center, .next-project a, k-input label.field ._control, .button, .flex-v.-align-center, main.-align-center, k-input label.-align-center.field, .-align-center.link-list, k-input label.field.button {
  align-items: center;
}
.flex-h.-align-start, section.-align-start, .next-project a.-align-start, k-input label.field .-align-start._control, .-align-start.button, k-input label.field label._control.field, .flex-v.-align-start, main.-align-start, .-align-start.link-list, k-input label.field {
  align-items: flex-start;
}
.flex-h.-align-end, section.-align-end, .next-project a.-align-end, k-input label.field .-align-end._control, .-align-end.button, .flex-v.-align-end, main.-align-end, k-input label.-align-end.field, .-align-end.link-list {
  align-items: flex-end;
}
.flex-h .-col-1, section .-col-1, .next-project a .-col-1, .button .-col-1, .flex-v .-col-1, main .-col-1, k-input label.field .-col-1, .link-list .-col-1 {
  flex: 1;
}
.flex-h .-col-2, section .-col-2, .next-project a .-col-2, .button .-col-2, .flex-v .-col-2, main .-col-2, k-input label.field .-col-2, .link-list .-col-2 {
  flex: 2;
}
.flex-h .-col-3, section .-col-3, .next-project a .-col-3, .button .-col-3, .flex-v .-col-3, main .-col-3, k-input label.field .-col-3, .link-list .-col-3 {
  flex: 3;
}
.flex-h .-col-4, section .-col-4, .next-project a .-col-4, .button .-col-4, .flex-v .-col-4, main .-col-4, k-input label.field .-col-4, .link-list .-col-4 {
  flex: 4;
}
.flex-h .-col-5, section .-col-5, .next-project a .-col-5, .button .-col-5, .flex-v .-col-5, main .-col-5, k-input label.field .-col-5, .link-list .-col-5 {
  flex: 5;
}
.flex-h .-col-6, section .-col-6, .next-project a .-col-6, .button .-col-6, .flex-v .-col-6, main .-col-6, k-input label.field .-col-6, .link-list .-col-6 {
  flex: 6;
}

.flex-h, section, .next-project a, k-input label.field ._control, .button {
  flex-direction: row;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
  row-gap: calc(0.5 * var(--gap));
}
.flex-h.-inline, section.-inline, .next-project a.-inline, k-input label.field .-inline._control, .next-project a.button, k-input label.field ._control.button, .button {
  display: inline-flex;
}
.flex-h.-wrap, section.-wrap, .next-project a.-wrap, k-input label.field .-wrap._control, .-wrap.button {
  flex-wrap: wrap;
}
.flex-h.-equal > *, .next-project a.-equal > *, k-input label.field .-equal._control > *, .-equal.button > *, section > *, k-input label.field section._control > *, section.button > * {
  flex: 1;
}
.flex-h, section, .next-project a, k-input label.field ._control, .button {
  /* hr is used to break the line */
}
@media (orientation:portrait) {
  .flex-h.-responsive, .next-project a.-responsive, k-input label.field .-responsive._control, .-responsive.button, section, k-input label.field section._control, section.button {
    flex-direction: column;
  }
  .flex-h.-responsive hr:not([class]), .next-project a.-responsive hr:not([class]), k-input label.field .-responsive._control hr:not([class]), .-responsive.button hr:not([class]), section hr:not([class]), k-input label.field section._control hr:not([class]) {
    display: none;
  }
  .flex-h.-responsive, .next-project a.-responsive, k-input label.field .-responsive._control, .-responsive.button, section, k-input label.field section._control, section.button {
    row-gap: var(--gap);
  }
}

.flex-v, main, k-input label.field, .link-list {
  flex-direction: column;
  gap: var(--gap);
}

.grid {
  --gap: 2rem;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--gap);
  /* Optional gap modifiers */
}
.grid.-gap-s, section.grid {
  --gap: 0.5rem;
}
.grid.-gap {
  --gap: 1rem;
}
.grid.-gap-l {
  --gap: 4rem;
}
.grid.-dense {
  grid-auto-flow: dense;
}
.grid {
  /* Column span utilities for grid items */
}
.grid .-col-auto {
  grid-column: auto;
}
.grid .-col-1 {
  grid-column: span 1;
}
.grid .-col-2 {
  grid-column: span 2;
}
.grid .-col-3 {
  grid-column: span 3;
}
.grid .-col-4 {
  grid-column: span 4;
}
.grid .-col-5 {
  grid-column: span 5;
}
.grid .-col-6 {
  grid-column: span 6;
}
.grid .-col-7 {
  grid-column: span 7;
}
.grid .-col-8 {
  grid-column: span 8;
}
.grid .-col-9 {
  grid-column: span 9;
}
.grid .-col-10 {
  grid-column: span 10;
}
.grid .-col-11 {
  grid-column: span 11;
}
.grid .-col-12 {
  grid-column: span 12;
}
.grid {
  /* Row span utilities for grid items */
}
.grid .-row-auto {
  grid-row: auto;
}
.grid .-row-1 {
  grid-row: span 1;
}
.grid .-row-2 {
  grid-row: span 2;
}
.grid .-row-3 {
  grid-row: span 3;
}
.grid .-row-4 {
  grid-row: span 4;
}
.grid .-row-5 {
  grid-row: span 5;
}
.grid .-row-6 {
  grid-row: span 6;
}
.grid .-row-7 {
  grid-row: span 7;
}
.grid .-row-8 {
  grid-row: span 8;
}
.grid .-row-9 {
  grid-row: span 9;
}
.grid .-row-10 {
  grid-row: span 10;
}
.grid .-row-11 {
  grid-row: span 11;
}
.grid .-row-12 {
  grid-row: span 12;
}
.grid {
  /* Tablet portrait : 6-column grid + proportional remap
  .-col-1 -> span 1
  .-col-2 -> span 1
  .-col-3 -> span 2
  .-col-4 -> span 2
  .-col-5 -> span 3
  .-col-6 -> span 3
  .-col-7 -> span 4
  .-col-8 -> span 4
  .-col-9 -> span 5
  .-col-10 -> span 5
  .-col-11 -> span 6
  .-col-12 -> span 6
  */
}
@media (orientation:portrait) and (min-width:500px) {
  .grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid .-col-1 {
    grid-column: span 1;
  }
  .grid .-col-2 {
    grid-column: span 1;
  }
  .grid .-col-3 {
    grid-column: span 2;
  }
  .grid .-col-4 {
    grid-column: span 2;
  }
  .grid .-col-5 {
    grid-column: span 3;
  }
  .grid .-col-6 {
    grid-column: span 3;
  }
  .grid .-col-7 {
    grid-column: span 4;
  }
  .grid .-col-8 {
    grid-column: span 4;
  }
  .grid .-col-9 {
    grid-column: span 5;
  }
  .grid .-col-10 {
    grid-column: span 5;
  }
  .grid .-col-11 {
    grid-column: span 6;
  }
  .grid .-col-12 {
    grid-column: span 6;
  }
}
.grid {
  /* Mobile: 2-column grid + hard remap */
}
@media (max-width:500px) {
  .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid .-col-1 {
    grid-column: span 1;
  }
  .grid .-col-2 {
    grid-column: span 2;
  }
  .grid .-col-3 {
    grid-column: span 2;
  }
  .grid .-col-4 {
    grid-column: span 2;
  }
  .grid .-col-5 {
    grid-column: span 2;
  }
  .grid .-col-6 {
    grid-column: span 2;
  }
  .grid .-col-7 {
    grid-column: span 2;
  }
  .grid .-col-8 {
    grid-column: span 2;
  }
  .grid .-col-9 {
    grid-column: span 2;
  }
  .grid .-col-10 {
    grid-column: span 2;
  }
  .grid .-col-11 {
    grid-column: span 2;
  }
  .grid .-col-12 {
    grid-column: span 2;
  }
}

.-full-cover, .-absolute-cover {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.-absolute-cover {
  position: absolute;
  top: 0;
  left: 0;
}

.-full-contain, .-absolute-contain {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.-absolute-contain {
  position: absolute;
  top: 0;
  left: 0;
}

.-fill-width {
  width: 100%;
  min-width: 100%;
}

.button {
  text-decoration: none;
  cursor: pointer;
}
.button[disabled] {
  cursor: not-allowed;
  opacity: 0.35;
}
.button.-expand {
  width: 100%;
  justify-content: space-between;
}
.button.-primary, .button.-secondary {
  padding: 1rem 0.5rem;
}
.button.-primary.-xl, .button.-secondary.-xl {
  padding: 4rem 1rem;
}
.button.-primary.-l, .button.-secondary.-l {
  padding: 2rem 1rem;
}
.button.-primary.-s, .button.-secondary.-s {
  padding: 0.5rem;
}
.button.-primary.-xs, .button.-secondary.-xs {
  padding: 0 0.5rem;
}
.button.-primary {
  border: 3px solid var(--col-main);
}
.button.-primary:hover {
  transition: none;
}
.button.-secondary {
  border-radius: 1rem;
  border: 1px solid var(--col-main);
  transition: background 0.45s;
  transition-delay: 0.2s;
}
.button.-secondary:hover {
  background: red;
  transition: background 0.2s;
  transition-delay: 0ms;
}
.button:not(.-primary):not(.-secondary) {
  border-bottom: 1px solid transparent;
}
.button:not(.-primary):not(.-secondary):hover {
  background: var(--col-off-bg);
  border-color: var(--col-accent);
}

.link-list li > .button.-secondary {
  border-left: none;
  border-right: none;
  padding-left: 0;
  padding-right: 0;
}
.link-list li:not(:first-child) .button.-secondary {
  border-top: none;
}

hr {
  background: var(--col-main);
  --hr-h: t.$border-size;
  display: block;
  width: 100%;
  height: var(--hr-h);
}
hr .-l {
  --hr-h: t.$border-size-l;
}
hr .-xl {
  --hr-h: t.$border-size-xl;
}

k-icon > .icon {
  font-size: 1rem;
}
k-icon > .icon.-xxxl {
  font-size: 4em;
}
k-icon > .icon.-xxl {
  font-size: 3rem;
}
k-icon > .icon.-xl {
  font-size: 2rem;
}
k-icon > .icon.-l {
  font-size: 1.33rem;
}
k-icon > .icon.-m {
  font-size: 1rem;
}
k-icon > .icon.-s {
  font-size: 0.8rem;
}
k-icon > .icon.-xs {
  font-size: 0.6rem;
}

k-input label.field ._control {
  width: 100%;
}
k-input label.field ._control .input {
  background: var(--col-off-bg);
  box-sizing: border-box;
  width: 100%;
  min-height: var(--input-min-height, 2.5em);
  border-radius: 4px;
  border: none;
  outline: none;
}
k-input label.field ._control .input::-moz-placeholder {
  color: #BBB;
}
k-input label.field ._control .input::placeholder {
  color: #BBB;
}
k-input label.field ._control .input:focus {
  box-shadow: inset 0px 0px 0px 1px #BBB;
}
k-input label.field ._control .input:disabled, k-input label.field ._control .input.-disabled, k-input label.field ._control .input[readonly] {
  opacity: 0.35;
  cursor: not-allowed;
}
k-input label.field ._control .input:invalid:not(:focus), k-input label.field ._control .input.-invalid:not(:focus) {
  box-shadow: inset 0px 0px 0px 1px #FF0222;
}
k-input label.field ._control .input {
  width: 100%;
}
k-input label.field ._control k-icon {
  position: absolute;
  right: 0.5rem;
  pointer-events: none;
  color: #BBB;
}

body {
  padding: 1rem;
}

section:not(:first-child):not(.-no-space) {
  margin-top: 8rem;
}
section a.project-thumb {
  text-decoration: none !important;
}
section a.project-thumb ._thumb {
  max-width: 100%;
}
section a.project-thumb img {
  transition: transform 0.4s ease-in-out;
}
section a.project-thumb ._caption {
  margin-top: 0.5rem;
}
section a.project-thumb:hover img {
  transform: scale(1.05);
}
section p {
  line-height: 150%;
}
@media (orientation:portrait) {
  section a.project-thumb ._caption {
    padding-bottom: 4rem;
  }
}

._thumb {
  display: block;
  position: relative;
  overflow: hidden;
}
._thumb:not([style]) {
  aspect-ratio: 3/2;
}
._thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.project-images {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
.project-images ._thumb.-wide {
  grid-column: 1/-1;
}
@media (orientation:portrait) {
  .project-images {
    grid-template-columns: 1fr;
  }
  .project-images ._thumb.-wide {
    grid-column: auto;
  }
}

.next-project a {
  text-decoration: none !important;
}
.next-project a:hover img {
  border-color: var(--col-main);
}
.next-project img {
  border: 5px solid transparent;
  transition: border-color 0.4s;
  max-width: 160px;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
.next-project ._caption ._next {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.6rem;
}

dl {
  display: grid;
  grid-template-columns: max-content 1fr;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.25rem;
}

dl dt {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.8rem;
}

dl dd {
  margin: 0;
}

picture._thumb {
  height: auto;
}

a picture._thumb img {
  position: relative;
  width: 100%;
  left: auto;
  top: auto;
  height: auto;
  /* aspect-ratio:1; */
  -o-object-fit: cover;
     object-fit: cover;
}

main > section:not(.-space-l) {
  margin-top: 0px !important;
}

h1 {
  font-size: 4rem;
}

h3, ._caption {
  text-transform: uppercase;
}/*# sourceMappingURL=style.css.map */