@charset "UTF-8";
/*
  Modern CSS Reset & Normalize
  A comprehensive reset that combines the best practices from modern CSS resets
*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin and padding */
* {
  margin: 0;
  padding: 0;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Improve media defaults */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/* Remove built-in form typography styles */
input,
button,
textarea,
select {
  font: inherit;
}

/* Inherit fonts for form controls */
button,
input,
select,
textarea {
  color: inherit;
  letter-spacing: inherit;
}

/* Remove default button styles */
button {
  border: none;
  background: none;
  cursor: pointer;
}

/* Reset button focus styles */
button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* Remove default list styles */
ul,
ol {
  list-style: none;
}

/* Remove default anchor styles */
a {
  color: inherit;
  text-decoration: none;
}

/* Improve table defaults */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Avoid text overflows */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

/* Create a root stacking context */
#root,
#__next {
  isolation: isolate;
}

/* Remove animations for people who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  html:focus-within {
    scroll-behavior: auto;
  }
}
/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Reset fieldset and legend */
fieldset {
  border: none;
}

legend {
  padding: 0;
}

/* Ensure horizontal rules are visible */
hr {
  border: none;
  border-top: 1px solid;
  color: inherit;
  height: 0;
  overflow: visible;
}

/* Remove the gap between audio, canvas, iframes, images, videos and the bottom of their containers */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/* Reset search input */
input[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* Fix webkit autofill styles */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}

/* Make elements with hidden attribute actually hidden */
[hidden] {
  display: none !important;
}

/* Remove tap highlight on mobile */
a,
button,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

/* Improve consistency of default fonts across platforms */
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

/* Monospace font stack for code */
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Improve readability of pre-formatted text */
pre {
  overflow: auto;
  white-space: pre;
}

/* Ensure sub and sup don't affect line height */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/**
 * Swiper 10.3.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 28, 2023
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  overflow: clip;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
}

.swiper-button-next,
.swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg,
.swiper-button-prev svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas,
.swiper-zoom-container > img,
.swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

/* Delight – General Text Style */
/* ==============================================
   =                Font Imports                =
   ============================================== */
/* Delight Regular — Primary display typeface */
@font-face {
  font-family: "Delight";
  src: url("../../assets/fonts/delight-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap; /* Loads fallback text first for better performance */
}
/* FK Grotesk Trial Light — Light body text weight */
@font-face {
  font-family: "FKGroteskTrial";
  src: url("../../assets/fonts/FKGroteskTrial-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
/* FK Grotesk Trial Regular — Main body text weight */
@font-face {
  font-family: "FKGroteskTrial";
  src: url("../../assets/fonts/FKGroteskTrial-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* FK Grotesk Trial Semi-Bold — Emphasis text weight */
@font-face {
  font-family: "FKGroteskTrial";
  src: url("../../assets/fonts/FKGroteskTrial-Regular.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* ============================================================
   ===============   TYPOGRAPHY — BASE ELEMENTS   ==============
   This section sets the global type hierarchy including:
   - Display headings (H1–H4) using Delight font
   - Section headings (H5–H6) using FK Grotesk
   - Body copy (p, blockquote)
   - Small text + list items
   Mixins such as `delight_base` and `fk_grotesk_trial_base`
   control shared font-family and smoothing rules.
   ============================================================ */
/* H1 — Large display heading (Hero/Primary) */
h1 {
  font-family: "Delight", Arial, Helvetica, sans-serif;
  font-size: 5.625rem;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 0.05em; /* Slight spacing for readability at large scale */
  line-height: 1.2;
}

/* Delight – General Text Style */
/* FK Grotesk Trial – General Text Style */
/* H2 — Secondary display heading */
h2 {
  font-family: "Delight", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.3;
  font-weight: 400;
  /* Applies Delight family + shared styling */
  font-size: 4.5rem;
}

/* H3 — Tertiary display heading */
h3 {
  font-family: "Delight", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.3;
  font-weight: 400;
  font-size: 3.75rem;
}

/* H4 — Smallest display-level heading */
h4 {
  font-family: "Delight", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.3;
  font-weight: 400;
  font-size: 3rem;
}

/* H5 — Section heading (FK Grotesk) */
h5 {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 400;
  font-size: 1.75rem;
  line-height: 1.4;
}

/* H6 — Smallest heading, for sublabels or metadata */
h6 {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 400;
  font-size: 1.25rem;
}

/* Body text (p & blockquote) — Standard size */
p,
blockquote {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 400;
  font-size: 1rem;
}

/* Small text — Captions, notes, hints */
small {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 400;
  font-size: 0.875rem;
}

/* List items — Slightly smaller for compact list styling */
li {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 400;
  font-size: 0.75rem;
}

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.row {
  display: flex;
  justify-content: space-between;
}

.col--30 {
  width: 30%;
}

.col--40 {
  width: 40%;
}

.col--50 {
  width: 50%;
}

.col--60 {
  width: 60%;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  .container {
    padding: 0 1rem;
  }
}
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  /* Your styles here */
}
/* Large mobile / horizontal phones (≤ 960px) */
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  /* Your styles here */
}
/* Extra small mobile (≤ 576px) */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

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

.content-left {
  justify-content: flex-end;
}

/* ============================================================
   =                     GLOBAL ELEMENTS                      =
   ============================================================ */
/* Page background */
body {
  background: #ebede9;
}

/* Header background bar */
header {
  background: #000000;
}

/* ============================================================
   =                         NAVBAR                           =
   ============================================================
   Main navigation layout including:
   - Logo section
   - Navigation links
   - Action icons (e.g., menu / search / profile)
   - CTA button
   Uses BEM naming + SCSS nesting for clarity.
   ============================================================ */
.nav {
  color: #ebede9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  position: relative;
  /* ------------------------------
     Logo (icon + optional text)
     ------------------------------ */
  /* ------------------------------
     Navigation link container
     ------------------------------ */
  /* Individual nav links */
  /* ------------------------------
     Action icons (e.g., cart, menu)
     ------------------------------ */
  /* ------------------------------
     Primary nav button (CTA)
     ------------------------------ */
}
.nav__logo {
  text-transform: uppercase;
  /* Hidden logo text for compact layout / mobile */
}
.nav__logo--text {
  display: none;
}
.nav__links {
  display: flex;
}
.nav__link {
  font-size: 1rem;
  text-transform: uppercase;
  padding: 0 1rem;
  transition: 0.2s ease-in opacity;
}
.nav__link:hover {
  opacity: 0.7; /* Subtle fade on hover */
}
.nav__only-small {
  display: none;
}
.nav__actions svg {
  height: 36px;
  width: 36px; /* Uniform icon sizing */
}
.nav__button {
  padding: 1rem;
  /* Hide button text for icon-only mobile layout */
}
.nav__button--text {
  display: none;
}
.nav__hamburger {
  display: none;
  flex-direction: column;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  margin-left: auto;
  padding: 1rem 2rem;
}
.nav__hamburger span {
  width: 24px;
  height: 2px;
  background: white;
  display: block;
}
.nav__hamburger.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.nav__hamburger.open span:nth-child(2) {
  opacity: 0;
}
.nav__hamburger.open span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  .nav {
    padding: 1rem;
  }
}
@media (max-width: 1200px) {
  .nav {
    padding: 1rem 2rem;
  }
}
@media (max-width: 960px) {
  .nav__links {
    display: none;
    padding: 0.5rem;
  }
  .nav__link {
    padding: 0.3rem 5rem 0.3rem 0;
    display: block;
    color: #000000;
  }
  .nav__hamburger {
    display: flex;
  }
  .nav__menu.open .nav__links {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 80px;
    z-index: 100;
    right: 10.625rem;
    background: #fff;
    padding: 1.5rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  }
}
@media (max-width: 576px) {
  .nav {
    padding: 2rem 2rem;
    /* --------------------------------------------
     Hide action icons on mobile
     -------------------------------------------- */
    /* --------------------------------------------
     Extra links only visible on small screens
     -------------------------------------------- */
    /* --------------------------------------------
     Mobile menu wrapper
     Handles dropdown open/close animation
     -------------------------------------------- */
    /* --------------------------------------------
     Hamburger button (mobile trigger)
     -------------------------------------------- */
  }
  .nav__logo {
    width: 10rem;
  }
  .nav__actions {
    display: none;
  }
  .nav__only-small {
    display: block;
    padding-top: 0.8rem;
    margin-top: 0.5rem;
    border-top: 1px solid lightgrey; /* divider for added clarity */
  }
  .nav__menu.open {
    /* Dropdown panel */
  }
  .nav__menu.open .nav__links {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 3.75rem;
    right: 1.25rem;
    background: #fff;
    padding: 1.5rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    /* Decorative spacing arrow / placeholder */
    /* Inject extra mobile-only links */
  }
  .nav__menu.open .nav__links::before {
    content: "";
  }
  .nav__menu.open .nav__links li.extra-link {
    display: block;
  }
  .nav__hamburger {
    padding: 0; /* tighter spacing for mobile */
    /* When hamburger has "open" class → animate to X */
  }
  .nav__hamburger.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  .nav__hamburger.open span:nth-child(2) {
    opacity: 0;
  }
  .nav__hamburger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
  }
}
@media (max-width: 340px) {
  .nav__logo {
    width: 8rem;
  }
}
/* ============================================================
   =                            HERO                           =
   ============================================================
   The hero section includes:
   - Main container + wrapper for layout control
   - Left-side content (headline, description, CTA)
   - Decorative/feature image
   - Featured logos bar fixed to bottom of hero
   ============================================================ */
.hero {
  padding-top: 5rem;
  background: #000000;
  height: 900px;
  /* ---------------------------------------
     Wrapper: Controls hero height + positioning
     --------------------------------------- */
  /* ---------------------------------------
     Content column (headline, text, CTA)
     --------------------------------------- */
  /* Hero description text */
  /* CTA button */
  /* ---------------------------------------
     Hero image (illustration, product, etc.)
     Positioned on right side
     --------------------------------------- */
  /* ---------------------------------------
     Featured Logos Section (Bottom Bar)
     --------------------------------------- */
  /* "As featured in" title text */
  /* Logo group row */
}
.hero__wrapper {
  max-height: 100vh;
  height: 48rem;
  position: relative; /* Needed for absolutely positioned elements */
}
.hero__content {
  width: 50%;
  color: white;
  z-index: 20; /* Above imagery */
}
.hero__description {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin-top: 1rem;
  padding-right: 10rem; /* Prevent wide lines */
}
.hero__cta {
  display: inline-block;
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 0.5;
  padding: 1.1em 2rem 0.95rem;
  margin-top: 1.5rem;
  background: #ff4939;
  color: #000000;
  text-transform: uppercase;
}
.hero__cta:hover {
  background: #eb3434;
  color: #000000;
}
.hero__image-wrapper {
  position: absolute;
  z-index: 10;
  top: -70px;
  right: 0;
}
.hero__featured-logos {
  width: 100%;
  position: absolute;
  padding: 2rem 0;
  bottom: 0;
  z-index: 20;
}
.hero__featured-logos__title {
  text-transform: uppercase;
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  text-align: center;
  color: white;
  opacity: 0.5;
  letter-spacing: 0.1rem;
  margin-bottom: 3rem;
}
.hero__featured-logo-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   =              (All using max-width structure)             =
   ============================================================ */
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .hero {
    overflow: hidden;
    /* --------------------------------------------
     Main title inside hero
     -------------------------------------------- */
    /* --------------------------------------------
     Short description text 
     Padding to create spacing on right side
     -------------------------------------------- */
    /* --------------------------------------------
     Inner content wrapper with horizontal padding
     -------------------------------------------- */
    /* --------------------------------------------
     Logo bar inside the hero
     Centered using 50% left + translate trick
     -------------------------------------------- */
    /* --------------------------------------------
     Individual logo styling
     -------------------------------------------- */
  }
  .hero__title {
    font-size: 5rem;
  }
  .hero__description {
    padding-right: 7rem;
  }
  .hero__wrapper {
    padding: 0 2rem;
  }
  .hero__featured-logos {
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
  }
  .hero__featured-logo {
    max-width: 18%;
  }
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  .hero__featured-logos {
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
@media (max-width: 960px) {
  .hero {
    padding-top: 2rem;
    /* --------------------------------------------
     Main text/content area inside hero
     -------------------------------------------- */
    /* --------------------------------------------
     Hero title (large headline)
     -------------------------------------------- */
    /* --------------------------------------------
     Supporting description text
     -------------------------------------------- */
    /* --------------------------------------------
     Hero image positioned absolutely inside layout
     -------------------------------------------- */
  }
  .hero__content {
    width: 55%;
    font-weight: 300;
  }
  .hero__title {
    font-size: 4.5rem;
  }
  .hero__description {
    padding-right: 4rem;
  }
  .hero__image-wrapper {
    position: absolute;
    z-index: 10;
    top: 1.25rem;
    right: -6.25rem;
  }
}
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .hero {
    /* --------------------------------------------
     Outer wrapper that controls full hero height
     -------------------------------------------- */
    /* --------------------------------------------
     Main content area inside the hero
     -------------------------------------------- */
    /* --------------------------------------------
     Group wrapper for featured logos
     Allows wrapping for smaller screens
     -------------------------------------------- */
    /* --------------------------------------------
     Individual featured logo styling
     -------------------------------------------- */
    /* --------------------------------------------
     Title above featured logos
     -------------------------------------------- */
    /* --------------------------------------------
     Hero image position override for this breakpoint
     -------------------------------------------- */
  }
  .hero__wrapper {
    min-height: 100%;
  }
  .hero__content {
    width: 85%;
    font-weight: 300;
  }
  .hero__featured-logo-group {
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
  .hero__featured-logo {
    max-width: 33%;
    padding: 0.7rem;
  }
  .hero__featured-logos__title {
    margin-bottom: 6rem;
  }
  .hero__image-wrapper {
    top: 12rem;
  }
}
/* Extra small mobile (≤ 576px) */
@media (max-width: 576px) {
  .hero {
    /* --------------------------------------------
     Content section expands full width on mobile
     -------------------------------------------- */
    /* --------------------------------------------
     Hero title scaling down for smaller screens
     -------------------------------------------- */
    /* --------------------------------------------
     Description text reduced + no right padding
     -------------------------------------------- */
    /* --------------------------------------------
     CTA button text size adjustment
     -------------------------------------------- */
    /* --------------------------------------------
     Hero image repositioned for small screens
     -------------------------------------------- */
  }
  .hero__content {
    width: 100%;
  }
  .hero__title {
    font-size: 3.5rem;
  }
  .hero__description {
    font-size: 0.8rem;
    padding-right: 0;
  }
  .hero__cta {
    font-size: 0.8rem;
  }
  .hero__image-wrapper {
    top: 20rem;
    left: 0rem;
  }
}
@media (max-width: 340px) {
  .hero__title {
    font-size: 2.4rem;
  }
  .hero {
    height: 600px;
  }
  .hero__wrapper {
    height: 100%;
  }
  .hero__image-wrapper {
    top: 10rem;
  }
}
/* ============================================================
   ==========   FEATURED TESTIMONIALS SECTION STYLES   =========
   ============================================================
   This section includes:
   - Outer testimonials container
   - Rating stars
   - Quoted testimonial text
   - Giver name + metadata
   ============================================================ */
.testimonials {
  padding: 7rem 0 5rem; /* Spacing above/below entire testimonial block */
}

.testimonial {
  /* ---------------------------------------
     Rating stars (usually 4–5 SVG icons)
     --------------------------------------- */
  /* Quote text */
  /* Person giving the testimonial */
  /* Giver info (title, company, location, etc.) */
}
.testimonial__ratings {
  display: flex;
  margin-bottom: 0.5rem;
}
.testimonial__ratings svg {
  width: 26px;
  height: 26px; /* Ensures consistent star size */
}
.testimonial__quote {
  padding: 1rem 0 1.4rem;
  font-weight: 300;
}
.testimonial__giver {
  padding-bottom: 0;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1; /* Tight, signature-style spacing */
}
.testimonial__giver-info {
  font-weight: 300;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .testimonials {
    padding: 6rem 2rem 6rem;
    padding-right: 0;
  }
}
@media (max-width: 340px) {
  .testimonials {
    padding: 4rem 0 2rem;
  }
  .testimonial__headline {
    font-size: 1.4rem;
  }
  .testimonial__quote {
    font-size: 1rem;
  }
}
/* ============================================================
   ===============   ABOUT SWORN SECTION STYLES   ==============
   ============================================================
   Includes:
   - Main container spacing
   - Description paragraph
   - Feature list layout (icon, title, content)
   ============================================================ */
.about-sworn {
  padding: 3rem 0 10rem; /* Section spacing: top + bottom */
}

/* Description paragraph inside section */
.about-sworn__desc {
  padding-top: 1rem;
  padding-bottom: 2rem;
}

/* ============================================================
   =                       FEATURE LIST                       =
   ============================================================
   Structure:
   - Headline row (icon + title)
   - Content area (indented text beneath headline)
   ============================================================ */
.feature-list {
  /* ---------------------------------------
     Headline row (icon, title)
     --------------------------------------- */
  /* Icon next to headline title */
  /* Headline title; pushes content right */
  /* Supporting content under each headline */
}
.feature-list__headline {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  border-top: 1px solid #101112; /* Divider line */
  width: 100%;
}
.feature-list--icon {
  padding-right: 1rem;
}
.feature-list--title {
  margin-right: auto;
}
.feature-list__content {
  padding-left: 2.5rem; /* Indent to align under headline text */
  padding-bottom: 2rem;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  .about-sworn {
    padding: 3rem 1rem 10rem 1rem;
  }
  .about-sworn__title {
    letter-spacing: 0;
    line-height: 1.2;
    font-size: 3.5rem;
  }
}
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .about-sworn {
    padding: 3rem 1rem 6rem 1rem;
  }
  .about-sworn__title {
    font-size: 3rem;
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
@media (max-width: 960px) {
  /* Your styles here */
}
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .col--40 {
    width: 100%;
  }
  .about-sworn__image {
    display: none;
  }
}
/* Extra small mobile (≤ 576px) */
@media (max-width: 576px) {
  /* Your styles here */
}
@media (max-width: 340px) {
  .about-sworn {
    padding: 2rem 0;
  }
  .about-sworn__title {
    font-size: 2rem;
  }
  .feature-list--title {
    margin-right: auto;
    font-size: 1.1rem;
  }
}
/* ============================================================
   ==============   PERFORMANCE SECTION STYLES   ===============
   ============================================================
   This section includes:
   - Dark background performance block
   - Descriptive text + CTA
   - Decorative performance image positioned at bottom-left
   ============================================================ */
.performance {
  background: #000000;
  color: #ebede9;
  padding: 10rem 0; /* Large vertical spacing */
  position: relative; /* Required for absolutely positioned image */
  background-image: url(../../assets/img/banner_img.jpg);
  background-size: cover;
  background-position: -20rem 0;
  background-repeat: no-repeat;
  /* ---------------------------------------
     Content wrapper (kept above background image)
     --------------------------------------- */
  /* Descriptive paragraph under section title */
  /* Call-to-action button */
  /* ---------------------------------------
     Decorative performance image
     Positioned at the base of the section
     --------------------------------------- */
}
.performance__wrapper {
  z-index: 10;
}
.performance__desc {
  font-weight: 300;
  font-size: 1.125rem;
  padding: 1rem 0;
}
.performance__cta {
  background: #ff4939;
  color: #000000;
  text-transform: uppercase;
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.8rem 2.4rem;
  display: inline-block;
  margin-top: 1rem;
}
.performance__cta:hover {
  background: #eb3434;
  color: #000000;
}
.performance__image {
  position: absolute;
  bottom: 0;
  left: -210px;
  height: 670px;
}
.performance__image img {
  height: 100%; /* Ensures image fills defined height */
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  .performance {
    padding: 6rem 0 8rem;
  }
  .performance .col--60 {
    width: 40%;
  }
}
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .performance {
    padding: 8rem 1rem;
    background-position: -15rem 0;
  }
  .performance__title {
    font-size: 3rem;
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
@media (max-width: 960px) {
  .performance {
    padding: 8rem 1rem;
    background-position: -20rem 0;
  }
  .performance__title {
    font-size: 3rem;
  }
  .performance__desc {
    font-size: 1rem;
  }
}
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .performance {
    padding: 3rem 1rem 30rem 1rem;
    background-position: -20rem 12rem;
  }
  .performance .col--60 {
    width: 100%;
  }
  .performance__image {
    position: absolute;
    bottom: 0;
    left: -150px;
    height: auto;
  }
}
/* Extra small mobile (≤ 576px) */
@media (max-width: 576px) {
  .performance {
    padding: 3rem 1rem 20rem 1rem;
  }
  .performance__title {
    font-size: 2.4rem;
  }
}
/* Ultra small mobile (≤ 360px) */
@media (max-width: 340px) {
  .performance__title {
    font-size: 2rem;
  }
  .performance__desc {
    font-size: 0.9rem;
  }
  .performance__cta {
    font-size: 0.9rem;
  }
}
/* ============================================================
   ================    COMMUNITY SLIDER SECTION   ==============
   ============================================================
   Contains:
   - Section header
   - Carousel wrapper + swiper styles
   - Navigation controls
   - Testimonial cards (community-user)
   - Dynamic slide backgrounds
   ============================================================ */
.community {
  padding: 10rem 0 0;
}
.community__headline {
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 6rem;
  color: #000000;
}

/* ============================================================
   =                    CAROUSEL STRUCTURE                     =
   ============================================================ */
.my-carousel {
  position: relative;
  /* Swiper track wrapper */
}
.my-carousel__swiper {
  padding-bottom: 200px; /* Space for controls */
}

/* Swiper.js base overrides */
.community .swiper {
  padding-bottom: 10rem !important;
}

.swiper-3d {
  perspective: 2500px !important;
}

/* ============================================================
   =                    CAROUSEL CONTROLS                      =
   ============================================================ */
.my-carousel__actions {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.my-carousel__control {
  border-radius: 5em;
  font-size: 20px;
  font-weight: 500;
  background-color: #e0e0e0;
  height: 80px;
  width: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.2s ease;
}
.my-carousel__control img {
  height: 50px;
  width: 50px;
}
.my-carousel__control:hover {
  cursor: pointer;
  opacity: 0.8;
  background: #ff4939;
}
.my-carousel__control svg {
  fill: black;
}

/* Wrapper for each slide card */
.swiper-card {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ============================================================
   =                      TESTIMONIAL CARD                     =
   ============================================================ */
.community-user {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  aspect-ratio: 2/3;
  width: 400px;
  color: #fff;
  background-color: #101112;
  border-radius: 20px;
  position: relative;
  font-size: 22px;
  font-weight: bold;
  /* Dark fade overlay for text readability */
  /* Foreground content wrapper */
}
.community-user::after {
  content: "";
  position: absolute;
  z-index: 1;
  height: 100%;
  width: 100%;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.73) 50%, rgb(0, 0, 0) 100%);
}
.community-user__wrapper {
  padding: 1.5rem 1.8rem;
  z-index: 10; /* Above gradient */
}
.community-user__quote {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 400;
  font-size: 1.75rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}
.community-user__name {
  font-size: 1.4rem;
  text-transform: uppercase;
  margin-bottom: 0;
}

/* ============================================================
   =                   SLIDE BACKGROUND IMAGES                 =
   ============================================================
   Optimization:
   - Removed repeated `background-size: cover;`
   - Use a mixin if many slides are added in future
   ============================================================ */
.slide {
  background-size: cover;
}
.slide--1 {
  background-image: url(../../assets/img/slides/slide_1.jpg);
}
.slide--2 {
  background-image: url(../../assets/img/slides/slide_2.jpg);
}
.slide--3 {
  background-image: url(../../assets/img/slides/slide_3.jpg);
}
.slide--4 {
  background-image: url(../../assets/img/slides/slide_4.jpg);
}
.slide--5 {
  background-image: url(../../assets/img/slides/slide_5.jpg);
}
.slide--6 {
  background-image: url(../../assets/img/slides/slide_1.jpg);
}
.slide--7 {
  background-image: url(../../assets/img/slides/slide_2.jpg);
}
.slide--8 {
  background-image: url(../../assets/img/slides/slide_3.jpg);
}
.slide--9 {
  background-image: url(../../assets/img/slides/slide_4.jpg);
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  .community__headline {
    font-size: 3rem;
  }
}
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  /* Your styles here */
}
/* Large mobile / horizontal phones (≤ 960px) */
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  /* Your styles here */
}
/* Extra small mobile (≤ 576px) */
@media (max-width: 576px) {
  .community__headline {
    margin-bottom: 4rem;
    font-size: 3.5rem;
  }
}
/* Ultra small mobile (≤ 360px) */
@media (max-width: 340px) {
  .community {
    padding-top: 5rem;
  }
  .community-user__quote {
    font-size: 1.3rem;
  }
  .community-user__name {
    font-size: 1rem;
  }
}
/* ============================================================
   ===============   BRAIN MRI SECTION STYLES   ================
   ============================================================
   This section includes:
   - MRI container (dark background)
   - Headline, title, description
   - Custom bullet list
   ============================================================ */
.mri {
  color: #ebede9;
  background: #000000;
  margin-top: 10rem;
  padding: 10rem 0 4rem;
  /* Shared lightweight text styling */
  /* ---------------------------------------
     Section headline
     --------------------------------------- */
  /* MRI sub-title */
  /* Description under each title */
  /* ---------------------------------------
     List item (custom bullet points)
     --------------------------------------- */
}
.mri__main-headline, .mri__title, .mri__desc, .mri__list-item {
  font-weight: 300;
}
.mri-image__mobile {
  display: none;
}
.mri__main-headline {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  margin-bottom: 6rem;
}
.mri__title {
  margin-top: 2.2rem;
  text-transform: uppercase;
}
.mri__desc {
  padding: 0 0 1rem 0;
  opacity: 0.7;
}
.mri__list--item {
  font-size: 0.9rem;
  position: relative;
  padding-left: 1.1rem;
  margin-bottom: 0.5rem;
  opacity: 0.7;
}
.mri__list--item::before {
  /* Custom circle bullet */
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 8px;
  height: 8px;
  background: #ebede9;
  border-radius: 50%;
  transform: translateY(-50%);
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .mri {
    padding: 8rem 1rem 4rem 1rem;
  }
  .mri__main-headline {
    margin-bottom: 2rem;
    font-size: 3rem;
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
@media (max-width: 960px) {
  .mri__title {
    margin-top: 0;
  }
  .mri-image__desktop {
    display: none;
  }
  .mri-image__mobile {
    display: block;
    padding-right: 3rem;
  }
  .mri__main-headline {
    margin-bottom: 1rem;
    font-size: 3rem;
  }
  .mri .row {
    flex-wrap: wrap;
  }
  .mri .col--30 {
    width: 100%;
    display: flex;
    align-items: center;
    padding-bottom: 2rem;
  }
  .mri .col--30:last-child {
    padding-bottom: 0;
  }
}
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .mri__main-headline {
    margin-bottom: 1rem;
    font-size: 2.5rem;
  }
}
/* Extra small mobile (≤ 576px) */
@media (max-width: 576px) {
  .mri {
    padding: 6rem 1rem 3rem 1rem;
  }
  .mri .col--30 {
    align-items: flex-start;
  }
  .mri__main-headline {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
  .mri-image__mobile {
    padding-right: 1rem;
  }
  .mri__title {
    font-size: 1.5rem;
  }
}
@media (max-width: 340px) {
  .mri .col--30 {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* ============================================================
   ===============   MRI TESTIMONIAL SECTION   ================
   ============================================================
   Includes:
   - Quote text
   - Testimonial giver avatar + details
   - Centered layout on dark background
   ============================================================ */
.mri-testimonial {
  background: #000000;
  color: #ebede9;
  padding: 4rem 0 8rem;
  /* ---------------------------------------
     Testimonial quote text
     --------------------------------------- */
  /* Wrapper for avatar + name + details */
  /* Avatar image */
  /* Testimonial giver name */
  /* Testimonial giver role, title, etc. */
}
.mri-testimonial__quote {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.6;
  font-weight: 400;
  font-size: 1.75rem;
  font-style: italic;
  font-weight: 400;
  text-align: center;
}
.mri-testimonial__giver-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2rem;
}
.mri-testimonial__giver-image {
  border-radius: 50%; /* More semantic than huge pixel radius */
  height: 70px;
  width: 70px; /* Added: prevents distorted circles */
  margin-right: 1rem;
}
.mri-testimonial__giver-name {
  line-height: 1; /* Tight, clean spacing */
}
.mri-testimonial__giver-details {
  font-weight: 300;
  opacity: 0.7;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  .mri-testimonial {
    padding: 4rem 1rem 8rem 1rem;
  }
}
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .mri-testimonial__quote {
    font-size: 1.5rem;
  }
  .mri-testimonial__giver-name {
    font-size: 1.2rem;
  }
  .mri-testimonial__giver-details {
    font-size: 1rem;
  }
}
/* Ultra Small Screen (≤ 360px) */
@media (max-width: 768px) {
  .mri-testimonial {
    padding: 2rem 1rem 4rem 1rem;
  }
  .mri-testimonial__quote {
    font-size: 1.2rem;
  }
  .mri-testimonial__giver-image {
    margin-right: 0;
    margin-bottom: 1rem;
  }
  .mri-testimonial__giver-wrapper {
    flex-direction: column;
    text-align: center;
  }
}
/* ============================================================
   ===============   RESULTS SECTION STYLES   ==================
   ============================================================
   Includes:
   - Section container (dark background)
   - Headline + description text
   - Result image block
   ============================================================ */
.results {
  background: #101112;
  color: #ebede9;
  padding: 10rem 0;
  /* ---------------------------------------
     Typography (shared font family)
     --------------------------------------- */
  /* Main headline */
  /* Section description text */
  /* Image block spacing */
}
.results__headline, .results__desc {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
}
.results__headline {
  line-height: 1.2;
}
.results__desc {
  font-weight: 300;
  font-size: 1.25rem;
  opacity: 0.7;
  margin-top: 1rem;
}
.results__image {
  padding-top: 6rem;
}
.results__image--desktop {
  display: block;
}
.results__image--tablet {
  display: none;
}
.results__image--mobile {
  display: none;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .results {
    padding: 10rem 1rem 10rem 1rem;
  }
  .results__headline {
    line-height: 1.2;
    font-size: 2.8rem;
  }
  .results__desc {
    font-size: 1rem;
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
@media (max-width: 960px) {
  .results__image--desktop {
    display: none;
  }
  .results__image--tablet {
    display: block;
  }
  .results__image--mobile {
    display: none;
  }
}
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .results {
    padding: 8rem 1rem 8rem 1rem;
  }
  .results .row {
    flex-direction: column;
  }
  .results .col--40,
  .results .col--50 {
    width: 100%;
  }
  .results__image {
    padding-top: 3rem;
  }
  .results__image--desktop {
    display: none;
  }
  .results__image--tablet {
    display: none;
  }
  .results__image--mobile {
    display: block;
  }
}
/* Extra small mobile (≤ 576px) */
/* ============================================================
   ===============   PRODUCT SECTION STYLES   =================
   ============================================================
   Includes:
   - Product section heading + description
   - Product Selector Form
   - Custom radio buttons
   - Pricing display
   - Submit button
   ============================================================ */
.product {
  padding: 8rem 0;
}
.product__headline {
  margin-bottom: 1rem;
  font-weight: 600;
  letter-spacing: 1px;
}
.product__desc {
  margin-bottom: 1.2rem;
}

/* ============================================================
   =                 PRODUCT FORM (OPTIONS)                    =
   ============================================================ */
.product-form {
  /* ---------------------------------------
     Native radio (visually hidden but accessible)
     --------------------------------------- */
  /* ---------------------------------------
     Custom Radio (visual circle)
     --------------------------------------- */
  /* ---------------------------------------
     Each selectable option row
     --------------------------------------- */
  /* ---------------------------------------
     Headline inside each option
     --------------------------------------- */
  /* ---------------------------------------
     Price row (includes original + discounted)
     --------------------------------------- */
  /* Divider between option descriptions */
  /* ---------------------------------------
     Text wrapper around option details
     --------------------------------------- */
  /* Each text bullet item */
  /* ---------------------------------------
     When option is selected
     --------------------------------------- */
  /* ---------------------------------------
     Submit button
     --------------------------------------- */
}
.product-form__radio {
  position: absolute;
  opacity: 0; /* Hides but keeps it interactive */
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.product-form__custom-radio {
  width: 20px;
  height: 20px;
  border: 2px solid #555;
  border-radius: 50%;
  position: absolute;
  top: 1.4rem;
  left: 1rem;
  /* Inner dot when checked */
}
.product-form__radio:checked + .product-form__custom-radio::after {
  content: "";
  width: 10px;
  height: 10px;
  background: #000000;
  border-radius: 50%;
  position: absolute;
  top: 3px;
  left: 3px;
}
.product-form__option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  cursor: pointer;
  position: relative; /* Allows absolute-positioned radio */
}
.product-form__text-headline {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.product-form__title {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  font-weight: 600;
}
.product-form__price {
  display: flex;
}
.product-form__price .product-form__orginal-price {
  opacity: 0.2;
  padding-left: 0.2rem;
  text-decoration: line-through;
}
.product-form__divider {
  margin: 16px 0 8px;
  height: 1px;
  background: #696969;
  margin-left: -1.4rem;
}
.product-form__text-wrapper {
  width: 100%;
  padding: 1rem 1rem 1rem 2.8rem;
  border: 1px solid #000000;
  opacity: 0.3;
  transition: opacity 0.2s ease, outline 0.2s ease;
}
.product-form__list--item {
  padding: 0.1rem 0;
  display: flex;
  align-items: center;
  margin-left: -2rem;
  font-size: 1rem;
}
.product-form__radio:checked ~ .product-form__text-wrapper {
  outline: 1px solid #000000;
  opacity: 1;
}
.product-form__submit {
  margin-top: 20px;
  width: 100%;
  background: #ff4939;
  color: #fff;
  border: none;
  padding: 12px 20px;
  color: #000000;
  cursor: pointer;
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.02;
  transition: background 0.2s ease;
}
.product-form__submit:hover {
  background: #eb3434;
  color: #000000;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  /* Your styles here */
}
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .product {
    padding: 8rem 1rem 8rem 1rem;
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .product {
    padding: 5rem 1rem 5rem 1rem;
  }
  .product .row {
    flex-direction: column-reverse;
  }
  .product .col--50 {
    width: 100%;
    padding-bottom: 2rem;
  }
}
/* Extra small mobile (≤ 576px) */
@media (max-width: 576px) {
  .product__headline {
    font-size: 2rem;
  }
  .product-form__custom-radio {
    top: 0.9rem;
  }
  .product-form__title,
  .product-form__discounted-price,
  .product-form__orginal-price {
    font-size: 1rem;
    line-height: 1;
  }
}
/* ============================================================
   ===============   FAQ (Frequently Asked Questions)   =========
   ============================================================
   Structure:
   - FAQ container
   - FAQ item (question + answer)
   - Expand/collapse style ready
   ============================================================ */
.faq {
  padding: 5rem 0;
  /* ---------------------------------------
     Each FAQ item (accordion row)
     --------------------------------------- */
  /* Wrapper for arranging question + icon */
  /* ---------------------------------------
     The question section
     --------------------------------------- */
  /* ---------------------------------------
     The answer text revealed on expand
     --------------------------------------- */
}
.faq__item {
  border-top: 1px solid #000000;
  cursor: pointer; /* Indicates clickable accordion behavior */
}
.faq__question-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.faq__question {
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  font-weight: 600;
  font-size: 1.25rem; /* FIXED: 'rem' was invalid */
  padding: 1rem 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  /* The question text only (excludes icon) */
}
.faq__question--text {
  font-size: 1.275rem;
}
.faq__answer {
  padding-bottom: 1.5rem;
  padding-right: 2rem;
  opacity: 0.85;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  /* Your styles here */
}
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .faq {
    padding: 5rem 1rem;
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .faq .row {
    flex-direction: column;
    row-gap: 3rem;
  }
  .faq .col--40,
  .faq .col--60 {
    width: 100%;
  }
}
/* Extra small mobile (≤ 576px) */
@media (max-width: 576px) {
  .faq__headline {
    font-size: 2.5rem;
  }
}
/* Extra ultra small mobile (≤ 360px) */
@media (max-width: 340px) {
  .faq__question--text {
    font-size: 1rem;
  }
}
/* ============================================================
   ===============  FREQUENTLY ASKED QUESTIONS  ===============
   ============================================================ */
/* (FAQ styles would go here — placeholder for organization) */
/* ============================================================
   =======================   APP SECTION   =====================
   ============================================================
   This section includes:
   - App showcase image
   - Headline + descriptive text
   - Dark background with light text for contrast
   ============================================================ */
.app {
  background: #101112;
  color: #ebede9;
  padding: 5rem 0;
  /* ---------------------------------------
     App preview image
     --------------------------------------- */
  /* Section headline */
  /* App description text */
}
.app__img {
  max-width: 400px;
  margin: 0 auto; /* Centers the image block */
  display: block; /* Ensures consistent centering */
}
.app__headline {
  margin-bottom: 1rem;
}
.app__desc {
  font-size: 1.275rem;
  font-family: "FKGroteskTrial", Arial, Helvetica, sans-serif;
  font-weight: 300;
  opacity: 0.9; /* Slightly softer for readability (optional) */
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  /* Your styles here */
}
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .app {
    padding: 5rem 1rem;
  }
  .app__img {
    width: 70%;
  }
  .app__headline {
    font-size: 3rem;
  }
  .app__desc {
    font-size: 1rem;
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .app .row {
    flex-direction: column;
    row-gap: 2rem;
  }
  .app .col--50 {
    width: 100%;
  }
  .app__headline {
    font-size: 2.4rem;
  }
  .app__desc {
    font-size: 1rem;
  }
  .app__img {
    width: 100%;
  }
}
/* Extra small mobile (≤ 576px) */
/* ============================================================
   ======================   FOOTER STYLES   ====================
   ============================================================
   Structure Includes:
   - Footer container (background, spacing)
   - Logo sizing
   - Navigation / info list items
   - Social links (icon + text)
   ============================================================ */
.footer {
  background: #000000;
  color: #ebede9;
  padding: 5rem 0;
  /* ---------------------------------------
     Footer brand logo
     --------------------------------------- */
  /* Footer column heading */
  /* Standard footer list item */
  /* ---------------------------------------
     Social links container
     (icon + label aligned horizontally)
     --------------------------------------- */
  /* Social icon size + spacing */
}
.footer__logo {
  width: 300px;
}
.footer__heading {
  margin-bottom: 1rem;
}
.footer__item {
  font-size: 1rem;
  padding: 1rem 0;
}
.footer__social-item {
  padding: 0.6rem 0;
  display: flex;
  align-items: center;
}
.footer__social-icon {
  margin-right: 0.8rem;
  height: 40px;
  width: auto;
}

/* ============================================================
   =                 RESPONSIVE BREAKPOINTS                   =
   ============================================================ */
/* Ultra-wide screens (≤ 2400px) */
@media (max-width: 2400px) {
  /* Your styles here */
}
/* Desktop screens (≤ 1920px) */
@media (max-width: 1920px) {
  /* Your styles here */
}
/* Large laptops / 1440 displays (≤ 1400px) */
@media (max-width: 1400px) {
  /* Your styles here */
}
/* Tablets landscape / medium displays (≤ 1200px) */
@media (max-width: 1200px) {
  .footer {
    padding: 5rem 1rem;
  }
  .footer .col--40 {
    width: 30%;
  }
  .footer .col--60 {
    width: 65%;
  }
  .footer__heading {
    font-size: 1.5rem;
  }
  .footer__link {
    font-size: 1rem;
  }
}
/* Large mobile / horizontal phones (≤ 960px) */
/* Standard mobile (≤ 768px) */
@media (max-width: 768px) {
  .footer .row {
    flex-direction: column;
  }
  .footer .col--40,
  .footer .col--60 {
    width: 100%;
  }
  .footer .col--40 .row,
  .footer .col--60 .row {
    flex-direction: row;
    padding-top: 4rem;
  }
}
/* Extra small mobile (≤ 576px) */
@media (max-width: 576px) {
  .footer__logo {
    width: 220px;
  }
  .footer .row {
    flex-direction: column;
  }
  .footer__heading {
    font-size: 1.1rem;
  }
  .footer__link {
    font-size: 0.8rem;
  }
  .footer .col--40,
  .footer .col--60 {
    width: 100%;
  }
  .footer .col--40 .row,
  .footer .col--60 .row {
    flex-direction: row;
    padding-top: 2rem;
  }
}
/* Extra small mobile (≤ 360px) */
@media (max-width: 340px) {
  .footer .col--60 .row {
    flex-direction: column;
    row-gap: 2rem;
  }
  .footer .col--60 .row .col--30 {
    width: 100%;
  }
  .mri .col--30 {
    align-items: flex-start;
  }
}/*# sourceMappingURL=main.css.map */