@charset "UTF-8";
:root {
  --ff-regular: "PT Sans", sans-serif;
  --ff-accent: "Vera Humana 95", serif;
  --c-accent: #f9be0b;
  --c-gray-darker: #101010;
  --c-gray-dark: #1b1b1b;
  --c-gray-shader: #2b2b2b;
  --c-gray-shade: #5e5e5e;
  --c-gray: #a9a9a9;
  --c-gray-light: #b6b6b6;
  --c-gray-lighter: #e3e3e3;
  --c-gray-light-trans: rgb(59 59 59 / 22%);
  --c-gray-light-trans: rgb(221 221 221 / 12%);
  --c-gray-light-trans: rgb(187 187 187 / 8%);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: inherit;
  color: inherit;
}

body {
  min-height: 100svh;
}

fieldset,
input,
textarea,
button {
  border: none;
  outline: none;
}

button,
input[type=submit] {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

fieldset,
input,
textarea {
  display: block;
}

dialog {
  border: 0;
}

dialog:modal {
  max-width: 100dvw;
  max-height: 100dvh;
}

img,
picture,
figure,
svg,
video {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
}

menu,
ul,
ol {
  list-style: none;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

iframe {
  display: block;
}

hr {
  display: block;
  border: 0;
  height: 3px;
  background: black;
}

@font-face {
  font-family: "Vera Humana 95";
  src: url("assets/verahumana95.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Vera Humana 95";
  src: url("assets/verahumana95bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Vera Humana 95";
  src: url("assets/verahumana95italic.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Vera Humana 95";
  src: url("assets/verahumana95bolditalic.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "PT Sans";
  src: url("assets/PT_Sans-Web-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "PT Sans";
  src: url("assets/PT_Sans-Web-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "PT Sans";
  src: url("assets/PT_Sans-Web-Italic.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "PT Sans";
  src: url("assets/PT_Sans-Web-BoldItalic.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--ff-regular);
  font-size: 16px;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: white;
  overflow-x: hidden;
  background-color: #121212;
  background-image: url(assets/noise.png);
  background-position: left top;
  background-size: auto;
  background-repeat: repeat;
  background-attachment: scroll;
}

.content:has(> main):has(> aside) {
  --content-wmax: 1600px;
  --content-px: 20px;
  --aside-w: 100%;
  display: grid;
}
@media (min-width: 0px) {
  .content:has(> main):has(> aside) {
    grid-template-columns: [all-start] 1fr [content-start] min(100% - 2 * var(--content-px), var(--content-wmax)) [content-end] 1fr [all-end];
  }
  .content:has(> main):has(> aside) > aside,
  .content:has(> main):has(> aside) > main {
    grid-column: content;
  }
}
@media (min-width: 960px) {
  .content:has(> main):has(> aside) {
    --aside-w: 340px;
    grid-template-columns: [all-start] 1fr [aside-start] var(--aside-w) [aside-end main-start] min(100% - 2 * var(--content-px) - var(--aside-w), var(--content-wmax) - var(--aside-w)) [main-end] 1fr [all-end];
  }
  .content:has(> main):has(> aside) > aside {
    grid-area: aside;
  }
  .content:has(> main):has(> aside) > main {
    grid-area: main;
  }
}
@media (min-width: 1350px) {
  .content:has(> main):has(> aside) {
    --aside-w: 410px;
  }
}
@media (min-width: 0px) {
  .content:has(> main):has(> aside) {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .content:has(> main):has(> aside) {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .content:has(> main):has(> aside) {
    padding-block: 100px;
  }
}

.content > aside {
  order: 2;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
@media (min-width: 0px) {
  .content > aside {
    margin-top: 60px;
    margin-bottom: 30px;
  }
}
@media (min-width: 960px) {
  .content > aside {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 30px;
    padding-right: 30px;
    border-right: 1px solid var(--c-gray-light-trans);
  }
}

.about {
  background: var(--c-gray-light-trans);
  position: relative;
  display: grid;
}
@media (min-width: 0px) {
  .about {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .about {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .about {
    padding-block: 100px;
  }
}
@media (min-width: 0px) {
  .about {
    grid-template-columns: 1fr calc(100% - 40px) 1fr;
  }
  .about > div {
    grid-column: 2;
  }
  .about > div:nth-of-type(2) {
    min-height: 400px;
    margin-top: 40px;
  }
}
@media (min-width: 960px) {
  .about {
    grid-template-columns: 1fr min(50% - 20px, 800px) min(50% - 20px, 800px) 1fr;
  }
  .about > div:nth-of-type(1) {
    grid-column: 2;
  }
  .about > div:nth-of-type(2) {
    grid-column: 3;
    margin-top: 0;
    margin-left: 30px;
  }
}

.about-feature {
  --p-block: 30px;
  border-bottom: 1px solid var(--c-gray-light-trans);
}
.about-feature [details-summary] {
  display: flex;
  align-items: center;
}
.about-feature [details-summary] h6 {
  font-family: var(--ff-accent);
  font-weight: 500;
  font-size: 24px;
  padding-block: var(--p-block);
  transition: all 0.3s;
  flex-grow: 1;
}
.about-feature [details-summary]:hover h6, .about-feature[open] h6 {
  color: var(--c-accent);
}
.about-feature [details-summary] i {
  display: block;
  padding: 20px;
  rotate: 90deg;
  flex-shrink: 0;
}
.about-feature [details-summary] i .icon {
  --size: 18px;
}
.about-feature[open] [details-summary] i {
  rotate: -90deg;
}
.about-feature [details-body] p {
  line-height: 1.4;
  padding-right: 5em;
  margin-bottom: var(--p-block);
  color: var(--c-gray);
}
@media (min-width: 960px) {
  .about-feature [details-body] p {
    height: 2lh;
  }
}

.about nav {
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
}
.about nav menu {
  width: 100%;
  height: 100%;
  background: url(assets/about-features.jpg) center/cover;
  padding: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  align-content: end;
  gap: 20px;
}
@media (min-width: 0px) {
  .about nav menu {
    -o-border-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.9)) 1;
       border-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.9)) fill 1;
  }
}
@media (min-width: 960px) {
  .about nav menu {
    -o-border-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.9)) 1;
       border-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.9)) fill 1;
  }
}
.about nav menu a {
  display: block;
  padding: 10px 15px;
  border: 1px solid white;
  border-radius: 999px;
  text-wrap: nowrap;
  transition: all 0.6s;
}
.about nav menu a:hover {
  background-color: var(--c-accent);
  border-color: var(--c-accent);
  color: black;
}

@media (min-width: 0px) {
  .blog-archive {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .blog-archive {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .blog-archive {
    padding-block: 100px;
  }
}

.blog-posts {
  display: grid;
  gap: 60px;
}

@media (min-width: 960px) {
  .blog-posts[columns="2"] {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media (min-width: 1350px) {
  .blog-posts[columns="2"] {
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}
@media (min-width: 1350px) {
  .blog-posts[columns="2"] .blog-card {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 30px;
  }
}
@media (min-width: 1350px) {
  .blog-posts[columns="2"] .blog-card-image {
    aspect-ratio: 1.1;
  }
}
@media (min-width: 1750px) {
  .blog-posts[columns="2"] .blog-card-image {
    aspect-ratio: 1.3;
  }
}
@media (min-width: 1350px) {
  .blog-posts[columns="2"] .blog-card-date {
    margin-top: 5px;
  }
}

@media (min-width: 960px) {
  .blog-posts[columns="3"] {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media (min-width: 1350px) {
  .blog-posts[columns="3"] {
    grid-template-columns: 1fr 1fr 1fr;
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}

.blog-card-image {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: 15px;
}
@media (min-width: 0px) {
  .blog-card-image {
    aspect-ratio: 4/3;
  }
}
@media (min-width: 640px) {
  .blog-card-image {
    aspect-ratio: 16/9;
  }
}
.blog-card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.4s ease-out;
}
.blog-card-image:hover img {
  scale: 1.15;
}

.blog-card-date {
  display: inline-block;
  color: var(--c-accent);
  display: flex;
  gap: 10px;
}
@media (min-width: 0px) {
  .blog-card-date {
    margin-top: 30px;
  }
}
.blog-card-date .icon {
  --size: 20px;
  --color: var(--c-accent);
}

.blog-card-title {
  font-size: 24px;
  font-family: var(--ff-accent);
  line-height: 1;
  text-wrap: balance;
}
@media (min-width: 0px) {
  .blog-card-title {
    margin-top: 15px;
  }
}
@media (min-width: 960px) {
  .blog-card-title {
    font-size: 27px;
  }
}
@media (min-width: 1350px) {
  .blog-card-title {
    font-size: 30px;
  }
}
.blog-card-title a {
  transition: color 0.6s;
}
.blog-card-title a:hover {
  color: var(--c-accent);
}

.blog-card-descr {
  margin-top: 10px;
  color: var(--c-gray);
  line-height: 1.2;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
}

.blog-card-more {
  font-weight: 600;
  text-decoration: underline;
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 20px;
  transition: color 0.6s;
}
.blog-card-more:hover {
  color: var(--c-accent);
}

.blog-post-banner {
  margin-bottom: 30px;
}
.blog-post-banner img {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  max-height: 520px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 18px;
}

.blog-post footer {
  clear: both;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid var(--c-gray-light-trans);
}

.blog-post-prev,
.blog-post-next {
  display: flex;
  gap: 20px;
}
.blog-post-prev h6,
.blog-post-next h6 {
  margin-top: 10px;
  text-transform: uppercase;
  color: var(--c-gray);
  white-space: nowrap;
}
.blog-post-prev h5,
.blog-post-next h5 {
  margin-top: 10px;
  font-family: var(--ff-accent);
  font-size: 24px;
  transition: all 0.3s;
  text-wrap: balance;
}
.blog-post-prev:hover h5,
.blog-post-next:hover h5 {
  color: var(--c-accent);
}
.blog-post-prev img,
.blog-post-next img {
  width: 130px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}
@media (min-width: 0px) {
  .blog-post-prev img,
  .blog-post-next img {
    display: none;
  }
}
@media (min-width: 640px) {
  .blog-post-prev img,
  .blog-post-next img {
    display: block;
  }
}

.blog-post-next {
  text-align: right;
  margin-left: auto;
}

.btn {
  height: calc(2.5em + 10px);
  border-radius: 999px;
  background: gray;
  --transition: all 0.3s;
  transition: var(--transition);
}
.btn span {
  font-family: var(--ff-regular);
  font-weight: 600;
  line-height: 1;
  margin-inline: calc(1.56em + 5px);
}
.btn:focus-visible {
  outline: 0;
}

.btn-condensed {
  height: calc(2em + 10px);
}
.btn-condensed span {
  margin-inline: calc(0.75em + 5px);
}

.btn:has(.icon) {
  display: inline-flex;
  align-items: center;
}
.btn:has(.icon) i {
  display: block;
  width: 2.5em;
  height: 2.5em;
  margin: 5px;
  border-radius: 999px;
  display: grid;
  place-content: center;
  transition: var(--transition);
  overflow: hidden;
}
.btn:has(.icon) i .icon {
  --size: 1em;
}
.btn:has(.icon) i .icon * {
  transition: var(--transition);
}

.btn-static span:first-child {
  margin-right: 0;
}
.btn-static span:last-child {
  margin-left: 0;
}
.btn-static i .icon {
  --color: white;
}
.btn-static:hover:not([active]) i .icon {
  --color: black;
}
.btn-static.btn-condensed span:first-child {
  margin-right: -5px;
}
.btn-static.btn-condensed span:last-child {
  margin-left: -5px;
}
.btn-static.btn-condensed i {
  width: 2em;
  height: 2em;
}

.btn-animated span:first-child {
  margin-right: 0.94em;
}
.btn-animated span:last-child {
  margin-left: 0.94em;
}
.btn-animated i {
  background: white;
}
.btn-animated i .icon {
  --color: black;
}
.btn-animated:hover i {
  background: var(--c-accent);
}
.btn-animated:hover i .icon {
  --color: white;
  animation: btn-icon-slide-right 0.4s ease-in-out;
}
.btn-animated.btn-condensed span:first-child {
  margin-right: 0.53em;
}
.btn-animated.btn-condensed span:last-child {
  margin-left: 0.53em;
}
.btn-animated.btn-condensed i {
  width: 2em;
  height: 2em;
}

@keyframes btn-icon-slide-right {
  0% {
    translate: 0 0;
    opacity: 1;
  }
  50% {
    translate: 30px 0;
    opacity: 0;
  }
  51% {
    translate: -20px 0;
    opacity: 0;
  }
  100% {
    translate: 0 0;
    opacity: 1;
  }
}
.btn-primary {
  background: var(--c-accent);
  color: black;
}
.btn-primary:hover {
  background: white;
  color: black;
}

.btn-secondary {
  background: none;
  color: white;
  border: 1px solid var(--c-gray-light-trans);
}
.btn-secondary:hover:not([active]) {
  background: white;
  color: black;
}
.btn-secondary[active] {
  background-color: var(--c-accent);
  pointer-events: none;
  cursor: default;
}

.img-btn {
  --dur: 0.3s;
  height: calc(3em + 20px);
  border-radius: 999px;
  border: 1px solid var(--c-gray-light-trans);
  background: none;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: all 0.2s ease-out;
}
.img-btn:hover:not([active]) {
  border-color: white;
  color: black;
}
.img-btn[active] {
  border-color: var(--c-accent);
  pointer-events: none;
  color: black;
}
.img-btn img {
  display: block;
  width: 3em;
  height: 3em;
  margin: 10px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 999px;
}
.img-btn span {
  font-family: var(--ff-regular);
  font-weight: 600;
  line-height: 1;
  margin-right: calc(1em + 10px);
  margin-left: 0.5em;
}
.img-btn::before {
  content: "";
  display: block;
  border-radius: 999px;
  background: var(--c-accent);
  background: white;
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
}
.img-btn::before:not([active]) {
  animation: img-btn-hover-leave var(--dur);
}
.img-btn:hover::before {
  animation: img-btn-hover-enter var(--dur) forwards;
}
.img-btn[active]::before {
  background: var(--c-accent);
  opacity: 1;
}

@keyframes img-btn-hover-enter {
  from {
    translate: -100% 0;
    opacity: 0;
  }
  to {
    translate: 0 0;
    opacity: 1;
  }
}
@keyframes img-btn-hover-leave {
  from {
    translate: 0 0;
    opacity: 1;
  }
  to {
    translate: 100% 0;
    opacity: 0;
  }
}
.btn-bd-accent {
  border-color: var(--c-accent);
}
.btn-bd-accent:hover {
  border-color: white;
}

.calc form {
  counter-reset: fieldset;
}
.calc form fieldset {
  counter-increment: fieldset;
  margin-bottom: 40px;
}
.calc form legend {
  font-size: 24px;
  color: var(--c-accent);
  font-family: var(--ff-accent);
  margin-bottom: 20px;
}
.calc form legend::before {
  content: counter(fieldset) ". ";
}
.calc form legend::after {
  content: ":";
}
.calc form .calc-field {
  margin: 10px;
  display: inline-grid;
  gap: 7px;
}
.calc form .calc-fieldgroup {
  margin-block: 10px;
}
.calc form label:not([thumbnail]) {
  padding-inline: 1.56em;
  color: white;
  font-size: 0.95em;
}
.calc form label[thumbnail] {
  background: var(--thumbnail) center/cover no-repeat;
  border-radius: calc(1.25em + 5px);
  border: 3px solid var(--c-gray);
  position: relative;
}
.calc form label[thumbnail]:has(input:checked) {
  border: 3px solid var(--c-accent);
}
.calc form label[thumbnail] > input[type=checkbox],
.calc form label[thumbnail] > input[type=radio] {
  width: 16px;
  height: 16px;
  position: absolute;
  top: 20px;
  left: 20px;
  accent-color: var(--c-accent);
}
.calc form label[thumbnail][size=sm] {
  width: 150px;
  height: 150px;
}
.calc form label[thumbnail],
.calc form label[thumbnail][size=md] {
  width: 300px;
  height: 150px;
}
.calc form label[thumbnail][size=lg] {
  width: 300px;
  height: 300px;
}
.calc form input,
.calc form select {
  width: 300px;
  background: none;
  height: calc(2.5em + 10px);
  padding-inline: calc(1.56em + 5px);
  border-radius: 999px;
  border: 1px solid var(--c-gray);
  background: var(--c-gray-trans);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
          backdrop-filter: saturate(180%) blur(20px);
  color: rgba(255, 255, 255, 0.6784313725);
}
.calc form option {
  background: black;
}
.calc form button {
  height: calc(2.5em + 10px);
  width: 300px;
  border-radius: 999px;
  background: var(--c-accent);
  border: 1px solid var(--c-accent);
  color: black;
  transition: all 0.6s;
}
.calc form button:hover {
  background-color: white;
  border-color: white;
}

.calc output {
  display: block;
  margin-top: 40px;
  background: var(--c-gray-lighter);
  color: black;
  border-radius: 18px;
  padding: 30px;
}
.calc output h3 {
  font-family: var(--ff-accent);
  font-size: 32px;
}
.calc output h4 {
  font-family: var(--ff-accent);
  font-size: 24px;
  margin-top: 20px;
}
.calc output ul {
  margin-top: 10px;
  list-style: circle;
}
.calc output li {
  margin-left: 30px;
  margin-block: 10px;
}
.calc output a {
  font-weight: bold;
  text-decoration: underline;
}
.calc output .calc-result {
  font-size: 32px;
  text-transform: uppercase;
  font-family: var(--ff-accent);
  margin-top: 10px;
}

.calc footer {
  background: var(--c-gray-dark);
  color: var(--c-gray);
  border-radius: 18px;
  padding: 30px;
  margin-top: 40px;
}

.cbf {
  height: 380px;
  background: url(assets/cbform-bg.jpg) center/cover no-repeat;
  background-attachment: fixed;
  -o-border-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) 1;
     border-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) fill 1;
  display: grid;
  padding: 30px;
  align-content: center;
}
@media (min-width: 640px) {
  .cbf {
    height: 420px;
  }
}
@media (min-width: 960px) {
  .cbf {
    height: 480px;
  }
}
@media (min-width: 1350px) {
  .cbf {
    height: 540px;
  }
}
@media (min-width: 1950px) {
  .cbf {
    height: 640px;
  }
}

@media (min-width: 0px) {
  .cbf:has(.cbf-editor-output) {
    height: auto;
  }
}
@media (min-width: 640px) {
  .cbf:has(.cbf-editor-output) {
    height: 420px;
  }
}
@media (min-width: 960px) {
  .cbf:has(.cbf-editor-output) {
    height: 480px;
  }
}
@media (min-width: 1350px) {
  .cbf:has(.cbf-editor-output) {
    height: 540px;
  }
}
@media (min-width: 1950px) {
  .cbf:has(.cbf-editor-output) {
    height: 640px;
  }
}
.cbf:has(.cbf-editor-output) .sechead {
  margin-bottom: 0;
}

.cbf-editor-output {
  text-align: center;
  font-size: 14px;
  margin-block: 30px;
}
@media (min-width: 640px) {
  .cbf-editor-output {
    font-size: 16px;
  }
}
.cbf-editor-output p + p {
  margin-top: 10px;
}

.cbf-form form {
  position: relative;
  width: min(100%, 600px);
  margin: auto;
  --input-height: 70px;
}
.cbf-form input:not([type=submit]) {
  width: 100%;
  border: 1px solid var(--c-gray-lighter);
  color: white;
  border-radius: 999px;
  background: none;
  height: var(--input-height);
  padding-left: 24px;
  padding-right: var(--input-height);
  transition: all 0.6s;
}
.cbf-form input:not([type=submit]):focus-visible {
  border-color: var(--c-accent);
}
.cbf-form input:not([type=submit])::-moz-placeholder {
  color: var(--c-gray-light);
}
.cbf-form input:not([type=submit])::placeholder {
  color: var(--c-gray-light);
}
.cbf-form input[type=submit],
.cbf-form button {
  aspect-ratio: 1;
  height: calc(var(--input-height) - 10px);
  width: auto;
  background: white url(assets/icon-send.svg) 20px center/24px no-repeat;
  color: black;
  border-radius: 999px;
  position: absolute;
  right: 5px;
  top: 5px;
  display: grid;
  place-content: center;
  transition: all 0.4s;
}
.cbf-form input[type=submit]:hover,
.cbf-form button:hover {
  background-color: var(--c-accent);
}
.cbf-form input[type=submit] .icon,
.cbf-form button .icon {
  --color: black;
  --size: 1.5em;
}
.cbf-form input[type=submit] .icon *,
.cbf-form button .icon * {
  transition: all 0.4s;
}
.cbf-form input[type=submit]:hover .icon,
.cbf-form button:hover .icon {
  --color: white;
}

.cbf-policy {
  font-size: 14px;
  text-align: center;
  color: var(--c-gray-light);
  margin-top: 20px;
}
.cbf-policy input[type=checkbox] {
  display: inline-block;
  width: -moz-min-content;
  width: min-content;
  margin-right: 5px;
  accent-color: var(--c-accent);
  pointer-events: none;
}
.cbf-policy a {
  color: white;
  text-decoration: underline;
}

.card-frame {
  aspect-ratio: 1;
  background: var(--c-gray-dark);
  border-radius: 5px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.card-picture {
  width: 100%;
  height: 100%;
}

.card-picture > img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: scale 0.4s ease-out;
}

.card-frame:hover .card-picture > img {
  scale: 1.15;
}

.card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.card-frame:hover .card-overlay {
  opacity: 1;
}

.card-overlay-icon {
  display: grid;
  place-content: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: var(--c-accent);
  position: absolute;
  inset: 0;
  margin: auto;
  transition: scale 0.3s ease-in-out;
}
.card-overlay-icon .icon {
  --size: 20px;
  --color: white;
}

.card-frame:hover .card-overlay-icon {
  scale: 0.9;
}

.card-link {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  bottom: 25px;
  left: 0;
  right: 0;
  margin: auto;
  text-decoration: underline;
  opacity: 0;
  transition: color 0.4s, translate 0.3s ease-out, opacity 0.3s ease-out;
}
.card-link:hover {
  color: var(--c-accent);
}

.card-frame:hover .card-link {
  translate: 0 -20px;
  opacity: 1;
}

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

.card-brand {
  font-size: 14px;
  text-transform: uppercase;
  color: var(--c-gray);
  margin-top: 20px;
}

.card-title {
  display: inline-block;
  font-family: var(--ff-accent);
  font-size: 24px;
  font-weight: 600;
  margin-top: 10px;
  transition: all 0.6s;
}
.card-title:hover {
  color: var(--c-accent);
}

.card-features {
  margin-top: 12px;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.05em;
}

@media (min-width: 0px) {
  .featured-products {
    padding-bottom: 40px;
  }
}
@media (min-width: 640px) {
  .featured-products {
    padding-bottom: 60px;
  }
}
@media (min-width: 960px) {
  .featured-products {
    padding-bottom: 100px;
  }
}

.featured-products-list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 50px 30px;
}
@media (min-width: 640px) {
  .featured-products-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1350px) {
  .featured-products-list {
    grid-template-columns: repeat(4, 1fr);
  }
}

.catalog-filters {
  position: sticky;
  top: 30px;
}
.catalog-filters h4 {
  font-size: 24px;
  font-family: var(--ff-accent);
  margin: 0 24px 30px;
  text-align: center;
}
@media (min-width: 960px) {
  .catalog-filters h4 {
    text-align: unset;
  }
}
.catalog-filters ul {
  width: 100%;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 960px) {
  .catalog-filters ul {
    flex-direction: column;
  }
}
.catalog-filters footer {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media (min-width: 960px) {
  .catalog-filters footer {
    justify-content: flex-start;
  }
}
.catalog-filters [hidden] {
  display: none;
}

.catalog-filter {
  display: grid;
  gap: 7px;
}
.catalog-filter label {
  padding-inline: 1.56em;
  color: var(--c-gray);
  font-size: 0.95em;
}
.catalog-filter select {
  background: none;
  height: calc(2.5em + 10px);
  padding-inline: calc(1.56em + 5px);
  border-radius: 999px;
}
.catalog-filter option {
  background: black;
}

.cgd-head {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: 30px 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--c-gray);
}
@media (min-width: 640px) {
  .cgd-head {
    flex-direction: row;
  }
}

.cgd-layout {
  display: flex;
  gap: 10px;
}
.cgd-layout button {
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background: #2b2b2b;
  display: grid;
  place-content: center;
}
.cgd-layout button .icon {
  --size: 24px;
  --color: var(--c-gray);
}
.cgd-layout button[active] .icon {
  --color: var(--c-accent);
}

.cgd-sorting {
  display: flex;
  gap: 10px;
  align-items: center;
}
.cgd-sorting select {
  background: none;
  height: calc(2.5em + 10px);
  padding-inline: calc(0.7em + 5px);
  border-radius: 999px;
}
.cgd-sorting option {
  background: black;
}

.cgd-body {
  position: relative;
  min-height: 376px;
}

.cgd-output {
  display: grid;
}

.cgd[layout=normal] .cgd-output {
  gap: 50px 30px;
}
@media (min-width: 0px) {
  .cgd[layout=normal] .cgd-output {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 640px) {
  .cgd[layout=normal] .cgd-output {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1350px) {
  .cgd[layout=normal] .cgd-output {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.cgd[layout=condensed] .cgd-output {
  gap: 20px;
}
@media (min-width: 0px) {
  .cgd[layout=condensed] .cgd-output {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 640px) {
  .cgd[layout=condensed] .cgd-output {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1350px) {
  .cgd[layout=condensed] .cgd-output {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.cgd-spinner {
  display: block;
  position: absolute;
  inset: 0;
}
.cgd-spinner i {
  width: 376px;
  height: 376px;
  display: grid;
  place-content: center;
  margin-inline: auto;
  position: sticky;
  top: var(--nav-height);
}
.cgd-spinner .icon {
  --size: 40px;
  animation: cgd-spinner 2s linear infinite;
}

.cgd:not([loading]) .cgd-spinner {
  display: none;
}

@keyframes cgd-spinner {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
.cgd .card[hidden] {
  display: none;
}

.cgd[loading] .card {
  opacity: 0.3;
}

.cgd[layout=condensed] .card-caption {
  display: none;
}

.cgd-not-found {
  grid-column: 1/-1;
  text-align: center;
}
@media (min-width: 640px) {
  .cgd-not-found {
    text-align: left;
  }
}
.cgd-not-found h4 {
  font-family: var(--ff-accent);
}
@media (min-width: 0px) {
  .cgd-not-found h4 {
    font-size: 30px;
  }
}
@media (min-width: 960px) {
  .cgd-not-found h4 {
    font-size: 30px;
  }
}
.cgd-not-found p {
  color: var(--c-gray);
  margin-top: 20px;
  text-wrap: balance;
}

.modal-spec .modal-content {
  width: 100%;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  border-width: 0;
}
@media (min-width: 960px) {
  .modal-spec .modal-content {
    border-width: var(--mod-bd-width);
    overflow: revert;
    display: grid;
    width: auto;
    height: auto;
    grid-template-columns: 320px 1fr;
    gap: 20px;
    max-height: calc(100dvh - 100px);
  }
}

.modal-spec-view {
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: var(--c-gray) var(--c-gray-dark);
  scrollbar-width: thin;
}

.modal-spec-picture {
  display: block;
  background: var(--c-gray-dark);
  border-radius: 5px;
  overflow: hidden;
}
.modal-spec-picture img {
  aspect-ratio: 1;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin: auto;
}

.modal-spec-brand {
  font-size: 14px;
  text-transform: uppercase;
  color: var(--c-gray);
  margin-top: 20px;
}

.modal-spec-title {
  display: inline-block;
  font-family: var(--ff-accent);
  font-size: 24px;
  font-weight: 600;
  margin-top: 10px;
  transition: all 0.6s;
}
.modal-spec-title:hover {
  color: var(--c-accent);
}

.modal-spec-descr {
  margin-top: 12px;
  font-size: 15px;
  color: var(--c-gray-lighter);
}

.modal-spec-actions {
  margin-top: 20px;
  position: sticky;
  bottom: 0;
  background: var(--modal-bg);
  text-align: right;
}
@media (min-width: 960px) {
  .modal-spec-actions {
    text-align: left;
    padding-top: 10px;
    --gradient-height: 20px;
    margin-top: var(--gradient-height);
  }
  .modal-spec-actions::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--gradient-height);
    translate: 0 -100%;
    background: linear-gradient(to top, var(--modal-bg), transparent);
  }
}

.modal-spec-table {
  overflow: auto;
  scrollbar-color: var(--c-gray) var(--c-gray-dark);
  scrollbar-width: thin;
  margin-top: 20px;
  border: 2px solid var(--c-gray-dark);
  border-radius: 5px;
  padding: 10px;
}
@media (min-width: 960px) {
  .modal-spec-table {
    margin-top: 0;
    overscroll-behavior: contain;
  }
}

.modal-order__product {
  font-size: 18px;
  margin-top: 10px;
  color: var(--c-gray);
}
.modal-order__product span {
  font-size: 1.2em;
  color: var(--c-accent);
}

.notification-product {
  width: min(420px, 100% - 40px);
  height: 140px;
  background: black;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--c-gray-shade);
  background: #121212 url(assets/noise.png);
  display: flex;
  position: fixed;
  transition: all 0.2s ease-out;
}
@media (min-width: 0px) {
  .notification-product {
    left: 20px;
    bottom: 20px;
  }
}
@media (min-width: 640px) {
  .notification-product {
    left: 30px;
    bottom: 30px;
  }
}

.notification-product:not([open]) {
  pointer-events: none;
  opacity: 0;
  translate: -100px 100px;
}

.notification-product .notification-graphic {
  background: var(--c-gray-dark);
  aspect-ratio: 1;
  height: 100%;
  width: auto;
  flex-shrink: 0;
}
.notification-product .notification-graphic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.notification-product .notification-content {
  padding: 20px;
  flex-grow: 1;
  display: grid;
  align-content: center;
}
.notification-product .notification-content p,
.notification-product .notification-content h5 {
  font-size: 14px;
  color: var(--c-gray);
}
.notification-product .notification-content h4 {
  font-family: var(--ff-accent);
  font-size: 20px;
  margin-top: 7px;
}
.notification-product .notification-content h5 {
  margin-top: 10px;
}

.notification-product .notification-close {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--c-accent);
  display: grid;
  place-content: center;
  position: absolute;
  top: 5px;
  right: 5px;
}

@media (min-width: 0px) {
  .prod {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .prod {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .prod {
    padding-block: 100px;
  }
}

.prod-body {
  display: grid;
  gap: 30px;
}
@media (min-width: 0px) {
  .prod-body {
    grid-template-columns: auto;
  }
}
@media (min-width: 960px) {
  .prod-body {
    grid-template-columns: auto 1fr;
  }
}

.prod-view {
  display: grid;
  align-items: start;
  gap: 5px;
  isolation: isolate;
  position: relative;
}
@media (min-width: 0px) {
  .prod-view {
    grid-template-columns: auto;
  }
}
@media (min-width: 960px) {
  .prod-view {
    grid-template-columns: auto auto;
  }
}
@media (min-width: 0px) {
  .prod-view {
    --thumbs-count: 5;
    --frame-size: 100%;
  }
}
@media (min-width: 960px) {
  .prod-view {
    --frame-size: 350px;
  }
}
@media (min-width: 1350px) {
  .prod-view {
    --frame-size: 600px;
  }
}
@media (min-width: 1750px) {
  .prod-view {
    --frame-size: 650px;
  }
}

.prod-frame {
  aspect-ratio: 1;
  width: var(--frame-size);
  height: auto;
  background: var(--c-gray-dark);
  position: relative;
}

.prod-images {
  width: 100%;
  height: 100%;
}
@media (min-width: 0px) {
  .prod-images {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
}
@media (min-width: 960px) {
  .prod-images {
    position: relative;
  }
}

.prod-image {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
}
@media (min-width: 0px) {
  .prod-image {
    flex-shrink: 0;
    scroll-snap-align: start;
  }
}
@media (min-width: 960px) {
  .prod-image {
    position: absolute;
    inset: 0;
    transition: opacity 0.3s;
  }
  .prod-image:not([active]) {
    opacity: 0;
    z-index: 0;
  }
  .prod-image[active] {
    opacity: 1;
    z-index: 1;
  }
}
.prod-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: scale 0.3s ease-out, translate 0.1s;
}
@media (min-width: 960px) {
  .prod-image:hover img {
    scale: var(--zoom-s);
    translate: var(--zoom-x) var(--zoom-y);
  }
}

.prod-disclaimer {
  padding: 10px;
  border-radius: 10px;
  line-height: 1.2;
  pointer-events: none;
}
@media (min-width: 0px) {
  .prod-disclaimer {
    font-size: 13px;
  }
}
@media (min-width: 960px) {
  .prod-disclaimer {
    font-size: 14px;
  }
}
@media (min-width: 960px) {
  .prod-disclaimer {
    position: absolute;
    left: 50%;
    bottom: 0%;
    translate: -50%;
    width: min(100% - 20px, 540px);
  }
}
.prod-disclaimer strong {
  color: var(--c-accent);
}

@media (min-width: 960px) {
  .prod-disclaimer[screen=mobile] {
    display: none;
  }
}

@media (min-width: 0px) {
  .prod-disclaimer[screen=desktop] {
    display: none;
  }
}
@media (min-width: 960px) {
  .prod-disclaimer[screen=desktop] {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    translate: -50% 100%;
    width: min(100% - 20px, 540px);
  }
}

.prod-view-ctrls {
  position: relative;
}

.prod-thumbs {
  --n: var(--thumbs-count);
  --g: 0px;
  --fsz: var(--frame-size);
  gap: var(--g);
  height: 0;
  min-height: var(--fsz);
  max-height: var(--fsz);
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  overscroll-behavior: contain;
  scrollbar-color: var(--c-gray) var(--c-gray-dark);
  scrollbar-width: thin;
}
@media (min-width: 0px) {
  .prod-thumbs {
    display: none;
  }
}
@media (min-width: 960px) {
  .prod-thumbs {
    display: flex;
    flex-direction: column;
  }
}

.prod-thumb {
  aspect-ratio: 1;
  width: calc((var(--fsz) - var(--g) * (var(--n) - 1)) / var(--n));
  height: auto;
  padding: 5px;
  scroll-snap-align: start;
}
.prod-thumb img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 15px;
  transition: all 0.1s;
}
.prod-thumb[active] img {
  outline: 3px solid var(--c-accent);
}

.prod-thumbs-ctrl {
  width: 50px;
  height: 50px;
  background: var(--c-gray-dark);
  place-content: center;
  border-radius: 999px;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  --trans: all 0.3s;
  transition: var(--trans);
}
.prod-thumbs-ctrl:hover {
  background: white;
}
@media (min-width: 0px) {
  .prod-thumbs-ctrl {
    display: none;
  }
}
@media (min-width: 1350px) {
  .prod-thumbs-ctrl {
    display: grid;
  }
  .prod-thumbs-ctrl:not([visible]) {
    opacity: 0;
    pointer-events: none;
  }
  .prod-thumbs-ctrl[visible] {
    opacity: 1;
    pointer-events: all;
  }
}
.prod-thumbs-ctrl .icon {
  --size: 20px;
  --color: white;
}
.prod-thumbs-ctrl .icon * {
  transition: var(--trans);
}
.prod-thumbs-ctrl:hover .icon {
  --color: black;
}

.prod-thumbs-ctrl-prev {
  top: -20px;
  rotate: -90deg;
}

.prod-thumbs-ctrl-next {
  bottom: -20px;
  rotate: 90deg;
}

.prod-info {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 30px;
}
@media (min-width: 1350px) {
  .prod-info {
    height: 0;
    min-height: 100%;
  }
}

.prod-brand {
  padding-inline: 15px;
  font-family: var(--ff-accent);
  font-size: 19px;
  text-transform: uppercase;
}

.prod-headline {
  margin-top: 10px;
  padding-inline: 15px;
  font-size: 42px;
}
@media (min-width: 1350px) {
  .prod-headline {
    font-size: 52px;
  }
}
@media (min-width: 1750px) {
  .prod-headline {
    font-size: 60px;
  }
}

.prod-title {
  font-family: var(--ff-accent);
  font-weight: 500;
}

.prod-headline-actions {
  display: none;
  float: right;
  height: 1lh;
  align-items: center;
  gap: 10px;
}
.prod-headline-actions > * {
  font-size: 16px;
}
@media (min-width: 960px) {
  .prod-headline-actions {
    display: flex;
  }
}

.prod-actions {
  margin-top: 20px;
}
@media (min-width: 960px) {
  .prod-actions {
    display: none;
  }
}

.prod-descr {
  margin-top: 20px;
  color: var(--c-gray-lighter);
  padding-inline: 15px;
}

.prod-spec {
  background: var(--c-gray-dark);
  border-radius: 10px;
  overflow: auto;
  padding: 15px;
  scrollbar-color: var(--c-gray) var(--c-gray-dark);
  scrollbar-width: thin;
}

table.spec-table {
  width: 100%;
  height: 100%;
}
@media (min-width: 0px) {
  table.spec-table td:nth-of-type(1) {
    display: none;
  }
  table.spec-table td:nth-of-type(2) {
    display: none;
  }
  table.spec-table td:nth-of-type(3) {
    display: table-cell;
  }
}
@media (min-width: 640px) {
  table.spec-table td:nth-of-type(1) {
    display: table-cell;
  }
  table.spec-table td:nth-of-type(2) {
    display: table-cell;
  }
  table.spec-table td:nth-of-type(3) {
    display: none;
  }
}
table.spec-table tr:nth-of-type(odd) {
  background: rgba(221, 221, 221, 0.03);
}
table.spec-table td {
  padding: 15px 15px;
}
@media (min-width: 640px) {
  table.spec-table td {
    padding: 10px 15px;
  }
}
table.spec-table td:nth-of-type(1) {
  width: 200px;
  font-weight: bold;
}
@media (min-width: 960px) {
  table.spec-table td:nth-of-type(2) {
    width: 280px;
  }
}
table.spec-table td:nth-of-type(3) span {
  display: block;
  text-align: center;
}
table.spec-table td:nth-of-type(3) span:first-of-type {
  font-weight: bold;
}
table.spec-table td:nth-of-type(3) span:last-of-type {
  margin-top: 7px;
}

[scroll-snap-frame] .scroll-snap-bullets {
  position: absolute;
  inset: auto 0 20px 0;
  display: flex;
  justify-content: center;
  gap: 5px;
}
@media (min-width: 960px) {
  [scroll-snap-frame] .scroll-snap-bullets {
    display: none;
  }
}
[scroll-snap-frame] .scroll-snap-bullet {
  flex-shrink: 0;
  aspect-ratio: 1;
  width: 7px;
  height: auto;
  border-radius: 999px;
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.2));
}
[scroll-snap-frame] .scroll-snap-bullet:not([active]) {
  background: white;
}
[scroll-snap-frame] .scroll-snap-bullet[active] {
  background: var(--c-accent);
}

.contact {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media (min-width: 960px) {
  .contact {
    padding-top: 100px;
    padding-bottom: 120px;
  }
}
.contact > div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 60px;
}
@media (min-width: 960px) {
  .contact > div {
    flex-direction: row;
  }
}

.contact-form {
  flex-grow: 1;
}
@media (min-width: 960px) {
  .contact-form {
    max-width: 700px;
  }
}
.contact-form hgroup {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 640px;
  margin-inline: auto;
  margin-bottom: 40px;
}
.contact-form hgroup h6 {
  text-wrap: balance;
  color: var(--c-gray);
}
.contact-form > div {
  background: var(--c-gray-shader);
  padding: 30px;
  border-radius: 20px;
  margin-inline: auto;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  background: none;
  border: 1px solid var(--c-gray);
  border-radius: 999px;
  font-size: 16px;
  padding: 1.75em 2em;
}
.contact-form textarea {
  height: 140px;
  border-radius: 1.75em;
}
.contact-form input[type=submit],
.contact-form button {
  width: 100%;
  margin-top: 10px;
  background: var(--c-accent);
  border: 1px solid var(--c-accent);
  color: black;
  font-size: 18px;
  transition: all 0.6s;
}
.contact-form input[type=submit]:hover,
.contact-form button:hover {
  background: white;
  border: 1px solid white;
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 960px) {
  .contact-info {
    margin-top: 160px;
    max-width: 400px;
  }
}

.contact-socials {
  font-family: var(--ff-accent);
  font-size: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.contact-socials .icon {
  --size: 22px;
}

.map {
  width: 100%;
  height: 450px;
  filter: grayscale(100%) brightness(92%) invert(1);
  background: var(--c-gray--dark);
}

[details] {
  --open-transition: 0.2s ease-in-out;
}

[details-summary] {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

[details-body] {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--open-transition);
}

[details][open]:not([disabled]) [details-body] {
  grid-template-rows: 1fr;
}

@media (min-width: 960px) {
  [details-hover]:hover:not([disabled]) [details-body] {
    grid-template-rows: 1fr;
  }
}
[details-content] {
  overflow: hidden;
}

.faq-section {
  margin-bottom: 60px;
}
.faq-section > h3 {
  margin-bottom: 20px;
}

.faq-item {
  --pad: 25px;
  border-bottom: 1px solid var(--c-gray-light-trans);
}
.faq-item [details-summary] {
  display: flex;
  align-items: center;
}
.faq-item [details-summary] h4 {
  font-family: var(--ff-accent);
  font-weight: 500;
  font-size: 24px;
  padding-block: var(--pad);
  transition: all 0.3s;
  flex-grow: 1;
}
.faq-item [details-summary]:hover h4, .faq-item[open] [details-summary] h4 {
  color: var(--c-accent);
}
.faq-item [details-summary] i {
  display: block;
  padding: 20px;
  rotate: 90deg;
  flex-shrink: 0;
}
.faq-item [details-summary] i .icon {
  --size: 18px;
}
.faq-item[open] [details-summary] i {
  rotate: -90deg;
}
.faq-item [details-content] > div {
  padding-bottom: var(--pad);
}

@media (min-width: 0px) {
  .feature-list {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .feature-list {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .feature-list {
    padding-block: 100px;
  }
}

.feature-list ul {
  display: grid;
  gap: 20px;
}
@media (min-width: 960px) {
  .feature-list ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1350px) {
  .feature-list ul {
    gap: 40px;
  }
}

.feature-list li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  border-radius: 18px;
  background: var(--c-gray-light-trans);
  padding: 40px;
  font-family: var(--ff-accent);
  text-align: center;
}
@media (min-width: 1350px) {
  .feature-list li {
    padding: 60px;
  }
}
.feature-list li picture {
  --size: 120px;
  position: relative;
  isolation: isolate;
}
.feature-list li picture::before {
  content: "";
  display: block;
  width: var(--size);
  height: var(--size);
  border-radius: 999px;
  background: var(--c-accent);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -10px;
  transition: all 0.8s cubic-bezier(0.95, -0.45, 0.34, 1.49);
}
.feature-list li:hover picture::before {
  width: calc(1.35 * var(--size));
  height: calc(1.35 * var(--size));
  translate: -50% -20px;
}
.feature-list li picture > img {
  width: var(--size);
  height: var(--size);
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
  z-index: 2;
}
.feature-list li h6 {
  margin-top: 20px;
  position: relative;
  font-family: var(--ff-accent);
  font-size: 25px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.03em;
}
@media (min-width: 640px) {
  .feature-list li h6 {
    font-size: 20px;
  }
}
@media (min-width: 960px) {
  .feature-list li h6 {
    font-size: 28px;
  }
}
.feature-list li p {
  margin-top: 15px;
  color: var(--c-gray);
  text-wrap: balance;
}

.wrapper > footer {
  background: black;
}

@media (min-width: 0px) {
  .foo {
    padding-top: 50px;
  }
}
@media (min-width: 640px) {
  .foo {
    padding-top: 70px;
  }
}
@media (min-width: 1750px) {
  .foo {
    padding-top: 100px;
  }
}

.foo > div {
  display: grid;
}
@media (min-width: 0px) {
  .foo > div {
    grid-template-columns: 1fr;
    grid-template-areas: "info" "nav" "media";
    gap: 30px;
  }
}
@media (min-width: 640px) {
  .foo > div {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "info nav" "media nav";
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
@media (min-width: 960px) {
  .foo > div {
    grid-template-columns: repeat(6, 1fr);
    grid-template-areas: "info info nav nav nav ." "media media nav nav nav .";
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}
@media (min-width: 1350px) {
  .foo > div {
    grid-template-columns: 1fr 2.2fr 1fr;
    grid-template-areas: "info nav media";
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}
@media (min-width: 1750px) {
  .foo > div {
    -moz-column-gap: 100px;
         column-gap: 100px;
  }
}
.foo > div .foo-info {
  grid-area: info;
}
.foo > div .foo-media {
  grid-area: media;
}
.foo > div .foo-nav {
  grid-area: nav;
}

.foo h6 {
  font-size: 22px;
  font-family: var(--ff-accent);
  margin-bottom: 20px;
}
@media (min-width: 1350px) {
  .foo h6 {
    margin-bottom: 25px;
  }
}

.foo-logo {
  width: 200px;
  display: inline-block;
}

.foo-descr {
  margin-top: 20px;
  line-height: 1.7;
}

.foo-socials {
  display: flex;
  gap: 15px;
  margin-top: 30px;
}
.foo-socials a .icon {
  --size: 24px;
}
.foo-socials a .icon * {
  transition: all 0.3s;
}
.foo-socials a:hover .icon {
  --color: var(--c-accent);
}

.foo-nav {
  display: grid;
  gap: 30px;
}
@media (min-width: 1350px) {
  .foo-nav {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 60px;
  }
}
.foo-nav menu {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
}
@media (min-width: 1350px) {
  .foo-nav menu {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 13px;
  }
}
.foo-nav menu a {
  font-size: 16px;
  transition: all 0.6s;
}
.foo-nav menu a:hover {
  color: var(--c-accent);
}
@media (min-width: 1350px) {
  .foo-nav menu a {
    width: -moz-fit-content;
    width: fit-content;
  }
}

.foo-images {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}
.foo-images img {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}

.subfooter {
  padding-top: 40px;
}
.subfooter > div {
  display: flex;
  gap: 20px;
  padding-block: 20px;
  border-top: 1px solid #5e5e5e;
}
@media (min-width: 0px) {
  .subfooter > div {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}
@media (min-width: 960px) {
  .subfooter > div {
    flex-direction: row;
    justify-content: space-between;
  }
}
.subfooter a {
  font-weight: bold;
}
.subfooter a:hover {
  text-decoration: underline;
}

:root {
  --nav-height: 80px;
}

.navbar {
  position: relative;
}

.navbar > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: var(--nav-height);
}

.navbar-logo {
  height: 40px;
  flex-shrink: 0;
}
.navbar-logo img {
  height: 100%;
  width: 100px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 640px) {
  .navbar-logo img {
    width: 160px;
  }
}

.navbar-menu {
  display: none;
}
@media (min-width: 1350px) {
  .navbar-menu {
    display: flex;
  }
}
.navbar-menu .menu-item {
  position: relative;
}
.navbar-menu .menu-item > :first-child {
  font-size: 14px;
  font-weight: 500;
}
.navbar-menu > .menu-item > :first-child {
  display: flex;
  align-items: center;
  height: var(--nav-height);
  padding-inline: 14px;
}
.navbar-menu > .menu-item.menu-item-has-children > :first-child::after {
  content: "";
  width: 5px;
  height: 5px;
  position: relative;
  right: 0;
  bottom: 2px;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: currentColor;
  display: inline-block;
  margin-left: 8px;
  transform: rotate(45deg);
}
.navbar-menu > .menu-item > .sub-menu {
  --inline-padding: 22px;
  background: black;
  border: 1px solid #5e5e5e;
  width: -moz-max-content;
  width: max-content;
  max-width: 300px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(calc(100% + 20px));
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  padding-block: 12px;
  border-radius: 10px;
  transition: all 0.2s ease-out;
}
.navbar-menu > .menu-item:hover > .sub-menu {
  transform: translateY(100%);
  opacity: 1;
  pointer-events: all;
}
.navbar-menu > .menu-item > .sub-menu > .menu-item > :first-child {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px var(--inline-padding);
  transition: color 0.6s;
}
.navbar-menu > .menu-item > .sub-menu > .menu-item > :first-child:hover {
  color: var(--c-accent);
}
.navbar-menu > .menu-item > .sub-menu > .menu-item > :first-child::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: white;
  flex-shrink: 0;
  position: relative;
  top: 5px;
  transform: rotate(45deg);
}

.navbar-consult {
  display: flex;
  align-items: center;
  background: var(--c-accent);
  padding: 8px;
  border-radius: 999px;
  transition: all 0.3s ease-in-out;
  font-size: 12px;
  margin: 0 20px 0 auto;
  color: black;
}
@media (min-width: 480px) {
  .navbar-consult {
    font-size: 14px;
  }
}
@media (min-width: 1350px) {
  .navbar-consult {
    margin: revert;
  }
}
.navbar-consult i {
  background: white;
  border-radius: 999px;
  width: 2em;
  height: 2em;
  display: grid;
  place-content: center;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}
.navbar-consult i .icon {
  --color: black;
}
.navbar-consult i .icon * {
  transition: all 0.3s ease-in-out;
}
.navbar-consult span {
  letter-spacing: 0.02em;
  font-weight: 600;
  text-transform: uppercase;
  padding-inline: 10px;
}
.navbar-consult:hover {
  background: white;
  color: black;
}
.navbar-consult:hover i {
  background: var(--c-accent);
}
.navbar-consult:hover i .icon {
  --color: white;
  animation: nav-consult-slide-right 0.4s ease-in-out;
}
@keyframes nav-consult-slide-right {
  0% {
    translate: 0 0;
    opacity: 1;
  }
  50% {
    translate: 30px 0;
    opacity: 0;
  }
  51% {
    translate: -20px 0;
    opacity: 0;
  }
  100% {
    translate: 0 0;
    opacity: 1;
  }
}

.navbar-mnav {
  --size: 40px;
  display: grid;
  place-content: center;
  width: var(--size);
  height: var(--size);
  margin-right: calc(-0.175 * var(--size));
  background: none;
}
@media (min-width: 1350px) {
  .navbar-mnav {
    display: none;
  }
}
.navbar-mnav .icon line {
  transition: translate 0.3s ease-out;
}

.mobile-nav-is-open .navbar-mnav .icon line:nth-child(1),
.mobile-nav-is-open .navbar-mnav .icon line:nth-child(3) {
  translate: -7% 0;
}
.mobile-nav-is-open .navbar-mnav .icon line:nth-child(2) {
  translate: 7% 0;
}

.navbar-floating {
  background: black;
  box-shadow: 0 7px 10px rgba(255, 255, 255, 0.15);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  transition: translate 0.3s ease-in-out;
}

.navbar-floating:not([visible]) {
  translate: 0 -100%;
}

.mnav {
  --mnav-head-height: 50px;
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.8);
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease-in-out;
  isolation: isolate;
}

.mnav-drawer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 260px;
  background: black;
  translate: 100% 0;
  transition: translate 0.3s 0.1s ease-in-out;
}

.mobile-nav-is-open .mnav {
  opacity: 1;
  pointer-events: all;
}
.mobile-nav-is-open .mnav-drawer {
  translate: 0 0;
}

.mnav-menu .menu-item > :first-child {
  display: flex;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 16px;
  padding: 11px 15px;
  transition: color 0.6s;
}
.mnav-menu .menu-item.current-menu-item > :first-child,
.mnav-menu .menu-item > :first-child:hover {
  color: var(--c-accent);
}
.mnav-menu .menu-item.menu-item-has-children > :first-child::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-width: 3px 3px 0 0;
  border-style: solid;
  border-color: currentColor;
  transform: rotate(45deg);
  margin-top: 0.2em;
  margin-left: auto;
}
.mnav-menu .sub-menu {
  background: black;
  position: absolute;
  inset: var(--mnav-head-height) 0 0 0;
  padding-bottom: 60px;
  overflow-y: auto;
  overscroll-behavior: contain;
  translate: 100% 0;
  transition: translate 0.3s ease-in-out;
  z-index: 1;
}
.mnav-menu .sub-menu[open] {
  translate: 0 0;
}

.mnav-controls {
  color: white;
  display: flex;
}

.mnav-back {
  display: block;
  width: var(--mnav-head-height);
  height: var(--mnav-head-height);
  background: transparent;
  opacity: 1;
  position: relative;
  pointer-events: all;
  transition: all 0.3s;
}
.mnav-back[hidden] {
  opacity: 0;
  pointer-events: none;
}
.mnav-back::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-width: 0 0 3px 3px;
  border-style: solid;
  border-color: white;
  transform: rotate(45deg);
  position: absolute;
  inset: 0;
  margin: auto;
}

.mnav-close {
  display: block;
  width: var(--mnav-head-height);
  height: var(--mnav-head-height);
  background: transparent;
  margin-left: auto;
  position: relative;
}
.mnav-close::before, .mnav-close::after {
  content: "";
  height: 35%;
  width: 2px;
  background: white;
  position: absolute;
  inset: 0;
  margin: auto;
}
.mnav-close::before {
  rotate: -45deg;
}
.mnav-close::after {
  rotate: 45deg;
}

.wrapper > header[full-size] {
  height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  transition: height 0.6s ease-in-out;
}

.wrapper > header > [slot] {
  position: relative;
}

.wrapper > header .navbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.wrapper > header .navbar > * {
  position: relative;
}
.wrapper > header .navbar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 140px;
  background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0.738) 19%, rgba(0, 0, 0, 0.541) 34%, rgba(0, 0, 0, 0.382) 47%, rgba(0, 0, 0, 0.278) 56.5%, rgba(0, 0, 0, 0.194) 65%, rgba(0, 0, 0, 0.126) 73%, rgba(0, 0, 0, 0.075) 80.2%, rgba(0, 0, 0, 0.042) 86.1%, rgba(0, 0, 0, 0.021) 91%, rgba(0, 0, 0, 0.008) 95.2%, rgba(0, 0, 0, 0.002) 98.2%, transparent 100%);
  opacity: 0.7;
  pointer-events: none;
}

.sph {
  --sph-height: 60px;
  background: black;
}
.sph > div {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  align-items: center;
  height: var(--sph-height);
}
@media (min-width: 960px) {
  .sph > div {
    padding-inline: 10px;
  }
}

.sph-socials {
  display: flex;
  gap: 15px;
}
.sph-socials a {
  flex-shrink: 0;
}
.sph-socials a .icon {
  --size: 24px;
}
.sph-socials a .icon * {
  transition: all 0.3s;
}
.sph-socials a:hover .icon {
  --color: var(--c-accent);
}

.sph-specials {
  font-size: 16px;
  display: none;
}
@media (min-width: 960px) {
  .sph-specials {
    display: block;
  }
}

.sph-contacts {
  position: relative;
}
.sph-contacts a {
  transition: color 0.3s;
}
.sph-contacts a:hover {
  color: var(--c-accent);
}
.sph-contacts__handle {
  display: flex;
  align-items: center;
  gap: 10px;
  height: var(--sph-height);
  font-size: 17px;
  font-weight: 300;
}
.sph-contacts__handle .icon {
  --size: 0.8lh;
}
.sph-contacts__handle::after {
  content: "";
  display: block;
  position: relative;
  top: 3px;
  border: solid 4px transparent;
  border-top: solid 4px #fff;
}
.sph-contacts:hover .sph-contacts__handle::after {
  top: -3px;
  border: solid 4px transparent;
  border-bottom: solid 4px #fff;
}
.sph-contacts [details-summary] {
  position: relative;
}
.sph-contacts [details-summary]::after {
  content: "";
  position: absolute;
  inset: 0;
}
@media (min-width: 960px) {
  .sph-contacts [details-summary]::after {
    display: none;
  }
}
.sph-contacts[open] [details-summary]::after, .sph-contacts:hover [details-summary]::after {
  animation: sph-contact-blocker-vanish 0.2s forwards;
}
@keyframes sph-contact-blocker-vanish {
  to {
    width: 0;
    height: 0;
  }
}
.sph-contacts [details-body] {
  --inline-padding: 22px;
  width: calc(100% + 2 * var(--inline-padding));
  position: absolute;
  bottom: 1px;
  left: calc(-1 * var(--inline-padding));
  transform: translateY(100%);
  pointer-events: none;
  background: black;
  z-index: 1;
  border-radius: 0 0 5px 5px;
  transition: all 0.2s ease-out;
  --slps-transition: 0.2s ease-out;
}
.sph-contacts:hover [details-body] {
  opacity: 1;
  pointer-events: all;
}
.sph-contacts__list {
  padding-top: 8px;
  padding-bottom: 12px;
}
.sph-contacts__list li > * {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  font-weight: 200;
  padding: 9px var(--inline-padding);
}
.sph-contacts__list li > *[data-size=lg] {
  font-size: 17px;
}
.sph-contacts__list li > * i {
  flex-shrink: 0;
  position: relative;
  top: 2px;
}
.sph-contacts__list li > * i .icon {
  --size: 0.8lh;
}

.stdhead {
  height: 270px;
  padding-top: var(--nav-height);
  background-color: black;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  -o-border-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) 1;
     border-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)) fill 1;
  display: grid;
  place-content: center;
}
@media (min-width: 960px) {
  .stdhead {
    padding-top: 0;
  }
}
@media (min-width: 1350px) {
  .stdhead {
    height: 470px;
  }
}
.stdhead > div {
  text-align: center;
  padding-inline: 20px;
}
.stdhead h1 {
  line-height: 1.1;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 2px;
  font-weight: 600;
  margin: auto;
  margin-top: 15px;
}
@media (min-width: 1350px) {
  .breadcrumbs {
    margin-top: 40px;
  }
}
.breadcrumbs .delimiter {
  display: block;
  width: 5px;
  height: 5px;
  background: var(--c-accent);
  flex-shrink: 0;
  position: relative;
  transform: rotate(45deg);
}
.breadcrumbs a {
  color: white;
  transition: color 0.6s;
}
.breadcrumbs a.current {
  color: var(--c-gray-light);
}
.breadcrumbs a:not(.current):hover {
  color: var(--c-accent);
}

.hmh {
  width: 100%;
  height: 100%;
  padding-top: var(--nav-height);
  background: url(assets/home-header-bg.jpg) center/cover no-repeat;
  isolation: isolate;
  display: grid;
  align-content: center;
}

.hmh-suptitle {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--c-accent);
}

.hmh-title {
  font-family: var(--ff-accent);
  line-height: 1;
  text-wrap: balance;
}

.hmh-descr {
  text-wrap: pretty;
}

.hmh-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

@media (min-width: 0px) {
  .hmh-body {
    min-height: 60dvh;
    text-align: center;
  }
  .hmh-title {
    font-size: 45px;
    margin-top: 10px;
  }
  .hmh-descr {
    font-size: 18px;
    line-height: 1.4;
    margin-top: 20px;
  }
  .hmh-links {
    margin-top: 30px;
  }
}
@media (min-width: 640px) {
  .hmh {
    --grid-p: 40px;
  }
  .hmh-title {
    font-size: 50px;
    max-width: 80%;
    margin-inline: auto;
  }
  .hmh-descr {
    font-size: 20px;
    line-height: 1.6;
    max-width: 60%;
    margin-inline: auto;
  }
  .hmh-links {
    margin-top: 40px;
  }
}
@media (min-width: 960px) {
  .hmh-body {
    min-height: 55dvh;
    text-align: left;
  }
  .hmh-title {
    max-width: 60%;
    margin-left: 0;
  }
  .hmh-descr {
    max-width: 40%;
    margin-left: 0;
  }
  .hmh-links {
    justify-content: start;
  }
}
@media (min-width: 1350px) {
  .hmh-title {
    font-size: 60px;
    margin-top: 20px;
  }
  .hmh-descr {
    font-size: 22px;
    margin-top: 30px;
  }
  .hmh-links {
    margin-top: 60px;
  }
}
@media (min-width: 1750px) {
  .hmh-title {
    margin-left: 0;
  }
  .hmh-descr {
    margin-left: 0;
  }
  .hmh-links {
    justify-content: flex-start;
  }
}
@media (min-width: 1950px) {
  .hmh-body {
    min-height: 50dvh;
  }
  .hmh-title {
    font-size: 80px;
  }
  .hmh-descr {
    font-size: 24px;
  }
}
.hmh-featured {
  position: absolute;
  top: 37%;
  left: 70%;
}
@media (min-width: 0px) {
  .hmh-featured {
    display: none;
  }
}
@media (min-width: 960px) {
  .hmh-featured {
    display: block;
  }
}

.hmh-featured-card {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 200px;
  background: rgba(43, 43, 43, 0.7);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
          backdrop-filter: saturate(180%) blur(20px);
  border-radius: 15px;
  text-align: left;
  padding: 20px;
  transition: all 0.2s ease-out;
}
.hmh-featured-card i {
  display: grid;
  place-content: center;
  background: black;
  width: 75px;
  height: 75px;
  border-radius: 5px;
  position: relative;
  transition: all 0.4s;
  --size: 40px;
}
.hmh-featured-card i::before {
  content: "";
  width: calc(0.9 * var(--size));
  height: calc(0.9 * var(--size));
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -75% -50%;
  background: var(--c-gray-shader);
  border-radius: 999px;
  transition: background-color 0.4s, scale 0.4s cubic-bezier(0.95, -0.45, 0.34, 1.49);
}
.hmh-featured-card .icon {
  position: relative;
  margin-left: 10px;
}
.hmh-featured-card .icon * {
  transition: all 0.4s;
}
.hmh-featured-card:hover i {
  background-color: white;
}
.hmh-featured-card:hover i::before {
  background-color: var(--c-accent);
  scale: 1.3;
}
.hmh-featured-card:hover .icon {
  --color: black;
}
.hmh-featured-card h4 {
  font-size: 24px;
  margin-top: 10px;
}
.hmh-featured-card h5 {
  font-size: 14px;
  color: var(--c-gray);
  margin-top: 5px;
}

.hmh-featured-pointer {
  width: 150px;
  height: 60px;
  border-right: 1px solid white;
  border-bottom: 1px solid white;
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -100% 100%;
}

.hmh-featured-bullet {
  box-sizing: content-box;
  width: 14px;
  height: 14px;
  background: white;
  border-radius: 9999px;
  position: absolute;
  left: 0;
  bottom: 0;
  translate: -50% 50%;
}
.hmh-featured-bullet::before, .hmh-featured-bullet::after {
  content: "";
  display: block;
  width: calc(100% + 14px);
  height: calc(100% + 14px);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.35);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.hmh-featured-bullet::after {
  animation: hmh-point-pulse 1.5s linear infinite;
}

@keyframes hmh-point-pulse {
  0% {
    scale: 1;
    opacity: 1;
  }
  40%, 100% {
    scale: 1.7;
    opacity: 0;
  }
}
.hcl {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media (min-width: 960px) {
  .hcl {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.hcl-list {
  display: grid;
  gap: 20px;
}

@media (min-width: 0px) {
  .hcl-item {
    aspect-ratio: 1;
  }
}
@media (min-width: 480px) {
  .hcl-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .hcl-item:nth-of-type(1) {
    aspect-ratio: 1;
    grid-column: 1/span 2;
  }
  .hcl-item:nth-of-type(2) {
    aspect-ratio: 16/9;
    grid-column: 1/span 2;
  }
  .hcl-item:nth-of-type(3) {
    aspect-ratio: 0.85;
    grid-column: 1;
  }
  .hcl-item:nth-of-type(4) {
    aspect-ratio: 0.85;
    grid-column: 2;
  }
}
@media (min-width: 960px) {
  .hcl-list {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  .hcl-item:nth-of-type(1) {
    aspect-ratio: 830/930;
    grid-column: 1/span 2;
    grid-row: 1/span 2;
  }
  .hcl-item:nth-of-type(2) {
    aspect-ratio: unset;
    grid-column: 3/span 2;
    grid-row: 1;
  }
  .hcl-item:nth-of-type(3) {
    aspect-ratio: unset;
    grid-column: 3;
    grid-row: 2;
  }
  .hcl-item:nth-of-type(4) {
    aspect-ratio: unset;
    grid-column: 4;
    grid-row: 2;
  }
}
.hcl-item {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  isolation: isolate;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.hcl-item picture {
  position: absolute;
  inset: 0;
  z-index: 0;
  perspective: 800px;
  perspective-origin: center;
}
.hcl-item picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 15px;
}
.hcl-item[hover] img {
  animation: hcl-item-enter 0.4s ease-out forwards;
}
.hcl-item:not([hover]) img {
  animation: hcl-item-leave 0.4s ease-out forwards;
}
.hcl-item::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  -o-border-image: linear-gradient(transparent, rgba(0, 0, 0, 0.6)) 1;
     border-image: linear-gradient(transparent, rgba(0, 0, 0, 0.6)) fill 1;
  z-index: 1;
  pointer-events: none;
}
.hcl-item h5 {
  font-family: var(--ff-accent);
  font-size: 22px;
  text-wrap: balance;
  z-index: 2;
}
@media (min-width: 960px) {
  .hcl-item h5 {
    font-size: 26px;
  }
}
@media (min-width: 1350px) {
  .hcl-item h5 {
    font-size: 30px;
  }
}
.hcl-item p {
  font-size: 14px;
  font-weight: 600;
  color: var(--c-gray);
  margin-top: 15px;
  z-index: 2;
}

@keyframes hcl-item-enter {
  0% {
    scale: 1;
    rotate: 0;
  }
  50% {
    rotate: 1 1 0 4deg;
  }
  100% {
    scale: 1.1;
    rotate: 0;
  }
}
@keyframes hcl-item-leave {
  0% {
    scale: 1.1;
    rotate: 0;
  }
  50% {
    rotate: 1 1 0 4deg;
  }
  100% {
    scale: 1;
    rotate: 0;
  }
}
.hcl-header {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
  margin-bottom: 40px;
}
@media (min-width: 640px) {
  .hcl-header {
    flex-direction: row;
  }
}
@media (min-width: 960px) {
  .hcl-header {
    margin-bottom: 50px;
  }
}
@media (min-width: 1350px) {
  .hcl-header {
    margin-bottom: 60px;
  }
}
.hcl-header .sechead {
  --sechead-margin-bottom: 0;
  flex-grow: 1;
  text-align: center !important;
}
@media (min-width: 640px) {
  .hcl-header .sechead {
    text-align: left !important;
  }
}
.hcl-header .btn {
  flex-shrink: 0;
}

.home-search,
.hse {
  display: grid;
  position: relative;
  --c-gray-trans: #1b1b1b6b;
}

@media (min-width: 0px) {
  .hse {
    grid-template-columns: 1fr calc(100% - 40px) 1fr;
    grid-template-rows: auto auto;
  }
  .hse-consult {
    display: none;
  }
  .hse-search {
    grid-column: 2/-2;
    grid-row: 1/-2;
  }
  .hse-contacts {
    grid-column: 2/-2;
    grid-row: -2/-1;
  }
  .hse-bg-side {
    display: none;
  }
}
@media (min-width: 960px) {
  .hse {
    grid-template-columns: 1fr calc(100% - 390px) 350px 1fr;
    grid-template-rows: repeat(3, auto);
  }
  .hse-search {
    grid-column: 2;
    grid-row: 1/-1;
    grid-template-rows: subgrid;
  }
  .hse-contacts {
    grid-column: 3;
    grid-row: 1/-1;
  }
}
@media (min-width: 1350px) {
  .hse {
    grid-template-columns: 1fr 350px min(100% - 740px, 900px) 350px 1fr;
  }
  .hse-consult {
    display: grid;
    grid-column: 2;
    grid-row: 1/-1;
  }
  .hse-search {
    grid-column: 3;
  }
  .hse-contacts {
    grid-column: 4;
  }
  .hse-bg-side {
    display: block;
    grid-column: 1/3;
    grid-row: 1/-1;
  }
  .hse-bg-main {
    grid-column: 3/-1;
    grid-row: 1/-1;
  }
}
@media (min-width: 1750px) {
  .hse-consult {
    grid-template-rows: subgrid;
  }
}
.hse-consult {
  background: var(--c-gray-dark);
  box-shadow: -10px 0 50px rgba(20, 20, 20, 0.72);
  text-align: center;
}
.hse-consult > * {
  padding: 20px;
}
.hse-consult header {
  margin-top: 40px;
}
.hse-consult footer {
  margin-bottom: 40px;
  padding-block: 0;
}
.hse-consult header h5 {
  font-size: 35px !important;
}
.hse-consult header hr {
  width: 50%;
  background: var(--c-accent);
  margin-block: 10px;
  margin-inline: auto;
}
.hse-consult header p {
  font-size: 14px;
  color: var(--c-gray);
}
.hse-consult form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hse-consult form input,
.hse-consult form textarea {
  width: 100%;
  background: none;
  padding-inline: calc(1.56em + 5px);
  border: 1px solid var(--c-gray);
  scrollbar-color: var(--c-gray) var(--c-gray-dark);
  scrollbar-width: thin;
}
.hse-consult form input {
  height: calc(2.5em + 10px);
  border-radius: 999px;
}
.hse-consult form textarea {
  border-radius: calc(1.25em + 5px);
  padding-block: 0.8em;
  resize: none;
  flex-grow: 1;
  min-height: 160px;
}
.hse-consult form input[type=submit],
.hse-consult form button {
  width: 100%;
  margin-top: 10px;
  background: var(--c-accent);
  border: 1px solid var(--c-accent);
  color: black;
  transition: all 0.6s;
}
.hse-consult form input[type=submit]:hover,
.hse-consult form button:hover {
  background: white;
  border: 1px solid white;
}
.hse-consult footer p {
  font-size: 14px;
  text-wrap: balance;
  color: var(--c-gray);
}
.hse-consult footer input[type=checkbox] {
  display: inline-block;
  width: -moz-min-content;
  width: min-content;
  margin-right: 5px;
  accent-color: var(--c-accent);
  pointer-events: none;
}
.hse-consult footer a {
  color: var(--c-accent);
  text-decoration: underline;
}

.hse-search {
  display: grid;
}
@media (min-width: 0px) {
  .hse-search > * {
    padding-left: 40px;
    padding-block: 20px;
  }
  .hse-search header {
    margin-top: 30px;
    margin-bottom: 0;
  }
}
@media (min-width: 1350px) {
  .hse-search > * {
    padding-left: 80px;
  }
}
.hse-search .hse-main {
  display: flex;
  flex-direction: column;
  align-items: start;
  --c-bd: #e8e8e83b;
}
.hse-search .hse-tabs {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
@media (min-width: 960px) {
  .hse-search .hse-tabs {
    font-size: 20px;
    margin-top: 0;
  }
}
.hse-search .hse-tabs .img-btn {
  background: var(--c-gray-trans);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
          backdrop-filter: saturate(180%) blur(20px);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.hse-search .hse-tabs .img-btn:not([active]) {
  border: 1px solid var(--c-bd);
}
.hse-search .hse-filters {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  gap: 15px;
  padding-block: 30px;
}
.hse-search .hse-filters:not([active]) {
  display: none;
}
.hse-search .hse-filter {
  display: grid;
  gap: 7px;
}
.hse-search .hse-filter label {
  padding-inline: 1.56em;
  color: white;
  font-size: 0.95em;
  font-weight: bold;
}
.hse-search .hse-filter select {
  background: none;
  height: calc(2.5em + 10px);
  padding-inline: calc(1.56em + 5px);
  border-radius: 999px;
  border: 1px solid var(--c-bd);
  background: var(--c-gray-trans);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
          backdrop-filter: saturate(180%) blur(20px);
  color: rgba(255, 255, 255, 0.6784313725);
}
.hse-search .hse-filter option {
  background: black;
}

.hse-contacts {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-block: 40px;
}
@media (min-width: 640px) {
  .hse-contacts {
    flex-direction: row;
  }
  .hse-contacts > * {
    flex: 1;
  }
}
@media (min-width: 960px) {
  .hse-contacts {
    flex-direction: column;
    align-items: end;
    justify-content: center;
  }
  .hse-contacts > * {
    flex: 0;
    max-width: 300px;
  }
}

.hse-contact {
  transition: all 0.2s ease-out;
}
.hse-contact > * {
  width: 100%;
  height: 100%;
  background: var(--c-gray-trans);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
          backdrop-filter: saturate(180%) blur(20px);
  border-radius: 15px;
  text-align: left;
  padding: 20px;
}
@media (min-width: 0px) {
  .hse-contact > * {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: minmax(1.2lh, auto) auto;
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
  .hse-contact > * i {
    grid-column: 1;
    grid-row: 1/-1;
  }
  .hse-contact > * span {
    grid-column: 2;
    grid-row: 1;
  }
  .hse-contact > * small {
    grid-column: 2;
    grid-row: 2;
  }
}
@media (min-width: 640px) {
  .hse-contact > * {
    display: block;
  }
  .hse-contact > * span {
    margin-top: 10px;
  }
  .hse-contact > * small {
    margin-top: 5px;
  }
}
.hse-contact > * .icon {
  --size: 64px;
  --color: black;
  background: var(--c-accent);
  padding: 16px;
  border-radius: 5px;
  transition: all 0.4s;
}
.hse-contact > * .icon * {
  transition: all 0.4s;
}
.hse-contact > * span {
  display: inline-block;
  color: white;
  font-family: var(--ff-accent);
  font-size: 20px;
  line-height: 1;
}
.hse-contact > * small {
  display: block;
  font-size: 14px;
  line-height: 1;
  color: var(--c-gray);
}
.hse-contact:hover {
  translate: 5px -7px;
}
.hse-contact:hover .icon {
  background: white;
  --color: black;
}

.hse-bg-side {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: var(--c-gray-dark);
}

.hse-bg-main {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.hse-bg-main img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.6s;
}
.hse-bg-main img:not([active]) {
  opacity: 0;
}

.home-popular-products,
.hpp {
  padding-block: 50px;
}
@media (min-width: 960px) {
  .home-popular-products,
  .hpp {
    padding-block: 80px;
  }
}

.hpp-tabs {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .hpp-tabs {
    -moz-column-gap: 60px;
         column-gap: 60px;
  }
}

.hpp-tab {
  background: none;
  color: var(--c-gray);
  transition: all 0.3s;
}
.hpp-tab:hover {
  color: white;
}
.hpp-tab[active] {
  color: var(--c-accent);
}
.hpp-tab span {
  font-family: var(--ff-accent);
  font-size: 20px;
}
@media (min-width: 640px) {
  .hpp-tab span {
    font-size: 22px;
  }
}
.hpp-tab sup {
  display: inline-block;
  font-size: 14px;
  margin-left: 6px;
  translate: 0 -50%;
  color: var(--c-gray) !important;
}

.hpp-cards {
  position: relative;
  isolation: isolate;
}
.hpp-cards:not([active]) {
  display: none;
}
@media (min-width: 0px) {
  .hpp-cards {
    margin-top: 30px;
  }
}
@media (min-width: 640px) {
  .hpp-cards {
    margin-top: 50px;
  }
}

.hpp-nav {
  gap: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hpp-nav:not([active]) {
  display: none;
}
@media (min-width: 0px) {
  .hpp-nav {
    margin-top: 20px;
  }
}
@media (min-width: 640px) {
  .hpp-nav {
    margin-top: 40px;
  }
}

.hpp-nav-btn {
  width: 60px;
  height: 60px;
  border-radius: 999px;
  background: var(--c-gray-shader);
  display: grid;
  place-content: center;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
  position: absolute;
  top: 33%;
  z-index: 1;
  --trans: all 0.3s;
  transition: var(--trans);
}
.hpp-nav-btn:hover {
  background: white;
}
@media (min-width: 0px) {
  .hpp-nav-btn {
    --offset: 15px;
  }
}
@media (min-width: 1750px) {
  .hpp-nav-btn {
    --offset: 160%;
  }
}
.hpp-nav-btn .icon {
  --size: 20px;
  --color: var(--c-gray);
}
.hpp-nav-btn .icon * {
  transition: var(--trans);
}
.hpp-nav-btn:hover .icon {
  --color: black;
}

.hpp-nav-prev {
  left: 0;
  translate: calc(-1 * var(--offset));
}
.hpp-nav-prev .icon {
  rotate: 180deg;
  translate: -2px;
}

.hpp-nav-next {
  right: 0;
  translate: var(--offset);
}
.hpp-nav-next .icon {
  translate: 2px;
}

.hpp-nav-dots {
  text-align: center;
}
.hpp-nav-dots:not([active]) {
  display: none;
}
@media (min-width: 0px) {
  .hpp-nav-dots {
    margin-top: 20px;
  }
}
@media (min-width: 640px) {
  .hpp-nav-dots {
    margin-top: 40px;
  }
}

.h-shroom {
  padding-block: 50px;
}
@media (min-width: 960px) {
  .h-shroom {
    padding-block: 80px;
  }
}
@media (min-width: 0px) {
  .h-shroom__header--inline {
    display: none;
  }
}
@media (min-width: 1750px) {
  .h-shroom__header--main {
    display: none;
  }
  .h-shroom__header--inline {
    display: block;
    --sechead-margin-bottom: 20px;
  }
}
.h-shroom__content {
  display: grid;
  gap: 30px;
  align-items: start;
}
@media (min-width: 960px) {
  .h-shroom__content {
    grid-template-columns: 1fr 1fr;
  }
}
.h-shroom__viewport {
  aspect-ratio: 4/3;
  background: gray;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 10px 8px var(--c-accent);
  position: relative;
  cursor: zoom-in;
  transition: box-shadow 0.4s ease-out;
}
@media (min-width: 960px) {
  .h-shroom__viewport {
    grid-column: 2;
  }
}
.h-shroom__viewport:hover {
  box-shadow: 10px 8px white;
}
.h-shroom__viewport > * {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  transition: opacity 0.3s;
}
.h-shroom__viewport > *:not([active]) {
  opacity: 0;
  pointer-events: none;
}
.h-shroom__viewport > *[active] {
  opacity: 1;
  pointer-events: all;
}
.h-shroom__viewport a {
  display: block;
}
.h-shroom__viewport img {
  -o-object-fit: cover;
     object-fit: cover;
}
.h-shroom__controls {
  text-align: center;
  display: grid;
  gap: 30px;
  align-self: stretch;
}
@media (min-width: 960px) {
  .h-shroom__controls {
    grid-column: 1;
    grid-row: 1;
    grid-template-rows: 2fr 1fr;
  }
}
@media (min-width: 1350px) {
  .h-shroom__controls {
    padding-inline: 30px;
  }
}
@media (min-width: 1750px) {
  .h-shroom__controls {
    grid-template-rows: auto 1fr 1fr;
  }
}
.h-shroom__tabs {
  display: grid;
  gap: 15px;
  justify-items: center;
  place-content: center;
}
.h-shroom__models {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.h-shroom__more {
  line-height: 1.5;
}
@media (min-width: 1750px) {
  .h-shroom__more {
    display: grid;
    place-content: center;
  }
}
.h-shroom__more .btn {
  font-size: clamp(16px, 0.8em, 20px);
  margin-block: 2px;
}

.home-featured-product,
.hfp {
  position: relative;
  background: var(--c-gray-light-trans);
}
@media (min-width: 0px) {
  .home-featured-product,
  .hfp {
    padding-block: 50px;
  }
}
@media (min-width: 960px) {
  .home-featured-product,
  .hfp {
    padding-block: 80px;
  }
}

.hfp-inner {
  isolation: isolate;
  display: grid;
}
@media (min-width: 960px) {
  .hfp-inner {
    grid-template-columns: 1.5fr 1fr;
    align-items: center;
    gap: 60px;
    padding-inline: 30px;
  }
}
@media (min-width: 1350px) {
  .hfp-inner {
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding-inline: 60px;
  }
}

.hfp-column:nth-of-type(1) {
  --pad: 15px;
  position: relative;
  isolation: isolate;
}
.hfp-column:nth-of-type(1)::after {
  content: "";
  position: absolute;
  display: block;
  border: 3px solid var(--c-accent);
  border-radius: 2px;
  pointer-events: none;
  transition: all 0.2s ease-out;
}
@media (min-width: 0px) {
  .hfp-column:nth-of-type(1)::after {
    width: calc(100% - var(--pad));
    height: calc(100% - var(--pad));
    left: calc(0.5 * var(--pad));
    top: calc(0.5 * var(--pad));
  }
}
@media (min-width: 960px) {
  .hfp-column:nth-of-type(1)::after {
    width: 99%;
    height: 95%;
    top: 8px;
    left: 23px;
  }
  .hfp-column:nth-of-type(1):hover::after {
    width: calc(100% - var(--pad));
    height: calc(100% - var(--pad));
    left: calc(0.5 * var(--pad));
    top: calc(0.5 * var(--pad));
  }
}
.hfp-column:nth-of-type(1) .card-frame {
  border-radius: 0;
  aspect-ratio: 4.5/3;
}
.hfp-column:nth-of-type(1) .card-picture img {
  -o-object-fit: cover;
     object-fit: cover;
}
.hfp-column:nth-of-type(1) .card-caption {
  display: none;
}

.hfp-column:nth-of-type(2) {
  z-index: 1;
}
@media (min-width: 0px) {
  .hfp-column:nth-of-type(2) {
    margin-top: 20px;
    text-align: center;
  }
}
@media (min-width: 960px) {
  .hfp-column:nth-of-type(2) {
    margin-top: unset;
    text-align: unset;
  }
}

.hfp-column:nth-of-type(2)::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1;
  width: 100px;
  height: auto;
  background: url(assets/asterisk.svg) center/contain no-repeat;
}

.hfp-title {
  display: block;
  margin-top: 15px;
  transition: color 0.6s;
}
.hfp-title:hover {
  color: var(--c-accent);
}
@media (min-width: 0px) {
  .hfp-title {
    text-align: center;
  }
}
@media (min-width: 960px) {
  .hfp-title {
    text-align: unset;
  }
}

.hfp-descr {
  margin-top: 5px;
  max-width: 600px;
  margin-inline: auto;
  color: #b1b1b1;
}
@media (min-width: 960px) {
  .hfp-descr {
    margin-inline: revert;
  }
}

.hfp-tags {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media (min-width: 0px) {
  .hfp-tags {
    justify-content: center;
  }
}
@media (min-width: 960px) {
  .hfp-tags {
    justify-content: start;
  }
}
.hfp-tags a {
  font-family: var(--c-accent);
  transition: color 0.6s;
}
.hfp-tags a::before {
  content: "#";
}
.hfp-tags a:hover {
  color: var(--c-accent);
}

@media (min-width: 0px) {
  .hfp-actions {
    margin-top: 30px;
  }
}
@media (min-width: 960px) {
  .hfp-actions {
    margin-top: 50px;
  }
}

@media (min-width: 0px) {
  .home-services,
  .hsv {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .home-services,
  .hsv {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .home-services,
  .hsv {
    padding-block: 100px;
  }
}

.hsv-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
@media (min-width: 640px) {
  .hsv-list {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 960px) {
  .hsv-list {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1350px) {
  .hsv-list {
    gap: 50px;
  }
}
@media (min-width: 1750px) {
  .hsv-list {
    gap: 70px;
  }
}

.hsv-item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 30px;
}
.hsv-item picture {
  --nudge: 22px;
  width: 70px;
  height: 70px;
  margin-left: var(--nudge);
  position: relative;
  isolation: isolate;
}
@media (min-width: 1350px) {
  .hsv-item picture {
    width: 100px;
    height: 100px;
  }
}
.hsv-item picture::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: var(--c-accent);
  position: absolute;
  top: 0;
  left: calc(-1 * var(--nudge));
  transition: all 0.8s cubic-bezier(0.95, -0.45, 0.34, 1.49);
}
.hsv-item picture img {
  position: relative;
}
.hsv-item:hover picture::before {
  scale: 0.7;
  translate: calc(0.8 * var(--nudge)) 0;
  scale: 1.5;
}
.hsv-item h4 {
  font-family: var(--ff-accent);
  font-size: 20px;
  font-weight: 600;
}
@media (min-width: 640px) {
  .hsv-item h4 {
    font-size: 22px;
  }
}
@media (min-width: 1350px) {
  .hsv-item h4 {
    font-size: 24px;
  }
}
.hsv-item p {
  line-height: 1.5;
  color: var(--c-gray);
  margin-top: 15px;
}

@media (min-width: 0px) {
  .hib {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .hib {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .hib {
    padding-block: 100px;
  }
}

.hib-header {
  display: flex;
  gap: 20px;
  align-items: center;
}
@media (min-width: 0px) {
  .hib-header {
    flex-direction: column;
    margin-bottom: 40px;
  }
}
@media (min-width: 640px) {
  .hib-header {
    flex-direction: row;
  }
}
@media (min-width: 960px) {
  .hib-header {
    margin-bottom: 50px;
  }
}
@media (min-width: 1350px) {
  .hib-header {
    margin-bottom: 60px;
  }
}
.hib-header .sechead {
  --sechead-margin-bottom: 0;
  flex-grow: 1;
}
@media (min-width: 0px) {
  .hib-header .sechead {
    text-align: center !important;
  }
}
@media (min-width: 640px) {
  .hib-header .sechead {
    text-align: left !important;
  }
}
.hib-header .btn {
  flex-shrink: 0;
}

@media (min-width: 960px) {
  .hib .blog-post:nth-of-type(1) {
    grid-column: span 2;
  }
  .hib .blog-post:nth-of-type(1) .blog-post-content {
    padding: 40px 60px;
    border-radius: 15px;
    margin-top: 30px;
    position: relative;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.5);
  }
  .hib .blog-post:nth-of-type(1) .blog-post-content::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background: url(assets/bg-pattern-5.png) center/cover;
    background-attachment: fixed;
    z-index: -1;
  }
  .hib .blog-post:nth-of-type(1) .blog-post-date {
    font-size: 20px;
    font-weight: bold;
    margin-top: 0;
  }
  .hib .blog-post:nth-of-type(1) .blog-post-title {
    font-size: 50px;
    line-height: 1.1;
    margin-top: 20px;
  }
  .hib .blog-post:nth-of-type(1) .blog-post-descr {
    font-size: 20px;
    margin-top: 30px;
    border-left: 3px solid var(--c-accent);
    padding-left: 30px;
    padding-block: 10px;
    line-height: 1.2;
  }
  .hib .blog-post:nth-of-type(1) .blog-post-more {
    font-size: 20px;
    font-weight: bold;
    margin-top: 30px;
  }
}
@media (min-width: 1350px) {
  .hib .blog-post:nth-of-type(1) {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }
  .hib .blog-post:nth-of-type(1) .blog-post-image {
    aspect-ratio: unset;
    height: 0;
    min-height: 100%;
  }
  .hib .blog-post:nth-of-type(1) .blog-post-content {
    display: grid;
    place-content: center;
    padding-bottom: 70px;
    min-height: 500px;
    margin-top: 0;
  }
}
@media (min-width: 1750px) {
  .hib .blog-post:nth-of-type(1) .blog-post-title {
    font-size: 62px;
  }
  .hib .blog-post:nth-of-type(1) .blog-post-descr {
    max-width: 80%;
  }
}

.home-showroom,
.hsr {
  --height: 300px;
  height: var(--height);
  position: relative;
  isolation: isolate;
  display: none;
}
@media (min-width: 960px) {
  .home-showroom,
  .hsr {
    --height: 250px;
  }
}
@media (min-width: 1350px) {
  .home-showroom,
  .hsr {
    --height: 300px;
  }
}

.hsr-interactive {
  width: 100%;
  height: 100%;
  display: flex;
}

.hsr-interactive > * {
  --ts: all 0.4s ease-out;
  height: 100%;
  flex: 1;
  position: relative;
  background: var(--bg);
  transition: var(--ts);
}
.hsr-interactive > *:hover {
  flex: 1.75;
  --bg: white;
}

.hsr-interactive-start {
  --bg: var(--c-accent);
}

.hsr-interactive-end {
  --bg: var(--c-gray-dark);
}

.hsr-interactive > *::after {
  --slope: 120px;
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  z-index: 1;
  transition: var(--ts);
  pointer-events: none;
}

.hsr-interactive-start::after {
  border-left: var(--slope) solid var(--bg);
  border-bottom: var(--height) solid transparent;
  right: calc(-0.5 * var(--slope));
}

.hsr-interactive-end::after {
  border-right: var(--slope) solid var(--bg);
  border-top: var(--height) solid transparent;
  left: calc(-0.5 * var(--slope));
}

.hsr-headline {
  width: min(1600px, 100% - 40px);
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 3;
  display: flex;
  align-items: center;
  font-family: var(--ff-accent);
  text-transform: uppercase;
  pointer-events: none;
}
@media (min-width: 960px) {
  .hsr-headline {
    font-size: 40px;
  }
}
@media (min-width: 1350px) {
  .hsr-headline {
    font-size: 55px;
  }
}
@media (min-width: 1750px) {
  .hsr-headline {
    font-size: 70px;
  }
}

.hsr-headline-start,
.hsr-headline-end {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  transition: all 0.5s;
}

.hsr-headline-start[hover],
.hsr-headline-end[hover] {
  color: black;
}

.hsr-title {
  flex: 0;
  white-space: nowrap;
  transition: all 0.5s;
}

.hsr[hover] .hsr-title {
  color: black;
}

.hsr-graphic {
  flex: 1;
  position: relative;
}

.hsr-img,
.hsr-img-shadow {
  position: absolute;
  inset: 0;
  margin: auto;
  transition: all 0.3s ease-out;
}
@media (min-width: 960px) {
  .hsr-img,
  .hsr-img-shadow {
    height: 100px;
  }
}
@media (min-width: 1350px) {
  .hsr-img,
  .hsr-img-shadow {
    height: 150px;
  }
}

.hsr-headline-start[hover] .hsr-img,
.hsr-headline-end[hover] .hsr-img {
  rotate: 15deg;
}

.hsr-img-shadow {
  scale: 0.95;
}

.hsr-elements {
  width: min(1600px, 100% - 40px);
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 2;
  display: flex;
  pointer-events: none;
}

.hsr-elements-start,
.hsr-elements-end {
  flex: 1;
  min-width: 0;
  position: relative;
}
.hsr-elements-start > *,
.hsr-elements-end > * {
  position: absolute;
}

.hsr-follow {
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: calc(50% + 60px);
  left: 50%;
  translate: -50%;
  font-size: 14px;
  text-transform: uppercase;
  background: var(--c-accent);
  letter-spacing: 0.25em;
  padding: 10px 20px;
  transition: all 0.2s ease-out;
}

.hsr:not([hover]) .hsr-follow {
  translate: -50% -10px;
  opacity: 0;
}

.hsr-follow::before,
.hsr-follow::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.hsr-follow::after {
  background: var(--c-gray-dark);
  z-index: -1;
}

.hsr-follow::before {
  background: var(--c-accent);
  z-index: -2;
  transition: all 0.3s ease-out;
}

.hsr[hover=start] .hsr-follow::before {
  top: -0.2em;
  left: 0.55em;
}

.hsr[hover=end] .hsr-follow::before {
  top: -0.2em;
  left: -0.55em;
}

.hsr-descr {
  top: calc(50% + 45px);
  max-width: calc(50% - 50px);
  text-wrap: balance;
  font: 22px/1.1 var(--ff-accent);
  color: black;
  transition: all 0.6s;
}
@media (min-width: 960px) {
  .hsr-descr {
    top: calc(50% + 35px);
    font-size: 16px;
  }
}
@media (min-width: 1350px) {
  .hsr-descr {
    top: calc(50% + 45px);
    max-width: calc(50% - 20px);
    font-size: 20px;
  }
}
@media (min-width: 1750px) {
  .hsr-descr {
    font-size: 22px;
  }
}

.hsr-elements > *:not([hover]) .hsr-descr {
  translate: 0 10px;
  opacity: 0;
}

.hsr-elements-start .hsr-descr {
  left: 0;
  text-align: left;
}

.hsr-elements-end .hsr-descr {
  right: 0;
  text-align: right;
}

.home-showroom-mobile,
.hsrm {
  position: relative;
  isolation: isolate;
}

.hsrm-header {
  background: white;
  color: black;
  text-align: center;
  padding: 30px 20px;
}

.hsrm-follow {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  padding: 10px 20px;
  position: relative;
  color: white;
  isolation: isolate;
  margin-top: 20px;
}

.hsrm-follow::before,
.hsrm-follow::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
}

.hsrm-follow::after {
  background: var(--c-gray-dark);
  top: 0;
  left: 0;
  z-index: -1;
}

.hsrm-follow::before {
  background: var(--c-accent);
  top: -0.2em;
  left: -0.55em;
  z-index: -2;
  transition: all 0.3s ease-out;
}

.hsrm-title {
  display: block;
  color: black;
  font-family: var(--ff-accent);
  font-size: 50px;
}

.hsrm-block {
  display: block;
  padding: 30px 20px;
  font-family: var(--ff-accent);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.hsrm-block:nth-of-type(1) {
  background: var(--c-accent);
}

.hsrm-block:nth-of-type(2) {
  background: var(--c-gray-dark);
  text-align: right;
}

.hsrm-subtitle {
  font-size: 30px;
}

.hsrm-descr {
  text-wrap: balance;
  font: 18px/1.1 var(--ff-accent);
  margin-top: 10px;
}

.hsrm-graphic {
  flex-shrink: 0;
  padding: 10px;
}

.hsrm-img {
  height: 120px;
  rotate: 15deg;
}

@media (min-width: 0px) {
  .hsr {
    display: none;
  }
  .hsrm {
    display: block;
  }
}
@media (min-width: 960px) {
  .hsr {
    display: block;
  }
  .hsrm {
    display: none;
  }
}
.icon {
  width: var(--size, 16px);
  height: var(--size, 16px);
  --color: white;
}

.imgv {
  width: 100%;
  height: 100%;
  place-content: center;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: hidden;
}

.imgv:not([open]) {
  display: none;
}

.imgv[open] {
  display: grid;
  animation: fade-in 0.4s forwards;
  animation-timing-function: cubic-bezier(0.99, 0, 0.47, 1);
}

.imgv[will-close] {
  animation: fade-out 0.2s 0.2s forwards;
  animation-timing-function: cubic-bezier(0.84, 0.01, 0.42, 1);
}

.imgv-image {
  --max-width: calc(100dvw - 40px);
  --max-height: calc(100dvh - 40px);
  width: -moz-min-content;
  width: min-content;
  height: -moz-min-content;
  height: min-content;
  max-width: var(--max-width);
  max-height: var(--max-height);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: var(--c-gray) var(--c-gray-dark);
  scrollbar-width: thin;
}

.imgv[open] .imgv-image {
  animation: pop-in 0.3s 0.2s forwards;
  animation-timing-function: cubic-bezier(0.86, 0, 0.18, 0.98);
}

.imgv[will-close] .imgv-image {
  animation: pop-out 0.3s forwards;
  animation-timing-function: cubic-bezier(0.75, 0, 0, 0.83);
}

.imgv-image:not([zoom-in]) {
  cursor: zoom-in;
}
.imgv-image:not([zoom-in]) img {
  max-width: var(--max-width);
  max-height: var(--max-height);
}

.imgv-image[zoom-in] {
  cursor: zoom-out;
}
.imgv-image[zoom-in] img {
  max-width: unset;
  max-height: unset;
}

.imgv-image[zoom-in] img {
  width: auto;
  height: auto;
  min-width: calc(var(--max-width) - 10px);
  min-height: calc(var(--max-height) - 10px);
}

.imgv-close {
  padding: 10px;
  border-radius: 999px;
  background: white;
  position: absolute;
  top: 20px;
  right: 20px;
  scale: 1.25;
  z-index: 1;
}
@media (min-width: 960px) {
  .imgv-close {
    scale: 1;
  }
}
.imgv-close .icon {
  --color: black;
  --size: 20px;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes pop-in {
  from {
    opacity: 0;
    scale: 0.8;
  }
  to {
    opacity: 1;
    scale: 1;
  }
}
@keyframes pop-out {
  from {
    opacity: 1;
    scale: 1;
  }
  to {
    opacity: 0;
    scale: 0.8;
  }
}
.imgv-disclaimer {
  position: absolute;
  left: 50%;
  width: min(100% - 20px, 540px);
  translate: -50%;
  padding: 10px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  line-height: 1.1;
  z-index: 1;
}
@media (min-width: 0px) {
  .imgv-disclaimer {
    bottom: 40px;
    font-size: 12px;
  }
}
@media (min-width: 960px) {
  .imgv-disclaimer {
    bottom: unset;
    top: 40px;
    font-size: 14px;
  }
}
.imgv-disclaimer strong {
  color: var(--c-accent);
}

.modal:not([open]) {
  display: none;
}

.modal[open] {
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: hidden;
  animation: modal-enter 0.4s forwards;
  animation-timing-function: cubic-bezier(0.99, 0, 0.47, 1);
}
@media (min-width: 960px) {
  .modal[open] {
    display: grid;
    place-content: center;
  }
}

.modal[will-close] {
  animation: modal-leave 0.2s 0.2s forwards;
  animation-timing-function: cubic-bezier(0.84, 0.01, 0.42, 1);
}

@keyframes modal-enter {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-leave {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.modal-content {
  --modal-bg: var(--c-gray-darker);
  background: var(--modal-bg);
  --mod-bd-width: 10px;
  --mod-bd-color: rgb(255 255 255 / 0.2);
  border: var(--mod-bd-width) solid var(--mod-bd-color);
  border-radius: 10px;
  padding: 20px;
  opacity: 0;
  will-change: translate, opacity;
}

.modal[open] .modal-content {
  animation: modal-content-enter 0.5s 0.3s forwards;
  animation-timing-function: cubic-bezier(0.86, 0, 0.18, 0.98);
}

.modal[will-close] .modal-content {
  animation: modal-content-leave 0.3s forwards;
  animation-timing-function: cubic-bezier(0.75, 0, 0, 0.83);
}

@keyframes modal-content-enter {
  from {
    translate: 0 10%;
    opacity: 0;
  }
  to {
    translate: 0 0%;
    opacity: 1;
  }
}
@keyframes modal-content-leave {
  from {
    translate: 0 0%;
    opacity: 1;
  }
  to {
    translate: 0 10%;
    opacity: 0;
  }
}
.modal-title {
  font-family: var(--ff-accent);
  font-size: 32px;
  margin: auto;
  margin-top: 40px;
}
@media (min-width: 960px) {
  .modal-title {
    margin-top: 0;
  }
}

.modal-subtitle {
  font-size: 15px;
  color: var(--c-gray);
  margin-top: 10px;
  margin-bottom: 20px;
}

.modal-close,
.modal-close-attached {
  background: white;
  padding: 10px;
  border-radius: 999px;
  position: absolute;
}
.modal-close .icon,
.modal-close-attached .icon {
  --color: black;
  --size: 20px;
}

.modal-close-fixed {
  top: 20px;
  right: 20px;
  scale: 1.25;
}

.modal-close-attached {
  top: 0;
  right: 0;
  translate: calc(100% + var(--mod-bd-width)) calc(-100% - var(--mod-bd-width));
}

@media (min-width: 0px) {
  .modal-close-fixed {
    display: block;
  }
  .modal-close-attached {
    display: none;
  }
}
@media (min-width: 960px) {
  .modal-close-fixed {
    display: none;
  }
  .modal-close-attached {
    display: block;
  }
}
.modal-form {
  text-align: center;
}
.modal-form .modal-content {
  width: 100%;
  height: 100%;
  border-width: 0;
  overflow: hidden;
}
@media (min-width: 960px) {
  .modal-form .modal-content {
    border-width: var(--mod-bd-width);
    overflow: revert;
    width: 420px;
  }
}
.modal-form__body form {
  display: grid;
  gap: 10px;
  margin-block: 20px;
}
.modal-form__body span {
  width: 100%;
}
.modal-form__body input {
  width: 100%;
  background: none;
  height: calc(2.5em + 10px);
  padding-inline: calc(1.56em + 5px);
  border-radius: 999px;
  border: 1px solid var(--c-gray);
}
.modal-form__body input[type=submit],
.modal-form__body button {
  width: 100%;
  margin-top: 10px;
  background: var(--c-accent);
  border: 1px solid var(--c-accent);
  color: black;
  transition: all 0.6s;
}
.modal-form__body input[type=submit]:hover,
.modal-form__body button:hover {
  background: white;
  border: 1px solid white;
}
.modal-form__policy {
  font-size: 14px;
  text-wrap: balance;
  color: var(--c-gray);
}
.modal-form__policy input[type=checkbox] {
  display: inline-block;
  width: -moz-min-content;
  width: min-content;
  margin-right: 5px;
  accent-color: var(--c-accent);
  pointer-events: none;
}
.modal-form__policy a {
  color: var(--c-accent);
  text-decoration: underline;
}

@media (min-width: 0px) {
  .partner-main,
  .ptma {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .partner-main,
  .ptma {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .partner-main,
  .ptma {
    padding-block: 100px;
  }
}

.ptma-inner {
  display: grid;
  gap: 60px;
}
@media (min-width: 960px) {
  .ptma-inner {
    grid-template-columns: 1fr 1fr;
  }
}

.ptma-image {
  border-radius: 15px;
  margin-block: 60px;
}

.ptma-image:first-child {
  margin-top: 0;
}

.ptma-image:last-child {
  margin-bottom: 0;
}

.partner-numbers,
.ptnm {
  background: url(https://wdtteapoy.wpengine.com/wp-content/uploads/2024/05/counter-bg-h2.jpg) center/cover;
  -o-border-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) 1;
     border-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)) fill 1;
  display: grid;
}
@media (min-width: 640px) {
  .partner-numbers,
  .ptnm {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 960px) {
  .partner-numbers,
  .ptnm {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.ptnm-number {
  display: grid;
  place-content: center;
  font-family: var(--ff-accent);
  text-align: center;
  padding-block: 40px;
  border: 1px solid var(--c-gray-light-trans);
}
.ptnm-number strong {
  font-size: 60px;
  font-weight: normal;
}
.ptnm-number p {
  font-size: 20px;
  font-weight: bold;
}

.privacy-policy {
  display: block;
  font-size: 14px;
  text-align: center;
  color: var(--c-gray-light);
  margin-top: 20px;
  text-wrap: balance;
}
.privacy-policy input[type=checkbox] {
  display: inline-block;
  width: -moz-min-content;
  width: min-content;
  margin-right: 5px;
  accent-color: var(--c-accent);
  pointer-events: none;
}
.privacy-policy a {
  color: var(--c-accent);
  text-decoration: underline;
}

@media (min-width: 640px) {
  .reviews__list {
    -moz-columns: 2;
         columns: 2;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}

.review {
  background: black;
  border-radius: 10px;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  overflow: hidden;
  --pad: 30px;
}
.review header {
  padding: var(--pad);
  background: var(--c-gray-shader);
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.review header > .icon {
  --size: 300px;
  --color: rgb(221 221 221 / 6%);
  position: absolute;
  top: -50px;
  right: -30px;
  z-index: 0;
}
.review header > * {
  position: relative;
  z-index: 1;
}
.review h4 {
  font-family: var(--ff-accent);
  font-weight: 500;
  font-size: 24px;
}
.review__ratings {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.review__rating {
  display: flex;
  gap: 10px;
}
.review__rating strong {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--c-gray-lighter);
}
.review__rating span {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
}
.review__rating .icon {
  --color: var(--c-accent);
}
.review__content {
  padding: var(--pad);
  color: var(--c-gray-light);
}

.review + .review {
  margin-top: 30px;
}

.new-review {
  margin-top: 80px;
}
@media (min-width: 960px) {
  .new-review {
    margin-top: 100px;
  }
}
.new-review h2 {
  font-family: var(--ff-accent);
  font-size: 32px;
  margin-bottom: 40px;
  text-align: center !important;
}
.new-review .wpuf-form .wpuf-el {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
@media (min-width: 640px) {
  .new-review .wpuf-form .wpuf-el {
    flex-direction: row !important;
  }
}
.new-review .wpuf-form .wpuf-label {
  width: 200px !important;
  padding-left: 1.5em !important;
  font-family: var(--ff-accent);
  font-size: 16px;
  flex-shrink: 0;
}
.new-review .wpuf-form .wpuf-fields {
  width: 100% !important;
}
@media (min-width: 640px) {
  .new-review .wpuf-form .wpuf-fields {
    width: auto !important;
    flex-grow: 1;
  }
}
.new-review .wpuf-form input:not([type=submit]),
.new-review .wpuf-form textarea {
  width: 100% !important;
  background: none !important;
  height: calc(2.5em + 10px) !important;
  padding-inline: calc(1.56em + 5px) !important;
  border-radius: calc(1.25em + 5px) !important;
  border: 1px solid var(--c-gray) !important;
  color: white !important;
}
.new-review .wpuf-form textarea {
  height: 200px !important;
  padding-block: calc(0.6em + 5px) !important;
}
.new-review .wpuf-form select {
  width: 100% !important;
  background: none !important;
  height: calc(2.5em + 10px) !important;
  padding-inline: calc(1.56em + 5px) !important;
  border-radius: 999px !important;
}
@media (min-width: 1350px) {
  .new-review .wpuf-form select {
    width: 300px !important;
  }
}
.new-review .wpuf-form option {
  background: black !important;
}
.new-review .wpuf-form input[type=submit] {
  width: 100% !important;
  height: calc(2.5em + 10px) !important;
  border-radius: 999px !important;
  background: var(--c-accent) !important;
  color: black !important;
  transition: all 0.3s !important;
}
.new-review .wpuf-form input[type=submit]:hover {
  background: white !important;
}
@media (min-width: 1350px) {
  .new-review .wpuf-form input[type=submit] {
    width: 300px !important;
  }
}

.runline {
  --runline-height: 2.4em;
  height: var(--runline-height);
  position: relative;
}
@media (min-width: 0px) {
  .runline {
    font-size: 25px;
  }
}
@media (min-width: 640px) {
  .runline {
    font-size: 30px;
  }
}
@media (min-width: 960px) {
  .runline {
    font-size: 33px;
  }
}
@media (min-width: 1350px) {
  .runline {
    font-size: 38px;
  }
}
.runline[theme=accent] {
  background: var(--c-accent);
  color: black;
}
.runline[theme=accent] .icon {
  --color: black;
}
.runline[theme=dark] {
  background: var(--c-gray-dark);
}

.runline-body {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.runline-track {
  display: flex;
  position: relative;
  left: -60%;
}

.runline-item {
  flex-shrink: 0;
  will-change: transform;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.runline-item > * {
  display: flex;
  gap: var(--runline-height);
  padding-inline: 1.15em;
  background: none;
  cursor: pointer;
  transition: all 0.3s ease-out;
}
.runline-item > *:hover {
  background: white;
  color: black;
}
.runline-item > * i {
  height: var(--runline-height);
  display: grid;
  place-content: center;
}
.runline-item > * .icon {
  width: 1.2em;
  height: 1.2em;
}
.runline-item > * .icon * {
  transition: all 0.3s ease-out;
}
.runline-item > *:hover .icon {
  --color: black;
}
.runline-item > * span {
  height: var(--runline-height);
  display: grid;
  place-content: center;
  white-space: nowrap;
  font-family: var(--ff-accent);
  letter-spacing: 0.02em;
}

.delivery {
  --runline-height: 2.4em;
  height: var(--runline-height);
  background-color: var(--c-gray-dark);
  background-image: url(assets/ptrn-delivery.svg);
  --bgsize: 3.5em;
  background-size: var(--bgsize);
  background-repeat: repeat-x;
  animation: delivery-line 2.5s linear infinite;
  overflow: hidden;
  font-size: 25px;
}
@media (min-width: 640px) {
  .delivery {
    font-size: 30px;
  }
}
@media (min-width: 960px) {
  .delivery {
    font-size: 33px;
  }
}
@media (min-width: 1350px) {
  .delivery {
    font-size: 38px;
  }
}
.delivery__content {
  display: grid;
  grid-template-columns: auto auto;
  gap: 0.1em 0.6em;
  align-items: center;
  justify-content: center;
}
.delivery__icon {
  grid-column: 1;
  grid-row: 1/span 2;
  --size: 1.7em;
  width: var(--size);
  height: var(--size);
  display: grid;
  place-content: center;
  position: relative;
  isolation: isolate;
}
.delivery__icon::before {
  content: "";
  display: block;
  width: var(--size);
  height: var(--size);
  background: var(--c-accent);
  border-radius: 999px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  translate: calc(-0.3 * var(--size));
  z-index: 0;
}
.delivery__icon img {
  width: var(--size);
  height: var(--size);
  -o-object-fit: contain;
     object-fit: contain;
  position: relative;
  z-index: 1;
}
.delivery__text {
  grid-column: 2;
  grid-row: 1/span 2;
  font-family: var(--ff-accent);
  font-size: 0.7em;
  line-height: 1;
  max-width: 30ch;
}
@media (min-width: 640px) {
  .delivery__text {
    max-width: unset;
  }
}
@media (min-width: 960px) {
  .delivery__text {
    font-size: 0.8em;
    text-wrap: balance;
    grid-row: 1;
    align-self: end;
  }
}
.delivery__subtext {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  font-size: 0.4em;
  color: var(--c-gray-shade);
  display: none;
}
@media (min-width: 960px) {
  .delivery__subtext {
    display: block;
  }
}
.delivery__subtext a {
  color: var(--c-accent);
  font-size: 0.9em;
}

@keyframes delivery-line {
  from {
    background-position: 0;
  }
  to {
    background-position: var(--bgsize);
  }
}
.sechead {
  margin-bottom: var(--sechead-margin-bottom, 40px);
}
@media (min-width: 960px) {
  .sechead {
    margin-bottom: var(--sechead-margin-bottom, 50px);
  }
}
@media (min-width: 1350px) {
  .sechead {
    margin-bottom: var(--sechead-margin-bottom, 60px);
  }
}
.sechead[data-alignment=left] {
  text-align: left;
}
.sechead[data-alignment=center] {
  text-align: center;
}
.sechead[data-alignment=right] {
  text-align: right;
}
.sechead__suptitle {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--c-accent);
}
.sechead__title {
  font-family: var(--ff-accent);
  font-size: 32px;
  margin-top: 10px;
  text-wrap: balance;
}
@media (min-width: 960px) {
  .sechead__title {
    font-size: 40px;
  }
}
@media (min-width: 1350px) {
  .sechead__title {
    font-size: 60px;
  }
}

@media (min-width: 0px) {
  .shrm {
    padding-block: 40px;
  }
}
@media (min-width: 640px) {
  .shrm {
    padding-block: 60px;
  }
}
@media (min-width: 960px) {
  .shrm {
    padding-block: 100px;
  }
}
.shrm__content {
  display: grid;
  align-items: start;
  gap: 40px;
}

@media (min-width: 0px) {
  .shrm__content {
    grid-template-columns: 1fr;
  }
  .shrm-view {
    aspect-ratio: 1;
  }
}
@media (min-width: 960px) {
  .shrm__content {
    grid-template-columns: 1fr 1fr;
  }
  .shrm-view {
    aspect-ratio: 4/3;
  }
  .shrm__column:first-of-type {
    position: sticky;
    top: calc(var(--nav-height) + 20px);
  }
}
.shrm-view {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
}
@media (min-width: 960px) {
  .shrm-view {
    border: 10px solid rgba(255, 255, 255, 0.2);
  }
}

.shrm-image {
  display: block;
  position: absolute;
  inset: 0;
  cursor: pointer;
}
.shrm-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.shrm-color-picker {
  position: absolute;
  top: 20px;
  left: 20px;
  width: 60px;
  height: 60px;
  border: 4px solid var(--c-accent);
  border-radius: 5px;
  box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.15);
  padding: 0;
  transition: all 0.3s;
}
.shrm-color-picker[hidden] {
  opacity: 0;
  scale: 0.7;
}

.shrm-view__menu-trigger {
  display: flex;
  gap: 10px;
  width: -moz-max-content;
  width: max-content;
  align-items: center;
  padding: 0.7em 1em;
  border-radius: 999px;
  background: white;
  color: #000;
  box-shadow: 0 6px rgba(0, 0, 0, 0.15);
  position: absolute;
  top: 20px;
  left: 50%;
  translate: -50% 0;
  margin: auto;
  transition: all 0.3s;
}
.shrm-view__menu-trigger:hover {
  background: #f3f3f3;
}
.shrm-view__menu-trigger .icon {
  --color: black;
  flex-shrink: 0;
}

.shrm-view__menu-close {
  --size: 80px;
  display: grid;
  place-content: center;
  width: var(--size);
  height: var(--size);
  background: none;
  position: absolute;
  top: 0;
  right: 0;
}
@media (min-width: 0px) {
  .shrm-view__menu-close {
    --size: 60px;
  }
}
@media (min-width: 640px) {
  .shrm-view__menu-close {
    --size: 80px;
  }
}
@media (min-width: 960px) {
  .shrm-view__menu-close {
    --size: 60px;
  }
}
@media (min-width: 1350px) {
  .shrm-view__menu-close {
    --size: 80px;
  }
}
.shrm-view__menu-close .icon {
  --size: 24px;
  --color: white;
}

.shrm-view__menu {
  position: absolute;
  inset: 0;
  padding: 50px;
  background: rgba(0, 0, 0, 0.75);
  display: grid;
  place-content: center;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s;
}
.shrm-view__menu[open] {
  opacity: 1;
  pointer-events: all;
}

.shrm-stages {
  --room-thumb-width: 60px;
  --room-thumbs-gap: 10px;
  -moz-columns: 2;
       columns: 2;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.shrm-stages:has(.shrm-stage:only-of-type) {
  -moz-columns: 1;
       columns: 1;
}
@media (min-width: 0px) {
  .shrm-stages {
    --room-thumb-width: 60px;
  }
}
@media (min-width: 640px) {
  .shrm-stages {
    --room-thumb-width: 80px;
  }
}
@media (min-width: 960px) {
  .shrm-stages {
    --room-thumb-width: 60px;
  }
}
@media (min-width: 1350px) {
  .shrm-stages {
    --room-thumb-width: 80px;
  }
}
@media (min-width: 1750px) {
  .shrm-stages {
    --room-thumb-width: 100px;
  }
}

.shrm-stage {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  margin-bottom: 5px;
  text-align: center;
  width: calc(2 * var(--room-thumb-width) + var(--room-thumbs-gap) + 10px);
}
@media (min-width: 0px) {
  .shrm-stage {
    margin-bottom: 5px;
  }
}
@media (min-width: 640px) {
  .shrm-stage {
    font-size: 20px;
  }
}
@media (min-width: 960px) {
  .shrm-stage {
    margin-bottom: 5px;
  }
}
@media (min-width: 1350px) {
  .shrm-stage {
    font-size: 20px;
  }
}
.shrm-stage__name {
  font-family: var(--ff-accent);
}
@media (min-width: 0px) {
  .shrm-stage__name {
    font-size: 16px;
    margin-bottom: 5px;
  }
}
@media (min-width: 640px) {
  .shrm-stage__name {
    font-size: 24px;
    margin-bottom: 10px;
  }
}
@media (min-width: 960px) {
  .shrm-stage__name {
    font-size: 16px;
    margin-bottom: 5px;
  }
}
@media (min-width: 1350px) {
  .shrm-stage__name {
    font-size: 24px;
    margin-bottom: 10px;
  }
}

.shrm-rooms {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--room-thumbs-gap);
}

.shrm-room {
  aspect-ratio: 4/3;
  width: var(--room-thumb-width);
  height: auto;
  background: black;
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s;
  isolation: isolate;
}
.shrm-room[active] {
  outline: 4px solid var(--c-accent);
  pointer-events: none;
  position: relative;
}
.shrm-room[active]::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 0 0 8px 0;
  background: var(--c-accent);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.shrm-room[active]::after {
  content: "✔";
  display: grid;
  place-content: center;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.shrm-room:hover:not([active]) {
  z-index: 2;
  scale: 1.3;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
}
.shrm-room__thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.shrm-headline {
  margin-top: 20px;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
@media (min-width: 0px) {
  .shrm-headline {
    flex-direction: column;
  }
}
@media (min-width: 640px) {
  .shrm-headline {
    flex-direction: row;
  }
}
@media (min-width: 960px) {
  .shrm-headline {
    flex-direction: column;
  }
}
@media (min-width: 1350px) {
  .shrm-headline {
    flex-direction: row;
  }
}
.shrm-headline__actions {
  display: flex;
  gap: 10px;
}

.shrm-brands {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
@media (min-width: 960px) {
  .shrm-brands {
    justify-content: flex-start;
  }
}

.shrm-brand {
  display: inline-block;
  padding: 0.7em 1em;
  color: var(--c-gray);
  color: white;
  letter-spacing: 0.02em;
  border: 1px solid var(--c-gray);
  border-radius: 999px;
  background: none;
  transition: all 0.3s ease-in-out;
}
.shrm-brand.active, .shrm-brand[active] {
  color: white;
  color: black;
  background-color: white;
  border-color: white;
}

.shrm-collections {
  margin-top: 30px;
}

.shrm-collection + .shrm-collection {
  margin-top: 20px;
}
.shrm-collection__headline {
  margin-bottom: 20px;
  font-family: var(--ff-accent);
  font-size: 20px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-align: center;
}
@media (min-width: 960px) {
  .shrm-collection__headline {
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 10px;
  }
  .shrm-collection__headline::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    background: white;
    flex-shrink: 0;
    position: relative;
    transform: rotate(45deg);
  }
}

.shrm-info {
  padding-inline: 10px;
  text-align: center;
}
@media (min-width: 960px) {
  .shrm-info {
    text-align: left;
  }
}
.shrm-info__headline {
  display: inline-block;
  margin-top: 20px;
}
@media (min-width: 960px) {
  .shrm-info__headline {
    max-height: 120px;
    overflow: auto;
    scrollbar-color: var(--c-gray) var(--c-gray-dark);
    scrollbar-width: thin;
    padding-inline: 15px;
  }
}
.shrm-info__title {
  display: inline-block;
  font-family: var(--ff-accent);
  font-size: 24px;
  font-weight: 600;
  transition: all 0.6s;
}
.shrm-info__title:hover {
  color: var(--c-accent);
}
@media (min-width: 960px) {
  .shrm-info__title::after {
    content: " —";
  }
}
.shrm-info__descr {
  font-size: 17px;
  color: var(--c-gray);
  display: block;
  margin-top: 10px;
}
@media (min-width: 960px) {
  .shrm-info__descr {
    display: inline;
  }
}
.shrm-info__actions {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
@media (min-width: 960px) {
  .shrm-info__actions {
    justify-content: flex-start;
  }
}

.shrm-items {
  --base: 100px;
  --size: 1;
  --gap: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--gap);
  isolation: isolate;
}
.shrm-items[tile-size=sm] {
  --size: 1;
}
.shrm-items[tile-size=md] {
  --size: 2;
}
@media (min-width: 960px) {
  .shrm-items {
    justify-content: flex-start;
  }
}

.shrm-item {
  border-radius: 5px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s;
}
.shrm-item:hover:not([active]) {
  z-index: 2;
  scale: 1.3;
  filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.4));
}
.shrm-item[active] {
  outline: 4px solid var(--c-accent);
  pointer-events: none;
  position: relative;
}
.shrm-item[active]::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 0 0 8px 0;
  background: var(--c-accent);
  position: absolute;
  top: 0;
  left: 0;
}
.shrm-item[active]::after {
  content: "✔";
  display: grid;
  place-content: center;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 0;
  left: 0;
}

.shrm-items[layout=grid] .shrm-item__thumbnail {
  aspect-ratio: 1;
  width: calc(var(--base) * var(--size) + var(--gap) * (var(--size) - 1));
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.shrm-items[layout=flow] .shrm-item__thumbnail {
  height: calc(var(--base) * var(--size) + var(--gap) * (var(--size) - 1));
  width: auto;
}

.sb-info {
  border-radius: 18px;
  padding: 20px;
  border: 1px solid var(--c-gray-light-trans);
}
.sb-info__title {
  margin-bottom: 30px;
}
.sb-info__item {
  padding: 10px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  border-radius: 10px;
  transition: all 0.3s;
}
.sb-info__item img {
  width: 70px;
  height: 70px;
  flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
.sb-info__item p {
  font-family: var(--ff-accent);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
  text-wrap: balance;
}
.sb-info__item:hover {
  background: var(--c-accent);
}

.sb-form {
  background: var(--c-gray-dark);
  border-radius: 18px;
  padding: 30px;
  text-align: center;
}
.sb-form form {
  display: grid;
  gap: 10px;
  margin-block: 20px;
}
.sb-form form input {
  width: 100%;
  background: none;
  height: calc(2.5em + 10px);
  padding-inline: calc(1.56em + 5px);
  border-radius: 999px;
  border: 1px solid var(--c-gray);
}
.sb-form form input[type=submit],
.sb-form form button {
  width: 100%;
  margin-top: 10px;
  background: var(--c-accent);
  border: 1px solid var(--c-accent);
  color: black;
  transition: all 0.6s;
}
.sb-form form input[type=submit]:hover,
.sb-form form button:hover {
  background: white;
  border: 1px solid white;
}
.sb-form__policy {
  font-size: 14px;
  text-wrap: balance;
  color: var(--c-gray);
}
.sb-form__policy input[type=checkbox] {
  display: inline-block;
  width: -moz-min-content;
  width: min-content;
  margin-right: 5px;
  accent-color: var(--c-accent);
  pointer-events: none;
}
.sb-form__policy a {
  color: var(--c-accent);
  text-decoration: underline;
}

button.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background-color: var(--c-gray);
  transition: all 0.3s;
}

button.swiper-pagination-bullet-active {
  background-color: var(--c-accent);
}

#to-top {
  position: fixed;
  z-index: 3;
  bottom: 20px;
  right: 20px;
  background: var(--c-accent);
  border-radius: 999px;
  padding: 5px;
  transition: all 0.5s ease-out;
}
#to-top[visible] {
  opacity: 1;
  translate: 0 0;
}
#to-top:not([visible]) {
  opacity: 0;
  translate: 0 10px;
}

#to-top-arrow-tip {
  translate: 0 5px;
  transition: all 0.5s ease-in-out;
}

#to-top:hover #to-top-arrow-tip {
  translate: 0 0;
}

#to-top-arrow-shaft {
  opacity: 0;
  translate: 0 15px;
  transition: all 0.5s ease-in-out;
}

#to-top:hover #to-top-arrow-shaft {
  opacity: 1;
  translate: 0 1px;
}

[grid] {
  display: grid;
  grid-template-columns: [full-start] 1fr [main-start] min(100% - 2 * var(--grid-p, 20px), var(--grid-w, 1600px)) [main-end] 1fr [full-end];
}

[grid] > * {
  grid-column: main;
}

[grid-breakout] {
  grid-column: full;
}

.heading {
  font-family: var(--ff-accent);
  text-wrap: balance;
}

@media (min-width: 0px) {
  .heading,
  .heading[size=lg] {
    font-size: 32px;
  }
}
@media (min-width: 960px) {
  .heading,
  .heading[size=lg] {
    font-size: 40px;
  }
}
@media (min-width: 1350px) {
  .heading,
  .heading[size=lg] {
    font-size: 60px;
  }
}

@media (min-width: 0px) {
  .heading[size=md] {
    font-size: 22px;
  }
}
@media (min-width: 960px) {
  .heading[size=md] {
    font-size: 26px;
  }
}
@media (min-width: 1350px) {
  .heading[size=md] {
    font-size: 30px;
  }
}

@media (min-width: 0px) {
  .heading[size=sm] {
    font-size: 22px;
  }
}
@media (min-width: 960px) {
  .heading[size=sm] {
    font-size: 24px;
  }
}
@media (min-width: 1350px) {
  .heading[size=sm] {
    font-size: 28px;
  }
}

.editor-output {
  line-height: 1.5;
  color: var(--c-gray);
}
.editor-output h1,
.editor-output h2,
.editor-output h3,
.editor-output h4,
.editor-output h5,
.editor-output h6 {
  font-family: var(--ff-accent);
  color: white;
  text-wrap: balance;
  margin-block: 1em;
}
.editor-output h1:first-child,
.editor-output h2:first-child,
.editor-output h3:first-child,
.editor-output h4:first-child,
.editor-output h5:first-child,
.editor-output h6:first-child {
  margin-top: 0;
}
.editor-output h1 {
  font-size: 64px;
}
.editor-output h2 {
  font-size: 32px;
}
.editor-output h3 {
  font-size: 24px;
}
.editor-output h4,
.editor-output h5,
.editor-output h6 {
  font-size: 18px;
}
.editor-output p + p {
  margin-top: 1.2em;
}
.editor-output img {
  margin: 2em;
  border-radius: 10px !important;
}
.editor-output img.alignleft {
  float: left;
}
.editor-output img.alignright {
  float: right;
}
.editor-output a {
  color: var(--c-accent);
  text-decoration: underline;
}
.editor-output iframe {
  aspect-ratio: 16/9;
  width: 100% !important;
  height: auto !important;
  border-radius: 10px;
}
.editor-output ol,
.editor-output ul {
  margin-block: 1.5em;
  counter-reset: item;
}
.editor-output ol li,
.editor-output ul li {
  counter-increment: item;
  --offset: 1.3em;
  margin-left: var(--offset);
  margin-block: 1em;
}
.editor-output ol li::before,
.editor-output ul li::before {
  content: counter(item) ".";
  display: inline-block;
  color: var(--c-accent);
  font-weight: bold;
  width: var(--offset);
  margin-left: calc(-1 * var(--offset));
}
.editor-output ol {
  counter-reset: item;
}
.editor-output ol li {
  counter-increment: item;
}
.editor-output ol li::before {
  content: counter(item) ".";
}
.editor-output ul li::before {
  content: "✔";
}
.editor-output blockquote {
  margin-block: 1.5em;
  border-radius: 18px;
  position: relative;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 40px;
  color: white;
  font-family: var(--ff-accent);
  font-size: 24px;
  line-height: 1.2;
}
@media (min-width: 1350px) {
  .editor-output blockquote {
    padding: 60px;
  }
}
.editor-output blockquote::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: url(assets/bg-pattern-5.png) center/cover;
  background-attachment: fixed;
  z-index: -1;
}
.editor-output blockquote cite {
  display: block;
  text-align: right;
  margin-top: 20px;
}
.editor-output blockquote cite::before {
  content: "— ";
}
.editor-output .wp-block-gallery .wp-block-image img {
  margin: 0;
  border-radius: 10px;
}
