a,
button,
input[type="button"],
input[type="submit"] {
  text-decoration: none;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

a:focus,
a:active,
button:focus,
button:active,
input[type="button"]:focus,
input[type="submit"]:focus {
  outline: none;
  text-decoration: none;
}

button,
input[type="button"],
input[type="submit"] {
  user-select: none;
}

/* Advanced Animation System */
:root {
  --scroll-progress: 0;
  --mouse-x: 50%;
  --mouse-y: 50%;
  --primary-color: #24DC97;
  --secondary-color: #1bc085;
  --accent-color: #333333;
}

/* Base Styles */
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  touch-action: manipulation;
}

body {
  font-family: 'Muli', sans-serif;
  overflow-x: hidden;
}

/* Performance */
.video-hero-card {
  will-change: transform, opacity;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

/* Video */
.hero-video {
  will-change: opacity;
}

/* ========================================
   HEADER STYLES
   ======================================== */
.new-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: #ffffff;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
  z-index: 1000;
  transition: all 0.3s ease-in-out;
}

.header-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
}

.header-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}

.header-logo img {
  height: 38px;
  width: auto;
}

.header-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-grow: 1;
  margin-left: auto;
  margin-right: auto;
  list-style: none;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

.header-menu a {
  font-family: 'Muli', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #191919;
  text-decoration: none;
  transition: color 0.2s ease;
  position: relative;
  white-space: nowrap;
}

.header-menu a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #24DC97, #1bc085);
  transition: width 0.3s ease;
}

.header-menu a:hover {
  color: #24DC97;
}

.header-menu a:hover::after {
  width: 100%;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.btn-outline {
  font-family: 'Rubik', sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 26px;
  font-size: 18px;
  font-weight: 500;
  color: #24DC97;
  background-color: #ffffff;
  border: 1px solid #24DC97;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.btn-outline:hover {
  background-color: #24DC97;
  color: #ffffff;
}

.btn-primary {
  font-family: 'Rubik', sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 26px;
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
  background: linear-gradient(90deg, #24DC97 0%, #1bc085 100%);
  border: none;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 2px 10px rgba(36, 220, 151, 0.2);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(36, 220, 151, 0.3);
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.mobile-menu-toggle span {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #191919;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.mobile-menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.mobile-menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile Menu */
.mobile-menu {
  display: none;
  position: fixed;
  top: 80px;
  left: 0;
  width: 100%;
  background: #ffffff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding: 20px;
  z-index: 999;
  transform: translateY(-100%);
  opacity: 0;
  transition: all 0.3s ease;
}

.mobile-menu.active {
  transform: translateY(0);
  opacity: 1;
}

.mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 20px;
}

.mobile-nav a {
  font-family: 'Muli', sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #191919;
  text-decoration: none;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.mobile-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mobile-actions .btn-outline,
.mobile-actions .btn-primary {
  width: 100%;
  justify-content: center;
}

/* ========================================
   HERO SECTION
   ======================================== */
.new-hero-section {
  width: 100%;
  min-height: 680px;
  background: linear-gradient(135deg, #e8faf3 0%, #f0fdf7 50%, #ffffff 100%);
  padding: 160px 0 80px 0;
  position: relative;
  overflow: hidden;
}

.hero-container {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 54px;
}

/* Left Column */
.hero-left {
  position: relative;
  z-index: 2;
}

.hero-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.rating-stars {
  display: flex;
  gap: 2px;
}

.rating-value {
  font-family: 'Rubik', sans-serif;
  font-size: 21px;
  font-weight: 700;
  color: #1bc085;
}

.rating-reviews {
  font-family: 'Muli', sans-serif;
  font-size: 16px;
  color: #666;
}

.hero-title {
  font-family: 'Rubik', sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1.15;
  color: #191919;
  margin: 0 0 20px 0;
}

.hero-title .highlight {
  color: #24DC97;
  position: relative;
}

.hero-subtitle {
  font-family: 'Muli', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: #555;
  line-height: 1.6;
  margin: 0 0 38px 0;
  max-width: 500px;
}

/* Hero CTA Group */
.hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.hero-cta {
  font-family: 'Rubik', sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 50px;
  padding: 0 24px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(90deg, #24DC97 0%, #1bc085 100%);
  border: none;
  border-radius: 9px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 3px 12px rgba(36, 220, 151, 0.2);
  white-space: nowrap;
}

.hero-cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 24px rgba(36, 220, 151, 0.35);
}

/* Primary Button */
.hero-cta-primary {
  background: linear-gradient(90deg, #24DC97 0%, #1bc085 100%);
}

/* Secondary Button */
.hero-cta-secondary {
  background: transparent;
  border: 2px solid #24DC97;
  color: #24DC97;
  box-shadow: none;
}

.hero-cta-secondary:hover {
  background: rgba(36, 220, 151, 0.1);
  box-shadow: 0 4px 16px rgba(36, 220, 151, 0.2);
}

/* Trial Button */
.hero-cta-trial {
  background: linear-gradient(90deg, #ff6b35 0%, #f7931e 100%);
  font-size: 14px;
  height: 44px;
  padding: 0 18px;
  box-shadow: 0 3px 12px rgba(255, 107, 53, 0.25);
}

.hero-cta-trial:hover {
  box-shadow: 0 6px 24px rgba(255, 107, 53, 0.4);
}

.hero-cta svg {
  transition: transform 0.3s ease;
}

.hero-cta:hover svg {
  transform: translateX(4px);
}

/* Right Column */
.hero-right {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 500px;
}

.hero-background-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 80px;
  font-weight: 900;
  color: rgba(36, 220, 151, 0.08);
  white-space: nowrap;
  z-index: 0;
  letter-spacing: 8px;
  user-select: none;
}

.hero-frame {
  position: relative;
  width: 100%;
  max-width: 520px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 6px 32px rgba(36, 220, 151, 0.15);
  z-index: 2;
  transform: rotate(-3deg);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.hero-frame:hover {
  transform: rotate(0deg);
  box-shadow: 0 12px 48px rgba(36, 220, 151, 0.25);
}

/* Decorative Background Frame */
.hero-frame-bg {
  position: absolute;
  top: -12px;
  left: -12px;
  right: -12px;
  bottom: -12px;
  background: linear-gradient(135deg, #24DC97 0%, #1bc085 100%);
  border-radius: 24px;
  z-index: -1;
  transform: rotate(-4deg);
  transition: transform 0.4s ease;
}

.hero-frame:hover .hero-frame-bg {
  transform: rotate(3deg);
}

.hero-video-wrapper {
  width: 100%;
  background: #000;
  border-radius: 16px;
  overflow: hidden;
}

/* Floating Cards */
.floating-card {
  position: absolute;
  background: #ffffff;
  border-radius: 12px;
  padding: 12px 18px;
  box-shadow: 0 4px 20px rgba(36, 220, 151, 0.15);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: floatCard 3s ease-in-out infinite;
}

.floating-card.card-top-right {
  top: -20px;
  right: 0;
  animation-delay: 0s;
}

.floating-card.card-bottom-left {
  bottom: 40px;
  left: -30px;
  animation-delay: 0.5s;
}

.floating-card.card-bottom-right {
  bottom: -20px;
  right: 20px;
  animation-delay: 1s;
}

.floating-card.card-success {
  flex-direction: row;
  gap: 10px;
  background: linear-gradient(135deg, #e6fff7 0%, #f0fdf7 100%);
  border: 1px solid rgba(36, 220, 151, 0.2);
}

.card-number {
  font-family: 'Rubik', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #24DC97;
}

.card-label {
  font-family: 'Muli', sans-serif;
  font-size: 12px;
  color: #666;
  font-weight: 500;
}

.card-text {
  display: flex;
  flex-direction: column;
}

.card-label-success {
  font-family: 'Muli', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #1bc085;
}

.card-sublabel {
  font-family: 'Muli', sans-serif;
  font-size: 11px;
  color: #888;
}

@keyframes floatCard {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* ========================================
   RESPONSIVE - HEADER & HERO
   ======================================== */
@media (max-width: 1024px) {
  .header-wrapper {
    padding: 0 30px;
  }

  .header-menu {
    gap: 24px;
  }

  .header-menu a {
    font-size: 16px;
  }

  .hero-container {
    gap: 40px;
  }

  .hero-title {
    font-size: 44px;
  }

  .hero-background-text {
    font-size: 60px;
  }
}

@media (max-width: 1024px) {
  .header-menu {
    display: none;
  }

  .header-actions {
    display: none;
  }

  .mobile-menu-toggle {
    display: flex;
  }

  .mobile-menu {
    display: block;
  }

  .hero-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-left {
    order: 1;
  }

  .hero-right {
    order: 2;
    min-height: 400px;
  }

  .hero-rating {
    justify-content: center;
  }

  .hero-subtitle {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .floating-card.card-bottom-left {
    left: 10px;
  }
}

@media (max-width: 600px) {
  .new-header {
    height: 70px;
  }

  .header-wrapper {
    padding: 0 20px;
  }

  .header-logo img {
    height: 32px;
  }

  .mobile-menu {
    top: 70px;
  }

  .new-hero-section {
    padding: 100px 0 60px 0;
    min-height: auto;
  }

  .hero-container {
    padding: 0 20px;
  }

  .hero-title {
    font-size: 32px;
  }

  .hero-subtitle {
    font-size: 16px;
  }

  .hero-cta-group {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
  }

  .hero-cta {
    height: 46px;
    padding: 0 20px;
    font-size: 15px;
    width: 100%;
    max-width: 280px;
  }

  .hero-cta-trial {
    height: 40px;
    font-size: 13px;
  }

  .hero-background-text {
    font-size: 40px;
  }

  .hero-frame {
    transform: rotate(0deg);
  }

  .hero-frame-bg {
    top: -8px;
    left: -8px;
    right: -8px;
    bottom: -8px;
    transform: rotate(-3deg);
  }

  .floating-card {
    padding: 10px 14px;
  }

  .card-number {
    font-size: 18px;
  }

  .card-label {
    font-size: 11px;
  }

  .floating-card.card-top-right {
    top: -10px;
    right: 10px;
  }

  .floating-card.card-bottom-left {
    bottom: 20px;
    left: 5px;
  }

  .floating-card.card-bottom-right {
    bottom: -10px;
    right: 10px;
  }
}

/* ========================================
   END HEADER & HERO STYLES
   ======================================== */

/* Sticky Header */
.sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 0;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.08);
  max-width: none;
  width: 100%;
  margin: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sticky-header.visible {
  transform: none;
  opacity: 1;
}

.sticky-header .header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 68px;
  padding: 0 32px;
  width: 100%;
  box-sizing: border-box;
}

.sticky-header .logo {
  font-family: 'Rubik', sans-serif;
  font-size: 26px;
  font-weight: 600;
  color: #191919;
  text-decoration: none;
  letter-spacing: -0.03em;
  margin-top: 2px;
  flex-shrink: 0;
  white-space: nowrap;
}

.sticky-header .nav {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
  flex: 1;
  margin: 0 auto;
}

.sticky-header .nav a {
  font-family: 'Muli', sans-serif;
  color: #222;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  margin: 0 12px;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.sticky-header .nav a:hover {
  color: var(--primary-color);
}

.sticky-header .header-cta {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-shrink: 0;
  margin-left: auto;
}

.sticky-header .login-btn {
  font-family: 'Rubik', sans-serif;
  background: #fff;
  color: #24DC97;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  padding: 9px 26px;
  border-radius: 8px;
  border: 2px solid #24DC97;
  transition: all 0.2s ease;
}

.sticky-header .login-btn:hover {
  background: #24DC97;
  color: #fff;
}

.sticky-header .signup-btn {
  font-family: 'Rubik', sans-serif;
  background: linear-gradient(90deg, #24DC97 0%, #1bc085 100%);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  padding: 10px 26px;
  border-radius: 8px;
  border: none;
  margin-right: 14px;
  box-shadow: 0 1px 10px 0 rgba(36, 220, 151, 0.07);
  transition: all 0.2s ease;
}

.sticky-header .signup-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px 0 rgba(36, 220, 151, 0.15);
}

/* Video Hero Section */
.video-hero-section {
  width: 100%;
  padding: 140px 0 60px 0;
  background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
  overflow: hidden;
  position: relative;
  min-height: auto;
}

.video-hero-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
}

.video-hero-left {
  flex: 1;
  max-width: 700px;
}

.video-hero-right {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-right: 100px;
}

.video-hero-card {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.12),
              0 12px 25px rgba(0, 0, 0, 0.08);
  background: #000;
  min-height: 400px;
  transform: translateY(20px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform, opacity, border-radius;
  isolation: isolate;
}

.video-hero-card.in-view {
  transform: translateY(0);
  opacity: 1;
}

.hero-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #000;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  border-radius: inherit;
}

.hero-video.loaded {
  opacity: 1;
}

/* Hero Card Content */
.hero-card-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  text-align: center;
  width: 90%;
  max-width: 600px;
}

.hero-claim {
  font-family: 'Rubik', sans-serif;
  font-size: 64px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 40px 0;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3),
               0 8px 40px rgba(0, 0, 0, 0.2);
  animation: fadeInUp 0.8s ease-out 0.3s both, textGlow 3s ease-in-out infinite alternate;
  position: relative;
  display: inline-block;
}

.hero-claim::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 0;
  height: 4px;
  background: linear-gradient(90deg, #24DC97, #1bc085, #24DC97);
  animation: underlineExpand 2s ease-out 1s forwards, gradientShift 3s ease-in-out infinite;
  border-radius: 2px;
}

@keyframes textGlow {
  0%, 100% {
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3),
                 0 8px 40px rgba(0, 0, 0, 0.2);
  }
  50% {
    text-shadow: 0 4px 25px rgba(36, 220, 151, 0.4),
                 0 8px 50px rgba(27, 192, 133, 0.3),
                 0 0 80px rgba(36, 220, 151, 0.2);
  }
}

@keyframes underlineExpand {
  to {
    width: 100%;
  }
}

@keyframes gradientShift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

/* Hero Claim External */
.hero-claim-external {
  font-family: 'Rubik', sans-serif;
  font-size: 64px;
  font-weight: 900;
  color: #000000;
  margin: 0;
  line-height: 110%;
  letter-spacing: -0.5px;
  text-align: left;
  text-transform: uppercase;
  animation: fadeInUp 0.8s ease-out 0.2s both, textGlowDark 3s ease-in-out infinite alternate;
  position: relative;
  display: inline-block;
}

@keyframes textGlowDark {
  0%, 100% {
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.1),
                 0 8px 40px rgba(0, 0, 0, 0.05);
  }
  50% {
    text-shadow: 0 4px 25px rgba(36, 220, 151, 0.3),
                 0 8px 50px rgba(27, 192, 133, 0.2),
                 0 0 80px rgba(36, 220, 151, 0.1);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  animation: fadeInUp 0.8s ease-out 0.5s both;
}

.hero-btn {
  font-family: 'Rubik', sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 36px;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  z-index: 1;
}

.hero-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
  z-index: -1;
}

.hero-btn:hover::before {
  width: 300px;
  height: 300px;
}

.hero-btn-primary {
  background: linear-gradient(135deg, #24DC97 0%, #1bc085 100%);
  background-size: 200% 200%;
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(36, 220, 151, 0.3),
              0 4px 12px rgba(36, 220, 151, 0.2);
  animation: fadeInUp 0.8s ease-out 0.8s both, pulseGlow 2s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}

.hero-btn-primary::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.hero-btn-primary:hover::after {
  width: 300px;
  height: 300px;
}

.hero-btn-primary:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 12px 32px rgba(36, 220, 151, 0.4),
              0 6px 16px rgba(36, 220, 151, 0.3);
  animation: fadeInUp 0.8s ease-out 0.8s both, pulseGlowHover 1.5s ease-in-out infinite;
}

.hero-btn-primary:active {
  transform: translateY(-1px) scale(1.02);
}

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 8px 24px rgba(36, 220, 151, 0.3),
                0 4px 12px rgba(36, 220, 151, 0.2);
  }
  50% {
    box-shadow: 0 8px 32px rgba(36, 220, 151, 0.5),
                0 4px 16px rgba(36, 220, 151, 0.4),
                0 0 40px rgba(36, 220, 151, 0.2);
  }
}

@keyframes pulseGlowHover {
  0%, 100% {
    box-shadow: 0 12px 32px rgba(36, 220, 151, 0.4),
                0 6px 16px rgba(36, 220, 151, 0.3);
  }
  50% {
    box-shadow: 0 16px 48px rgba(36, 220, 151, 0.6),
                0 8px 24px rgba(36, 220, 151, 0.5),
                0 0 60px rgba(36, 220, 151, 0.3);
  }
}

.hero-btn-secondary {
  background: rgba(255, 255, 255, 0.95);
  color: #1bc085;
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15),
              0 4px 12px rgba(0, 0, 0, 0.1);
  animation: fadeInUp 0.8s ease-out 1s both, shimmer 3s ease-in-out infinite;
  position: relative;
  overflow: hidden;
}

.hero-btn-secondary::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    45deg,
    transparent 30%,
    rgba(36, 220, 151, 0.1) 50%,
    transparent 70%
  );
  animation: shimmerMove 3s ease-in-out infinite;
}

@keyframes shimmer {
  0%, 100% {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15),
                0 4px 12px rgba(0, 0, 0, 0.1);
  }
  50% {
    box-shadow: 0 8px 28px rgba(27, 192, 133, 0.25),
                0 4px 14px rgba(27, 192, 133, 0.15),
                inset 0 0 20px rgba(36, 220, 151, 0.1);
  }
}

@keyframes shimmerMove {
  0% {
    transform: translateX(-100%) translateY(-100%);
  }
  100% {
    transform: translateX(100%) translateY(100%);
  }
}

.hero-btn-secondary:hover {
  transform: translateY(-3px) scale(1.05);
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2),
              0 6px 16px rgba(0, 0, 0, 0.15);
}

.hero-btn-secondary:active {
  transform: translateY(-1px) scale(1.02);
}

/* Responsive - Hero Content */
@media (max-width: 1024px) {
  .hero-claim {
    font-size: 56px;
    margin-bottom: 32px;
  }

  .hero-btn {
    padding: 14px 32px;
    font-size: 17px;
  }
}

@media (max-width: 768px) {
  .hero-claim {
    font-size: 42px;
    margin-bottom: 28px;
  }

  .hero-buttons {
    gap: 16px;
  }

  .hero-btn {
    padding: 13px 28px;
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  .hero-card-content {
    width: 95%;
  }

  .hero-claim {
    font-size: 32px;
    margin-bottom: 24px;
  }

  .hero-buttons {
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }

  .hero-btn {
    width: 100%;
    padding: 14px 24px;
    font-size: 16px;
  }
}

/* Loading spinner - separate element */
.video-hero-card .loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border: 4px solid rgba(36, 220, 151, 0.15);
  border-top-color: var(--primary-color);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  opacity: 1;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 5;
}

.video-hero-card:has(.hero-video.loaded) .loading-spinner {
  opacity: 0;
  animation: none;
  display: none;
}

@keyframes spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* Hover effect */
.video-hero-card:hover {
  transform: translateY(-5px) scale(1.01) !important;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.15),
              0 15px 35px rgba(0, 0, 0, 0.1) !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .video-hero-section {
    padding: 120px 0 60px 0;
    min-height: auto;
  }

  .video-hero-container {
    padding: 0 40px;
    gap: 60px;
  }

  .video-hero-left {
    max-width: 600px;
  }

  .hero-claim-external {
    font-size: 60px;
  }

  .video-hero-card {
    border-radius: 24px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .video-hero-section {
    padding: 100px 0 40px 0;
    min-height: auto;
  }

  .video-hero-container {
    padding: 0 20px;
    display: block;
  }

  .video-hero-left {
    max-width: 100%;
    margin-bottom: 40px;
  }

  .video-hero-right {
    width: 100%;
  }

  .hero-claim-external {
    font-size: 48px;
    text-align: center;
    display: block;
    width: 100%;
  }

  .video-hero-card {
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1),
                0 8px 15px rgba(0, 0, 0, 0.06);
    aspect-ratio: 16 / 9;
    min-height: unset;
  }

  .hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
  }

  .video-hero-card:hover {
    transform: none !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1),
                0 8px 15px rgba(0, 0, 0, 0.06);
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  .video-hero-section {
    padding: 90px 0 30px 0;
    min-height: auto;
  }

  .video-hero-container {
    padding: 0 16px;
  }

  .video-hero-left {
    margin-bottom: 32px;
  }

  .hero-claim-external {
    font-size: 36px;
    display: block;
    width: 100%;
  }

  .video-hero-card {
    border-radius: 16px;
    aspect-ratio: 16 / 9;
    min-height: unset;
  }

  .hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
  }
}

/* Reduced Motion for Accessibility */
@media (prefers-reduced-motion: reduce) {
  .video-hero-card {
    transition: none;
    animation: none;
  }

  .video-hero-card:hover {
    transform: none;
  }

  .hero-video {
    transition: none;
  }
}

/* Performance optimizations */
* {
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ========================================
   MOBILE OPTIMIZATIONS - STICKY HEADER
   ======================================== */

/* Medium Devices (tablets, 768px and down) */
@media (max-width: 768px) {
  .particle {
    display: none;
  }

  .animate-on-scroll,
  .animate-slide-left,
  .animate-slide-right,
  .animate-scale {
    transform: none !important;
    opacity: 1 !important;
  }

  /* Sticky Header Mobile */
  .sticky-header {
    top: 0;
    width: 100%;
    border-radius: 0;
  }

  .sticky-header .header-content {
    padding: 10px 16px;
    justify-content: space-between;
    width: 100%;
    height: 60px;
  }

  .sticky-header .logo {
    font-size: 22px;
    flex-shrink: 0;
  }

  .sticky-header .logo-image {
    height: 40px;
  }

  .sticky-header .nav {
    display: none;
  }

  .sticky-header .header-cta {
    gap: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
  }

  .sticky-header .login-btn {
    font-size: 14px;
    padding: 12px 16px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
  }

  .sticky-header .signup-btn {
    font-size: 14px;
    padding: 12px 18px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    margin-right: 0;
  }

  .hover-lift:hover {
    transform: none;
    box-shadow: none;
  }

  .star {
    animation: none;
  }
}

/* Extra Small Devices (phones, less than 480px) */
@media (max-width: 480px) {
  .sticky-header {
    top: 0;
    width: 100%;
    border-radius: 0;
  }

  .sticky-header .header-content {
    padding: 8px 12px;
    height: 60px;
  }

  .sticky-header .logo {
    font-size: 20px;
  }

  .sticky-header .logo-image {
    height: 36px;
  }

  .sticky-header .header-cta {
    gap: 8px;
  }

  .sticky-header .login-btn {
    font-size: 13px;
    padding: 11px 14px;
    min-height: 44px;
    border-radius: 8px;
  }

  .sticky-header .signup-btn {
    font-size: 13px;
    padding: 11px 16px;
    min-height: 44px;
    border-radius: 8px;
  }
}

/* Ultra Small Devices (very small phones, less than 360px) */
@media (max-width: 360px) {
  .sticky-header {
    top: 0;
    width: 100%;
    border-radius: 0;
  }

  .sticky-header .header-content {
    padding: 6px 10px;
    height: 56px;
  }

  .sticky-header .logo {
    font-size: 18px;
  }

  .sticky-header .logo-image {
    height: 32px;
  }

  .sticky-header .header-cta {
    gap: 6px;
  }

  .sticky-header .login-btn {
    font-size: 12px;
    padding: 10px 12px;
    min-height: 44px;
    border-radius: 8px;
  }

  .sticky-header .signup-btn {
    font-size: 12px;
    padding: 10px 14px;
    min-height: 44px;
    border-radius: 8px;
  }
}

/* Mobile Landscape Orientation */
@media (max-width: 768px) and (orientation: landscape) {
  .sticky-header {
    top: 0;
    width: 100%;
    border-radius: 0;
  }

  .sticky-header .header-content {
    padding: 8px 16px;
    height: 56px;
  }

  .sticky-header .logo {
    font-size: 18px;
  }

  .sticky-header .logo-image {
    height: 32px;
  }

  .sticky-header .header-cta {
    gap: 8px;
  }

  /* Touch targets */
  .sticky-header .login-btn,
  .sticky-header .signup-btn {
    font-size: 13px;
    padding: 10px 14px;
    min-height: 44px;
  }
}

/* Tablet landscape mode */
@media (min-width: 769px) and (max-width: 1024px) {
  .sticky-header {
    width: 100%;
    top: 0;
    border-radius: 0;
  }

  .sticky-header .header-content {
    padding: 0 24px;
  }

  .sticky-header .nav {
    gap: 16px;
  }

  .sticky-header .nav a {
    margin: 0 8px;
    font-size: 15px;
  }
}

/* Desktop (small to medium) */
@media (min-width: 1025px) and (max-width: 1440px) {
  .sticky-header {
    width: 100%;
  }

  .sticky-header .header-content {
    padding: 0 32px;
  }
}

/* Large Desktop Screens */
@media (min-width: 1441px) {
  .sticky-header {
    max-width: none;
    width: 100%;
  }

  .sticky-header .header-content {
    padding: 0 48px;
  }
}

/* Ultra Large Screens (4K and beyond) */
@media (min-width: 1921px) {
  .sticky-header {
    max-width: none;
    width: 100%;
  }
}

/* Magnetic hover effect */
.magnetic {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.magnetic:hover {
  transform: translateY(-2px);
}

/* Advanced hover effects */
.hover-lift {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  will-change: transform;
}

.hover-lift:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

/* Breathing animation for important elements */
@keyframes breathe {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.02);
  }
}

.breathe {
  animation: breathe 4s ease-in-out infinite;
}

.hover-shine {
  position: relative;
  overflow: hidden;
}

.hover-shine::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.6s;
}

.hover-shine:hover::before {
  left: 100%;
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

body {
	line-height: 1
}

ol,
ul {
	list-style: none
}

blockquote,
q {
	quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
	content: '';
	content: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

* {
	box-sizing: border-box
}

body {
	font-family: Muli, sans-serif;
	color: #535353
}

a {
	color: inherit;
	-webkit-transition: all .5s ease-out;
	-moz-transition: all .5s ease-out;
	transition: all .5s ease-out;
	text-decoration: none
}

a:active,
a:focus,
a:hover {
	color: #24DC97 !important;
	cursor: pointer;
	text-decoration: none
}

.noselect {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.all {
	width: 100%;
	height: 100%;
	margin: 0
}

.uppercase {
	text-transform: uppercase
}

.header-container {
	display: block;
	position: fixed;
	left: 0;
	width: 100%;
	height: 80px;
	z-index: 1;
	transition: background-color 1s ease-in-out, border 1s ease-in-out;
	-moz-transition: background-color 1s ease-in-out, border 1s ease-in-out;
	-webkit-transition: background-color 1s ease-in-out, border 1s ease-in-out;
	-o-transition: background-color 1s ease-in-out, border 1s ease-in-out
}

.header-container.white {
	background-color: #fff;
	box-shadow: 0 2px 2px rgba(0, 0, 0, .1)
}

.header-container.white>.header>.header-buttons-container>.header-link {
	color: #777
}

.header-container.white>.header>.logo {
	color: #444
}

.header {
	width: 100%;
	min-width: 767px;
	max-width: 1152px;
	height: 100%;
	box-sizing: border-box;
	padding: 0 15px;
	margin: 0 auto
}

.logo {
	font-size: 24px;
	text-transform: uppercase;
	color: #fff;
	font-family: Rubik, sans-serif;
	font-weight: 500;
	letter-spacing: 2px;
	float: left;
	height: 100%;
	line-height: 80px;
	background-color: transparent;
	transition: color 1s ease-in-out, border 1s ease-in-out;
	-moz-transition: color 1s ease-in-out, border 1s ease-in-out;
	-webkit-transition: color 1s ease-in-out, border 1s ease-in-out;
	-o-transition: color 1s ease-in-out, border 1s ease-in-out;
	display: flex;
	align-items: center;
}

.logo-image {
	height: 50px;
	width: auto;
	display: block;
}

.header-buttons-container {
	box-sizing: border-box;
	height: 100%;
	padding: 15px 0;
	float: right
}

.header-link {
	display: inline-block;
	padding: 15px 15px;
	color: #777;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	line-height: 20px;
	transition: color 0.3s ease;
}

.header-btn {
	display: inline-block;
	padding: 10px 20px;
	background-color: #24DC97;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	line-height: 20px;
	border-radius: 8px;
	margin-left: 10px;
	transition: background-color 0.3s ease, transform 0.2s ease;
}

.header-btn:hover {
	background-color: #1bc085;
	transform: translateY(-2px);
}

/* Hero Section */
.gocardless-hero {
	background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
	border-radius: 8px;
	padding: 180px 0 60px 0;
	margin-bottom: 0;
	min-height: auto;
	position: relative;
	border: 1px solid #e5e5e5;
	overflow: hidden;
}

/* Header */
.gocardless-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 40px;
}

.gc-logo {
	font-family: 'Rubik', sans-serif;
	color: #333333;
	font-weight: 700;
	font-size: 26px;
	margin-right: 44px;
	text-decoration: none;
}

.gc-nav {
	display: flex;
	align-items: center;
	gap: 30px;
}

.gc-nav a {
	font-family: 'Rubik', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #333333;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.gc-nav a:hover {
	opacity: 0.8;
}

.gc-header-cta {
	display: flex;
	align-items: center;
	gap: 14px;
}

.gc-login {
	font-size: 15px;
	color: #333333;
	background: transparent;
	border: none;
	padding: 8px 16px;
	border-radius: 8px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.gc-login:hover {
	background: #f5f5f5;
}

.gc-signup {
	font-size: 15px;
	color: #24DC97;
	background: #ffffff;
	font-weight: 600;
	border: none;
	margin-left: 0;
	padding: 8px 22px;
	border-radius: 18px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.gc-signup:hover {
	background: #1bc085;
	color: #ffffff;
}

.gc-lang {
	width: 32px;
	height: 32px;
	background: #f5f5f5;
	border: 1px solid #e5e5e5;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 14px;
}

/* Hero Content Row */
.gc-content-row {
	display: flex;
	align-items: center;
	gap: 80px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 60px;
	min-height: 400px;
}

.gc-left-column {
	width: 45%;
	flex: 0 0 45%;
	position: relative;
}

.gc-background-text {
	position: absolute;
	top: -40px;
	left: -20px;
	font-size: 120px;
	font-weight: 900;
	color: rgba(27, 192, 133, 0.05);
	z-index: 0;
	pointer-events: none;
	user-select: none;
	line-height: 1;
	letter-spacing: -0.02em;
}

.gc-left-column > * {
	position: relative;
	z-index: 1;
}

.gc-right-column {
	width: 55%;
	flex: 0 0 55%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gc-badge {
	background: #f8f9fa;
	color: #333333;
	border: 1px solid #e5e5e5;
	font-weight: 500;
	font-size: 13px;
	padding: 5px 16px;
	border-radius: 22px;
	margin-bottom: 16px;
	display: inline-block;
}

.gc-badge-link {
	color: #24DC97;
	text-decoration: underline;
	margin-left: 4px;
}

.gc-headline {
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	font-size: 64px;
	color: #333333;
	line-height: 110%;
	letter-spacing: -0.5px;
	text-transform: uppercase;
	margin-bottom: 18px;
}


.gc-description {
	font-family: 'Muli', sans-serif;
	font-weight: 400;
	font-size: 19px;
	color: #666666;
	line-height: 30px;
	margin-bottom: 30px;
}

.gc-buttons {
	display: flex;
	gap: 12px;
	align-items: center;
}

.gc-btn-primary {
	background: linear-gradient(45deg, #24DC97, #1bc085);
	color: #ffffff;
	font-weight: 700;
	font-size: 18px;
	border-radius: 8px;
	border: none;
	padding: 14px 36px;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(36, 220, 151, 0.3);
}

.gc-btn-primary:hover {
	background: linear-gradient(45deg, #1bc085, #24DC97);
	color: #ffffff;
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 8px 25px rgba(36, 220, 151, 0.4);
}

.gc-btn-primary::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: left 0.6s;
}

.gc-btn-primary:hover::before {
	left: 100%;
}

.gc-btn-secondary {
	background: transparent;
	color: #333333;
	font-weight: 500;
	font-size: 18px;
	border-radius: 8px;
	border: 1px solid #333333;
	padding: 14px 36px;
	text-decoration: none;
	transition: background 0.3s ease;
}

.gc-btn-secondary:hover {
	background: #333333;
	color: #ffffff;
}

/* Hero Image Frame */
.gc-image-frame {
	background: linear-gradient(135deg, #e8f9f3 0%, #d4f4e8 100%);
	border: 1px solid rgba(27, 192, 133, 0.2);
	border-radius: 32px;
	box-shadow: 0px 12px 48px rgba(27, 192, 133, 0.15);
	padding: 20px;
	overflow: visible;
	width: 100%;
	max-width: 520px;
	margin: 0 auto;
	min-height: 300px;
	position: relative;
	transform: rotate(-2deg);
	transition: transform 0.4s ease;
}

.gc-image-frame:hover {
	transform: rotate(0deg);
}

.gc-laptop-mockup {
	width: 100%;
	min-height: 280px;
	background: #ffffff;
	border-radius: 24px;
	overflow: hidden;
	position: relative;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.gc-video-container {
	width: 100%;
	height: 100%;
	min-height: 280px;
	position: relative;
	border-radius: 24px;
	overflow: hidden;
}

.gc-video-container iframe {
	border-radius: 24px;
}

/* Floating Info Boxes */
.info-box {
	position: absolute;
	background: #ffffff;
	border: 2px solid #1bc085;
	border-radius: 16px;
	padding: 12px 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: 0 8px 24px rgba(27, 192, 133, 0.25);
	z-index: 10;
	animation: float 3s ease-in-out infinite;
	font-size: 14px;
	font-weight: 500;
	color: #333333;
	white-space: nowrap;
}

.info-box-top-right {
	top: -20px;
	right: -30px;
	animation-delay: 0s;
}

.info-box-bottom-left {
	bottom: -20px;
	left: -30px;
	animation-delay: 1s;
}

.info-box-bottom-right {
	bottom: 20px;
	right: -40px;
	animation-delay: 2s;
}

.info-box-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: linear-gradient(135deg, #e8f9f3 0%, #d4f4e8 100%);
	border-radius: 50%;
	flex-shrink: 0;
}

.info-box-text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.info-box-text strong {
	font-weight: 700;
	color: #1bc085;
	font-size: 16px;
}

@keyframes float {
	0%, 100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-10px);
	}
}

.gc-screen-content {
	padding: 30px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.gc-dashboard {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.gc-dashboard-header {
	color: #14141a;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #f3f3dd;
}

.gc-dashboard-body {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.gc-payment-list {
	width: 100%;
}

.gc-payment-item {
	background: #f3f3dd;
	color: #14141a;
	padding: 12px 16px;
	margin-bottom: 8px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
}

.gc-play-button {
	background: #24DC97;
	color: #14141a;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	font-weight: bold;
	cursor: pointer;
	margin-top: 20px;
	transition: transform 0.3s ease;
}

.gc-play-button:hover {
	transform: scale(1.05);
}

/* Social Proof Section */
.social-proof-section {
	padding: 40px 0;
	background: #f8f9fa;
	border-top: 1px solid #e9ecef;
	border-bottom: 1px solid #e9ecef;
}

.social-proof-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
}

.social-proof-text {
	font-size: 14px;
	font-weight: 500;
	color: #6c757d;
	text-transform: uppercase;
	letter-spacing: 1px;
	white-space: nowrap;
}

.social-proof-logos {
	display: flex;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
	justify-content: center;
}

.social-proof-logo {
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	color: #495057;
	font-size: 13px;
	font-weight: 500;
	opacity: 0.7;
	transition: all 0.3s ease;
}

.social-proof-logo:hover {
	opacity: 1;
	color: #24DC97;
}

.social-proof-logo img {
	width: 24px;
	height: 24px;
	border-radius: 4px;
}

@media (max-width: 768px) {
	.social-proof-section {
		padding: 20px 0;
	}

	.social-proof-container {
		flex-direction: column;
		gap: 12px;
		align-items: center;
		text-align: center;
	}

	.social-proof-text {
		width: 100%;
		text-align: center;
		display: block;
		margin: 0 auto 8px auto;
	}

	.social-proof-logos {
		gap: 24px;
		justify-content: center;
		width: 100%;
	}

	.social-proof-logo {
		flex-direction: column;
		gap: 6px;
		text-align: center;
	}

	.social-proof-logo span {
		display: block;
		font-size: 11px;
	}

	.social-proof-logo img {
		width: 32px;
		height: 32px;
	}
}

.social-proof-left {
	flex: 1;
	max-width: 450px;
	position: relative;
	z-index: 2;
	margin-left: 0;
	margin-right: -80px;
}

.social-proof-content {
	background: #ffffff !important;
	padding: 50px 55px !important;
	border-radius: 20px !important;
	color: #333333 !important;
	border: 1px solid #e5e5e5 !important;
	box-shadow: 0 8px 30px rgba(0,0,0,0.12) !important;
	min-height: 280px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
}

.social-proof-title {
	font-family: 'Rubik', sans-serif !important;
	font-weight: 700 !important;
	font-size: 32px !important;
	line-height: 120% !important;
	letter-spacing: -0.3px !important;
	text-transform: none !important;
	margin-bottom: 16px !important;
	margin-top: 0 !important;
	color: #333333 !important;
	padding: 0 !important;
}

.social-proof-description {
	font-family: 'Muli', sans-serif !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
	margin-bottom: 24px !important;
	margin-top: 0 !important;
	color: #666666 !important;
	padding: 0 !important;
}

.social-proof-stars {
	margin-bottom: 20px !important;
}

.stars-wrapper {
	display: flex;
	gap: 2px;
	margin-bottom: 8px;
}

.star {
	color: #24DC97;
	font-size: 20px;
	text-shadow: 0 0 10px rgba(36, 220, 151, 0.5);
	animation: glow 2s ease-in-out infinite alternate;
	transition: all 0.3s ease;
}

.star:hover {
	transform: scale(1.2) rotate(10deg);
	text-shadow: 0 0 20px rgba(36, 220, 151, 0.8);
}

.rating-text {
	font-family: 'Muli', sans-serif;
	font-size: 14px;
	color: #666666;
	font-weight: 500;
}

.social-proof-btn {
	font-family: 'Rubik', sans-serif;
	display: inline-block;
	background: linear-gradient(45deg, #24DC97, #1bc085);
	color: white;
	padding: 14px 32px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(36, 220, 151, 0.3);
}

.social-proof-btn:hover {
	background: linear-gradient(45deg, #1bc085, #24DC97);
	transform: translateY(-2px) scale(1.05);
	box-shadow: 0 8px 25px rgba(36, 220, 151, 0.4);
}

.social-proof-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: left 0.6s;
}

.social-proof-btn:hover::before {
	left: 100%;
}

.social-proof-right {
	flex: 1.2;
	position: relative;
	z-index: 1;
}

.social-proof-image,
.social-proof-video {
	width: 100%;
	height: 320px;
	border-radius: 20px;
	position: relative;
}

.social-proof-video {
	object-fit: cover;
	background: none;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* Social Proof Animations */
@keyframes slideInFromLeft {
	0% {
		opacity: 0;
		transform: translateX(-100px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideInFromRight {
	0% {
		opacity: 0;
		transform: translateX(100px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideInFromTop {
	0% {
		opacity: 0;
		transform: translateY(-80px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes slideInFromBottom {
	0% {
		opacity: 0;
		transform: translateY(80px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Initial hidden state */
.social-proof-left {
	opacity: 0;
	transform: translateX(-100px);
}

.social-proof-right {
	opacity: 0;
	transform: translateX(100px);
}

/* Animate when in view - Desktop */
.social-proof-section.in-view .social-proof-left {
	animation: slideInFromLeft 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.social-proof-section.in-view .social-proof-right {
	animation: slideInFromRight 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}

/* Responsive - Social Proof */
@media (max-width: 768px) {
	/* Mobile animation overrides */
	.social-proof-left {
		opacity: 0;
		transform: translateY(80px);
	}

	.social-proof-right {
		opacity: 0;
		transform: translateY(-80px);
	}

	.social-proof-section.in-view .social-proof-left {
		animation: slideInFromBottom 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
	}

	.social-proof-section.in-view .social-proof-right {
		animation: slideInFromTop 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
	}

	.social-proof-section {
		padding: 40px 0;
	}

	.social-proof-container {
		display: contents;
		flex-direction: column;
		gap: 0;
		text-align: center;
		margin: 0 20px;
		height: auto;
		align-items: stretch;
	}

	.social-proof-left {
		margin-right: 0;
		margin-bottom: -20px;
		z-index: 2;
		order: 2;
		max-width: 100%;
	}

	.social-proof-right {
		order: 1;
		margin-bottom: 0;
	}

	.social-proof-content {
		padding: 35px 30px !important;
		border-radius: 18px !important;
		margin: 0 10px !important;
		min-height: auto !important;
	}

	.social-proof-title {
		font-size: 24px !important;
		margin-bottom: 12px !important;
	}

	.social-proof-description {
		font-size: 15px !important;
		line-height: 1.5 !important;
		margin-bottom: 20px !important;
	}

	.social-proof-image,
	.social-proof-video {
		height: 250px;
		border-radius: 20px 20px 0 0;
	}
}

/* App Carousel Section */
.app-carousel-section {
	background: #f8f9fa;
	padding: 50px 0;
	width: 100%;
	overflow: hidden;
}

.carousel-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 60px;
	text-align: center;
}

.carousel-title {
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	font-size: 48px;
	color: #333333;
	line-height: 120%;
	letter-spacing: -0.5px;
	text-transform: none;
	text-align: center;
	margin-bottom: 30px;
	margin-top: 0;
}

.carousel-wrapper {
	overflow: hidden;
	width: 100%;
	position: relative;
	mask: linear-gradient(90deg, transparent 0%, black 10%, black 90%, transparent 100%);
	-webkit-mask: linear-gradient(90deg, transparent 0%, black 10%, black 90%, transparent 100%);
}

.app-carousel {
	display: flex;
	animation: scroll 30s linear infinite;
	gap: 40px;
	width: fit-content;
}

.app-icon {
	flex-shrink: 0;
	opacity: 0.8;
	transition: all 0.3s ease;
	border-radius: 12px;
	padding: 8px;
	background: white;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.app-icon:hover {
	opacity: 1;
	transform: scale(1.05);
	box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.app-icon svg {
	width: 40px;
	height: 40px;
	display: block;
}

@keyframes scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

/* Responsive - App Carousel */
@media (min-width: 769px) and (max-width: 1024px) {
	.app-carousel-section {
		padding: 40px 0;
	}

	.carousel-container {
		padding: 0 40px;
	}
}

@media (max-width: 768px) {
	.app-carousel-section {
		padding: 35px 0;
	}

	.carousel-title {
		font-size: 32px;
		margin-bottom: 20px;
	}

	.carousel-container {
		padding: 0 20px;
	}

	.app-carousel {
		gap: 30px;
	}

	.app-icon svg {
		width: 36px;
		height: 36px;
	}
}

@media (max-width: 480px) {
	.app-carousel-section {
		padding: 30px 0;
	}

	.carousel-title {
		font-size: 26px;
		margin-bottom: 16px;
	}

	.carousel-container {
		padding: 0 16px;
	}

	.app-carousel {
		gap: 25px;
	}

	.app-icon {
		padding: 6px;
	}

	.app-icon svg {
		width: 32px;
		height: 32px;
	}
}

/* Reviews Section */
.reviews-section {
	background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
	padding: 140px 0 60px 0;
	width: 100%;
	overflow: hidden;
}

.reviews-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 60px;
}

.reviews-header {
	text-align: center;
	margin-bottom: 60px;
}

.reviews-title {
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	font-size: 48px;
	color: #333333;
	line-height: 120%;
	letter-spacing: -0.5px;
	text-transform: none;
	margin: 0 0 16px 0;
}

.reviews-subtitle {
	font-family: 'Muli', sans-serif;
	font-size: 20px;
	color: #666666;
	line-height: 1.6;
	margin: 0;
}

.reviews-carousel-wrapper {
	overflow: hidden;
	width: 100%;
	position: relative;
	padding: 20px 0;
	mask: linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%);
	-webkit-mask: linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%);
}

.reviews-carousel {
	display: flex;
	animation: scrollReviews 40s linear infinite;
	gap: 30px;
	width: fit-content;
}

.reviews-carousel:hover {
	animation-play-state: paused;
}

@keyframes scrollReviews {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

.review-card {
	flex-shrink: 0;
	width: 400px;
	background: white;
	border-radius: 20px;
	padding: 35px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border: 1px solid rgba(36, 220, 151, 0.1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.review-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #24DC97 0%, #1bc085 100%);
	transform: scaleX(0);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transform-origin: left;
}

.review-card:hover::before {
	transform: scaleX(1);
}

.review-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(36, 220, 151, 0.15);
	border-color: rgba(36, 220, 151, 0.3);
}

.review-stars {
	display: flex;
	gap: 4px;
}

.review-stars .star {
	color: #FFD700;
	font-size: 20px;
	text-shadow: 0 0 5px rgba(255, 215, 0, 0.3);
}

.review-text {
	font-family: 'Muli', sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #555555;
	margin: 0;
	font-style: italic;
	flex: 1;
}

.review-author {
	display: flex;
	align-items: center;
	gap: 15px;
	padding-top: 15px;
	border-top: 1px solid #f0f0f0;
}

.author-avatar {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: linear-gradient(135deg, #24DC97, #1bc085);
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 700;
	flex-shrink: 0;
	box-shadow: 0 4px 12px rgba(36, 220, 151, 0.25);
}

.author-info {
	flex: 1;
}

.author-name {
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #333333;
	margin-bottom: 4px;
}

.author-location {
	font-family: 'Muli', sans-serif;
	font-size: 14px;
	color: #999999;
}

/* Press Coverage Section */
.press-section {
	background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
	padding: 140px 0 60px 0;
	width: 100%;
	overflow: hidden;
}

.press-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 60px;
}

.press-header {
	text-align: center;
	margin-bottom: 60px;
}

.press-title {
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	font-size: 48px;
	color: #333333;
	line-height: 120%;
	letter-spacing: -0.5px;
	text-transform: none;
	margin: 0 0 16px 0;
}

.press-subtitle {
	font-family: 'Muli', sans-serif;
	font-size: 20px;
	color: #666666;
	line-height: 1.6;
	margin: 0;
}

.press-carousel-wrapper {
	overflow: hidden;
	width: 100%;
	position: relative;
	padding: 20px 0;
	mask: linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%);
	-webkit-mask: linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%);
}

.press-carousel {
	display: flex;
	animation: scrollPress 60s linear infinite;
	gap: 30px;
	width: fit-content;
}

.press-carousel:hover {
	animation-play-state: paused;
}

.press-card {
	flex-shrink: 0;
	width: 360px;
	background: white;
	border-radius: 20px;
	padding: 32px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border: 1px solid rgba(36, 220, 151, 0.1);
	position: relative;
	overflow: hidden;
}

.press-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #24DC97 0%, #1bc085 100%);
	transform: scaleX(0);
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	transform-origin: left;
}

.press-card:hover::before {
	transform: scaleX(1);
}

.press-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 40px rgba(36, 220, 151, 0.15);
	border-color: rgba(36, 220, 151, 0.3);
}

.press-card-inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: 100%;
}

.press-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

.press-favicon {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	object-fit: contain;
	background: white;
	padding: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.press-source {
	font-family: 'Rubik', sans-serif;
	font-weight: 600;
	font-size: 16px;
	color: #333333;
}

.press-article-title {
	font-family: 'Rubik', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #1a1a1a;
	line-height: 1.4;
	margin: 0;
	min-height: 56px;
}

.press-excerpt {
	font-family: 'Muli', sans-serif;
	font-size: 15px;
	color: #666666;
	line-height: 1.6;
	margin: 0;
	flex-grow: 1;
}

.press-read-more {
	font-family: 'Rubik', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: #24DC97;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.3s ease;
	margin-top: auto;
}

.press-read-more:hover {
	color: #1bc085;
	gap: 10px;
}

@keyframes scrollPress {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

/* Responsive - Press Section */
@media (min-width: 769px) and (max-width: 1024px) {
	.press-section {
		padding: 120px 0 60px 0;
	}

	.press-container {
		padding: 0 40px;
	}

	.press-title {
		font-size: 48px;
	}

	.press-card {
		width: 340px;
		padding: 28px;
	}
}

@media (max-width: 768px) {
	.press-section {
		padding: 100px 0 40px 0;
	}

	.press-container {
		padding: 0 20px;
	}

	.press-header {
		margin-bottom: 40px;
	}

	.press-title {
		font-size: 32px;
	}

	.press-card {
		width: 300px;
		padding: 24px;
	}

	.press-carousel {
		gap: 20px;
	}
}

/* Responsive - Reviews */
@media (min-width: 769px) and (max-width: 1024px) {
	.reviews-section {
		padding: 120px 0 60px 0;
	}

	.reviews-container {
		padding: 0 40px;
	}

	.reviews-title {
		font-size: 48px;
	}

	.reviews-subtitle {
		font-size: 18px;
	}

	.review-card {
		width: 360px;
		padding: 30px;
	}
}

@media (max-width: 768px) {
	.reviews-section {
		padding: 100px 0 40px 0;
	}

	.reviews-container {
		padding: 0 20px;
	}

	.reviews-header {
		margin-bottom: 40px;
	}

	.reviews-title {
		font-size: 32px;
	}

	.reviews-subtitle {
		font-size: 16px;
	}

	.review-card {
		width: 320px;
		padding: 28px;
	}

	.review-text {
		font-size: 15px;
	}

	.author-avatar {
		width: 45px;
		height: 45px;
		font-size: 20px;
	}

	.author-name {
		font-size: 15px;
	}

	.reviews-carousel {
		gap: 20px;
	}
}

@media (max-width: 480px) {
	.reviews-section {
		padding: 90px 0 30px 0;
	}

	.reviews-title {
		font-size: 26px;
	}

	.reviews-subtitle {
		font-size: 15px;
	}

	.press-section {
		padding: 40px 0;
	}

	.press-container {
		padding: 0 16px;
	}

	.press-title {
		font-size: 26px;
	}

	.press-subtitle {
		font-size: 15px;
	}

	.press-card {
		width: 280px;
		padding: 20px;
		border-radius: 16px;
	}

	.press-favicon {
		width: 28px;
		height: 28px;
	}

	.press-source {
		font-size: 14px;
	}

	.press-article-title {
		font-size: 17px;
		min-height: 45px;
	}

	.press-excerpt {
		font-size: 13px;
	}

	.press-read-more {
		font-size: 14px;
	}

	.press-carousel {
		gap: 16px;
	}
}

/* How It Works Section */
.steps-section {
	background: #ffffff;
	padding: 80px 0;
	border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.steps-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

.steps-header {
	text-align: center;
	margin-bottom: 60px;
}

.steps-title {
	font-family: 'Rubik', sans-serif;
	font-size: 48px;
	font-weight: 800;
	color: #333333;
	margin: 0 0 16px 0;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: -1px;
}

.steps-subtitle {
	font-family: 'Muli', sans-serif;
	font-size: 20px;
	color: #666666;
	margin: 0;
	font-weight: 400;
}

.steps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin-bottom: 60px;
}

.step-card {
	background: #ffffff;
	padding: 40px 30px;
	border-radius: 16px;
	border: 2px solid #f0f0f0;
	text-align: center;
	position: relative;
	transition: all 0.3s ease;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.step-card:hover {
	transform: translateY(-8px);
	border-color: var(--primary-color);
	box-shadow: 0 12px 40px rgba(36, 220, 151, 0.15);
}

.step-icon {
	width: 80px;
	height: 80px;
	margin: 0 auto 24px;
	position: relative;
}

.step-number {
	width: 80px;
	height: 80px;
	background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	font-weight: 800;
	color: white;
	box-shadow: 0 8px 24px rgba(36, 220, 151, 0.25);
}

.step-card-title {
	font-family: 'Rubik', sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: #333333;
	margin: 0 0 16px 0;
	line-height: 1.2;
}

.step-card-text {
	font-family: 'Muli', sans-serif;
	font-size: 16px;
	color: #666666;
	line-height: 1.6;
	margin: 0;
}

.steps-bonus {
	display: flex;
	justify-content: center;
}

.bonus-card {
	background: linear-gradient(135deg, #f8fffe, #f0fdf9);
	border: 2px solid var(--primary-color);
	border-radius: 20px;
	padding: 40px;
	text-align: center;
	max-width: 600px;
	position: relative;
	overflow: hidden;
}

.bonus-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
}

.bonus-card-title {
	font-family: 'Rubik', sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: #333333;
	margin: 0 0 16px 0;
	line-height: 1.2;
}

.bonus-card-text {
	font-family: 'Muli', sans-serif;
	font-size: 18px;
	color: #555555;
	line-height: 1.6;
	margin: 0;
}

.bonus-card-text strong {
	color: var(--primary-color);
	font-weight: 700;
}

/* Responsive - How It Works */
@media (max-width: 768px) {
	.steps-section {
		padding: 60px 0;
	}

	.steps-container {
		padding: 0 20px;
	}

	.steps-title {
		font-size: 36px;
		margin-bottom: 12px;
	}

	.steps-subtitle {
		font-size: 18px;
	}

	.steps-header {
		margin-bottom: 40px;
	}

	.steps-grid {
		grid-template-columns: 1fr;
		gap: 30px;
		margin-bottom: 40px;
	}

	.step-card {
		padding: 30px 25px;
	}

	.step-icon {
		width: 70px;
		height: 70px;
		margin-bottom: 20px;
	}

	.step-number {
		width: 70px;
		height: 70px;
		font-size: 28px;
	}

	.step-card-title {
		font-size: 22px;
		margin-bottom: 14px;
	}

	.step-card-text {
		font-size: 15px;
	}

	.bonus-card {
		padding: 30px 25px;
		margin: 0 10px;
	}

	.bonus-card-title {
		font-size: 24px;
		margin-bottom: 14px;
	}

	.bonus-card-text {
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.steps-section {
		padding: 40px 0;
	}

	.steps-container {
		padding: 0 16px;
	}

	.steps-title {
		font-size: 32px;
	}

	.steps-subtitle {
		font-size: 16px;
	}

	.step-card {
		padding: 25px 20px;
	}

	.step-card-title {
		font-size: 20px;
	}

	.step-card-text {
		font-size: 14px;
	}

	.bonus-card {
		padding: 25px 20px;
	}

	.bonus-card-title {
		font-size: 22px;
	}

	.bonus-card-text {
		font-size: 15px;
	}
}

/* Modern Pricing Section - Compact Layout */
.modern-pricing-section {
	background-color: #F6F6F8;
	padding: 48px 0;
	width: 100%;
}

.pricing-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 56px;
	padding: 0 20px;
}

/* Left Content Block */
.pricing-left-block {
	width: 320px;
	flex-shrink: 0;
}

.pricing-label {
	font-size: 12px;
	color: #9797A6;
	font-weight: 500;
	margin-bottom: 12px;
	letter-spacing: 1.0px;
	text-transform: uppercase;
}

.pricing-heading {
	font-size: 44px;
	font-weight: 700;
	line-height: 54px;
	color: #17172A;
	margin: 0 0 14px 0;
}

.pricing-subheading {
	font-size: 18px;
	color: #7B7B93;
	font-weight: 400;
	margin: 0 0 32px 0;
	line-height: 1.5;
}

/* Toggle Container */
.pricing-toggle-container {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
}

.pricing-switch {
	position: relative;
	width: 44px;
	height: 22px;
	margin-right: 8px;
}

.switch-input {
	opacity: 0;
	width: 0;
	height: 0;
}

.switch-label {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #7C3AED;
	border-radius: 16px;
	transition: all 0.3s ease;
}

.switch-slider {
	position: absolute;
	content: '';
	height: 18px;
	width: 18px;
	left: 2px;
	top: 2px;
	background-color: #fff;
	border-radius: 50%;
	transition: all 0.3s ease;
}

.switch-input:checked + .switch-label .switch-slider {
	transform: translateX(22px);
}

.toggle-text {
	font-size: 15px;
	color: #17172A;
	font-weight: 500;
}

.save-badge {
	font-size: 15px;
	font-weight: 700;
	color: #26291F;
	background-color: #F2FF81;
	border-radius: 6px;
	padding: 4px 10px;
	margin-left: 16px;
}


/* Pricing Cards Block */
.pricing-cards-block {
	display: flex;
	flex-direction: row;
	gap: 22px;
	align-items: flex-start;
	flex: 1;
}

.pricing-card {
	width: 272px;
	background-color: #fff;
	border-radius: 18px;
	box-shadow: 0 4px 24px 0 rgba(56, 56, 122, 0.08);
	border: none;
	padding: 34px 28px 30px 28px;
	min-height: 525px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	position: relative;
}

.pricing-card.popular {
	border: 2.5px solid #C0B3F8;
	box-shadow: 0 4px 24px 0 rgba(124, 58, 237, 0.18);
}

/* Plan Elements */
.plan-title {
	font-family: 'Rubik', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #221F38;
	margin: 0 0 6px 0;
}

.plan-price {
	font-family: 'Rubik', sans-serif;
	color: #1A1A33;
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 12px 0;
	display: flex;
	align-items: baseline;
	gap: 4px;
}

/* Features List */
.features-list {
	list-style: none;
	padding: 0;
	margin: 0;
	flex: 1;
}

.features-list li {
	font-family: 'Muli', sans-serif;
	font-size: 16px;
	color: #57576F;
	margin-bottom: 10px;
	position: relative;
	padding-left: 20px;
}

.features-list li:before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--primary-color);
	font-weight: 600;
}

/* Pricing Buttons */
.pricing-btn {
	font-family: 'Rubik', sans-serif;
	width: 100%;
	padding: 10px 0;
	border-radius: 25px;
	font-weight: 600;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	margin-top: 24px;
	transition: all 0.2s ease;
}

.pricing-btn.outlined {
	color: var(--primary-color);
	border: 2px solid var(--primary-color);
	background-color: #fff;
}

.pricing-btn.outlined:hover {
	background-color: var(--primary-color);
	color: #fff;
}

.pricing-btn.filled {
	color: #fff;
	background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
	border: 2px solid var(--primary-color);
}

.pricing-btn.filled:hover {
	background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
	border-color: var(--secondary-color);
}

/* Payment Section */
.payment-section {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 4px 24px 0 rgba(36, 220, 151, 0.12);
	border: 2px solid var(--primary-color);
	padding: 32px;
	margin: 32px auto 0;
	max-width: 600px;
	text-align: center;
}

.payment-header h3 {
	font-size: 22px;
	font-weight: 700;
	color: #221F38;
	margin: 0 0 16px 0;
}

.payment-price {
	font-size: 24px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 24px;
}

.payment-methods h4 {
	font-size: 18px;
	font-weight: 600;
	color: #221F38;
	margin: 0 0 20px 0;
}

.payment-options {
	display: flex;
	justify-content: center;
	gap: 16px;
}

.payment-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 30px;
	background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
	color: #fff;
	border-radius: 14px;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 16px rgba(36, 220, 151, 0.2);
}

.payment-option:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(36, 220, 151, 0.3);
}

.payment-icon {
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.pricing-badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 11px;
	font-weight: 800;
	background-color: #E5E7EB;
	color: #374151;
	border-radius: 6px;
	padding: 3px 8px;
	white-space: nowrap;
	text-transform: uppercase;
}

.popular-badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 13px;
	font-weight: 800;
	background-color: #F2FF81;
	color: #26291F;
	border-radius: 8px;
	padding: 4px 12px;
	white-space: nowrap;
}

.popular-badge.best-value {
	background-color: #7C3AED;
	color: #fff;
}

.plan-title {
	font-family: 'Rubik', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #221F38;
	margin: 0 0 6px 0;
}

.plan-price {
	font-family: 'Rubik', sans-serif;
	color: #1A1A33;
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 8px 0;
	display: flex;
	align-items: baseline;
	gap: 4px;
}

.pricing-currency {
	font-size: 18px;
	color: #57576F;
}

.pricing-time {
	font-size: 14px;
	color: #9797A6;
	margin-bottom: 8px;
}

.pricing-discount {
	font-size: 14px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 12px;
	margin-bottom: 6px;
	text-align: center;
}

.pricing-discount.basic {
	background-color: #F3F4F6;
	color: #374151;
}

.pricing-discount.popular {
	background-color: #FEF3C7;
	color: #D97706;
}

.pricing-discount.best-value {
	background-color: #EDE9FE;
	color: #7C3AED;
}

.pricing-detail {
	font-size: 13px;
	color: #9797A6;
	margin-bottom: 12px;
	text-align: center;
}

.pricing-offer {
	background: linear-gradient(135deg, #FF6B6B, #FF8787);
	color: white;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 8px;
	margin-bottom: 8px;
	text-align: center;
	animation: pulse 2s infinite;
}

@keyframes pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.02); }
	100% { transform: scale(1); }
}

/* Best Value Card */
.pricing-card.best-value {
	border: 2.5px solid #7C3AED;
	box-shadow: 0 4px 24px 0 rgba(124, 58, 237, 0.18);
}

.features-list {
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
	flex-grow: 1;
}

.features-list li {
	font-size: 16px;
	color: #57576F;
	margin-bottom: 10px;
	line-height: 1.5;
}

.pricing-btn {
	width: 100%;
	font-weight: 600;
	font-size: 16px;
	border-radius: 25px;
	padding: 10px 0;
	margin-top: 24px;
	text-align: center;
	text-decoration: none;
	border: 2px solid transparent;
	transition: all 0.3s ease;
	display: block;
}

.pricing-btn.outlined {
	color: #7C3AED;
	border: 2px solid #7C3AED;
	background-color: #fff;
}

.pricing-btn.outlined:hover {
	background-color: #7C3AED;
	color: #fff;
}

.pricing-btn.filled {
	color: #fff;
	background-color: #7C3AED;
	border: 2px solid #7C3AED;
}

.pricing-btn.filled:hover {
	background-color: #6D28D9;
	border-color: #6D28D9;
}

/* Responsive - Pricing */
@media (max-width: 768px) {
	.modern-pricing-section {
		padding: 32px 0;
	}
	
	.pricing-container {
		flex-direction: column;
		gap: 24px;
		padding: 0 16px;
	}
	
	.pricing-left-block {
		width: 100%;
	}
	
	.pricing-heading {
		font-size: 36px;
		line-height: 42px;
	}
	
	.pricing-subheading {
		font-size: 16px;
	}
	
	.pricing-cards-block {
		flex-direction: column;
		gap: 16px;
		width: 100%;
	}
	
	.pricing-card {
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}
}

@media (max-width: 480px) {
	.pricing-container {
		padding: 0 12px;
	}
	
	.pricing-heading {
		font-size: 32px;
		line-height: 38px;
	}
	
	.pricing-card {
		padding: 28px 24px 26px 24px;
		min-height: auto;
	}
	
	.toggle-text {
		font-size: 14px;
	}
	
	.save-badge {
		font-size: 14px;
		padding: 3px 8px;
		margin-left: 12px;
	}
}

/* Payment Methods */
.pricing-payment-methods {
	margin-top: 48px;
	text-align: center;
}

.pricing-buy-card {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	background: white;
	border: 2px solid #E5E7EB;
	border-radius: 12px;
	padding: 16px 24px;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.pricing-buy-card:hover {
	border-color: var(--primary-color);
	box-shadow: 0 4px 16px rgba(36, 220, 151, 0.15);
	transform: translateY(-2px);
}

.pricing-buy-hint {
	font-size: 14px;
	color: #57576F;
	font-weight: 500;
}

.pricing-buy-card svg {
	opacity: 0.8;
}

/* Switch Functionality */
.pricing-toggle-container {
	cursor: pointer;
}

/* Price switching */
.price-monthly,
.price-annual {
	transition: opacity 0.3s ease;
}

/* ========================================
   MOBILE HERO
   ======================================== */
@media (max-width: 768px) {
	.gocardless-hero {
		background: #ffffff !important;
		border-radius: 0 !important;
		margin: 0 !important;
		padding: 130px 0 40px 0 !important;
		min-height: auto !important;
		max-width: 100vw !important;
		width: 100% !important;
		position: relative !important;
		display: flex !important;
		flex-direction: column !important;
		overflow-x: hidden !important;
		border-top: 1px solid #f0f0f0 !important;
	}

	.gc-content-row {
		padding: 0 20px !important;
		gap: 40px !important;
	}

	.social-proof-section {
		padding: 22px 0 30px 0 !important;
	}

	.social-proof-container {
		display: contents;
		padding: 0 20px !important;
		gap: 40px !important;
	}

	/* Header Mobile */
	.gocardless-header {
		background: #ffffff !important;
		height: 54px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		position: relative !important;
		padding: 0 !important;
		width: 100% !important;
		border-bottom: 1px solid #f0f0f0 !important;
	}

	/* Menu Icon */
	.gocardless-header::before {
		content: "☰" !important;
		position: absolute !important;
		left: 16px !important;
		top: 15px !important;
		color: #333333 !important;
		font-size: 24px !important;
		font-weight: 400 !important;
		line-height: 1 !important;
	}

	/* Logo */
	.gc-logo {
		font-family: 'Rubik', sans-serif !important;
		font-size: 26px !important;
		font-weight: 700 !important;
		color: #333333 !important;
		margin: 0 !important;
		text-align: center !important;
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
	}

	.gc-nav {
		display: none !important;
	}

	.gc-header-cta {
		display: none !important;
	}

	/* Content Row - Mobile */
	.gc-content-row {
		max-width: 500px !important;
		margin: 0 auto !important;
		padding: 24px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		min-height: auto !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Media Section - Video on top */
	.gc-right-column {
		width: 100% !important;
		flex: none !important;
		order: 1 !important;
		margin-bottom: 8px !important;
		margin-top: 0 !important;
	}

	.gc-background-text {
		display: none !important;
	}

	.gc-image-frame {
		width: 100% !important;
		aspect-ratio: 16/9 !important;
		border-radius: 24px !important;
		overflow: visible !important;
		box-shadow: 0 8px 32px rgba(27, 192, 133, 0.12) !important;
		border: 1px solid rgba(27, 192, 133, 0.2) !important;
		background: linear-gradient(135deg, #e8f9f3 0%, #d4f4e8 100%) !important;
		padding: 16px !important;
		transform: rotate(0deg) !important;
	}

	.info-box {
		display: none !important;
	}

	.gc-laptop-mockup {
		width: 100% !important;
		height: 100% !important;
		background: #ffffff !important;
		border-radius: 20px !important;
		overflow: hidden !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
	}

	.gc-video-container {
		width: 100% !important;
		height: 100% !important;
		border-radius: 20px !important;
		overflow: hidden !important;
	}

	.gc-video-container iframe {
		width: 100% !important;
		height: 100% !important;
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		border-radius: 20px !important;
	}

	/* Text Section - Below video */
	.gc-left-column {
		width: 100% !important;
		flex: none !important;
		order: 2 !important;
		text-align: left !important;
	}

	/* Announcement Bar */
	.gc-badge {
		background: #f8f9fa !important;
		border: 1px solid #e5e5e5 !important;
		color: #333333 !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		padding: 8px 18px !important;
		border-radius: 24px !important;
		margin-bottom: 18px !important;
		margin-top: 12px !important;
		display: inline-block !important;
		text-align: left !important;
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	.gc-badge-link {
		color: #24DC97 !important;
		font-weight: bold !important;
		text-decoration: underline !important;
	}

	/* Main Heading */
	.gc-headline {
		font-size: 32px !important;
		line-height: 1.08 !important;
		font-weight: 800 !important;
		margin-bottom: 16px !important;
		margin-top: 0 !important;
		color: #333333 !important;
		text-transform: uppercase !important;
		text-align: left !important;
		letter-spacing: -0.5px !important;
	}
}

/* Tablet Responsive - Hero Section */
@media (min-width: 769px) and (max-width: 1024px) {
	.gocardless-hero {
		padding: 150px 0 60px 0;
	}

	.gc-content-row {
		padding: 0 40px;
		gap: 60px;
	}

	.social-proof-section {
		padding: 120px 0 60px 0;
	}

	.social-proof-container {
		padding: 0 40px;
		gap: 60px;
	}

	.gocardless-header {
		padding: 18px 30px;
	}

	.gc-logo {
		font-size: 24px;
	}

	.gc-nav a {
		font-size: 15px;
	}

	.gc-main-content {
		padding: 40px 30px 50px;
		gap: 50px;
	}

	.gc-hero-subtitle {
		font-size: 17px;
		line-height: 26px;
	}

	.gc-phone-container {
		width: 320px;
		height: 640px;
	}

	.gc-phone-screen {
		width: 300px;
		height: 600px;
	}
}

/* Small Mobile Responsive - Hero Section */
@media (max-width: 480px) {
	.gocardless-header {
		height: 54px !important;
		padding: 0 !important;
	}

	.gocardless-header::before {
		left: 14px !important;
		font-size: 22px !important;
	}

	.gc-logo {
		font-size: 24px !important;
	}

	.gc-content-row {
		padding: 20px !important;
		max-width: 100% !important;
	}

	.gc-background-text {
		display: none !important;
	}

	.gc-right-column {
		margin-bottom: 6px !important;
	}

	.gc-image-frame {
		border-radius: 20px !important;
		background: linear-gradient(135deg, #e8f9f3 0%, #d4f4e8 100%) !important;
		border: 1px solid rgba(27, 192, 133, 0.2) !important;
		box-shadow: 0 6px 24px rgba(27, 192, 133, 0.12) !important;
		padding: 12px !important;
		transform: rotate(0deg) !important;
	}

	.info-box {
		display: none !important;
	}

	.gc-laptop-mockup {
		background: #ffffff !important;
		border-radius: 16px !important;
		overflow: hidden !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	}

	.gc-video-container {
		border-radius: 16px !important;
		overflow: hidden !important;
	}

	.gc-video-container iframe {
		width: 100% !important;
		height: 100% !important;
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		border-radius: 16px !important;
	}

	.gc-badge {
		font-size: 13px !important;
		padding: 6px 16px !important;
		margin-bottom: 16px !important;
		margin-top: 10px !important;
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	.gc-headline {
		font-size: 28px !important;
		line-height: 1.1 !important;
		margin-bottom: 14px !important;
	}
}

/* ========================================
   FEATURES SECTION - MOBILE
   ======================================== */

/* Features Section */
.new-features-section {
	padding: 140px 0 60px 0;
	background: #ffffff;
	position: relative;
}

.features-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 60px;
}

.features-header {
	text-align: center;
	margin-bottom: 50px;
}

.features-title {
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	font-size: 48px;
	color: #333333;
	line-height: 120%;
	letter-spacing: -0.5px;
	text-transform: none;
	margin: 0 0 16px 0;
	text-align: center;
}

.features-subtitle {
	font-family: 'Muli', sans-serif;
	font-size: 20px;
	color: #666666;
	line-height: 1.6;
	margin: 0;
	text-align: center;
}

.features-grid {
	display: flex;
	gap: 32px;
	overflow-x: hidden;
	justify-content: center;
	padding-bottom: 20px;
	flex-wrap: nowrap;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 60px;
}

.features-grid::-webkit-scrollbar {
	height: 4px;
}

.features-grid::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 2px;
}

.features-grid::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 2px;
}

.feature-card {
	flex: 1;
	max-width: 400px;
	min-width: 320px;
	height: 500px;
	scroll-snap-align: start;
	perspective: 1000px;
	position: relative;
}

.card-inner {
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform 0.6s;
	transform-style: preserve-3d;
}

.card-inner.flipped {
	transform: rotateY(180deg);
}

.card-inner.flipped .card-front {
	pointer-events: none;
	visibility: hidden;
}

.card-inner.flipped .card-back {
	pointer-events: auto;
}

.card-front,
.card-back {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	border-radius: 16px;
	box-shadow: 0 4px 24px 0 rgba(56, 56, 122, 0.09);
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transition: all 0.3s ease;
	overflow: hidden;
}

.card-front {
	background-color: #F6F8FF;
	border: 1px solid rgba(224, 230, 249, 0.6);
}

.card-back {
	background-color: #F6F8FF;
	border: 1px solid rgba(224, 230, 249, 0.6);
	transform: rotateY(180deg);
	justify-content: center;
	align-items: center;
	padding: 24px;
	pointer-events: auto;
}

/* Feature card color variants */

/* Different pastel colors for each card */
.feature-card[data-feature="1"] .card-front,
.feature-card[data-feature="1"] .card-back {
	background-color: #F6F8FF;
	border: 1px solid rgba(180, 190, 255, 0.6);
}

.feature-card[data-feature="2"] .card-front,
.feature-card[data-feature="2"] .card-back {
	background-color: #FFF8F0;
	border: 1px solid rgba(255, 220, 190, 0.6);
}

.feature-card[data-feature="3"] .card-front,
.feature-card[data-feature="3"] .card-back {
	background-color: #F0FFF4;
	border: 1px solid rgba(190, 255, 210, 0.6);
}


.feature-content {
	position: relative;
	margin-top: 0;
	margin-bottom: 12px;
	width: 100%;
	align-self: flex-start;
	flex-shrink: 0;
}

.feature-card-title {
	font-family: 'Rubik', sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #151515;
	margin-bottom: 6px;
	line-height: 1.2;
	text-align: left;
}

.feature-card-subtitle {
	font-family: 'Muli', sans-serif;
	font-size: 13px;
	line-height: 1.4;
	color: #666666;
	margin-bottom: 0;
	text-align: left;
}

.feature-image-container {
	position: relative;
	width: 100%;
	flex: 1;
	margin: 12px auto 0 auto;
	align-self: center;
	display: flex;
	align-items: stretch;
}

.feature-image {
	width: 100%;
	height: 100%;
	min-height: 280px;
	border-radius: 12px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	overflow: hidden;
	box-shadow: none;
}

.feature-image::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 30%;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.1));
	pointer-events: none;
}

/* Feature Images */
.feature-image-1 {
	background-image: url('./images/feature-emotion-1-dashboard.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.feature-image-2 {
	background-image: url('./images/feature-emotion-2-audio-v2.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.feature-image-3 {
	background-image: url('./images/feature-emotion-3-gps.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.feature-image-4 {
	background-image: linear-gradient(135deg, rgba(255, 240, 248, 0.4), rgba(255, 220, 240, 0.4)),
	                  url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 300"><rect width="400" height="300" fill="%23fff0f8"/><rect x="120" y="80" width="160" height="140" rx="20" fill="%23ffffff" opacity="0.95" stroke="%23ff8fb3" stroke-width="2"/><circle cx="200" cy="120" r="20" fill="%23ff70a6" opacity="0.8"/><path d="M 185 105 Q 200 100 215 105 Q 215 115 200 125 Q 185 115 185 105" fill="%23ffffff" opacity="0.9"/><rect x="160" y="150" width="80" height="8" rx="4" fill="%23ff8fb3" opacity="0.6"/><rect x="160" y="165" width="60" height="8" rx="4" fill="%23ff8fb3" opacity="0.4"/><rect x="160" y="180" width="70" height="8" rx="4" fill="%23ff8fb3" opacity="0.5"/><circle cx="160" cy="200" r="8" fill="%23ff6b6b" opacity="0.7"/><circle cx="200" cy="200" r="8" fill="%23ff6b6b" opacity="0.7"/><circle cx="240" cy="200" r="8" fill="%23ff6b6b" opacity="0.7"/></svg>');
}

.plus-button {
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1.5px solid #E0E6F9;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
	cursor: pointer;
	transition: all 0.2s ease;
}

.plus-button:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.plus-button::before {
	content: '+';
	font-size: 18px;
	font-weight: 400;
	color: #4a4a4a;
	line-height: 1;
}

/* Feature Details Styling for card back */
.feature-details {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	position: relative;
	z-index: 1;
	overflow: hidden;
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	pointer-events: auto;
	padding-top: 55px;
	box-sizing: border-box;
}

.feature-details::-webkit-scrollbar {
	display: none;
}

/* Back button styling */
.back-button {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #ffffff;
	border: 2px solid #e0e0e0;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 20px;
	font-weight: bold;
	color: #333333;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
	z-index: 9999;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	pointer-events: auto !important;
	-webkit-tap-highlight-color: rgba(36, 220, 151, 0.3);
	touch-action: manipulation;
}

.back-button:hover,
.back-button:active {
	background: #24DC97;
	color: white;
	border-color: #24DC97;
	box-shadow: 0 4px 12px rgba(36, 220, 151, 0.4);
}

.feature-details h4 {
	font-family: 'Rubik', sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #333333;
	margin: 0 0 12px 0;
}

.feature-details p {
	font-size: 14px;
	line-height: 1.5;
	color: #666666;
	margin: 0 0 16px 0;
}

.feature-details ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.feature-details li {
	font-size: 13px;
	line-height: 1.4;
	color: #555555;
	margin: 0 0 8px 0;
	padding-left: 0;
}

.feature-details li:last-child {
	margin-bottom: 0;
}

/* Animation for slide down */
@keyframes slideDown {
	0% {
		opacity: 0;
		transform: translateY(-10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Features Carousel Dots (Mobile only) */
.features-dots {
	display: none;
	justify-content: center;
	gap: 10px;
	margin-top: 20px;
	padding: 0 20px;
}

.features-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #d1d5db;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
}

.features-dot:hover {
	background: #9ca3af;
}

.features-dot.active {
	background: #24DC97;
	transform: scale(1.3);
}

@media (max-width: 768px) {
	.features-dots {
		display: flex;
	}
}

/* Responsive - Features (Tablet) */
@media (min-width: 769px) and (max-width: 1024px) {
	.new-features-section {
		padding: 120px 0 60px 0;
	}

	.features-container {
		padding: 0 40px;
	}

	.features-grid {
		gap: 24px;
	}
}

@media (max-width: 768px) {
	.new-features-section {
		padding: 100px 0 40px 0;
	}

	.features-container {
		padding: 0 20px;
	}

	.features-header {
		margin-bottom: 30px;
	}

	.features-title {
		font-size: 32px;
		margin-bottom: 12px;
	}

	.features-subtitle {
		font-size: 16px;
	}

	.features-grid {
		flex-direction: row;
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		padding: 0 20px 10px 20px;
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.features-grid::-webkit-scrollbar {
		display: none;
	}

	.feature-card {
		flex: 0 0 85vw;
		width: 85vw;
		max-width: 85vw;
		height: 450px;
		scroll-snap-align: start;
	}
	
	.card-front,
	.card-back {
		padding: 16px;
	}
	
	.feature-image {
		min-height: 240px;
	}
	
	.feature-image-container {
		width: 100%;
		margin: 16px auto 16px auto;
	}
	
	.feature-details {
		padding: 16px;
	}
	
	.feature-details h4 {
		font-size: 16px;
	}
	
	.feature-details p {
		font-size: 13px;
	}
	
	.feature-details li {
		font-size: 12px;
	}
	
	.feature-card-title {
		font-size: 18px;
	}

	.feature-card-subtitle {
		font-size: 14px;
		margin-bottom: 20px;
	}

	.plus-button {
		width: 36px;
		height: 36px;
		bottom: 8px;
		right: 8px;
	}

	.plus-button::before {
		font-size: 18px;
	}
}

@media (max-width: 480px) {
	.new-features-section {
		padding: 90px 0 30px 0;
	}

	.features-container {
		padding: 0 16px;
	}

	.features-header {
		margin-bottom: 24px;
	}

	.features-title {
		font-size: 26px;
		margin-bottom: 10px;
	}

	.features-subtitle {
		font-size: 15px;
	}
}

/* ========================================
   HOW IT WORKS SECTION - MOBILE
   ======================================== */

.come-funziona-section {
	background: #ffffff;
	padding: 140px 0 60px 0;
	width: 100%;
	overflow: hidden;
}

.cf-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 60px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: center;
}

.cf-left-column {
	position: relative;
}

.cf-media-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}


.cf-background-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}

.cf-right-column {
	padding: 20px 0;
}

.cf-main-title {
	font-family: 'Rubik', sans-serif;
	font-size: 42px;
	font-weight: 700;
	color: #333333;
	margin: 0 0 40px 0;
	line-height: 1.2;
}

.cf-step {
	display: flex;
	gap: 20px;
	margin-bottom: 32px;
	align-items: flex-start;
}

.cf-step-icon {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	box-shadow: 0 4px 16px rgba(36, 220, 151, 0.25);
}

.cf-step-content {
	flex: 1;
}

.cf-step-title {
	font-size: 20px;
	font-weight: 700;
	color: #333333;
	margin: 0 0 12px 0;
	font-family: 'Rubik', sans-serif;
}

.cf-step-description {
	font-size: 16px;
	color: #666666;
	line-height: 1.6;
	margin: 0;
	font-family: 'Muli', sans-serif;
}

/* Tablet Responsive - How It Works */
@media (min-width: 769px) and (max-width: 1024px) {
	.come-funziona-section {
		padding: 120px 0 60px 0;
	}

	.cf-container {
		padding: 0 40px;
		gap: 60px;
	}
}

/* Mobile Responsive - How It Works */
@media (max-width: 768px) {
	.come-funziona-section {
		padding: 100px 0 40px 0;
	}

	.cf-container {
		padding: 0 20px;
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 0 20px;
	}

	.cf-left-column {
		order: 1;
	}

	.cf-right-column {
		order: 2;
		padding: 0;
	}

	.cf-main-title {
		font-size: 32px;
		margin-bottom: 32px;
		text-align: center;
	}


	.cf-step {
		margin-bottom: 24px;
	}

	.cf-step-icon {
		width: 48px;
		height: 48px;
	}

	.cf-step-icon svg {
		width: 24px;
		height: 24px;
	}

	.cf-step-title {
		font-size: 18px;
		margin-bottom: 10px;
	}

	.cf-step-description {
		font-size: 15px;
	}

	.cf-media-wrapper {
		aspect-ratio: 16 / 9;
	}
}

@media (max-width: 480px) {
	.come-funziona-section {
		padding: 40px 0;
	}

	.cf-container {
		padding: 0 16px;
		gap: 32px;
	}

	.cf-main-title {
		font-size: 28px;
		margin-bottom: 28px;
	}


	.cf-step {
		gap: 16px;
		margin-bottom: 20px;
	}

	.cf-step-icon {
		width: 44px;
		height: 44px;
	}

	.cf-step-title {
		font-size: 17px;
	}

	.cf-step-description {
		font-size: 14px;
	}
}


/* ========================================
   FOOTER SECTION
   ======================================== */

#footer {
	display: inline-block;
	box-sizing: border-box;
	padding: 30px 15px 30px 15px;
	width: 100%;
	height: auto;
	background-color: #151922
}

#footercontent {
	display: block;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	width: 992px;
	height: auto;
	max-width: 100%
}

.footerpanel {
	display: inline-block;
	position: relative;
	padding: 30px 15px 15px 15px;
	width: 25%;
	box-sizing: border-box;
	font-size: .95em
}

.footerpanel.left {
	float: left
}

.footerpanel.right {
	float: right
}

.footerpanel p,
.footerpanel span {
	line-height: 1.1em;
	letter-spacing: .2px
}

.footertitle {
	color: #737579;
	text-transform: uppercase;
	font-family: Rubik, sans-serif;
	font-weight: 500;
	margin-bottom: 15px
}

.footerlink {
	display: block;
	color: #fff;
	margin-bottom: 8px
}

.footerlink:hover {
	color: #24DC97
}

.footerlink.green {
	color: #25d366
}

.footerend {
	display: block;
	position: relative;
	padding: 30px 15px 15px 15px;
	font-size: 15px;
	line-height: 20px
}

.footerend.left {
	float: left
}

.footerend.right {
	float: right
}

.disclaimer {
	font-size: .7em;
	padding: 0 15px 0 15px;
	text-align: justify;
	text-justify: inter-word
}

.langswitch {
	border: 0;
	color: #fff;
	font-size: 14px;
	height: 50px;
	width: 100%;
	padding: 5px 20px;
	font-weight: 400;
	border-radius: 5px;
	background: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 11L4 6h8z" fill="%23fff" fill-rule="evenodd"/></svg>') no-repeat 100% #2c3038;
	background-origin: content-box;
	-webkit-box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-shadow: none;
	padding: 5px 20px 5px 20px;
	box-sizing: border-box;
	outline: 0
}

.whatsapp-button {
	background-color: #25d366;
	border-radius: 30px;
	bottom: 20px;
	box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, .24);
	color: #fff;
	cursor: pointer;
	height: 60px;
	max-width: 95vw;
	min-width: 60px;
	position: fixed;
	left: 20px;
	transition: background-color .5s ease-in-out;
	z-index: 999
}

.whatsapp-button svg {
	height: 60px;
	margin: 0 12px;
	width: 36px
}

/* Footer Mobile Responsive */
@media all and (max-width:767px) {

	#footercontent {
		margin: 0;
		max-width: 100%
	}

	.footerend {
		display: block;
		float: none !important;
		text-align: center
	}

	.footerpanel:nth-of-type(odd) {
		float: left !important;
		margin-right: auto;
		width: 51% !important
	}

	.footerpanel:nth-of-type(even) {
		float: right !important;
		width: 49% !important
	}
}

@media all and (max-width:350px) {
	.footerpanel {
		font-size: .9em
	}
}


/* ========================================
   PRICING SECTION
   ======================================== */

.new-pricing-section {
	background: #ffffff;
	padding: 60px 20px;
	width: 100%;
}

.new-pricing-container {
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}

.new-pricing-header {
	text-align: center;
	margin-bottom: 50px;
}

.new-pricing-title {
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	font-size: 48px;
	color: #333333;
	line-height: 120%;
	letter-spacing: -0.5px;
	text-transform: none;
	margin: 0 0 16px 0;
	display: block;
}

.new-pricing-title .text-red {
	color: #f74e4e;
}

.new-pricing-subtitle {
	font-family: 'Muli', sans-serif;
	font-size: 20px;
	color: #666666;
	line-height: 1.6;
	margin: 0;
}

.new-pricing-cards {
	display: flex;
	justify-content: center;
	gap: 30px;
	margin-bottom: 40px;
	flex-wrap: wrap;
}

.new-pricing-card {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	padding: 30px 25px;
	width: 300px;
	text-align: center;
	position: relative;
	border: 2px solid transparent;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
}

.new-pricing-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.new-pricing-card.highlighted {
	border: 2px solid #48aa35;
	box-shadow: 0 6px 20px rgba(72, 170, 53, 0.2);
}

.new-pricing-card.selected {
	border: 3px solid #48aa35;
	box-shadow: 0 0 0 4px rgba(72, 170, 53, 0.3), 0 8px 25px rgba(72, 170, 53, 0.25);
	transform: translateY(-5px);
	background: linear-gradient(180deg, #ffffff 0%, #f0fff0 100%);
}

.new-pricing-card.selected .new-pricing-btn {
	background-color: #3a8a2a;
	color: white;
}

.new-pricing-card.selected .new-pricing-btn::after {
	content: ' ✓';
}

.new-plan-label {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 15px;
	color: #333;
}

.new-plan-name {
	font-size: 20px;
	font-weight: 700;
	color: #333;
	margin-bottom: 15px;
}

.new-special-offer {
	color: #48aa35;
	font-size: 14px;
	font-weight: normal;
	margin-bottom: 15px;
	padding: 8px 12px;
	background: #f0f9ee;
	border-radius: 8px;
}

.new-plan-price {
	margin-bottom: 10px;
}

.new-price-value {
	font-size: 42px;
	font-weight: 700;
	color: #333;
}

.new-price-currency {
	font-size: 18px;
	color: #666;
	margin-left: 5px;
}

.new-plan-billing {
	font-size: 14px;
	color: #666;
	margin-bottom: 8px;
}

.new-plan-total {
	font-size: 14px;
	color: #999;
	margin-bottom: 25px;
}

.new-pricing-btn {
	background: #fff;
	border: 2px solid #333;
	color: #333;
	padding: 12px 30px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	width: 100%;
	text-transform: none;
	margin-top: auto;
}

.new-pricing-btn:hover {
	background: #333;
	color: #fff;
}

.highlighted .new-pricing-btn {
	background: #48aa35;
	border-color: #48aa35;
	color: #fff;
}

.highlighted .new-pricing-btn:hover {
	background: #3d9030;
	border-color: #3d9030;
}

.new-payment-button-section {
	margin-top: 50px;
	text-align: center;
}

.new-payment-btn {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	background-color: #36a2e6;
	color: #fff;
	padding: 16px 40px;
	border-radius: 8px;
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 12px rgba(54, 162, 230, 0.3);
}

.new-payment-btn:hover {
	background-color: #2a8ac9;
	box-shadow: 0 6px 16px rgba(54, 162, 230, 0.4);
	transform: translateY(-2px);
}

.new-payment-icons {
	display: flex;
	gap: 6px;
	align-items: center;
}

.new-payment-icons svg {
	height: 24px;
	width: auto;
	flex-shrink: 0;
}

/* Responsive - New Pricing Layout */
@media (max-width: 768px) {
	.new-pricing-header {
		margin-bottom: 30px;
	}

	.new-pricing-title {
		font-size: 32px;
		margin-bottom: 12px;
	}

	.new-pricing-subtitle {
		font-size: 16px;
	}

	.new-pricing-cards {
		flex-direction: column;
		align-items: center;
	}

	.new-pricing-card {
		width: 100%;
		max-width: 350px;
	}

	.new-payment-btn {
		flex-direction: column;
		gap: 10px;
		padding: 14px 30px;
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.new-pricing-section {
		padding: 40px 15px;
	}

	.new-pricing-header {
		margin-bottom: 24px;
	}

	.new-pricing-title {
		font-size: 26px;
		margin-bottom: 10px;
	}

	.new-pricing-subtitle {
		font-size: 15px;
	}

	.new-price-value {
		font-size: 36px;
	}
}

/* ========================================
   WHY CHOOSE US SECTION
   ======================================== */

.why-us-section {
	background: #ffffff;
	padding: 80px 0;
	width: 100%;
}

.why-us-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

.why-us-header {
	text-align: center;
	margin-bottom: 60px;
}

.why-us-title {
	font-family: 'Rubik', sans-serif;
	font-weight: 900;
	font-size: 48px;
	color: #333333;
	line-height: 120%;
	letter-spacing: -0.5px;
	text-transform: none;
	margin: 0 0 16px 0;
}

.why-us-title .text-red {
	color: #f74e4e;
}

.why-us-subtitle {
	font-family: 'Muli', sans-serif;
	font-size: 20px;
	color: #666666;
	line-height: 1.6;
	margin: 0;
}

.why-us-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 60px;
}

.why-us-card {
	background: #f9f9f9;
	border-radius: 16px;
	padding: 40px;
}

.why-us-card-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}

.italy-flag {
	display: inline-flex;
	width: 32px;
	height: 22px;
	border-radius: 3px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}

.flag-green {
	flex: 1;
	background: #009246;
}

.flag-white {
	flex: 1;
	background: #ffffff;
}

.flag-red {
	flex: 1;
	background: #CE2B37;
}

.key-icon {
	font-size: 28px;
	line-height: 1;
}

.money-icon {
	font-size: 28px;
	line-height: 1;
}

.support-icon {
	font-size: 28px;
	line-height: 1;
}

.why-us-card-title {
	font-family: 'Rubik', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #333333;
	margin: 0;
}

.why-us-card-text {
	font-family: 'Muli', sans-serif;
	font-size: 16px;
	color: #666666;
	line-height: 1.7;
	margin: 0;
}

/* Responsive - Why Us */
@media (max-width: 768px) {
	.why-us-section {
		padding: 60px 0;
	}

	.why-us-container {
		padding: 0 20px;
	}

	.why-us-header {
		margin-bottom: 40px;
	}

	.why-us-title {
		font-size: 32px;
		margin-bottom: 12px;
	}

	.why-us-subtitle {
		font-size: 16px;
	}

	.why-us-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.why-us-card {
		padding: 30px;
	}

	.why-us-card-title {
		font-size: 20px;
	}

	.why-us-card-text {
		font-size: 15px;
	}
}

@media (max-width: 480px) {
	.why-us-section {
		padding: 50px 0;
	}

	.why-us-container {
		padding: 0 16px;
	}

	.why-us-header {
		margin-bottom: 30px;
	}

	.why-us-title {
		font-size: 26px;
		margin-bottom: 10px;
	}

	.why-us-subtitle {
		font-size: 15px;
	}

	.why-us-card {
		padding: 24px;
	}

	.why-us-card-title {
		font-size: 18px;
	}

	.why-us-card-text {
		font-size: 14px;
	}
}

/* ========================================
   ARTICLES SECTION
   ======================================== */

.articles-section {
	background: #ffffff;
	padding: 48px 32px;
	width: 100%;
}

.articles-header {
	text-align: center;
	margin-bottom: 48px;
}

/* Articles Carousel Container */
.articles-carousel-container {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 0 20px;
}

.articles-carousel-wrapper {
	overflow: hidden;
	flex: 1;
	min-width: 0;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.articles-carousel-wrapper::-webkit-scrollbar {
	display: none;
}

.articles-carousel {
	display: flex;
	gap: 30px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 10px 0;
	touch-action: pan-x pan-y;
	cursor: grab;
}

.articles-carousel::-webkit-scrollbar {
	display: none;
}

/* Navigation Buttons */
.articles-nav-btn {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #ffffff;
	border: 2px solid #e5e7eb;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	flex-shrink: 0;
	color: #333;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.articles-nav-btn:hover {
	background: #48aa35;
	border-color: #48aa35;
	color: white;
	transform: scale(1.1);
}

/* Carousel Dots */
.articles-dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 30px;
}

.articles-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #d1d5db;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
}

.articles-dot:hover {
	background: #9ca3af;
}

.articles-dot.active {
	background: #48aa35;
	transform: scale(1.2);
}

/* Articles wrapper */
.articles-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 48px;
}

/* Card Container */
.article-card {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	padding: 24px;
	min-width: 500px;
	max-width: 500px;
	flex-shrink: 0;
	scroll-snap-align: start;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.article-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.article-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Text Block */
.article-text {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.article-source {
	font-family: 'Rubik', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	color: #75a9c7;
	margin-bottom: 16px;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.article-logo {
	width: 32px;
	height: 32px;
	border-radius: 6px;
	object-fit: contain;
}

.article-title {
	font-size: 20px;
	font-weight: 800;
	color: #23262f;
	margin-bottom: 12px;
	line-height: 1.3;
	font-family: 'Rubik', sans-serif;
}

.article-excerpt {
	font-size: 14px;
	color: #202226;
	line-height: 1.5;
	margin-bottom: 16px;
	font-family: 'Muli', sans-serif;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.article-meta {
	display: flex;
	align-items: center;
	margin-bottom: 16px;
}

.article-author,
.article-date {
	font-family: 'Muli', sans-serif;
	font-size: 12px;
	color: #9aa5bb;
}

.meta-separator {
	margin-left: 12px;
	margin-right: 12px;
	color: #9aa5bb;
}

.article-cta {
	font-family: 'Rubik', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #0084ee;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.3s ease;
}

.article-cta:hover {
	color: #0066bb;
	gap: 12px;
}

.article-cta svg {
	transition: transform 0.3s ease;
}

.article-cta:hover svg {
	transform: translateX(4px);
}

/* Image Block */
.article-image-wrapper {
	width: 100%;
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

.article-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.article-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, rgba(252, 109, 67, 0.8) 0%, rgba(61, 132, 207, 0.45) 100%);
	display: flex;
	align-items: flex-end;
	padding: 24px;
}

.overlay-text {
	font-size: 28px;
	font-weight: 900;
	color: #fff;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
	margin: 0;
	font-family: 'Rubik', sans-serif;
}

.overlay-logo {
	width: 50px;
	height: 50px;
	object-fit: contain;
	filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
	background: rgba(255, 255, 255, 0.95);
	border-radius: 8px;
	padding: 8px;
}

/* Responsive - Articles */
@media (max-width: 992px) {
	.articles-wrapper {
		gap: 32px;
	}

	.articles-carousel-container {
		padding: 0 10px;
	}

	.article-card {
		min-width: 400px;
		max-width: 400px;
	}

	.articles-nav-btn {
		width: 40px;
		height: 40px;
	}

	.article-title {
		font-size: 18px;
	}

	.overlay-text {
		font-size: 24px;
	}
}
@media (max-width: 768px) {
	.articles-section {
		padding: 32px 0;
	}

	.articles-carousel-container {
		flex-direction: column;
		gap: 15px;
		padding: 0;
	}

	.articles-carousel-wrapper {
		width: 100%;
		overflow: visible;
	}

	.articles-carousel {
		padding: 10px 20px;
		gap: 16px;
		scroll-padding-left: 20px;
	}

	.articles-nav-btn {
		display: none;
	}

	.article-card {
		min-width: 85vw;
		max-width: 85vw;
		padding: 16px;
	}

	.article-title {
		font-size: 16px;
	}

	.article-excerpt {
		font-size: 13px;
	}

	.overlay-text {
		font-size: 20px;
	}

	.article-overlay {
		padding: 16px;
	}

	.articles-dots {
		gap: 8px;
	}

	.articles-dot {
		width: 10px;
		height: 10px;
	}
}

@media (max-width: 480px) {
	.articles-section {
		padding: 24px 0;
	}

	.articles-wrapper {
		gap: 24px;
	}

	.articles-carousel {
		padding: 10px 16px;
		gap: 12px;
		scroll-padding-left: 16px;
	}

	.article-card {
		min-width: 85vw;
		max-width: 85vw;
		padding: 14px;
	}

	.article-title {
		font-size: 15px;
	}

	.article-excerpt {
		font-size: 12px;
	}

	.article-cta {
		font-size: 16px;
	}

	.overlay-text {
		font-size: 18px;
	}

	.article-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.meta-separator {
		display: none;
	}
}
