:root {
   --aimec-bg-base: #0a0a0a;
   --aimec-bg-soft: #0f0f0f;
   --aimec-bg-deep: #050505;
   --aimec-bg-emphasis: #141414;
   --aimec-line: rgba(255, 255, 255, 0.06);
   --aimec-line-strong: rgba(255, 255, 255, 0.14);
}

body { background-color: var(--aimec-bg-base); }

.section-anchor {
   position: relative;
   overflow: hidden;
   isolation: isolate;
}
.section-anchor > .container { position: relative; z-index: 3; }
.section-bg {
   position: absolute;
   inset: 0;
   pointer-events: none;
   z-index: 1;
}

.bg-waveform {
   background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='200' viewBox='0 0 1200 200' fill='none'><g stroke='%23ffffff' stroke-opacity='0.045' stroke-width='1.2' stroke-linecap='round'><path d='M0 100 Q 30 60 60 100 T 120 100 T 180 100 T 240 100 T 300 100 T 360 100 T 420 100 T 480 100 T 540 100 T 600 100 T 660 100 T 720 100 T 780 100 T 840 100 T 900 100 T 960 100 T 1020 100 T 1080 100 T 1140 100 T 1200 100'/><path d='M0 130 Q 30 110 60 130 T 120 130 T 180 130 T 240 130 T 300 130 T 360 130 T 420 130 T 480 130 T 540 130 T 600 130 T 660 130 T 720 130 T 780 130 T 840 130 T 900 130 T 960 130 T 1020 130 T 1080 130 T 1140 130 T 1200 130'/><path d='M0 70 Q 30 30 60 70 T 120 70 T 180 70 T 240 70 T 300 70 T 360 70 T 420 70 T 480 70 T 540 70 T 600 70 T 660 70 T 720 70 T 780 70 T 840 70 T 900 70 T 960 70 T 1020 70 T 1080 70 T 1140 70 T 1200 70'/></g></svg>");
   background-size: 1200px 200px;
   background-repeat: repeat;
}
.bg-eq-bars {
   background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='480' height='180' viewBox='0 0 480 180'><g fill='%23ffffff' fill-opacity='0.035'><rect x='4' y='60' width='10' height='60' rx='2'/><rect x='22' y='30' width='10' height='120' rx='2'/><rect x='40' y='75' width='10' height='45' rx='2'/><rect x='58' y='15' width='10' height='150' rx='2'/><rect x='76' y='50' width='10' height='75' rx='2'/><rect x='94' y='80' width='10' height='30' rx='2'/><rect x='112' y='38' width='10' height='105' rx='2'/><rect x='130' y='65' width='10' height='50' rx='2'/><rect x='148' y='22' width='10' height='135' rx='2'/><rect x='166' y='72' width='10' height='40' rx='2'/><rect x='184' y='45' width='10' height='90' rx='2'/><rect x='202' y='58' width='10' height='65' rx='2'/><rect x='220' y='28' width='10' height='125' rx='2'/><rect x='238' y='82' width='10' height='22' rx='2'/><rect x='256' y='50' width='10' height='80' rx='2'/><rect x='274' y='35' width='10' height='100' rx='2'/><rect x='292' y='68' width='10' height='48' rx='2'/><rect x='310' y='18' width='10' height='140' rx='2'/><rect x='328' y='72' width='10' height='38' rx='2'/><rect x='346' y='40' width='10' height='95' rx='2'/><rect x='364' y='55' width='10' height='70' rx='2'/><rect x='382' y='25' width='10' height='130' rx='2'/><rect x='400' y='62' width='10' height='58' rx='2'/><rect x='418' y='42' width='10' height='88' rx='2'/><rect x='436' y='78' width='10' height='32' rx='2'/><rect x='454' y='32' width='10' height='115' rx='2'/></g></svg>");
   background-size: 480px 180px;
   background-repeat: repeat-x;
   background-position: center bottom;
}
.bg-dots {
   background-image: radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px);
   background-size: 28px 28px;
}
.bg-diagonal {
   background-image:
      linear-gradient(135deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px),
      linear-gradient(45deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px);
   background-size: 48px 48px;
}
.bg-glow-top {
   background:
      radial-gradient(ellipse 80% 60% at 50% 0%,
         rgba(var(--bs-primary-rgb), 0.07) 0%,
         rgba(var(--bs-primary-rgb), 0.02) 40%,
         transparent 75%);
}
.bg-glow-side {
   background:
      radial-gradient(ellipse 60% 80% at 100% 50%,
         rgba(var(--bs-primary-rgb), 0.05) 0%,
         transparent 65%),
      radial-gradient(ellipse 60% 80% at 0% 50%,
         rgba(255, 255, 255, 0.018) 0%,
         transparent 65%);
}

.section-divider {
   height: 1px;
   background: linear-gradient(90deg,
      transparent 0%,
      rgba(var(--bs-primary-rgb), 0.5) 50%,
      transparent 100%);
   margin: 0;
   position: relative;
   z-index: 5;
}

.section-heading small {
   display: inline-block;
   padding: 0.4rem 0.9rem;
   border: 1px solid rgba(255, 255, 255, 0.12);
   border-radius: 2px;
   background: rgba(255, 255, 255, 0.02);
   font-size: 0.72rem;
   letter-spacing: 0.18em;
   color: rgba(255, 255, 255, 0.6);
}
.section-bg-dark  { background-color: #0f0f0f; }
.section-bg-darker { background-color: #0a0a0a; }

.btn-aimec {
   text-transform: uppercase;
   letter-spacing: 0.12em;
   font-size: 0.82rem;
   font-weight: 700;
   padding: 1rem 2.2rem;
   border-radius: 2px;
   transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease,
               color 0.25s ease, border-color 0.25s ease, filter 0.25s ease;
   border: 1px solid transparent;
   position: relative;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 0.6rem;
   line-height: 1;
   text-decoration: none;
}
.btn-aimec--primary {
   background: rgb(var(--bs-primary-rgb));
   color: #fff;
   border-color: rgb(var(--bs-primary-rgb));
   box-shadow: 0 6px 20px rgba(var(--bs-primary-rgb), 0.28);
}
.btn-aimec--primary:hover,
.btn-aimec--primary:focus {
   color: #fff;
   transform: translateY(-2px);
   box-shadow: 0 12px 32px rgba(var(--bs-primary-rgb), 0.45);
   filter: brightness(1.08);
}
.btn-aimec--ghost {
   background: transparent;
   color: #fff;
   border-color: rgba(255, 255, 255, 0.35);
   backdrop-filter: blur(6px);
}
.btn-aimec--ghost:hover,
.btn-aimec--ghost:focus {
   background: rgba(255, 255, 255, 0.08);
   color: #fff;
   border-color: #fff;
   transform: translateY(-2px);
}
.btn-aimec--dark {
   background: #fff;
   color: #0a0a0a;
   border-color: #fff;
   font-weight: 700;
}
.btn-aimec--dark:hover,
.btn-aimec--dark:focus {
   background: rgba(255,255,255,0.88);
   color: #0a0a0a;
   border-color: rgba(255,255,255,0.88);
   transform: translateY(-2px);
   box-shadow: 0 8px 28px rgba(0,0,0,0.25);
   box-shadow: 0 14px 38px rgba(0, 0, 0, 0.55);
}

.hero-video {
   position: relative;
   width: 100%;
   min-height: 100vh;
   overflow: hidden;
   display: flex;
   align-items: center;
   justify-content: center;
}
.hero-video__media {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   z-index: 0;
}
.hero-video__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg,
      rgba(0,0,0,0.55) 0%,
      rgba(0,0,0,0.7) 60%,
      rgba(15,15,15,0.95) 100%);
   z-index: 1;
}
.hero-video__content {
   position: relative;
   z-index: 2;
   text-align: center;
   padding: 6rem 1rem 4rem;
   max-width: 1100px;
}
.hero-video__title {
   font-weight: 800;
   font-size: clamp(2.2rem, 6vw, 5rem);
   line-height: 1.05;
   letter-spacing: -0.02em;
   text-transform: uppercase;
   color: #fff;
   text-shadow: 0 4px 32px rgba(0,0,0,0.6);
   margin-bottom: 1.5rem;
}
.hero-video__title .accent {
   background: linear-gradient(90deg, rgb(var(--bs-primary-rgb)) 0%, #fff 100%);
   -webkit-background-clip: text;
   background-clip: text;
   -webkit-text-fill-color: transparent;
   display: inline-block;
}
.hero-video__subtitle {
   font-size: clamp(1rem, 1.6vw, 1.35rem);
   max-width: 780px;
   margin: 0 auto 2.5rem;
   color: rgba(255,255,255,0.85);
   line-height: 1.6;
   text-shadow: 0 2px 16px rgba(0,0,0,0.5);
}
.hero-video__subtitle strong {
   color: #fff;
   font-weight: 700;
}
.hero-video__scroll {
   position: absolute;
   bottom: 2rem;
   left: 50%;
   transform: translateX(-50%);
   z-index: 2;
   color: rgba(255,255,255,0.7);
   animation: heroBounce 2.5s ease-in-out infinite;
}
@keyframes heroBounce {
   0%, 100% { transform: translate(-50%, 0); }
   50%       { transform: translate(-50%, 10px); }
}

.proof-card {
   background: linear-gradient(145deg, #1a1a1a 0%, #161616 100%);
   border: 1px solid rgba(255,255,255,0.06);
   border-radius: 14px;
   padding: 1.5rem 1.25rem;
   height: 100%;
   transition: transform 0.3s ease, border-color 0.3s ease;
}
.proof-card:hover {
   transform: translateY(-4px);
   border-color: rgba(var(--bs-primary-rgb), 0.4);
}
.proof-card__icon {
   width: 52px;
   height: 52px;
   border-radius: 12px;
   background: rgba(var(--bs-primary-rgb), 0.12);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 1rem;
   color: rgb(var(--bs-primary-rgb));
   font-size: 1.6rem;
}

.diff-card {
   position: relative;
   border-radius: 16px;
   overflow: hidden;
   min-height: 320px;
   display: flex;
   align-items: flex-end;
   background: #1a1a1a;
   transition: transform 0.4s ease;
}
.diff-card:hover { transform: translateY(-6px); }
.diff-card__img {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.6s ease, filter 0.4s ease;
   filter: brightness(0.55);
}
.diff-card:hover .diff-card__img {
   transform: scale(1.05);
   filter: brightness(0.7);
}
.diff-card__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.85) 100%);
}
.diff-card__content {
   position: relative;
   z-index: 2;
   padding: 1.5rem;
   color: #fff;
   width: 100%;
}
.diff-card__content h4 {
   font-weight: 700;
   margin-bottom: 0.5rem;
}
.diff-card__content p {
   font-size: 0.92rem;
   color: rgba(255,255,255,0.8);
   margin: 0;
}

.journey-map {
   position: relative;
   padding: 2rem 0;
}
.journey-center {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 220px;
   height: 220px;
   border-radius: 50%;
   background:
      radial-gradient(circle at 50% 50%,
         #050505 0%, #050505 32%,
         #1a1a1a 33%, #2a2a2a 34%,
         #1a1a1a 60%, #0a0a0a 100%);
   border: 2px solid rgba(var(--bs-primary-rgb), 0.5);
   margin: 0 auto;
   box-shadow:
      0 0 60px rgba(var(--bs-primary-rgb), 0.35),
      inset 0 0 30px rgba(var(--bs-primary-rgb), 0.1),
      inset 0 0 0 1px rgba(255,255,255,0.04);
   z-index: 3;
   position: relative;
   animation: journeySpin 18s linear infinite;
}
.journey-center::before {
   content: "";
   position: absolute;
   inset: 12%;
   border-radius: 50%;
   background:
      repeating-radial-gradient(circle at 50% 50%,
         rgba(255,255,255,0.025) 0px,
         rgba(255,255,255,0.025) 1px,
         transparent 1px,
         transparent 4px),
      radial-gradient(circle at 50% 50%, #141414 0%, #0a0a0a 100%);
   box-shadow: inset 0 0 20px rgba(0,0,0,0.7);
}
.journey-center::after {
   content: "";
   position: absolute;
   left: 50%;
   top: 50%;
   width: 14px;
   height: 14px;
   border-radius: 50%;
   transform: translate(-50%, -50%);
   z-index: 2;
}
.journey-center img {
   position: relative;
   z-index: 1;
   width: 55%;
   height: auto;
   object-fit: contain;
   filter: drop-shadow(0 4px 12px rgba(0,0,0,0.8));
}
@keyframes journeySpin {
   from { transform: rotate(0deg); }
   to   { transform: rotate(360deg); }
}
.journey-node {
   background: linear-gradient(145deg, #1c1c1c 0%, #141414 100%);
   border: 1px solid rgba(var(--bs-primary-rgb), 0.25);
   border-radius: 14px;
   padding: 1.25rem 1rem;
   text-align: center;
   height: 100%;
   transition: all 0.3s ease;
   position: relative;
}
.journey-node:hover {
   border-color: rgb(var(--bs-primary-rgb));
   transform: translateY(-4px);
   box-shadow: 0 10px 30px rgba(var(--bs-primary-rgb), 0.15);
}
.journey-node__icon {
   width: 60px;
   height: 60px;
   border-radius: 50%;
   background: rgba(var(--bs-primary-rgb), 0.12);
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 0.75rem;
   color: rgb(var(--bs-primary-rgb));
   font-size: 1.5rem;
}
.journey-node__title {
   font-weight: 700;
   margin-bottom: 0.35rem;
   font-size: 1.05rem;
}
.journey-node__desc {
   font-size: 0.85rem;
   color: rgba(255,255,255,0.65);
   margin: 0;
}

.products-spotlight {
   position: relative;
   background:
      radial-gradient(ellipse 70% 45% at 50% 0%,
         rgba(var(--bs-primary-rgb), 0.06) 0%,
         rgba(var(--bs-primary-rgb), 0.015) 35%,
         transparent 70%),
      linear-gradient(180deg, #0c0c0c 0%, #070707 50%, #0c0c0c 100%);
   overflow: hidden;
   isolation: isolate;
}
.products-spotlight__vinyl {
   position: absolute;
   inset: -10%;
   background-image:
      repeating-radial-gradient(circle at 50% 50%,
         rgba(255, 255, 255, 0.018) 0px,
         rgba(255, 255, 255, 0.018) 1px,
         transparent 1px,
         transparent 11px);
   opacity: 0.5;
   pointer-events: none;
   z-index: 1;
   mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 75%);
   -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0%, transparent 75%);
}
.products-spotlight > .container { position: relative; z-index: 3; }

.product-card {
   background: linear-gradient(160deg, #161616 0%, #0e0e0e 100%);
   border: 1px solid rgba(255, 255, 255, 0.06);
   border-radius: 12px;
   overflow: hidden;
   transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
   height: 100%;
   display: flex;
   flex-direction: column;
}
.product-card:hover {
   transform: translateY(-4px);
   border-color: rgba(var(--bs-primary-rgb), 0.35);
   box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
.product-card__media {
   position: relative;
   overflow: hidden;
   height: 220px;
}
.product-card__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.6s ease;
}
.product-card:hover .product-card__media img { transform: scale(1.06); }
.product-card__media::after {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, transparent 50%, rgba(14, 14, 14, 0.9) 100%);
   pointer-events: none;
}
.product-card__badge-strip {
   position: absolute;
   top: 1rem;
   left: 1rem;
   z-index: 2;
   display: flex;
   flex-wrap: wrap;
   gap: 0.4rem;
}
.product-card__badge {
   background: rgba(0, 0, 0, 0.75);
   border: 1px solid rgba(var(--bs-primary-rgb), 0.5);
   color: #fff;
   padding: 0.25rem 0.6rem;
   border-radius: 2px;
   font-size: 0.7rem;
   text-transform: uppercase;
   letter-spacing: 0.08em;
   font-weight: 600;
   backdrop-filter: blur(8px);
}
.product-card__body {
   padding: 1.5rem;
   display: flex;
   flex-direction: column;
   flex-grow: 1;
}
.product-card__title {
   font-weight: 700;
   font-size: 1.25rem;
   margin-bottom: 0.5rem;
   color: #fff;
}
.product-card__cta {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
   color: rgb(var(--bs-primary-rgb));
   text-transform: uppercase;
   letter-spacing: 0.1em;
   font-size: 0.78rem;
   font-weight: 700;
   transition: gap 0.25s ease;
}
.product-card:hover .product-card__cta { gap: 0.9rem; }
.product-card__meta {
   font-size: 0.75rem;
   color: rgba(255, 255, 255, 0.5);
   text-transform: uppercase;
   letter-spacing: 0.1em;
}

.testimonial-card {
   position: relative;
   border-radius: 18px;
   overflow: hidden;
   height: 100%;
   min-height: 460px;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   background: #1a1a1a;
   box-shadow: 0 12px 40px rgba(0,0,0,0.45);
   transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.testimonial-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 18px 50px rgba(0,0,0,0.6);
}
.testimonial-card__photo {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center top;
   transition: transform 0.6s ease;
}
.testimonial-card:hover .testimonial-card__photo { transform: scale(1.04); }
.testimonial-card__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg,
      rgba(0,0,0,0) 35%,
      rgba(0,0,0,0.85) 80%,
      rgba(0,0,0,0.95) 100%);
}
.testimonial-card__body {
   position: relative;
   z-index: 2;
   padding: 1.75rem;
   color: #fff;
}
.testimonial-card__quote {
   color: rgb(var(--bs-primary-rgb));
   font-size: 2.2rem;
   line-height: 1;
   margin-bottom: 0.5rem;
   font-family: Georgia, serif;
}
.testimonial-card__text {
   font-size: 0.95rem;
   color: rgba(255,255,255,0.92);
   line-height: 1.55;
   margin-bottom: 1rem;
   text-shadow: 0 2px 8px rgba(0,0,0,0.6);
   transition: max-height 0.4s ease, font-size 0.3s ease, line-height 0.3s ease;
}
.testimonial-card__text[data-clamp] {
   display: -webkit-box;
   -webkit-line-clamp: 2;
   line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
   cursor: pointer;
   max-height: calc(0.95rem * 1.55 * 2);
}
.testimonial-card__text[data-clamp]:hover {
   color: rgba(255,255,255,1);
}
.testimonial-card.is-expanded .testimonial-card__text[data-clamp] {
   display: block;
   -webkit-line-clamp: unset;
   line-clamp: unset;
   overflow-y: auto;
   max-height: 260px;
   cursor: default;
   font-size: 1rem;
   line-height: 1.7;
   text-shadow: 0 2px 12px rgba(0,0,0,0.95);
   padding-right: 8px;
   font-weight: 400;
   color: #fff;
}
.testimonial-card__text::-webkit-scrollbar {
   width: 3px;
}
.testimonial-card__text::-webkit-scrollbar-track {
   background: transparent;
}
.testimonial-card__text::-webkit-scrollbar-thumb {
   background: rgba(255,255,255,0.25);
   border-radius: 2px;
}
.testimonial-card__text::-webkit-scrollbar-thumb:hover {
   background: rgba(255,255,255,0.5);
}
.testimonial-card__name {
   font-weight: 700;
   margin: 0;
   line-height: 1.2;
   color: #fff;
   font-size: 1.05rem;
}
.testimonial-card__role {
   font-size: 0.85rem;
   color: rgb(var(--bs-primary-rgb));
   margin: 0;
   font-weight: 500;
}

.testimonial-card__photo {
   transition: transform 0.6s ease, filter 0.5s ease;
}
.testimonial-card__overlay {
   transition: background 0.5s ease;
}
.testimonial-card.is-expanded {
   transform: translateY(0);
   box-shadow: 0 22px 60px rgba(0,0,0,0.7);
}
.testimonial-card.is-expanded .testimonial-card__photo {
   filter: blur(16px) brightness(0.35) saturate(1.1);
   transform: scale(1.15);
}
.testimonial-card.is-expanded .testimonial-card__overlay {
   background: linear-gradient(180deg,
      rgba(0,0,0,0.55) 0%,
      rgba(0,0,0,0.6) 50%,
      rgba(0,0,0,0.85) 100%);
}
.testimonial-card.is-expanded .testimonial-card__quote {
   color: rgba(255,255,255,0.65);
   font-size: 2.6rem;
}
.testimonial-card.is-expanded:hover {
   transform: translateY(0);
}
.testimonial-card.is-expanded:hover .testimonial-card__photo {
   transform: scale(1.15);
}

.testimonial-card__close {
   position: absolute;
   top: 12px;
   right: 12px;
   width: 34px;
   height: 34px;
   border-radius: 50%;
   background: rgba(0,0,0,0.55);
   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
   color: #fff;
   border: 1px solid rgba(255,255,255,0.18);
   cursor: pointer;
   z-index: 5;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   opacity: 0;
   pointer-events: none;
   transform: scale(0.75);
   transition: opacity 0.25s ease, transform 0.25s ease, background 0.2s ease;
}
.testimonial-card.is-expanded .testimonial-card__close {
   opacity: 1;
   pointer-events: auto;
   transform: scale(1);
}
.testimonial-card__close:hover {
   background: rgba(0,0,0,0.85);
}
.testimonial-card__close:focus-visible {
   outline: 2px solid rgb(var(--bs-primary-rgb));
   outline-offset: 2px;
}

.testimonials-slider {
   position: relative;
   padding: 0 0 56px;
}
.testimonials-slider__swiper {
   overflow: hidden;
   padding: 8px 4px 4px;
}
.testimonials-slider__swiper .swiper-slide {
   height: auto;
   display: flex;
}
.testimonials-slider__swiper .swiper-slide .testimonial-card {
   width: 100%;
}
.testimonials-slider__pagination {
   position: absolute;
   bottom: 18px;
   left: 0;
   right: 0;
   text-align: center;
   z-index: 2;
}
.testimonials-slider__pagination .swiper-pagination-bullet {
   width: 8px;
   height: 8px;
   background: rgba(255,255,255,0.25);
   opacity: 1;
   margin: 0 4px !important;
   transition: width 0.3s ease, background 0.3s ease;
}
.testimonials-slider__pagination .swiper-pagination-bullet-active {
   background: rgb(var(--bs-primary-rgb));
   width: 24px;
   border-radius: 4px;
}
.testimonials-slider__nav {
   position: absolute;
   top: calc(50% - 28px);
   transform: translateY(-50%);
   width: 44px;
   height: 44px;
   border-radius: 50%;
   background: rgba(0,0,0,0.6);
   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
   color: #fff;
   border: 1px solid rgba(255,255,255,0.15);
   cursor: pointer;
   z-index: 5;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   transition: background 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}
.testimonials-slider__nav:hover {
   background: rgb(var(--bs-primary-rgb));
   transform: translateY(-50%) scale(1.05);
}
.testimonials-slider__nav.swiper-button-disabled {
   opacity: 0.35;
   cursor: default;
}
.testimonials-slider__nav.swiper-button-disabled:hover {
   background: rgba(0,0,0,0.6);
   transform: translateY(-50%);
}
.testimonials-slider__nav--prev { left: -6px; }
.testimonials-slider__nav--next { right: -6px; }
@media (max-width: 767.98px) {
   .testimonials-slider__nav {
      display: none;
   }
}

.tour-frame {
   position: relative;
   width: 100%;
   padding-bottom: 56.25%;
   border-radius: 16px;
   overflow: hidden;
   box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.tour-frame iframe {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   border: 0;
}

.gallery-item {
   position: relative;
   border-radius: 14px;
   overflow: hidden;
   aspect-ratio: 4 / 3;
   background: #1a1a1a;
}
.gallery-item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.6s ease;
}
.gallery-item:hover img { transform: scale(1.06); }
.gallery-item__caption {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   padding: 1rem 1.1rem;
   background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.88) 100%);
   color: #fff;
   font-weight: 600;
   font-size: 0.95rem;
   line-height: 1.35;
}
.gallery-item__tag {
   display: inline-block;
   background: rgb(var(--bs-primary-rgb));
   color: #fff;
   font-size: 0.68rem;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.09em;
   padding: 2px 8px;
   border-radius: 4px;
   margin-bottom: 5px;
}

.app-feature {
   display: flex;
   gap: 1rem;
   align-items: flex-start;
   padding: 1rem 0;
}
.app-feature__icon {
   flex-shrink: 0;
   width: 48px;
   height: 48px;
   border-radius: 12px;
   background: rgba(var(--bs-primary-rgb), 0.12);
   display: flex;
   align-items: center;
   justify-content: center;
   color: rgb(var(--bs-primary-rgb));
}
.app-feature h5 {
   margin-bottom: 0.25rem;
   font-weight: 700;
}
.app-feature p {
   font-size: 0.9rem;
   color: rgba(255,255,255,0.65);
   margin: 0;
}
.app-mockup {
   max-width: 320px;
   margin: 0 auto;
   filter: drop-shadow(0 30px 60px rgba(0,0,0,0.5));
}

.cta-final {
   background:
      linear-gradient(135deg, rgba(var(--bs-primary-rgb), 0.92) 0%, rgba(var(--bs-primary-rgb), 0.7) 100%),
      url('/assets/hero.webp') center/cover;
   border-radius: 6px;
   padding: 4.5rem 2rem;
   text-align: center;
   color: #fff;
   position: relative;
   overflow: hidden;
   isolation: isolate;
}
.cta-final::before {
   content: "";
   position: absolute;
   inset: 0;
   background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='200' viewBox='0 0 1200 200' fill='none'><g stroke='%23ffffff' stroke-opacity='0.1' stroke-width='1' stroke-linecap='round'><path d='M0 100 Q 30 60 60 100 T 120 100 T 180 100 T 240 100 T 300 100 T 360 100 T 420 100 T 480 100 T 540 100 T 600 100 T 660 100 T 720 100 T 780 100 T 840 100 T 900 100 T 960 100 T 1020 100 T 1080 100 T 1140 100 T 1200 100'/></g></svg>");
   background-size: 1200px 200px;
   background-repeat: repeat;
   opacity: 0.6;
   pointer-events: none;
   z-index: 0;
}
.cta-final > * { position: relative; z-index: 1; }
.cta-final h2 {
   font-size: clamp(1.8rem, 4vw, 3rem);
   font-weight: 800;
   margin-bottom: 1rem;
   color: #fff;
}
.cta-final p {
   font-size: 1.1rem;
   margin-bottom: 2rem;
   color: rgba(255,255,255,0.95);
   max-width: 680px;
   margin-left: auto;
   margin-right: auto;
}

.markdown-preview {
   font-size: 0.9rem;
   line-height: 1.6;
   display: -webkit-box;
   -webkit-line-clamp: 3;
   -webkit-box-orient: vertical;
   overflow: hidden;
}
.markdown-preview p { margin: 0; }
.markdown-preview h1, .markdown-preview h2, .markdown-preview h3,
.markdown-preview h4, .markdown-preview h5, .markdown-preview h6 {
   font-size: inherit;
   font-weight: normal;
   margin: 0;
   display: inline;
}
.markdown-preview ul, .markdown-preview ol { margin: 0; padding-left: 1rem; }
.markdown-preview code {
   background: rgba(255,255,255,0.1);
   padding: 0.1em 0.3em;
   border-radius: 3px;
   font-size: 0.85em;
}
.markdown-preview pre,
.markdown-preview img { display: none; }
.markdown-preview blockquote { margin: 0; padding: 0; border: none; }

@media (max-width: 767.98px) {
   .hero-video { min-height: 90vh; }
   .hero-video__content { padding: 5rem 1rem 3rem; }
   .journey-center { width: 180px; height: 180px; }
   .diff-card { min-height: 260px; }
   .cta-final { padding: 3rem 1.5rem; }
}

.reviews-marquee {
   position: relative;
   width: 100%;
   overflow: hidden;
   -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
   mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.reviews-marquee__track {
   display: flex;
   width: max-content;
   animation: reviewsMarqueeScroll 120s linear infinite;
   will-change: transform;
   cursor: grab;
   user-select: none;
}
.reviews-marquee__track.is-dragging {
   cursor: grabbing;
   animation-play-state: paused;
}
.reviews-marquee__item {
   flex: 0 0 auto;
   margin-right: 1.25rem;
   border-radius: 10px;
   overflow: hidden;
   background: #1a1a1a;
   box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
   border: 1px solid rgba(255, 255, 255, 0.06);
}
.reviews-marquee__item img {
   display: block;
   height: 160px;
   width: auto;
   object-fit: cover;
}
@keyframes reviewsMarqueeScroll {
   from { transform: translateX(0); }
   to   { transform: translateX(-50%); }
}
@media (max-width: 767.98px) {
   .reviews-marquee__item img { height: 120px; }
   .reviews-marquee__track { animation-duration: 85s; }
}
@media (prefers-reduced-motion: reduce) {
   .reviews-marquee__track { animation: none; }
}
