@layer site {
:root {
  --font-family-primary: "proxima-nova-wide", sans-serif;
  color-scheme: var(--color-scheme, light);
  font-size: 62.5%;
}

[data-theme=light] .intro-text {
  color-scheme: light;
  --header-color: var(--data-color-secondary);
}
@media (prefers-color-scheme: light) {
  .intro-text {
    color-scheme: light;
    --header-color: var(--data-color-secondary);
  }
}
[data-theme=dark] .intro-text {
  color-scheme: dark;
  --header-color: inherit;
}
@media (prefers-color-scheme: dark) {
  .intro-text {
    color-scheme: dark;
    --header-color: inherit;
  }
}
@media (min-width: 960px) {
  .intro-text {
    text-align: center;
  }
}
.intro-text :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4) {
  max-inline-size: 17ch;
  text-wrap: balance;
}
@media (min-width: 960px) {
  .intro-text :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4) {
    margin-inline: auto;
    max-inline-size: 32ch;
  }
}
.intro-text :where(p, li, figcaption) {
  max-inline-size: 73ch;
}
@media (min-width: 960px) {
  .intro-text :where(p, li, figcaption) {
    margin-inline: auto;
  }
}
@media (min-width: 960px) {
  .intro-text > header :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4) {
    margin-block-end: calc(var(--gutter) * 2);
  }
}
.intro-text > header :where(h3, .h3) {
  font-size: var(--font-size-lg);
  font-weight: 600;
}
.intro-text .intro-content {
  margin-block: calc(var(--gutter) / 2) var(--gutter);
}
.intro-text .intro-content:last-child {
  margin-block-end: 0;
}
@media (min-width: 960px) {
  .intro-text .intro-content {
    margin-block: var(--gutter) calc(var(--gutter) * 2);
  }
  .intro-text .intro-content.large {
    font-size: var(--font-size-lg);
    font-weight: 100;
  }
}

.bg-section {
  display: flex;
  flex-direction: column;
  position: relative;
  border-block-end: var(--border-line-thick) var(--color-accent);
  color: var(--color-white);
}
.bg-section:last-child {
  padding-block-end: var(--decor-height);
}
.bg-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: color-mix(in hsl, var(--color-black), transparent 20%);
}
.bg-section header :where(h1, h2, h3, h4):where(h1, .h1, h2, .h2, h3, .h3, h4, .h4) {
  color: inherit;
}
.bg-section > .contain {
  min-block-size: calc(40rem + var(--gutter-var) * 1.5);
}
[data-theme=light] .bg-section .intro-text {
  color-scheme: light;
  --header-color: var(--color-white);
}
@media (prefers-color-scheme: light) {
  .bg-section .intro-text {
    color-scheme: light;
    --header-color: var(--color-white);
  }
}
[data-theme=dark] .bg-section .intro-text {
  color-scheme: dark;
  --header-color: var(--color-white);
}
@media (prefers-color-scheme: dark) {
  .bg-section .intro-text {
    color-scheme: dark;
    --header-color: var(--color-white);
  }
}
.bg-section .bg-image {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -1;
}
.bg-section .bg-image img {
  object-fit: cover;
  block-size: 100%;
  max-block-size: 100%;
}
.bg-section .bg-image + div {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.bg-section .overlay {
  transform: rotate(180deg);
  margin-block-start: 0;
}

.frame-images-section {
  padding: 0 !important;
  border-block: var(--border-line-thick) var(--color-accent);
}
.frame-images-section [data-content] {
  padding: 0 !important;
  display: flex;
}
.frame-images-section .row {
  gap: 0;
}
.frame-images-section .col {
  display: flex;
  position: relative;
}
.frame-images-section .gallery {
  aspect-ratio: 1;
}
.frame-images-section img {
  inline-size: 100%;
  block-size: 100%;
  max-block-size: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.frame-custom-section {
  --color-bg: var(--data-color-secondary);
  --color-text: var(--color-white);
  --header-color: var(--color-text);
  position: relative;
  padding-block-end: calc((var(--gutter) + var(--gutter-var)) * 3);
  color: var(--color-text);
}
.frame-custom-section::after {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline: 0;
  background-color: var(--color-bg);
  z-index: -1;
}
.frame-custom-section :where(h1, h2, h3, h4, h5, h6, p, li) {
  color: var(--header-color);
  max-inline-size: 73ch;
}
@media (min-width: 960px) {
  .frame-custom-section :where(h1, h2, h3, h4, h5, h6, p, li) {
    max-inline-size: 45ch;
  }
}
.frame-custom-section[data-overlay=top]:after {
  inset-block-start: var(--decor-height);
}
.frame-custom-section[data-overlay=bottom]:after {
  inset-block-end: var(--decor-height);
}
.frame-custom-section .contain {
  max-inline-size: calc(100% - var(--gutter));
}

.models-description header :where(h1, h2, h3, h4) {
  color: inherit;
}
@media (min-width: 960px) {
  .models-description header :where(h1, h2, h3, h4) {
    margin-block-end: var(--gutter);
  }
}
.models-description [data-content] + [data-content] {
  padding-block-start: 0;
  padding-block-end: 0;
}
@media (min-width: 960px) {
  .models-description [data-content] + [data-content] {
    padding-block-end: var(--block-padding);
  }
}
.models-description :where(h1, h2, h3, h4, h5, h6, p) {
  margin-inline: auto;
}
}