.header {
  /* background: #333; */
}

:root {
  --section-space-width: 3lvw;
  --section-space-height: 8svh;
  --space-width: 6lvw;
  --space-height: 10svh;
  --grid-gap: 3lvw;
  --nox-c-primary-1: #CCF0E7;
  --nox-c-primary-2: #6AAFBE;
}

.nav-menu ul {
  display: inline-flex;
  gap: 2em;
  background: #fff;
  padding: .5em 1em;
  border-radius: 10em;
}

.nav-menu li {
  padding: .25em 2vw;
  font-weight: 700;
}

.layout-column-2 {
  grid-template-columns: repeat(2, 1fr);
}

.layout-column-3 {
  grid-template-columns: repeat(3, 1fr);
}

.layout-column-4 {
  grid-template-columns: repeat(4, 1fr);
}

[class^=layout],
[class^=layout]>div {
  display: grid;
  place-content: start center;
}

*:first-child {
  /* margin-top: 0; */
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  white-space: unset;
  line-break: strict;
  word-break: auto-phrase;
  text-wrap: balance;
}

div {
  /* margin-trim: block; */
}

.section {
  padding: var(--section-space-height) var(--section-space-width);
  display: grid;
  place-content: space-evenly;
  place-items: center;
  position: relative;
  z-index: 1;
}

.section.__start {
  place-content: start;
  place-items: start;
}

.section.__end {
  place-content: end;
  place-items: end;
}

.section.__stretch {
  place-content: stretch;
  place-items: stretch;
}

.section.__full {
  place-content: initial;
  place-items: initial;
}

.subsection {
  width: min(96%, 1680px);
  padding: calc(var(--section-space-height)*0.5) calc(var(--section-space-width)*0.5);
}

.subsection.__pc-lg {
  width: min(96%, 1440px);
}

.subsection.__pc-md {
  width: min(96%, 1280px);
}

.subsection.__pc-sm {
  width: min(96%, 1280px);
}

.section .subsection {
  display: grid;
  place-content: center;
}

*.__solid {
  box-shadow: 0 0 0 100vmax var(--section-background);
  background: var(--section-background);
  clip-path: inset(0 -100vmax);
}

*.__solid:nth-child(even) {
  --section-background: #fff;
}

*.__solid:nth-child(odd) {
  --section-background: #fff;
}

*.__separate {
  box-shadow: 0 0 0 100vmax var(--section-background-separate);
  background: var(--section-background-separate);
  clip-path: inset(0 -100vmax);
}

*.__separate.__1 {
  --nox-c-gradient-1: #A5CEA4;
  --nox-c-gradient-2: #E9EFCD;
  --section-background-separate: linear-gradient(0deg, transparent 25%, var(--nox-c-gradient-1) 25%, var(--nox-c-gradient-2) 75%, transparent 75%);
}

*.__separate.__2 {
  --nox-c-gradient-1: #60ADE5;
  --nox-c-gradient-2: #CDEDF7;
  --section-background-separate: linear-gradient(0deg, transparent 25%, var(--nox-c-gradient-1) 25%, var(--nox-c-gradient-2) 75%, transparent 75%);
}

.title-wrapper {
  padding: var(--section-space-height) var(--section-space-width);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.title-wrapper.__left {
  text-align: start;
}

.title-wrapper.__right {
  text-align: end;
}

.image-shadow {
  --translate-shadow: 4vw;
  position: relative;
  margin: 0 0 var(--translate-shadow) var(--translate-shadow);
}

.image-shadow::after {
  content: "";
  position: absolute;
  transform: translate(calc(var(--translate-shadow)*-1), var(--translate-shadow));
  background: linear-gradient(45deg, var(--nox-c-primary-1), var(--nox-c-primary-2));
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}

.contents {
  padding: 3svw;
}

.contents p {
  max-width: 25em;
}

.background.__noise {
  background: linear-gradient(0deg, var(--nox-c-primary-1), var(--nox-c-primary-2));
  color: white;
  overflow: hidden;
  position: relative;
}

.background.__noise svg {
  mix-blend-mode: difference;
  background-blend-mode: screen, hue, color, overlay;
  filter: brightness(0.1) blur(0.5px);
  position: absolute;
}

[class^="layout-grid"] {
  display: grid;
  position: relative;
  z-index: 1;
}

[class^="layout-grid"]>* {
  grid-row: 1 / span 1;
}

.layout-grid-10 {
  grid-template-columns: repeat(10, 1fr);
  gap: var(--grid-gap);
}

.layout-grid-12 {
  grid-template-columns: repeat(12, 1fr);
  gap: var(--grid-gap);
}

.layout-grid-18 {
  grid-template-columns: repeat(18, 1fr);
  gap: var(--grid-gap);
}

.layout-grid-24 {
  grid-template-columns: repeat(24, 1fr);
  gap: var(--grid-gap);
}

.col-span-1 {
  grid-column: 1 / span 1;
}

.col-span-2 {
  grid-column: 1 / span 2;
}

.col-span-3 {
  grid-column: 1 / span 3;
}

.col-span-4 {
  grid-column: 1 / span 4;
}

.col-span-5 {
  grid-column: 1 / span 5;
}

.col-span-6 {
  grid-column: 1 / span 6;
}

.col-span-7 {
  grid-column: 1 / span 7;
}

.col-span-8 {
  grid-column: 1 / span 8;
}

.col-span-9 {
  grid-column: 1 / span 9;
}

.col-span-10 {
  grid-column: 1 / span 10;
}

.col-span-11 {
  grid-column: 1 / span 11;
}

.col-span-12 {
  grid-column: 1 / span 12;
}

.row-span-1 {
  grid-row: 1 / span 1;
}

.row-span-2 {
  grid-row: 1 / span 2;
}

.row-span-3 {
  grid-row: 1 / span 3;
}

.row-span-4 {
  grid-row: 1 / span 4;
}

.row-span-5 {
  grid-row: 1 / span 5;
}

.row-span-6 {
  grid-row: 1 / span 6;
}

.row-span-7 {
  grid-row: 1 / span 7;
}

.row-span-8 {
  grid-row: 1 / span 8;
}

.row-span-9 {
  grid-row: 1 / span 9;
}

.row-span-10 {
  grid-row: 1 / span 10;
}

.row-span-11 {
  grid-row: 1 / span 11;
}

.row-span-12 {
  grid-row: 1 / span 12;
}

.__col-start-1 {
  grid-column-start: 1;
}

.__col-start-2 {
  grid-column-start: 2;
}

.__col-start-3 {
  grid-column-start: 3;
}

.__col-start-4 {
  grid-column-start: 4;
}

.__col-start-5 {
  grid-column-start: 5;
}

.__col-start-6 {
  grid-column-start: 6;
}

.__col-start-7 {
  grid-column-start: 7;
}

.__col-start-8 {
  grid-column-start: 8;
}

.__col-start-9 {
  grid-column-start: 9;
}

.__col-start-10 {
  grid-column-start: 10;
}

.__col-start-11 {
  grid-column-start: 11;
}

.__col-start-12 {
  grid-column-start: 12;
}

.__row-start-1 {
  grid-row-start: 1;
}

.__row-start-2 {
  grid-row-start: 2;
}

.__row-start-3 {
  grid-row-start: 3;
}

.__row-start-4 {
  grid-row-start: 4;
}

.__row-start-5 {
  grid-row-start: 5;
}

.__row-start-6 {
  grid-row-start: 6;
}

.__row-start-7 {
  grid-row-start: 7;
}

.__row-start-8 {
  grid-row-start: 8;
}

.__row-start-9 {
  grid-row-start: 9;
}

.__row-start-10 {
  grid-row-start: 10;
}

.__row-start-11 {
  grid-row-start: 11;
}

.__row-start-12 {
  grid-row-start: 12;
}

.__gap {
  gap: var(--grid-gap);
}

.__row-gap {
  row-gap: var(--grid-gap);
}

.__col-gap {
  column-gap: var(--grid-gap);
}

.spacing {
  padding-top: var(--section-space-height);
}

.spacing-top {
  padding-top: var(--space-height);
}

.spacing-bottom {
  padding-bottom: var(--space-height);
}

.spacing-start {
  padding-left: var(--space-width);
}

.spacing-end {
  padding-right: var(--space-width);
}

img {
  content-visibility: auto;
  contain-intrinsic-size: 500px;
}

@media screen and (width < 991px) {
  .nav-menu {
    display: none;
  }

  [class^=layout] {
    display: flex;
    flex-direction: column;
    --grid-gap: 6lvh;
    place-content: center;
    place-items: center;
  }
}