@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
/* line 9, app/assets/stylesheets/_design-tokens.scss */
:root {
  --ds-ink-900: #0F1419;
  --ds-ink-800: #1F2937;
  --ds-ink-700: #374151;
  --ds-ink-500: #6B7280;
  --ds-ink-300: #D1D5DB;
  --ds-cream-50:  #FBF8F3;
  --ds-cream-100: #F5EFE6;
  --ds-cream-200: #E8DFD0;
  --ds-camel-300: #D4B896;
  --ds-camel-500: #B8956A;
  --ds-camel-700: #8C6F4A;
  --ds-forest-500: #3C5A4A;
  --ds-forest-700: #2A3F34;
  --ds-success: #2F7D5B;
  --ds-warning: #B8870D;
  --ds-danger:  #B33A3A;
  --ds-bg-page:       var(--ds-cream-50);
  --ds-bg-surface:    #FFFFFF;
  --ds-bg-surface-2:  var(--ds-cream-100);
  --ds-bg-inverse:    var(--ds-ink-900);
  --ds-text-primary:    var(--ds-ink-900);
  --ds-text-secondary:  var(--ds-ink-700);
  --ds-text-muted:      var(--ds-ink-500);
  --ds-text-on-inverse: var(--ds-cream-50);
  --ds-brand-primary:   var(--ds-camel-500);
  --ds-brand-on-light:  var(--ds-camel-700);
  --ds-brand-secondary: var(--ds-forest-500);
  --ds-border-subtle:  rgba(15, 20, 25, 0.08);
  --ds-border-default: rgba(15, 20, 25, 0.16);
  --ds-border-strong:  var(--ds-ink-300);
  --ds-focus-ring: rgba(184, 149, 106, 0.5);
  --ds-space-1:  4px;
  --ds-space-2:  8px;
  --ds-space-3:  12px;
  --ds-space-4:  16px;
  --ds-space-5:  24px;
  --ds-space-6:  32px;
  --ds-space-8:  48px;
  --ds-space-10: 64px;
  --ds-space-12: 80px;
  --ds-space-16: 128px;
  --ds-space-20: 160px;
  --ds-radius-sm:   6px;
  --ds-radius-md:   12px;
  --ds-radius-lg:   16px;
  --ds-radius-xl:   24px;
  --ds-radius-full: 999px;
  --ds-shadow-xs: 0 1px 2px rgba(15, 20, 25, 0.04);
  --ds-shadow-sm: 0 2px 8px rgba(15, 20, 25, 0.06);
  --ds-shadow-md: 0 8px 24px rgba(15, 20, 25, 0.08);
  --ds-shadow-lg: 0 20px 48px rgba(15, 20, 25, 0.12);
  --ds-shadow-focus: 0 0 0 3px var(--ds-focus-ring);
  --ds-ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ds-ease-in:     cubic-bezier(0.4, 0, 1, 1);
  --ds-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ds-dur-fast: 150ms;
  --ds-dur-base: 240ms;
  --ds-dur-slow: 400ms;
  --ds-font-display: "Fraunces", "Playfair Display", Georgia, serif;
  --ds-font-body:    "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
  --ds-font-mono:    "JetBrains Mono", ui-monospace, monospace;
  --ds-container-default: 1200px;
  --ds-container-wide:    1440px;
  --ds-container-reading: 680px;
  --ds-z-base:    0;
  --ds-z-raised:  10;
  --ds-z-sticky:  20;
  --ds-z-overlay: 40;
  --ds-z-modal:   100;
  --ds-z-toast:   1000;
}

/* line 15, app/assets/stylesheets/_design-typography.scss */
.ds-display-xl {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(2.5rem, calc(4vw + 1rem), 4.5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

/* line 23, app/assets/stylesheets/_design-typography.scss */
.ds-display-lg {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(2rem, calc(3vw + 1rem), 3.5rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
}

/* line 31, app/assets/stylesheets/_design-typography.scss */
.ds-display-md {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(1.75rem, calc(2vw + 1rem), 2.5rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
}

/* line 43, app/assets/stylesheets/_design-typography.scss */
.ds-heading-lg {
  font-family: var(--ds-font-body);
  font-weight: 600;
  font-size: clamp(1.375rem, calc(1vw + 1rem), 1.75rem);
  line-height: 1.25;
}

/* line 50, app/assets/stylesheets/_design-typography.scss */
.ds-heading-md {
  font-family: var(--ds-font-body);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.3;
}

@media (min-width: 768px) {
  /* line 50, app/assets/stylesheets/_design-typography.scss */
  .ds-heading-md {
    font-size: 1.25rem;
  }
}

/* line 61, app/assets/stylesheets/_design-typography.scss */
.ds-heading-sm {
  font-family: var(--ds-font-body);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
}

/* line 72, app/assets/stylesheets/_design-typography.scss */
.ds-body-lg {
  font-family: var(--ds-font-body);
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.6;
}

/* line 79, app/assets/stylesheets/_design-typography.scss */
.ds-body {
  font-family: var(--ds-font-body);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.6;
}

/* line 86, app/assets/stylesheets/_design-typography.scss */
.ds-body-sm {
  font-family: var(--ds-font-body);
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* line 97, app/assets/stylesheets/_design-typography.scss */
.ds-label {
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.4;
}

/* line 104, app/assets/stylesheets/_design-typography.scss */
.ds-eyebrow {
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ds-text-muted);
}

/* line 118, app/assets/stylesheets/_design-typography.scss */
.ds-numeric {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* line 123, app/assets/stylesheets/_design-typography.scss */
.ds-mono {
  font-family: var(--ds-font-mono);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}

/* line 135, app/assets/stylesheets/_design-typography.scss */
.ds-text-primary {
  color: var(--ds-text-primary);
}

/* line 136, app/assets/stylesheets/_design-typography.scss */
.ds-text-secondary {
  color: var(--ds-text-secondary);
}

/* line 137, app/assets/stylesheets/_design-typography.scss */
.ds-text-muted {
  color: var(--ds-text-muted);
}

/* line 138, app/assets/stylesheets/_design-typography.scss */
.ds-text-brand {
  color: var(--ds-brand-on-light);
}

/* line 139, app/assets/stylesheets/_design-typography.scss */
.ds-text-on-inverse {
  color: var(--ds-text-on-inverse);
}

/* line 9, app/assets/stylesheets/_design-buttons.scss */
.btn-rb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-2);
  height: 48px;
  padding: 0 var(--ds-space-5);
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1;
  letter-spacing: 0.01em;
  border-radius: var(--ds-radius-md);
  border: 1px solid transparent;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  user-select: none;
  white-space: nowrap;
  transition: background var(--ds-dur-fast) var(--ds-ease-out), color var(--ds-dur-fast) var(--ds-ease-out), border-color var(--ds-dur-fast) var(--ds-ease-out), transform var(--ds-dur-fast) var(--ds-ease-out), box-shadow var(--ds-dur-fast) var(--ds-ease-out);
}

/* line 36, app/assets/stylesheets/_design-buttons.scss */
.btn-rb:focus-visible {
  outline: none;
  box-shadow: var(--ds-shadow-focus);
}

/* line 41, app/assets/stylesheets/_design-buttons.scss */
.btn-rb:active:not(:disabled) {
  transform: scale(0.98);
}

/* line 45, app/assets/stylesheets/_design-buttons.scss */
.btn-rb:disabled, .btn-rb[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 53, app/assets/stylesheets/_design-buttons.scss */
.btn-rb > svg,
.btn-rb > .icon {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}

/* line 62, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--sm {
  height: 40px;
  padding: 0 var(--ds-space-4);
  font-size: 0.875rem;
}

/* line 68, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--lg {
  height: 56px;
  padding: 0 var(--ds-space-6);
  font-size: 1rem;
}

/* line 74, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--block {
  width: 100%;
}

/* line 79, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--primary {
  background: var(--ds-ink-900);
  color: var(--ds-cream-50);
}

/* line 83, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--primary:hover:not(:disabled) {
  background: var(--ds-ink-800);
}

/* line 88, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--secondary {
  background: transparent;
  color: var(--ds-text-primary);
  border-color: var(--ds-border-default);
}

/* line 93, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--secondary:hover:not(:disabled) {
  background: var(--ds-cream-100);
  border-color: var(--ds-border-strong);
}

/* line 99, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--accent {
  background: var(--ds-camel-500);
  color: var(--ds-ink-900);
}

/* line 103, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--accent:hover:not(:disabled) {
  background: var(--ds-camel-700);
  color: var(--ds-cream-50);
}

/* line 109, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--ghost {
  background: transparent;
  color: var(--ds-text-primary);
}

/* line 113, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--ghost:hover:not(:disabled) {
  background: var(--ds-cream-100);
}

/* line 119, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--link {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 0;
  height: auto;
  background: none;
  border: none;
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 0.9375rem;
  color: var(--ds-text-primary);
  text-decoration: none;
  position: relative;
  cursor: pointer;
  transition: color var(--ds-dur-fast) var(--ds-ease-out);
}

/* line 136, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform-origin: left;
  transform: scaleX(0);
  transition: transform var(--ds-dur-base) var(--ds-ease-out);
}

/* line 149, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--link:hover::after, .btn-rb--link:focus-visible::after {
  transform: scaleX(1);
}

/* line 154, app/assets/stylesheets/_design-buttons.scss */
.btn-rb--link:focus-visible {
  outline: none;
  color: var(--ds-brand-on-light);
}

/* line 12, app/assets/stylesheets/_design-motion.scss */
.ds-fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 600ms var(--ds-ease-out), transform 600ms var(--ds-ease-out);
  will-change: opacity, transform;
}

/* line 20, app/assets/stylesheets/_design-motion.scss */
.ds-fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* line 26, app/assets/stylesheets/_design-motion.scss */
.ds-fade-in {
  opacity: 0;
  transition: opacity 600ms var(--ds-ease-out);
}

/* line 30, app/assets/stylesheets/_design-motion.scss */
.ds-fade-in.is-visible {
  opacity: 1;
}

/* line 35, app/assets/stylesheets/_design-motion.scss */
.ds-slide-from-right {
  opacity: 0;
  transform: translateX(48px);
  transition: opacity 600ms var(--ds-ease-out), transform 600ms var(--ds-ease-out);
  will-change: opacity, transform;
}

/* line 43, app/assets/stylesheets/_design-motion.scss */
.ds-slide-from-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* line 49, app/assets/stylesheets/_design-motion.scss */
.ds-slide-from-left {
  opacity: 0;
  transform: translateX(-48px);
  transition: opacity 600ms var(--ds-ease-out), transform 600ms var(--ds-ease-out);
  will-change: opacity, transform;
}

/* line 57, app/assets/stylesheets/_design-motion.scss */
.ds-slide-from-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* line 67, app/assets/stylesheets/_design-motion.scss */
.ds-stagger > * {
  --ds-stagger-step: 60ms;
  transition-delay: calc(var(--i, 0) * var(--ds-stagger-step));
}

/* line 76, app/assets/stylesheets/_design-motion.scss */
.ds-hover-lift {
  transition: transform var(--ds-dur-base) var(--ds-ease-out), box-shadow var(--ds-dur-base) var(--ds-ease-out);
}

/* line 81, app/assets/stylesheets/_design-motion.scss */
.ds-hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: var(--ds-shadow-md);
}

/* line 87, app/assets/stylesheets/_design-motion.scss */
.ds-hover-scale {
  transition: transform var(--ds-dur-base) var(--ds-ease-out);
}

/* line 90, app/assets/stylesheets/_design-motion.scss */
.ds-hover-scale:hover {
  transform: scale(1.02);
}

@media (prefers-reduced-motion: reduce) {
  /* line 101, app/assets/stylesheets/_design-motion.scss */
  .ds-fade-up,
  .ds-fade-in,
  .ds-slide-from-right,
  .ds-slide-from-left {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  /* line 110, app/assets/stylesheets/_design-motion.scss */
  .ds-hover-lift,
  .ds-hover-scale {
    transition: none !important;
  }
  /* line 114, app/assets/stylesheets/_design-motion.scss */
  .ds-hover-lift:hover,
  .ds-hover-scale:hover {
    transform: none !important;
  }
  /* line 120, app/assets/stylesheets/_design-motion.scss */
  .main-fade,
  .main-fade.from-right,
  .main-fade.from-left,
  .main-fade.from-bottom {
    opacity: 1 !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    transition: none !important;
  }
  /* line 132, app/assets/stylesheets/_design-motion.scss */
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* line 17, app/assets/stylesheets/_rb-hero.scss */
.rb-hero {
  position: relative;
  isolation: isolate;
  padding-block: var(--ds-space-6) var(--ds-space-6);
  background: linear-gradient(180deg, #FFFFFF 0%, #FAF8F3 30%, #1A1A1A 85%, #000000 100%);
  overflow: hidden;
}

/* line 26, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__container {
  position: relative;
  z-index: 1;
  max-width: var(--ds-container-wide);
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 40px);
}

/* line 41, app/assets/stylesheets/_rb-hero.scss */
.slider {
  background-color: #000000 !important;
  border: 0 !important;
  margin-top: 0 !important;
}

/* line 46, app/assets/stylesheets/_rb-hero.scss */
.slider .list .item img {
  filter: brightness(0) invert(1);
  opacity: 0.78;
  transition: opacity var(--ds-dur-base) var(--ds-ease-out);
}

/* line 52, app/assets/stylesheets/_rb-hero.scss */
.slider .list .item:hover img {
  opacity: 1;
}

/* line 57, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__bento {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ds-space-3);
}

@media (min-width: 1024px) {
  /* line 57, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__bento {
    grid-template-columns: minmax(0, 4fr) minmax(0, 2fr);
    grid-template-rows: repeat(3, minmax(140px, 1fr));
    grid-template-areas: "main b" "main c" "main d";
    gap: var(--ds-space-3);
    min-height: 480px;
  }
}

/* line 78, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__main {
  position: relative;
  border-radius: var(--ds-radius-xl);
  overflow: hidden;
  background: var(--ds-ink-900);
  isolation: isolate;
  min-height: 520px;
  box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04), 0 24px 48px -16px rgba(15, 20, 25, 0.18);
}

@media (min-width: 1024px) {
  /* line 78, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__main {
    grid-area: main;
    min-height: auto;
    border-radius: 28px;
  }
}

/* line 96, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__main-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  filter: saturate(0.92) contrast(1.02);
}

/* line 107, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__main-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(15, 20, 25, 0.15) 0%, rgba(15, 20, 25, 0.05) 30%, rgba(15, 20, 25, 0.85) 100%), linear-gradient(90deg, rgba(15, 20, 25, 0.55) 0%, rgba(15, 20, 25, 0) 60%);
  pointer-events: none;
}

/* line 118, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__main--no-image {
  background: radial-gradient(at 20% 30%, var(--ds-camel-700) 0%, transparent 50%), radial-gradient(at 80% 70%, var(--ds-forest-700) 0%, transparent 50%), var(--ds-ink-900);
}

/* line 125, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__main-content {
  position: relative;
  z-index: 2;
  padding: clamp(20px, 3vw, 40px);
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-4);
  height: 100%;
  color: var(--ds-cream-50);
}

/* line 137, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__chapter {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-3);
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(251, 248, 243, 0.75);
  margin: 0;
}

/* line 149, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__chapter::before {
  content: '';
  flex: 0 0 24px;
  height: 1px;
  background: var(--ds-camel-300);
}

/* line 156, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__chapter::after {
  content: '';
  flex: 0 0 40px;
  height: 1px;
  background: rgba(251, 248, 243, 0.3);
}

/* line 165, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 8px 14px;
  background: rgba(15, 20, 25, 0.55);
  border: 1px solid rgba(251, 248, 243, 0.22);
  border-radius: 999px;
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 13px;
  color: var(--ds-cream-50);
  width: fit-content;
}

/* line 179, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__badge svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--ds-camel-300);
}

/* line 187, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__title {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(2.5rem, calc(5vw + 1rem), 5.25rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
  color: var(--ds-cream-50);
  margin: 0;
  max-width: 14ch;
  text-transform: none;
}

/* line 198, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__title em {
  font-style: italic;
  font-weight: 500;
  color: var(--ds-camel-300);
}

/* line 205, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__subtitle {
  font-family: var(--ds-font-body);
  font-size: clamp(0.9375rem, calc(0.5vw + 0.875rem), 1.125rem);
  line-height: 1.55;
  color: rgba(251, 248, 243, 0.85);
  margin: 0;
  max-width: 48ch;
}

/* line 214, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__main-spacer {
  flex: 1 0 auto;
  min-height: var(--ds-space-3);
}

/* line 219, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-3);
  margin-top: auto;
}

/* line 225, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__actions .btn-rb {
  flex: 1 1 auto;
  min-width: 180px;
}

@media (min-width: 480px) {
  /* line 225, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__actions .btn-rb {
    flex: 0 1 auto;
  }
}

/* line 234, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__actions .btn-rb--primary {
  background: var(--ds-cream-50);
  color: var(--ds-ink-900);
}

/* line 238, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__actions .btn-rb--primary:hover:not(:disabled) {
  background: #ffffff;
  color: var(--ds-ink-900);
}

/* line 244, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__actions .btn-rb--secondary {
  background: transparent;
  color: var(--ds-cream-50);
  border-color: rgba(251, 248, 243, 0.35);
}

/* line 249, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__actions .btn-rb--secondary:hover:not(:disabled) {
  background: rgba(251, 248, 243, 0.08);
  border-color: rgba(251, 248, 243, 0.6);
}

/* line 260, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--ds-space-3) var(--ds-space-5);
  margin-top: var(--ds-space-5);
  padding-top: var(--ds-space-4);
  border-top: 1px solid rgba(251, 248, 243, 0.18);
}

@media (min-width: 640px) {
  /* line 260, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__stats {
    grid-template-columns: repeat(4, auto);
    justify-content: start;
    gap: var(--ds-space-5);
  }
}

/* line 275, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
}

@media (min-width: 640px) {
  /* line 275, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__stat {
    padding-right: var(--ds-space-6);
  }
  /* line 284, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 4px;
    bottom: 4px;
    width: 1px;
    background: rgba(251, 248, 243, 0.18);
  }
}

/* line 296, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__stat-value {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ds-cream-50);
  font-variant-numeric: tabular-nums;
}

/* line 306, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__stat-label {
  font-family: var(--ds-font-body);
  font-weight: 400;
  font-size: 11.5px;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: rgba(251, 248, 243, 0.7);
  text-transform: uppercase;
}

/* line 320, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card {
  --card-tone: 15, 20, 25;
  --card-tag-color: var(--ds-cream-50);
  --card-tag-bg:    rgba(255, 255, 255, 0.18);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-3);
  padding: var(--ds-space-5);
  border-radius: var(--ds-radius-lg);
  background: var(--ds-ink-900);
  box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04), 0 12px 32px -16px rgba(15, 20, 25, 0.18);
  text-decoration: none;
  color: var(--ds-cream-50);
  overflow: hidden;
  isolation: isolate;
  min-height: 180px;
  transition: transform var(--ds-dur-base) var(--ds-ease-out), box-shadow var(--ds-dur-base) var(--ds-ease-out);
}

@media (min-width: 1024px) {
  /* line 320, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card {
    min-height: auto;
  }
}

/* line 350, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card--promo {
  --card-tone: 130, 35, 65;
}

/* line 354, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card--nuevo {
  --card-tone: 18, 22, 28;
}

/* line 358, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card--empresas {
  --card-tone: 70, 50, 32;
}

/* line 362, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 1px 2px rgba(15, 20, 25, 0.06), 0 20px 48px -20px rgba(15, 20, 25, 0.32);
}

/* line 368, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card:hover .rb-hero__card-link {
  gap: var(--ds-space-3);
}

/* line 371, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card:hover .rb-hero__card-link::after {
  transform: translateX(3px);
}

/* line 377, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--ds-cream-50);
}

@media (prefers-reduced-motion: reduce) {
  /* line 383, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card:hover {
    transform: none;
  }
  /* line 385, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card:hover .rb-hero__card-link::after {
    transform: none;
  }
}

@media (min-width: 1024px) {
  /* line 390, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card--b {
    grid-area: b;
  }
}

@media (min-width: 1024px) {
  /* line 391, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card--c {
    grid-area: c;
  }
}

@media (min-width: 1024px) {
  /* line 392, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card--d {
    grid-area: d;
  }
}

/* line 395, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* line 401, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(0.95) contrast(1.02);
  transition: transform var(--ds-dur-slow) var(--ds-ease-out);
}

/* line 411, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(var(--card-tone), 0.2) 0%, rgba(var(--card-tone), 0.72) 100%), linear-gradient(135deg, rgba(15, 20, 25, 0.2) 0%, rgba(15, 20, 25, 0.45) 100%);
}

/* line 421, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card:hover .rb-hero__card-bg img {
  transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
  /* line 426, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card:hover .rb-hero__card-bg img {
    transform: none;
  }
}

/* line 432, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-icon {
  position: absolute;
  right: -20px;
  bottom: -20px;
  width: 130px;
  height: 130px;
  color: var(--ds-cream-50);
  opacity: 0.12;
  z-index: 2;
  transition: transform var(--ds-dur-base) var(--ds-ease-out), opacity var(--ds-dur-base) var(--ds-ease-out);
  pointer-events: none;
}

/* line 446, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-icon svg {
  width: 100%;
  height: 100%;
}

@media (min-width: 1024px) {
  /* line 432, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card-icon {
    width: 150px;
    height: 150px;
  }
}

/* line 454, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card:hover .rb-hero__card-icon {
  transform: scale(1.06) rotate(-4deg);
  opacity: 0.18;
}

@media (prefers-reduced-motion: reduce) {
  /* line 460, app/assets/stylesheets/_rb-hero.scss */
  .rb-hero__card:hover .rb-hero__card-icon {
    transform: none;
  }
}

/* line 465, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-tag {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 5px 12px;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  font-family: var(--ds-font-body);
  font-weight: 600;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ds-cream-50);
  width: fit-content;
}

/* line 483, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-tag::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ds-cream-50);
}

/* line 492, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-title {
  position: relative;
  z-index: 3;
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(1.125rem, calc(0.5vw + 1rem), 1.5rem);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--ds-cream-50);
  margin: 0;
  max-width: 18ch;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

/* line 506, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-link {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  margin-top: auto;
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 13.5px;
  color: var(--ds-cream-50);
  transition: gap var(--ds-dur-base) var(--ds-ease-out);
}

/* line 519, app/assets/stylesheets/_rb-hero.scss */
.rb-hero__card-link::after {
  content: '→';
  display: inline-block;
  transition: transform var(--ds-dur-base) var(--ds-ease-out);
}

/* line 8, app/assets/stylesheets/_rb-trust-bar.scss */
.rb-trust-bar {
  background: var(--ds-cream-100);
  padding-block: var(--ds-space-8);
  border-top: 1px solid var(--ds-border-subtle);
  border-bottom: 1px solid var(--ds-border-subtle);
}

@media (min-width: 768px) {
  /* line 8, app/assets/stylesheets/_rb-trust-bar.scss */
  .rb-trust-bar {
    padding-block: var(--ds-space-10);
  }
}

/* line 19, app/assets/stylesheets/_rb-trust-bar.scss */
.rb-trust-bar__inner {
  max-width: var(--ds-container-default);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--ds-space-5) var(--ds-space-6);
}

@media (min-width: 768px) {
  /* line 19, app/assets/stylesheets/_rb-trust-bar.scss */
  .rb-trust-bar__inner {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--ds-space-6);
  }
}

/* line 33, app/assets/stylesheets/_rb-trust-bar.scss */
.rb-trust-bar__metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--ds-space-1);
}

@media (min-width: 768px) {
  /* line 33, app/assets/stylesheets/_rb-trust-bar.scss */
  .rb-trust-bar__metric {
    border-right: 1px solid var(--ds-border-subtle);
    padding-right: var(--ds-space-5);
  }
  /* line 44, app/assets/stylesheets/_rb-trust-bar.scss */
  .rb-trust-bar__metric:last-child {
    border-right: 0;
    padding-right: 0;
  }
}

/* line 51, app/assets/stylesheets/_rb-trust-bar.scss */
.rb-trust-bar__number {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(2rem, calc(2.5vw + 1rem), 3rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ds-text-primary);
  font-variant-numeric: tabular-nums;
}

/* line 61, app/assets/stylesheets/_rb-trust-bar.scss */
.rb-trust-bar__label {
  font-family: var(--ds-font-body);
  font-size: 0.875rem;
  line-height: 1.4;
  color: var(--ds-text-muted);
  font-weight: 500;
}

/* line 8, app/assets/stylesheets/_rb-products.scss */
.rb-products {
  position: relative;
  isolation: isolate;
  background: var(--ds-cream-50);
  padding-block: var(--ds-space-12);
  overflow: hidden;
  background-image: radial-gradient(rgba(140, 111, 74, 0.18) 1.5px, transparent 1.5px);
  background-size: 22px 22px;
}

@media (min-width: 768px) {
  /* line 8, app/assets/stylesheets/_rb-products.scss */
  .rb-products {
    padding-block: var(--ds-space-16);
    background-size: 28px 28px;
  }
}

/* line 26, app/assets/stylesheets/_rb-products.scss */
.rb-products__inner {
  position: relative;
  z-index: 1;
  max-width: var(--ds-container-wide);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}

/* line 34, app/assets/stylesheets/_rb-products.scss */
.rb-products__header {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-3);
  margin-bottom: var(--ds-space-8);
  text-align: center;
}

@media (min-width: 768px) {
  /* line 34, app/assets/stylesheets/_rb-products.scss */
  .rb-products__header {
    margin-bottom: var(--ds-space-10);
  }
}

/* line 46, app/assets/stylesheets/_rb-products.scss */
.rb-products__eyebrow {
  margin: 0;
}

/* line 50, app/assets/stylesheets/_rb-products.scss */
.rb-products__title {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(1.75rem, calc(2.5vw + 1rem), 3rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ds-text-primary);
  margin: 0 auto;
  max-width: 22ch;
}

/* line 61, app/assets/stylesheets/_rb-products.scss */
.rb-products__description {
  font-family: var(--ds-font-body);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ds-text-secondary);
  margin: 0 auto;
  max-width: 56ch;
}

/* line 74, app/assets/stylesheets/_rb-products.scss */
.rb-products__grid {
  display: grid;
  gap: var(--ds-space-5);
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  /* line 74, app/assets/stylesheets/_rb-products.scss */
  .rb-products__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--ds-space-5);
  }
}

@media (min-width: 1024px) {
  /* line 74, app/assets/stylesheets/_rb-products.scss */
  .rb-products__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--ds-space-5);
  }
}

@media (max-width: 767px) {
  /* line 74, app/assets/stylesheets/_rb-products.scss */
  .rb-products__grid {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: 80%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: clamp(20px, 5vw, 48px);
    padding-bottom: var(--ds-space-3);
    margin-inline: calc(-1 * clamp(20px, 5vw, 48px));
    padding-inline: clamp(20px, 5vw, 48px);
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* line 102, app/assets/stylesheets/_rb-products.scss */
  .rb-products__grid::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 480px) {
  /* line 74, app/assets/stylesheets/_rb-products.scss */
  .rb-products__grid {
    grid-auto-columns: 86%;
  }
}

/* line 116, app/assets/stylesheets/_rb-products.scss */
.rb-product-card {
  display: flex;
  flex-direction: column;
  background: var(--ds-bg-surface);
  border: 1px solid var(--ds-border-subtle);
  border-radius: var(--ds-radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: var(--ds-text-primary);
  transition: transform var(--ds-dur-base) var(--ds-ease-out), box-shadow var(--ds-dur-base) var(--ds-ease-out), border-color var(--ds-dur-base) var(--ds-ease-out), opacity 700ms var(--ds-ease-out);
  opacity: 0;
  transform: translateY(20px);
}

/* line 135, app/assets/stylesheets/_rb-products.scss */
.rb-products.is-visible .rb-product-card {
  opacity: 1;
  transform: translateY(0);
  transition-delay: calc(var(--i, 0) * 60ms);
}

@media (prefers-reduced-motion: reduce) {
  /* line 116, app/assets/stylesheets/_rb-products.scss */
  .rb-product-card {
    opacity: 1;
    transform: none;
    transition: transform var(--ds-dur-base) var(--ds-ease-out), box-shadow var(--ds-dur-base) var(--ds-ease-out), border-color var(--ds-dur-base) var(--ds-ease-out);
  }
}

@media (max-width: 767px) {
  /* line 116, app/assets/stylesheets/_rb-products.scss */
  .rb-product-card {
    scroll-snap-align: start;
    height: 100%;
  }
}

/* line 154, app/assets/stylesheets/_rb-products.scss */
.rb-product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ds-shadow-md);
  border-color: var(--ds-border-default);
}

/* line 159, app/assets/stylesheets/_rb-products.scss */
.rb-product-card:hover .rb-product-card__image img {
  transform: scale(1.05);
}

/* line 164, app/assets/stylesheets/_rb-products.scss */
.rb-product-card:focus-visible {
  outline: none;
  box-shadow: var(--ds-shadow-focus);
  border-color: var(--ds-camel-500);
}

@media (prefers-reduced-motion: reduce) {
  /* line 171, app/assets/stylesheets/_rb-products.scss */
  .rb-product-card:hover {
    transform: none;
  }
  /* line 173, app/assets/stylesheets/_rb-products.scss */
  .rb-product-card:hover .rb-product-card__image img {
    transform: none;
  }
}

/* line 178, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__image {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--ds-cream-100);
  overflow: hidden;
}

/* line 184, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--ds-dur-slow) var(--ds-ease-out);
}

/* line 192, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__tags {
  position: absolute;
  top: var(--ds-space-3);
  left: var(--ds-space-3);
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: calc(100% - var(--ds-space-5));
}

/* line 203, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: rgba(15, 20, 25, 0.78);
  color: var(--ds-cream-50);
  border-radius: 999px;
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 10.5px;
  letter-spacing: 0.04em;
  line-height: 1.3;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 140px;
}

/* line 221, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-2);
  padding: var(--ds-space-4) var(--ds-space-5) var(--ds-space-5);
  flex: 1 1 auto;
}

/* line 229, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__title {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: 1.0625rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--ds-text-primary);
  margin: 0;
  text-transform: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.6em;
}

@media (min-width: 1024px) {
  /* line 229, app/assets/stylesheets/_rb-products.scss */
  .rb-product-card__title {
    font-size: 1.125rem;
  }
}

/* line 251, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__blurb {
  font-family: var(--ds-font-body);
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--ds-text-muted);
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 264, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--ds-space-3);
  margin-top: auto;
  padding-top: var(--ds-space-3);
  border-top: 1px solid var(--ds-border-subtle);
}

/* line 274, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__price {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: 1.25rem;
  letter-spacing: -0.015em;
  color: var(--ds-text-primary);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

/* line 283, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__price .currency {
  display: inline-block;
  margin-left: 4px;
  font-family: var(--ds-font-body);
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--ds-text-muted);
  letter-spacing: 0.04em;
  vertical-align: 0.45em;
}

/* line 295, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__price-empty {
  height: 1.25rem;
}

/* line 301, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ds-cream-100);
  color: var(--ds-text-primary);
  font-size: 14px;
  font-weight: 500;
  flex-shrink: 0;
  transition: background var(--ds-dur-base) var(--ds-ease-out), color var(--ds-dur-base) var(--ds-ease-out), transform var(--ds-dur-base) var(--ds-ease-out);
}

/* line 318, app/assets/stylesheets/_rb-products.scss */
.rb-product-card__cta::before {
  content: '→';
  display: inline-block;
  transition: transform var(--ds-dur-base) var(--ds-ease-out);
}

/* line 325, app/assets/stylesheets/_rb-products.scss */
.rb-product-card:hover .rb-product-card__cta {
  background: var(--ds-ink-900);
  color: var(--ds-cream-50);
}

/* line 329, app/assets/stylesheets/_rb-products.scss */
.rb-product-card:hover .rb-product-card__cta::before {
  transform: translateX(2px);
}

/* line 336, app/assets/stylesheets/_rb-products.scss */
.rb-products__footer {
  display: flex;
  justify-content: center;
  margin-top: var(--ds-space-10);
}

@media (max-width: 767px) {
  /* line 336, app/assets/stylesheets/_rb-products.scss */
  .rb-products__footer {
    margin-top: var(--ds-space-8);
  }
}

/* line 9, app/assets/stylesheets/_rb-about.scss */
.rb-about {
  position: relative;
  isolation: isolate;
  background: var(--ds-cream-50);
  padding-block: var(--ds-space-12);
  overflow: hidden;
  background-image: radial-gradient(rgba(140, 111, 74, 0.22) 1.5px, transparent 1.5px);
  background-size: 22px 22px;
  background-position: 0 0;
}

@media (min-width: 768px) {
  /* line 9, app/assets/stylesheets/_rb-about.scss */
  .rb-about {
    padding-block: var(--ds-space-16);
    background-size: 28px 28px;
  }
}

/* line 29, app/assets/stylesheets/_rb-about.scss */
.rb-about__inner {
  position: relative;
  z-index: 1;
  max-width: var(--ds-container-default);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ds-space-8);
  align-items: center;
}

@media (min-width: 1024px) {
  /* line 29, app/assets/stylesheets/_rb-about.scss */
  .rb-about__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--ds-space-12);
  }
}

/* line 50, app/assets/stylesheets/_rb-about.scss */
.rb-about__copy {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-5);
  order: 2;
}

@media (min-width: 1024px) {
  /* line 50, app/assets/stylesheets/_rb-about.scss */
  .rb-about__copy {
    order: 1;
    max-width: 56ch;
    padding-right: var(--ds-space-3);
  }
}

/* line 63, app/assets/stylesheets/_rb-about.scss */
.rb-about__eyebrow {
  margin: 0;
}

/* line 67, app/assets/stylesheets/_rb-about.scss */
.rb-about__title {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(2rem, calc(3vw + 1rem), 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--ds-text-primary);
  margin: 0;
  max-width: 18ch;
  text-transform: none;
}

/* line 78, app/assets/stylesheets/_rb-about.scss */
.rb-about__title em {
  font-style: italic;
  font-weight: 500;
  color: var(--ds-brand-on-light);
}

/* line 85, app/assets/stylesheets/_rb-about.scss */
.rb-about__description {
  font-family: var(--ds-font-body);
  font-size: clamp(0.9375rem, calc(0.5vw + 0.875rem), 1.0625rem);
  line-height: 1.65;
  color: var(--ds-text-secondary);
  margin: 0;
  max-width: 50ch;
}

/* line 93, app/assets/stylesheets/_rb-about.scss */
.rb-about__description p {
  margin: 0 0 var(--ds-space-3);
}

/* line 94, app/assets/stylesheets/_rb-about.scss */
.rb-about__description p:last-child {
  margin-bottom: 0;
}

/* line 101, app/assets/stylesheets/_rb-about.scss */
.rb-about__features {
  list-style: none;
  margin: var(--ds-space-2) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-3);
}

/* line 110, app/assets/stylesheets/_rb-about.scss */
.rb-about__feature {
  display: flex;
  align-items: flex-start;
  gap: var(--ds-space-3);
  font-family: var(--ds-font-body);
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--ds-text-primary);
}

/* line 120, app/assets/stylesheets/_rb-about.scss */
.rb-about__feature-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(184, 149, 106, 0.16);
  color: var(--ds-camel-700);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

/* line 132, app/assets/stylesheets/_rb-about.scss */
.rb-about__feature-icon svg {
  width: 12px;
  height: 12px;
  stroke-width: 2.5;
}

/* line 143, app/assets/stylesheets/_rb-about.scss */
.rb-about__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  margin-top: var(--ds-space-3);
  padding: 0;
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 0.9375rem;
  color: var(--ds-text-primary);
  text-decoration: none;
  width: fit-content;
  position: relative;
  transition: gap var(--ds-dur-base) var(--ds-ease-out), color var(--ds-dur-base) var(--ds-ease-out);
}

/* line 160, app/assets/stylesheets/_rb-about.scss */
.rb-about__cta::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform-origin: left;
  transition: transform var(--ds-dur-base) var(--ds-ease-out);
}

/* line 172, app/assets/stylesheets/_rb-about.scss */
.rb-about__cta::after {
  content: '→';
  display: inline-block;
  transition: transform var(--ds-dur-base) var(--ds-ease-out);
}

/* line 178, app/assets/stylesheets/_rb-about.scss */
.rb-about__cta:hover {
  gap: var(--ds-space-3);
  color: var(--ds-brand-on-light);
}

/* line 182, app/assets/stylesheets/_rb-about.scss */
.rb-about__cta:hover::after {
  transform: translateX(3px);
}

/* line 185, app/assets/stylesheets/_rb-about.scss */
.rb-about__cta:focus-visible {
  outline: none;
  color: var(--ds-brand-on-light);
  box-shadow: 0 0 0 3px var(--ds-focus-ring);
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  /* line 193, app/assets/stylesheets/_rb-about.scss */
  .rb-about__cta:hover::after {
    transform: none;
  }
}

/* line 201, app/assets/stylesheets/_rb-about.scss */
.rb-about__visual {
  position: relative;
  order: 1;
  isolation: isolate;
}

@media (min-width: 1024px) {
  /* line 201, app/assets/stylesheets/_rb-about.scss */
  .rb-about__visual {
    order: 2;
  }
}

/* line 211, app/assets/stylesheets/_rb-about.scss */
.rb-about__image {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: var(--ds-radius-xl);
  overflow: hidden;
  background: var(--ds-cream-100);
  box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04), 0 24px 48px -16px rgba(15, 20, 25, 0.16);
}

/* line 221, app/assets/stylesheets/_rb-about.scss */
.rb-about__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--ds-dur-slow) var(--ds-ease-out);
}

/* line 230, app/assets/stylesheets/_rb-about.scss */
.rb-about:hover .rb-about__image img,
.rb-about__image:hover img {
  transform: scale(1.03);
}

@media (prefers-reduced-motion: reduce) {
  /* line 236, app/assets/stylesheets/_rb-about.scss */
  .rb-about__image img {
    transition: none;
  }
  /* line 237, app/assets/stylesheets/_rb-about.scss */
  .rb-about:hover .rb-about__image img,
  .rb-about__image:hover img {
    transform: none;
  }
}

@media (min-width: 1024px) {
  /* line 211, app/assets/stylesheets/_rb-about.scss */
  .rb-about__image {
    aspect-ratio: 5 / 6;
  }
}

/* line 247, app/assets/stylesheets/_rb-about.scss */
.rb-about__sticker {
  position: absolute;
  z-index: 2;
  bottom: var(--ds-space-3);
  left: var(--ds-space-3);
  background: var(--ds-ink-900);
  color: var(--ds-cream-50);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-space-4) var(--ds-space-5);
  display: flex;
  flex-direction: column;
  gap: 2px;
  box-shadow: 0 1px 2px rgba(15, 20, 25, 0.06), 0 16px 40px -16px rgba(15, 20, 25, 0.24);
  max-width: 240px;
}

@media (min-width: 1024px) {
  /* line 247, app/assets/stylesheets/_rb-about.scss */
  .rb-about__sticker {
    bottom: -28px;
    left: -32px;
    padding: var(--ds-space-5) var(--ds-space-6);
  }
}

/* line 273, app/assets/stylesheets/_rb-about.scss */
.rb-about__sticker-value {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ds-camel-300);
  font-variant-numeric: tabular-nums;
}

@media (min-width: 1024px) {
  /* line 273, app/assets/stylesheets/_rb-about.scss */
  .rb-about__sticker-value {
    font-size: 2.5rem;
  }
}

/* line 287, app/assets/stylesheets/_rb-about.scss */
.rb-about__sticker-label {
  font-family: var(--ds-font-body);
  font-size: 0.8125rem;
  line-height: 1.35;
  color: rgba(251, 248, 243, 0.85);
  font-weight: 400;
  margin-top: 4px;
}

/* line 8, app/assets/stylesheets/_rb-contact.scss */
.rb-contact {
  position: relative;
  isolation: isolate;
  padding-block: var(--ds-space-8);
  overflow: hidden;
}

@media (min-width: 768px) {
  /* line 8, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact {
    padding-block: var(--ds-space-10);
  }
}

/* line 20, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__curve {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: visible;
}

/* line 29, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__curve path {
  fill: none;
  stroke: var(--ds-ink-900);
  stroke-width: 1.5;
  stroke-linecap: round;
  opacity: 0.16;
}

/* line 38, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__inner {
  position: relative;
  z-index: 1;
  max-width: var(--ds-container-default);
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}

/* line 46, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__header {
  text-align: center;
  margin-bottom: var(--ds-space-6);
}

@media (min-width: 768px) {
  /* line 46, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__header {
    margin-bottom: var(--ds-space-8);
  }
}

/* line 55, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__eyebrow {
  margin: 0 0 var(--ds-space-3);
}

/* line 59, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__title {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(1.75rem, calc(2.5vw + 1rem), 3rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--ds-text-primary);
  margin: 0 auto var(--ds-space-3);
  max-width: 22ch;
  text-transform: none;
}

/* line 71, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__description {
  font-family: var(--ds-font-body);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ds-text-secondary);
  margin: 0 auto;
  max-width: 56ch;
}

/* line 85, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ds-space-3);
}

@media (min-width: 1024px) {
  /* line 85, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--ds-space-4) var(--ds-space-5);
    align-items: stretch;
  }
}

/* line 97, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__col--map,
.rb-contact__col--info,
.rb-contact__col--form {
  display: flex;
  flex-direction: column;
}

@media (min-width: 1024px) {
  /* line 106, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__col--map {
    grid-column: 1;
    grid-row: 1;
  }
  /* line 107, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__col--info {
    grid-column: 1;
    grid-row: 2;
  }
  /* line 109, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__col--form {
    grid-column: 2;
    grid-row: 1 / span 2;
    gap: var(--ds-space-3);
  }
  /* line 111, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__grid {
    grid-template-rows: 1fr auto;
  }
  /* line 116, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__col--form .rb-contact__form-card {
    flex: 1 1 auto;
  }
}

/* line 123, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__map {
  position: relative;
  border-radius: var(--ds-radius-lg);
  overflow: hidden;
  background: var(--ds-cream-100);
  aspect-ratio: 16 / 11;
  box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04), 0 12px 32px -16px rgba(15, 20, 25, 0.12);
}

@media (min-width: 1024px) {
  /* line 123, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__map {
    aspect-ratio: auto;
    flex: 1 1 auto;
    min-height: 280px;
  }
}

/* line 140, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* line 154, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info {
  background: var(--ds-bg-surface);
  border: 1px solid var(--ds-border-subtle);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-space-4) var(--ds-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-3);
}

@media (min-width: 768px) {
  /* line 154, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__info {
    padding: var(--ds-space-4) var(--ds-space-5);
  }
}

/* line 168, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-row {
  display: flex;
  align-items: flex-start;
  gap: var(--ds-space-3);
}

/* line 174, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(184, 149, 106, 0.14);
  color: var(--ds-camel-700);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 185, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-icon svg {
  width: 18px;
  height: 18px;
}

/* line 188, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

/* line 195, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-label {
  font-family: var(--ds-font-body);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ds-text-muted);
  font-weight: 500;
}

/* line 204, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-value {
  font-family: var(--ds-font-body);
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--ds-text-primary);
  font-weight: 500;
  text-decoration: none;
  transition: color var(--ds-dur-fast) var(--ds-ease-out);
}

/* line 213, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-value:hover {
  color: var(--ds-brand-on-light);
}

/* line 216, app/assets/stylesheets/_rb-contact.scss */
a.rb-contact__info-value {
  text-decoration: none;
}

/* line 218, app/assets/stylesheets/_rb-contact.scss */
a.rb-contact__info-value:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* line 221, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-divider {
  height: 1px;
  background: var(--ds-border-subtle);
  margin-block: 0;
}

/* line 227, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-cta {
  align-self: flex-start;
  margin-top: var(--ds-space-1);
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  font-family: var(--ds-font-body);
  font-weight: 500;
  font-size: 0.9375rem;
  color: var(--ds-text-primary);
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--ds-border-default);
  transition: gap var(--ds-dur-base) var(--ds-ease-out), color var(--ds-dur-base) var(--ds-ease-out), border-color var(--ds-dur-base) var(--ds-ease-out);
}

/* line 245, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-cta::after {
  content: '→';
  transition: transform var(--ds-dur-base) var(--ds-ease-out);
}

/* line 250, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-cta:hover {
  color: var(--ds-brand-on-light);
  gap: var(--ds-space-3);
  border-bottom-color: var(--ds-brand-on-light);
}

/* line 254, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__info-cta:hover::after {
  transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
  /* line 258, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__info-cta:hover::after {
    transform: none;
  }
}

/* line 266, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-card {
  background: var(--ds-ink-900);
  color: var(--ds-cream-50);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-space-4) var(--ds-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-3);
  box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04), 0 24px 48px -16px rgba(15, 20, 25, 0.18);
}

@media (min-width: 768px) {
  /* line 266, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__form-card {
    padding: var(--ds-space-5) var(--ds-space-6);
    gap: var(--ds-space-3);
  }
}

/* line 284, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-title {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(1.25rem, calc(0.8vw + 1rem), 1.5rem);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--ds-cream-50);
  margin: 0;
  text-transform: none;
}

/* line 295, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-subtitle {
  font-family: var(--ds-font-body);
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(251, 248, 243, 0.75);
  margin: 0 0 var(--ds-space-2);
}

/* line 304, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ds-space-2) var(--ds-space-3);
}

@media (min-width: 768px) {
  /* line 304, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__form-mount {
    grid-template-columns: 1fr 1fr;
  }
}

/* line 314, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount .rb-contact__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 321, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount .rb-contact__field--full,
.rb-contact__form-mount > .d-flex {
  grid-column: 1 / -1;
}

/* line 327, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount label {
  color: var(--ds-cream-50) !important;
  font-family: var(--ds-font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: var(--ds-space-1) !important;
}

/* line 338, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount input[type="text"],
.rb-contact__form-mount input[type="email"],
.rb-contact__form-mount input[type="tel"],
.rb-contact__form-mount textarea,
.rb-contact__form-mount .main-input {
  background: rgba(251, 248, 243, 0.06) !important;
  border: 1px solid rgba(251, 248, 243, 0.18) !important;
  border-radius: var(--ds-radius-md) !important;
  color: var(--ds-cream-50) !important;
  padding: 10px 14px !important;
  height: auto !important;
  min-height: 44px !important;
  font-size: 14.5px !important;
  transition: background var(--ds-dur-fast) var(--ds-ease-out), border-color var(--ds-dur-fast) var(--ds-ease-out), box-shadow var(--ds-dur-fast) var(--ds-ease-out);
}

/* line 356, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount input[type="text"]::placeholder,
.rb-contact__form-mount input[type="email"]::placeholder,
.rb-contact__form-mount input[type="tel"]::placeholder,
.rb-contact__form-mount textarea::placeholder,
.rb-contact__form-mount .main-input::placeholder {
  color: rgba(251, 248, 243, 0.4) !important;
}

/* line 360, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount input[type="text"]:focus, .rb-contact__form-mount input[type="text"]:focus-visible,
.rb-contact__form-mount input[type="email"]:focus,
.rb-contact__form-mount input[type="email"]:focus-visible,
.rb-contact__form-mount input[type="tel"]:focus,
.rb-contact__form-mount input[type="tel"]:focus-visible,
.rb-contact__form-mount textarea:focus,
.rb-contact__form-mount textarea:focus-visible,
.rb-contact__form-mount .main-input:focus,
.rb-contact__form-mount .main-input:focus-visible {
  outline: none !important;
  background: rgba(251, 248, 243, 0.1) !important;
  border-color: var(--ds-camel-300) !important;
  box-shadow: 0 0 0 3px rgba(212, 184, 150, 0.18) !important;
}

/* line 369, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount textarea {
  min-height: 84px !important;
  resize: vertical;
}

/* line 375, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount button[type="submit"],
.rb-contact__form-mount .main-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-2);
  height: 48px;
  padding: 0 var(--ds-space-5);
  background: var(--ds-cream-50) !important;
  color: var(--ds-ink-900) !important;
  border: 1px solid transparent !important;
  border-radius: var(--ds-radius-md) !important;
  font-family: var(--ds-font-body) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background var(--ds-dur-fast) var(--ds-ease-out), transform var(--ds-dur-fast) var(--ds-ease-out);
  margin-top: var(--ds-space-2);
}

/* line 397, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount button[type="submit"]:hover:not(:disabled),
.rb-contact__form-mount .main-button:hover:not(:disabled) {
  background: #ffffff !important;
}

/* line 401, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount button[type="submit"]:active:not(:disabled),
.rb-contact__form-mount .main-button:active:not(:disabled) {
  transform: scale(0.98);
}

/* line 405, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount button[type="submit"]:disabled,
.rb-contact__form-mount .main-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 412, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount .invalid-feedback,
.rb-contact__form-mount .error-message,
.rb-contact__form-mount [role="alert"] {
  color: #FF8E96 !important;
  font-size: 0.8125rem;
}

/* line 419, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__form-mount .input-error,
.rb-contact__form-mount .has-error input,
.rb-contact__form-mount input.is-invalid,
.rb-contact__form-mount textarea.is-invalid {
  border-color: #FF8E96 !important;
}

/* line 432, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social {
  padding: var(--ds-space-3) var(--ds-space-5);
  background: var(--ds-bg-surface);
  border: 1px solid var(--ds-border-subtle);
  border-radius: var(--ds-radius-lg);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-4);
}

/* line 444, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-label {
  font-family: var(--ds-font-body);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ds-text-muted);
  font-weight: 500;
  margin: 0;
}

/* line 454, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 463, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--ds-cream-100);
  color: var(--ds-text-primary);
  text-decoration: none;
  transition: background var(--ds-dur-fast) var(--ds-ease-out), color var(--ds-dur-fast) var(--ds-ease-out), transform var(--ds-dur-fast) var(--ds-ease-out);
}

/* line 478, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-link svg {
  width: 18px;
  height: 18px;
}

/* line 483, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-link:hover {
  transform: translateY(-2px);
}

/* line 487, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-link:focus-visible {
  outline: none;
  box-shadow: var(--ds-shadow-focus);
}

/* line 493, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-link--instagram:hover {
  background: #E4405F;
  color: var(--ds-cream-50);
}

/* line 494, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-link--facebook:hover {
  background: #1877F2;
  color: var(--ds-cream-50);
}

/* line 495, app/assets/stylesheets/_rb-contact.scss */
.rb-contact__social-link--whatsapp:hover {
  background: #25D366;
  color: var(--ds-cream-50);
}

@media (prefers-reduced-motion: reduce) {
  /* line 498, app/assets/stylesheets/_rb-contact.scss */
  .rb-contact__social-link:hover {
    transform: none;
  }
}

/* line 1, app/assets/stylesheets/components/header.scss */
#Header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

/* line 8, app/assets/stylesheets/components/header.scss */
#Header hr {
  background-color: #c7c7c7;
}

/* line 12, app/assets/stylesheets/components/header.scss */
#Header .nav-link {
  color: var(--black);
  padding: 12px;
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  align-items: center;
  gap: 10px;
}

/* line 21, app/assets/stylesheets/components/header.scss */
#Header .nav-link.nav-link--bold {
  font-weight: 600;
}

/* line 25, app/assets/stylesheets/components/header.scss */
#Header .nav-link:hover {
  color: #04a7cc;
}

/* line 30, app/assets/stylesheets/components/header.scss */
#Header .nav-item {
  padding: 0;
  display: flex;
  align-items: center;
  height: 100%;
}

/* line 37, app/assets/stylesheets/components/header.scss */
#Header .dropdown-menu {
  z-index: 9 !important;
  border-radius: 0 !important;
  min-width: 100%;
  background-color: var(--gray-light__to__black);
}

/* line 46, app/assets/stylesheets/components/header.scss */
.navbar {
  padding: 0;
}

/* line 51, app/assets/stylesheets/components/header.scss */
.header__top {
  display: flex;
  height: 45px;
  align-items: center;
  background-color: var(--black);
  position: relative;
  z-index: 2;
  transition: height 1s;
}

@media (max-width: 575px) {
  /* line 51, app/assets/stylesheets/components/header.scss */
  .header__top {
    height: 40px;
  }
}

/* line 63, app/assets/stylesheets/components/header.scss */
.header__top > .main-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

/* line 71, app/assets/stylesheets/components/header.scss */
.header__bottom {
  background-color: var(--white);
  height: 80px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(128, 128, 128, 0.233);
  position: relative;
  z-index: 1;
  transition: height .3s;
}

@media (max-width: 575px) {
  /* line 71, app/assets/stylesheets/components/header.scss */
  .header__bottom {
    height: 60px;
  }
}

/* line 84, app/assets/stylesheets/components/header.scss */
.header__bottom .header__nav {
  height: 100%;
}

/* line 87, app/assets/stylesheets/components/header.scss */
.header__bottom .header__nav > .main-container {
  height: 100% !important;
}

/* line 94, app/assets/stylesheets/components/header.scss */
.header__nav {
  width: 100%;
}

/* line 97, app/assets/stylesheets/components/header.scss */
.header__nav .main-container {
  display: flex;
  justify-content: space-between;
}

/* line 103, app/assets/stylesheets/components/header.scss */
.header__menu {
  display: flex;
  gap: 15px;
  align-items: center;
  color: var(--secondary);
}

@media (max-width: 1199px) {
  /* line 103, app/assets/stylesheets/components/header.scss */
  .header__menu {
    display: none;
  }
}

/* line 114, app/assets/stylesheets/components/header.scss */
.navbar-brand {
  padding: 0px;
}

/* line 118, app/assets/stylesheets/components/header.scss */
.header__menu.header__menu--mobile {
  display: none;
  flex-direction: column;
  align-items: start;
}

@media (max-width: 1199px) {
  /* line 118, app/assets/stylesheets/components/header.scss */
  .header__menu.header__menu--mobile {
    display: flex;
  }
}

/* line 128, app/assets/stylesheets/components/header.scss */
header.header__container {
  top: 0 !important;
  background-color: var(--gray-light__to__black) !important;
}

/* line 132, app/assets/stylesheets/components/header.scss */
header.header__container .offcanvas {
  background-color: var(--white);
  top: calc(-2px + var(--header-height)) !important;
  bottom: 0;
  height: calc(100vh - var(--header-height) + 2px) !important;
  border: 0;
  max-width: 475px;
  z-index: 2;
}

/* line 142, app/assets/stylesheets/components/header.scss */
header.header__container .offcanvas-backdrop {
  top: 104px;
  bottom: 0;
  height: calc(100vh - var(--header-height)) !important;
}

/* line 151, app/assets/stylesheets/components/header.scss */
html .dark-mode-switch {
  display: flex;
  border: 1px solid var(--black__to__white);
  width: 45px;
  height: 22px;
  border-radius: 15px;
  background: linear-gradient(275deg, var(--white), var(--black));
  position: relative;
  cursor: pointer;
}

/* line 161, app/assets/stylesheets/components/header.scss */
html .dark-mode-switch input[type="checkbox"] {
  opacity: 0;
}

/* line 165, app/assets/stylesheets/components/header.scss */
html .dark-mode-switch label {
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* line 170, app/assets/stylesheets/components/header.scss */
html .dark-mode-switch label span {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--theme-switch__circle);
  position: absolute;
  top: 50%;
  left: 2px;
  transform: translate(0, -50%);
  transition: left .5s ease-in-out;
}

/* line 189, app/assets/stylesheets/components/header.scss */
html[data-theme="dark"] .dark-mode-switch label span {
  background-color: var(--theme-switch__circle);
  left: 55%;
  transition: left .5s ease-in-out;
}

/* line 199, app/assets/stylesheets/components/header.scss */
.button__get-started {
  margin-left: 17px;
  color: var(--white);
  border-radius: 20px;
  background: var(--bg-gradient-primary);
  width: 160px;
  height: 30px;
  margin: 0;
  padding: 8px 15px;
  font-size: 14px;
  line-height: 14px;
  font-weight: normal;
  min-width: 150px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}

/* line 217, app/assets/stylesheets/components/header.scss */
.button__get-started i {
  transform: rotate(180deg);
}

/* line 221, app/assets/stylesheets/components/header.scss */
.button__get-started:hover {
  color: var(--white);
}

/* line 226, app/assets/stylesheets/components/header.scss */
.img-logo {
  width: auto;
  height: 36px;
  filter: invert(0);
  transition: height .4s;
}

/* line 234, app/assets/stylesheets/components/header.scss */
html[data-theme="dark"] .img-logo {
  filter: invert(1);
}

/* line 239, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind {
  padding: 20px 0px;
  width: clamp(280px, 40vw, 414px);
  background-color: var(--white__to__gray-dark);
  top: calc(100% - 1px) !important;
  border-radius: 0px;
}

/* line 246, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind li {
  padding: 10px 20px;
}

/* line 249, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind li a {
  padding: unset;
  color: var(--gray__to__white);
}

/* line 253, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind li a i {
  margin-right: 15px;
}

/* line 259, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind li:hover {
  background-color: var(--primary);
  color: var(--white);
}

/* line 263, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind li:hover a {
  background-color: var(--primary);
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
}

/* line 272, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind__lang {
  padding: 10px 0px;
  width: 120px;
  background-color: var(--white__to__gray-dark);
  top: -3px !important;
  border-radius: 0px;
}

/* line 279, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind__lang li {
  padding: 10px 20px;
}

/* line 282, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind__lang li a {
  padding: unset;
  color: var(--gray__to__white);
}

/* line 286, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind__lang li a i {
  margin-right: 15px;
}

/* line 292, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind__lang li:hover {
  background-color: var(--primary);
  color: var(--white);
}

/* line 296, app/assets/stylesheets/components/header.scss */
.dropdown-menu-behind__lang li:hover a {
  background-color: var(--primary);
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
}

/* line 305, app/assets/stylesheets/components/header.scss */
.header__container {
  top: 0;
  transition: top .6s;
}

/* line 310, app/assets/stylesheets/components/header.scss */
.header__container.hidden .header__top {
  height: 0;
  overflow: hidden;
  transition: height .6s;
}

/* line 316, app/assets/stylesheets/components/header.scss */
.header__container.hidden .header__bottom {
  height: 75px;
  transition: height .6s;
}

/* line 320, app/assets/stylesheets/components/header.scss */
.header__container.hidden .header__bottom .img-logo {
  height: 45px;
  width: auto;
  transition: height .4s;
}

/* line 329, app/assets/stylesheets/components/header.scss */
.header__bottom .dropdown-menu {
  right: 0;
  left: initial !important;
  background-color: var(--bg-c) !important;
}

/* line 334, app/assets/stylesheets/components/header.scss */
.header__bottom .dropdown-menu .dropdown-item {
  color: var(--black__to__white) !important;
  justify-content: start !important;
  padding-block: 12px !important;
}

/* =====================================================
   Site Footer — dark theme (black primary, pink + white)
   ===================================================== */
/* line 5, app/assets/stylesheets/components/footer.scss */
.site-footer {
  position: relative;
  background: #0e0e10;
  color: #e5e7eb;
  padding: 0;
  font-size: 15px;
  line-height: 1.55;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* line 15, app/assets/stylesheets/components/footer.scss */
.site-footer::before {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--primary) 0%, #e637a3 50%, var(--secondary) 100%);
}

/* Soft brand glow in the corner — adds personality without competing with content */
/* line 23, app/assets/stylesheets/components/footer.scss */
.site-footer::after {
  content: '';
  position: absolute;
  top: 0;
  right: -10vw;
  width: 40vw;
  max-width: 520px;
  height: 280px;
  background: radial-gradient(circle at center, rgba(215, 16, 90, 0.22) 0%, rgba(215, 16, 90, 0) 65%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
}

/* line 37, app/assets/stylesheets/components/footer.scss */
.site-footer__main,
.site-footer__bottom {
  position: relative;
  z-index: 1;
}

/* ----- Top: 4-column grid ----- */
/* line 44, app/assets/stylesheets/components/footer.scss */
.site-footer__main {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: clamp(28px, 4vw, 56px);
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(28px, 3.5vw, 44px);
}

/* ----- Brand block ----- */
/* line 53, app/assets/stylesheets/components/footer.scss */
.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 320px;
}

/* line 60, app/assets/stylesheets/components/footer.scss */
.site-footer__logo {
  display: inline-block;
  line-height: 0;
}

/* line 64, app/assets/stylesheets/components/footer.scss */
.site-footer__logo img {
  height: 44px;
  width: auto;
  object-fit: contain;
  /* Brand logo is dark/colorful → drop a soft white halo so it stays legible on black */
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.4));
}

/* line 73, app/assets/stylesheets/components/footer.scss */
.site-footer__tagline {
  font-size: 14px;
  color: #b8bcc4;
  margin: 0;
  line-height: 1.6;
}

/* ----- Social pill ----- */
/* line 81, app/assets/stylesheets/components/footer.scss */
.site-footer__social {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
  display: flex;
  gap: 10px;
}

/* line 89, app/assets/stylesheets/components/footer.scss */
.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 16px;
  text-decoration: none !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

/* line 103, app/assets/stylesheets/components/footer.scss */
.site-footer__social-link i {
  line-height: 1;
}

/* line 107, app/assets/stylesheets/components/footer.scss */
.site-footer__social-link:hover, .site-footer__social-link:focus-visible {
  transform: translateY(-2px);
  color: #ffffff;
  border-color: transparent;
  box-shadow: 0 8px 22px rgba(215, 16, 90, 0.35);
}

/* line 115, app/assets/stylesheets/components/footer.scss */
.site-footer__social-link:focus-visible {
  outline: 2px solid rgba(215, 16, 90, 0.7);
  outline-offset: 3px;
}

/* line 120, app/assets/stylesheets/components/footer.scss */
.site-footer__social-link--instagram:hover, .site-footer__social-link--instagram:focus-visible {
  background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

/* line 125, app/assets/stylesheets/components/footer.scss */
.site-footer__social-link--facebook:hover, .site-footer__social-link--facebook:focus-visible {
  background: #1877F2;
}

/* ----- Columns ----- */
/* line 132, app/assets/stylesheets/components/footer.scss */
.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* line 138, app/assets/stylesheets/components/footer.scss */
.site-footer__heading {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: var(--primary);
  margin: 0;
}

/* line 147, app/assets/stylesheets/components/footer.scss */
.site-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 155, app/assets/stylesheets/components/footer.scss */
.site-footer__links a {
  color: #d1d5db;
  font-size: 14px !important;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
  display: inline-block;
}

/* line 163, app/assets/stylesheets/components/footer.scss */
.site-footer__links a:hover, .site-footer__links a:focus-visible {
  color: #ffffff !important;
  transform: translateX(3px);
}

/* line 169, app/assets/stylesheets/components/footer.scss */
.site-footer__links a:focus-visible {
  outline: 2px solid rgba(215, 16, 90, 0.6);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ----- Contact column ----- */
/* line 178, app/assets/stylesheets/components/footer.scss */
.site-footer__contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 186, app/assets/stylesheets/components/footer.scss */
.site-footer__contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  color: #d1d5db;
}

/* line 194, app/assets/stylesheets/components/footer.scss */
.site-footer__contact-list i {
  color: var(--primary);
  font-size: 14px;
  margin-top: 4px;
  flex-shrink: 0;
  width: 16px;
  text-align: center;
}

/* line 204, app/assets/stylesheets/components/footer.scss */
.site-footer__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  margin-top: 4px;
  background: var(--primary);
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 600;
  border-radius: 999px;
  text-decoration: none;
  align-self: flex-start;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

/* line 219, app/assets/stylesheets/components/footer.scss */
.site-footer__cta i {
  font-size: 11px;
  transition: transform 0.2s ease;
}

/* line 224, app/assets/stylesheets/components/footer.scss */
.site-footer__cta:hover, .site-footer__cta:focus-visible {
  background: #e637a3;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(215, 16, 90, 0.45);
}

/* line 231, app/assets/stylesheets/components/footer.scss */
.site-footer__cta:hover i, .site-footer__cta:focus-visible i {
  transform: translateX(3px);
}

/* line 236, app/assets/stylesheets/components/footer.scss */
.site-footer__cta:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.6);
  outline-offset: 3px;
}

/* ----- Bottom bar ----- */
/* line 243, app/assets/stylesheets/components/footer.scss */
.site-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: #07070a;
}

/* line 248, app/assets/stylesheets/components/footer.scss */
.site-footer__bottom-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 18px;
  padding-bottom: 18px;
}

/* line 258, app/assets/stylesheets/components/footer.scss */
.site-footer__copyright {
  margin: 0;
  font-size: 13px;
  color: #9ca3af;
  font-weight: 500;
}

/* line 265, app/assets/stylesheets/components/footer.scss */
.site-footer__credit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: #9ca3af;
  font-size: 13px !important;
  transition: color 0.2s ease, opacity 0.2s ease;
}

/* line 274, app/assets/stylesheets/components/footer.scss */
.site-footer__credit span {
  text-transform: none;
  font-weight: 500;
  color: #9ca3af;
  font-size: 13px;
  letter-spacing: 0;
  transition: color 0.2s ease;
}

/* line 283, app/assets/stylesheets/components/footer.scss */
.site-footer__credit img {
  height: 22px;
  width: auto;
  object-fit: contain;
  opacity: 0.7;
  /* Logo is colored — desaturate slightly so it sits quietly on the dark bar */
  filter: brightness(1.2) saturate(0.85);
  transition: opacity 0.2s ease, filter 0.2s ease;
}

/* line 293, app/assets/stylesheets/components/footer.scss */
.site-footer__credit:hover, .site-footer__credit:focus-visible {
  color: #ffffff;
}

/* line 297, app/assets/stylesheets/components/footer.scss */
.site-footer__credit:hover span, .site-footer__credit:focus-visible span {
  color: #ffffff;
}

/* line 301, app/assets/stylesheets/components/footer.scss */
.site-footer__credit:hover img, .site-footer__credit:focus-visible img {
  opacity: 1;
  filter: none;
}

/* line 307, app/assets/stylesheets/components/footer.scss */
.site-footer__credit:focus-visible {
  outline: 2px solid rgba(215, 16, 90, 0.6);
  outline-offset: 3px;
  border-radius: 4px;
}

/* ----- Responsive ----- */
@media (max-width: 991px) {
  /* line 316, app/assets/stylesheets/components/footer.scss */
  .site-footer__main {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  /* line 321, app/assets/stylesheets/components/footer.scss */
  .site-footer__brand {
    grid-column: 1 / -1;
    max-width: none;
  }
}

@media (max-width: 575px) {
  /* line 328, app/assets/stylesheets/components/footer.scss */
  .site-footer__main {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 36px;
    padding-bottom: 24px;
  }
  /* line 335, app/assets/stylesheets/components/footer.scss */
  .site-footer__brand {
    align-items: center;
    text-align: center;
    max-width: none;
  }
  /* line 341, app/assets/stylesheets/components/footer.scss */
  .site-footer__tagline {
    max-width: 360px;
  }
  /* line 345, app/assets/stylesheets/components/footer.scss */
  .site-footer__bottom-inner {
    justify-content: center;
    text-align: center;
  }
  /* line 350, app/assets/stylesheets/components/footer.scss */
  .site-footer__copyright {
    order: 2;
  }
  /* line 354, app/assets/stylesheets/components/footer.scss */
  .site-footer::after {
    right: -30vw;
    width: 80vw;
    height: 220px;
  }
}

/* ----- Legacy aliases (keep things that other pages may still reference) ----- */
/* line 362, app/assets/stylesheets/components/footer.scss */
.zensavvy-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  gap: 8px;
}

/* line 1, app/assets/stylesheets/bootstrap-changes.scss */
.btn-check:focus + .btn, .btn:focus {
  outline: 0;
  box-shadow: none;
}

/* line 1, app/assets/stylesheets/login.scss */
.login-optical {
  padding: clamp(15px, 5vw, 80px);
  background-color: var(--bg-c);
  width: clamp(300px, 50vw, 500px);
  margin-left: auto;
  color: var(--black__to__white);
}

/* line 8, app/assets/stylesheets/login.scss */
.login-optical .login-optical-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--main-gap);
}

/* line 16, app/assets/stylesheets/login.scss */
.login-optical img {
  width: clamp(50px, 10vw, 150px);
}

/* line 20, app/assets/stylesheets/login.scss */
.login-optical .login-btn {
  color: white;
  background-color: var(--main-color);
  padding: 7px 20px;
  border-radius: 0;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
  transition: padding 0.3s;
}

/* line 30, app/assets/stylesheets/login.scss */
.login-optical .login-btn:hover {
  color: white;
  padding: 9px 25px;
}

/* line 36, app/assets/stylesheets/login.scss */
.login-optical .btn-magic-link {
  font-size: 12px;
  text-transform: uppercase;
  color: var(--black__to__white);
  font-weight: 700;
}

/* line 22, app/assets/stylesheets/application.scss */
:root {
  --header-height: 80px;
  --main-gap: 20px;
  --main-half-gap: 10px;
  --global-card-gap: 20px;
  --main-color: #D7105A;
  --green-optical: green;
  --mobile: 991px;
}

/* line 32, app/assets/stylesheets/application.scss */
html {
  --main-grid-padding: 5vw;
  --main-grid-max-width: 1400px;
  --tipo-primary: 'Roboto', sans-serif;
  --section-mb: 10dvh;
  /*Colors*/
  --primary: #D7105A;
  --secondary: #EF2E7D;
  --tertiary: #999999;
  --fourth: #EAEAEA;
  --fifth: #1b45d7;
  --sixth: #741Bce;
  --seventh: #821EE7;
  --eighth: #c495f3;
  --light-muted: rgb(255, 243, 244);
  --light-border: #E1E4ED;
  --muted: #464949;
  --white: white;
  --black: rgb(22, 22, 22);
  --dark: #1C1C1D;
  --gray-deep: #2A2A2A;
  --gray-dark: #474747;
  --gray-dark-2: #4E4F55;
  --gray: #6C6C6C;
  --gray-light: #EFEFEF;
  --gray-light-2: #D7D7D7;
  --gray-light-3: #DADADA;
  --gray-lightest: #bbbbbb;
  --primaryb-color: #1DC6EC;
  --primaryb-color-hover: #136CB9;
  --secondaryb-color: #41FFD1;
  --invert: 0;
  /*Elements colors*/
  --bg-c: var(--gray);
  --white_to_bg-c: var(--white);
  --bg-c_to_dark: var(--bg-c);
  --theme-switch: var(--white);
  --theme-switch__circle: var(--gray-light-2);
  --white__to__gray: var(--white);
  /*Color to color*/
}

/* line 81, app/assets/stylesheets/application.scss */
html .accordion-button::after {
  filter: invert(0);
}

/* line 85, app/assets/stylesheets/application.scss */
html .character-animation-container {
  filter: invert(0);
}

/* line 91, app/assets/stylesheets/application.scss */
.first-section {
  padding-top: var(--header-height) !important;
  transition: padding .1s;
}

/* line 96, app/assets/stylesheets/application.scss */
.main-container {
  margin-inline: auto;
  padding-inline: clamp(15px, var(--main-grid-padding), 70px);
  width: 100%;
  max-width: var(--main-grid-max-width);
}

@media (max-width: 575px) {
  /* line 103, app/assets/stylesheets/application.scss */
  .main-container.mobile-ignore-main-container {
    margin-inline: 0;
    padding-inline: 0;
  }
}

/* line 110, app/assets/stylesheets/application.scss */
.ignore-main-container {
  margin-inline: calc(-1 * clamp(15px, var(--main-grid-padding), 70px));
  display: block;
}

/* line 115, app/assets/stylesheets/application.scss */
.main-container__only-padding {
  margin-inline: auto;
  padding-inline: clamp(15px, var(--main-grid-padding), 70px);
  width: 100%;
}

/* line 121, app/assets/stylesheets/application.scss */
.main-section-mb {
  margin-block-end: var(--section-mb);
}

/* line 125, app/assets/stylesheets/application.scss */
a:-webkit-any-link:focus-visible,
:focus-visible {
  outline-offset: 0px;
  outline: none !important;
}

/* line 131, app/assets/stylesheets/application.scss */
* {
  margin: 0;
  padding: 0;
  border: 0;
  letter-spacing: -0.01em;
  box-sizing: border-box;
  vertical-align: baseline;
}

/* line 140, app/assets/stylesheets/application.scss */
img,
picture,
video,
iframe,
figure {
  /*
    max-width: 100%;
    width: 100%;
    */
  display: block;
  object-fit: cover;
  object-position: center center;
}

/* line 154, app/assets/stylesheets/application.scss */
a {
  display: block;
  text-decoration: none;
  color: inherit;
  font-size: inherit;
}

/* line 161, app/assets/stylesheets/application.scss */
p a {
  display: inline;
  margin: 0;
}

/* line 166, app/assets/stylesheets/application.scss */
html {
  scroll-behavior: smooth;
}

/* line 170, app/assets/stylesheets/application.scss */
h1,
h2,
h3,
h4,
h5,
h6,
span,
a,
blockquote {
  font-weight: inherit;
  font-style: inherit;
  text-decoration: none;
  color: inherit;
  margin-bottom: 0;
}

/* line 186, app/assets/stylesheets/application.scss */
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
}

/* line 193, app/assets/stylesheets/application.scss */
::selection {
  background-color: rgba(0, 0, 97, 0.548);
  color: var(--white);
}

/* line 198, app/assets/stylesheets/application.scss */
form,
textarea,
select,
button,
label {
  font-size: inherit;
  hyphens: auto;
  background-color: transparent;
  color: inherit;
  display: block;
}

/* line 210, app/assets/stylesheets/application.scss */
table,
tr,
td {
  border-collapse: collapse;
}

/* line 216, app/assets/stylesheets/application.scss */
table {
  border-collapse: separate;
  border-spacing: 0 10px;
}

/* line 221, app/assets/stylesheets/application.scss */
svg {
  /*width: 100%;*/
  display: block;
}

/* line 226, app/assets/stylesheets/application.scss */
body {
  min-height: 100dvh;
  font-size: 100%;
  line-height: 1.4em;
  hyphens: none;
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--light-muted);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow-x: hidden;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-family: "Roboto", sans-serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

/**/
/* line 252, app/assets/stylesheets/application.scss */
.font-color--dark {
  color: var(--gray__to__white);
}

/* line 256, app/assets/stylesheets/application.scss */
.f-white--dark {
  color: var(--white__to__dark) !important;
}

/* line 260, app/assets/stylesheets/application.scss */
.text-red {
  color: var(--main-color) !important;
}

/* line 264, app/assets/stylesheets/application.scss */
.text-left {
  text-align: left !important;
}

/* line 268, app/assets/stylesheets/application.scss */
.main-banner {
  animation: gradient 10s infinite alternate;
  background: linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);
  z-index: 0;
  position: relative;
  display: flex;
  align-items: center;
  height: calc(100vh - var(--header-height) - 10vh);
  overflow: hidden;
  width: 100%;
  color: var(--white);
}

/* line 280, app/assets/stylesheets/application.scss */
.main-banner .carousel-inner {
  height: 100%;
}

/* line 284, app/assets/stylesheets/application.scss */
.main-banner .carousel-item {
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* line 290, app/assets/stylesheets/application.scss */
.main-banner .carousel-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  background: #01122c;
  background: linear-gradient(90deg, black 30%, rgba(0, 0, 0, 0) 100%);
}

@media (max-width: 575px) {
  /* line 303, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item::before {
    width: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.332) 0%, rgba(0, 0, 0, 0.3) 100%);
  }
}

/* line 309, app/assets/stylesheets/application.scss */
.main-banner .carousel-item .__info {
  position: relative;
  z-index: 1;
  padding-block: 5dvh;
  max-width: 50%;
  min-width: 535px;
  margin-left: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* line 321, app/assets/stylesheets/application.scss */
.main-banner .carousel-item .__info h1,
.main-banner .carousel-item .__info h2 {
  text-transform: uppercase;
  font-size: 52px;
  font-weight: 800;
}

/* line 327, app/assets/stylesheets/application.scss */
.main-banner .carousel-item .__info h1 span,
.main-banner .carousel-item .__info h2 span {
  font-size: 30px;
  display: block;
}

@media (max-width: 575px) {
  /* line 309, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item .__info {
    max-width: 100%;
    min-width: 100%;
    align-items: center;
  }
  /* line 338, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item .__info h1,
  .main-banner .carousel-item .__info h2 {
    font-size: 42px;
    text-align: center;
  }
  /* line 344, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item .__info p {
    text-align: center !important;
  }
  /* line 348, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item .__info span {
    text-align: center;
  }
  /* line 352, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item .__info.__left, .main-banner .carousel-item .__info.--right {
    text-align: center;
  }
}

/* line 359, app/assets/stylesheets/application.scss */
.main-banner .carousel-item.--left {
  text-align: left;
}

/* line 362, app/assets/stylesheets/application.scss */
.main-banner .carousel-item.--left .__info {
  margin-left: 0;
}

/* line 367, app/assets/stylesheets/application.scss */
.main-banner .carousel-item.--right {
  text-align: right;
}

/* line 370, app/assets/stylesheets/application.scss */
.main-banner .carousel-item.--right .__info {
  margin-left: auto;
  margin-right: 0;
  align-items: flex-end;
}

/* line 376, app/assets/stylesheets/application.scss */
.main-banner .carousel-item.--right::before {
  left: initial;
  right: 0;
  width: 60%;
  background: linear-gradient(270deg, black 30%, rgba(0, 0, 0, 0) 100%);
}

@media (max-width: 575px) {
  /* line 367, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item.--right {
    text-align: center;
  }
  /* line 387, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item.--right .__info {
    align-items: center;
  }
  /* line 391, app/assets/stylesheets/application.scss */
  .main-banner .carousel-item.--right::before {
    width: 100%;
    background: linear-gradient(270deg, rgba(0, 0, 0, 0.332) 0%, rgba(0, 0, 0, 0.3) 100%);
  }
}

/* line 401, app/assets/stylesheets/application.scss */
.main-banner .carousel-indicators {
  bottom: 0px !important;
  gap: 7px;
  z-index: 0;
}

/* line 406, app/assets/stylesheets/application.scss */
.main-banner .carousel-indicators button {
  border: 0 !important;
  width: 15px !important;
  height: 15px !important;
  background-color: white !important;
  border: 1px solid var(--primary) !important;
  border-radius: 50%;
}

/* line 414, app/assets/stylesheets/application.scss */
.main-banner .carousel-indicators button.active {
  background-color: var(--primary) !important;
}

/* line 420, app/assets/stylesheets/application.scss */
.main-banner .carousel-control-next {
  width: 5%;
  opacity: 1;
  z-index: 0;
}

/* line 425, app/assets/stylesheets/application.scss */
.main-banner .carousel-control-next .carousel-control-next-icon {
  background-size: 200% 100% !important;
}

/* line 430, app/assets/stylesheets/application.scss */
.main-banner .carousel-control-prev {
  width: 5%;
  opacity: 1;
  z-index: 0;
}

/* line 435, app/assets/stylesheets/application.scss */
.main-banner .carousel-control-prev .carousel-control-prev-icon {
  background-size: 200% 100% !important;
}

/* line 442, app/assets/stylesheets/application.scss */
.-banner-p {
  font-size: 20px;
  color: white;
  font-weight: 700;
  line-height: 32px;
}

@property --z-primary {
  syntax: "<color>";
  initial-value: rgba(188, 148, 233, 0.925);
  inherits: false;
}

@property --z-secondary {
  syntax: "<color>";
  initial-value: #ebd4ff;
  inherits: false;
}

@property --z-tertiary {
  syntax: "<color>";
  initial-value: #c495f3;
  inherits: false;
}

/*Secondary Banner*/
/* line 469, app/assets/stylesheets/application.scss */
.secondary-banner {
  height: auto;
  width: 100vw;
  background-color: var(--main-color);
  background-image: url(/cat.jpg);
  background-size: cover;
  background-position: 10% 40%;
  background-repeat: no-repeat;
  z-index: -1;
  margin-top: -5px;
  padding-block: 150px;
  position: relative;
  color: var(--white);
  display: flex;
  align-items: center;
}

/* line 485, app/assets/stylesheets/application.scss */
.secondary-banner::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #d710598a;
  z-index: 0;
}

/* line 496, app/assets/stylesheets/application.scss */
.secondary-banner h1 {
  z-index: 1;
  position: relative;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0;
  width: 100%;
}

@media (max-width: 575px) {
  /* line 496, app/assets/stylesheets/application.scss */
  .secondary-banner h1 {
    text-align: center;
  }
}

/* line 511, app/assets/stylesheets/application.scss */
.gradient-text-h2 {
  background: linear-gradient(129.62deg, var(--secondary-banner-bg-from) 0%, var(--secondary-banner-bg-to) 100%);
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent;
}

/*Main Cards*/
/* line 520, app/assets/stylesheets/application.scss */
.main-card {
  width: 100%;
  border-radius: 5px;
  background-color: var(--white__to__dark);
  display: flex;
  margin-inline: auto;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: clamp(15px, 5vw, 55px);
  padding-block-start: clamp(15px, 4vw, 45px);
  -webkit-box-shadow: 0px 4px 10px 2px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 4px 10px 2px rgba(0, 0, 0, 0.15);
  gap: 25px;
}

/* line 535, app/assets/stylesheets/application.scss */
.main-card.main-card--small {
  max-width: clamp(300px, 70vw, 900px);
}

/* line 539, app/assets/stylesheets/application.scss */
.main-card.main-card--on-banner {
  position: relative;
  margin-top: calc(-1.2 * var(--header-height));
}

/* line 544, app/assets/stylesheets/application.scss */
.main-card .main-card__h2 {
  color: var(--black__to__white);
}

/* line 548, app/assets/stylesheets/application.scss */
.main-card button {
  background-color: #04A7CC;
}

/* line 553, app/assets/stylesheets/application.scss */
.main-card__p {
  color: var(--gray__to__gray-lightest);
  line-height: 26px;
}

/* line 557, app/assets/stylesheets/application.scss */
.main-card__p img {
  max-width: 145px;
  display: inline-block;
  margin: 0px 8px;
  vertical-align: baseline;
}

/* line 565, app/assets/stylesheets/application.scss */
.slider-to-tabs__container {
  z-index: 0;
  position: relative;
}

/* line 570, app/assets/stylesheets/application.scss */
.bg-white-to-dark {
  background-color: var(--white__to__dark);
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 577, app/assets/stylesheets/application.scss */
.bg-c_to_dark {
  background-color: var(--bg-c_to_dark);
}

/* line 581, app/assets/stylesheets/application.scss */
.bg-white-to-gray {
  background-color: var(--white_to_bg-c);
}

/* line 585, app/assets/stylesheets/application.scss */
.bg-gradient6 {
  background: var(--bg-gradient6);
}

/* line 589, app/assets/stylesheets/application.scss */
.black__to__white {
  color: var(--black__to__white) !important;
}

/* line 593, app/assets/stylesheets/application.scss */
.span-gradient {
  -webkit-text-fill-color: transparent;
  animation: gradient 20s ease infinite;
  background: #41ffd1;
  background: linear-gradient(-230deg, #5cdc5d, #e2a30c, #e637a3, #ae36df, #867bfd, #69eef9);
  background: linear-gradient(-230deg, #e2a30c, #e637a3, #ae36df, #5cdc5d, #867bfd, #69eef9);
  background: linear-gradient(-230deg, #e2a30c, #e637a3, #ae36df, #867bfd, #69eef9, #5cdc5d);
  -webkit-background-clip: text;
  background-size: 800% 800%;
  font-weight: 700;
}

/* line 604, app/assets/stylesheets/application.scss */
.span-gradient::selection {
  background-color: #01a7cc3a !important;
}

/* line 609, app/assets/stylesheets/application.scss */
.categories-cont {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  overflow-x: scroll;
  padding: 10px 0;
}

@media (min-width: 768px) {
  /* line 609, app/assets/stylesheets/application.scss */
  .categories-cont {
    /* Hide scrollbar for IE, Edge and Firefox */
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
  }
  /* line 617, app/assets/stylesheets/application.scss */
  .categories-cont::-webkit-scrollbar {
    display: none;
  }
}

/* line 629, app/assets/stylesheets/application.scss */
.content-page {
  overflow-x: hidden;
}

/* line 634, app/assets/stylesheets/application.scss */
.zigzag-card {
  display: flex;
  align-items: stretch;
  flex-direction: row;
  flex-wrap: nowrap;
  max-width: 100%;
  margin-inline: auto;
  border-radius: 10px;
  overflow: hidden;
  background-color: white;
}

/* line 645, app/assets/stylesheets/application.scss */
.zigzag-card.invert {
  flex-direction: row-reverse;
}

@media (max-width: 768px) {
  /* line 634, app/assets/stylesheets/application.scss */
  .zigzag-card {
    max-width: 100%;
    flex-wrap: wrap-reverse;
  }
}

/* line 654, app/assets/stylesheets/application.scss */
.zigzag-card .zigzag-card__left {
  flex: 1;
  min-width: clamp(250px, 40vw, 350px);
  padding: clamp(20px, 3vw, 50px);
  flex-direction: column;
}

/* line 660, app/assets/stylesheets/application.scss */
.zigzag-card .zigzag-card__left p {
  font-size: 15px;
  line-height: 28px;
  color: var(--gray__to__gray-lightest);
}

/* line 668, app/assets/stylesheets/application.scss */
.zigzag-card .zigzag-card__right {
  flex: 1;
  min-width: clamp(250px, 40vw, 350px);
  background-color: #D8D8D8;
  margin-left: clamp(20px, 3vw, 50px);
  margin-right: clamp(20px, 3vw, 50px);
}

/* line 675, app/assets/stylesheets/application.scss */
.zigzag-card .zigzag-card__right .zigzag-card__img-container {
  width: 100%;
  margin: auto;
  height: 100%;
  display: flex;
  align-items: center;
}

/* line 682, app/assets/stylesheets/application.scss */
.zigzag-card .zigzag-card__right .zigzag-card__img-container .zigzag-card__img {
  max-width: 90%;
  height: auto;
  margin: auto;
}

/* line 690, app/assets/stylesheets/application.scss */
.zigzag-card .zigzag-card__title {
  color: #ae36df;
  font-weight: bold;
  letter-spacing: 0;
  line-height: clamp(1.875rem, 6vw, 2.5rem);
  font-size: clamp(1.25rem, 5vw, 1.5rem);
}

/* line 700, app/assets/stylesheets/application.scss */
.set-up-seccion {
  padding-top: clamp(60px, 5vw, 120px);
  padding-bottom: clamp(60px, 5vw, 120px);
  background: linear-gradient(129.62deg, #47f9d3 0%, #e15efe 100%);
}

/* line 705, app/assets/stylesheets/application.scss */
.set-up-seccion .set-up-seccion_title {
  text-align: center;
  font-weight: bold;
  letter-spacing: 0;
  line-height: clamp(1.875rem, 5vw, 2.5rem);
  font-size: clamp(1.25rem, 5vw, 2.1rem);
  color: #ffff;
  margin-bottom: 25px;
}

/* line 715, app/assets/stylesheets/application.scss */
.set-up-seccion .set-up-seccion__body {
  font-size: 20px;
  line-height: clamp(1.875rem, 5vw, 2.5rem);
  font-size: clamp(0.875rem, 3vw, 1.3rem);
  letter-spacing: 1px;
  color: #ffff;
  text-align: center;
  margin-bottom: 35px;
}

/* line 725, app/assets/stylesheets/application.scss */
.set-up-seccion .button {
  background-color: #ae36df;
}

/* line 732, app/assets/stylesheets/application.scss */
.headless-content-cards {
  position: relative;
  z-index: 1;
  margin-bottom: -250px;
}

/* line 738, app/assets/stylesheets/application.scss */
.global-card__grid {
  display: flex;
  gap: var(--global-card-gap);
  flex-wrap: wrap;
}

/* line 743, app/assets/stylesheets/application.scss */
.global-card__grid .global-card {
  position: relative;
  flex: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 15px;
  padding: 20px;
  padding-bottom: 50px;
  gap: 20px;
  min-width: 250px;
  background-color: var(--light-muted);
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  border: 1px solid var(--light-muted);
  overflow: hidden;
}

/* line 760, app/assets/stylesheets/application.scss */
.global-card__grid .global-card .img-container {
  max-width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
}

/* line 765, app/assets/stylesheets/application.scss */
.global-card__grid .global-card .img-container img {
  max-width: 100%;
  min-width: 100%;
  height: auto;
  background-size: cover;
  object-fit: cover;
}

/* line 774, app/assets/stylesheets/application.scss */
.global-card__grid .global-card span {
  color: #dbdbdb;
  font-size: 48px;
  font-weight: 800;
}

/* line 780, app/assets/stylesheets/application.scss */
.global-card__grid .global-card img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  filter: invert(0);
}

/* line 787, app/assets/stylesheets/application.scss */
.global-card__grid .global-card h6 {
  margin-top: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-weight: 600;
  margin-block: 0 !important;
  color: var(--black__to__white);
  text-align: center;
}

/* line 801, app/assets/stylesheets/application.scss */
.global-card__grid .global-card p {
  color: var(--gray__to__gray-lightest);
  line-height: 28px;
  font-weight: 500;
}

/* line 807, app/assets/stylesheets/application.scss */
.global-card__grid .global-card .bottom {
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 100%;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray__to__gray-lightest);
}

/* line 820, app/assets/stylesheets/application.scss */
.global-card__grid.global-card-grid--three-cards {
  flex-wrap: wrap;
}

/* line 823, app/assets/stylesheets/application.scss */
.global-card__grid.global-card-grid--three-cards .global-card {
  min-width: 250px;
  gap: 15px;
  padding: 15px;
  padding-bottom: 50px;
  position: relative;
}

/* line 830, app/assets/stylesheets/application.scss */
.global-card__grid.global-card-grid--three-cards .global-card h6 {
  font-size: 18px;
  margin-top: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: break-word;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}

/* line 844, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards {
  justify-content: center;
}

/* line 851, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards .card-container {
  z-index: 0;
  padding: 0;
  width: 100%;
  height: 200px;
  position: relative;
  transition: z-index 0.6s;
  background-color: transparent;
  box-shadow: none;
  border: 0 !important;
  border-radius: 0;
  text-decoration: none !important;
}

@media (max-width: 991px) {
  /* line 851, app/assets/stylesheets/application.scss */
  .global-card__grid.service-cards .card-container {
    height: auto;
    border-radius: 9px;
    border: 1px solid var(--primary);
  }
}

/* line 870, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards .card-container:hover {
  z-index: 0;
}

/* line 874, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards .card-container:hover .__card,
.global-card__grid.service-cards .card-container.hover .__card {
  transform: rotateY(180deg);
}

@media (max-width: 991px) {
  /* line 874, app/assets/stylesheets/application.scss */
  .global-card__grid.service-cards .card-container:hover .__card,
  .global-card__grid.service-cards .card-container.hover .__card {
    transform: none;
  }
}

/* line 883, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards .card-container .__card {
  position: relative;
  transition: all 0.6s ease-in-out;
  transform-style: preserve-3d;
  width: 100%;
}

@media (max-width: 991px) {
  /* line 883, app/assets/stylesheets/application.scss */
  .global-card__grid.service-cards .card-container .__card {
    display: flex;
    flex-direction: column;
    transform-style: initial;
    height: 100%;
  }
}

/* line 896, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards .card-container .__card .__front,
.global-card__grid.service-cards .card-container .__card .__back {
  padding: 15px;
  border-radius: 9px;
  width: 100%;
  height: 200px;
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden;
  border: 1px solid var(--primary);
}

@media (max-width: 991px) {
  /* line 896, app/assets/stylesheets/application.scss */
  .global-card__grid.service-cards .card-container .__card .__front,
  .global-card__grid.service-cards .card-container .__card .__back {
    position: relative;
    backface-visibility: initial;
    height: auto;
    border-radius: 0;
    border: 0;
  }
}

/* line 917, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards .card-container .__card .__front {
  background: var(--white__to__dark);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}

/* line 927, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards .card-container .__card .__back {
  background: var(--white__to__dark);
  transform: rotateY(180deg);
}

@media (max-width: 991px) {
  /* line 927, app/assets/stylesheets/application.scss */
  .global-card__grid.service-cards .card-container .__card .__back {
    transform: none;
    height: 100%;
  }
}

/* line 937, app/assets/stylesheets/application.scss */
.global-card__grid.service-cards .card-container .__card .bottom {
  background-color: transparent;
  text-decoration: underline;
}

/* line 954, app/assets/stylesheets/application.scss */
.contact-us__banner {
  height: 250px;
  width: 100%;
  padding: 40px;
  background-size: cover;
  background-repeat: no-repeat;
}

/* line 962, app/assets/stylesheets/application.scss */
.contact-us__grid {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px 100px;
}

/* line 969, app/assets/stylesheets/application.scss */
.contact-us__grid .contact-us__left {
  color: white;
  font-weight: 600;
  font-size: 18px;
  flex: 3;
  max-width: 600px;
}

/* line 977, app/assets/stylesheets/application.scss */
.contact-us__grid .contact-us__right {
  flex: 6;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}

/* line 986, app/assets/stylesheets/application.scss */
.separator {
  width: 250px;
  height: 1px;
  background-color: white;
}

/* line 992, app/assets/stylesheets/application.scss */
.contact-card {
  min-width: 160px;
  background-color: rgba(255, 255, 255, 0.548);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 20px;
  gap: 10px;
  text-decoration: none !important;
  border-radius: 5px;
  color: var(--sixth) !important;
  font-weight: 600;
}

/* line 1006, app/assets/stylesheets/application.scss */
.contact-card i {
  font-size: 20px;
}

/* line 1010, app/assets/stylesheets/application.scss */
.contact-card:hover {
  background-color: white;
  transition: background 1s;
}

/* Section - Parallax */
/**************************/
/* line 1019, app/assets/stylesheets/application.scss */
#parallax-world-of-ugg .parallax-one {
  padding-top: 50px;
  padding-bottom: 150px;
  overflow: hidden;
  position: relative;
  width: 100%;
  background-image: url(/contact-us-banner.webp);
  background-attachment: fixed;
  background-size: cover;
  -moz-background-size: cover;
  -webkit-background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

/* line 1034, app/assets/stylesheets/application.scss */
#parallax-world-of-ugg .parallax-one {
  padding-top: 50px;
  padding-bottom: 150px;
  overflow: hidden;
  position: relative;
  width: 100%;
  background-image: url(/contact-us-banner.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

/* Desactivar background-attachment: fixed en móviles */
@media only screen and (max-width: 1024px) {
  /* line 1048, app/assets/stylesheets/application.scss */
  #parallax-world-of-ugg .parallax-one {
    background-attachment: scroll;
    /* Desactiva el parallax en móviles */
  }
}

/* Media Queries */
/**************************/
@media screen and (max-width: 959px) and (min-width: 768px) {
  /* line 1057, app/assets/stylesheets/application.scss */
  #parallax-world-of-ugg .block {
    padding: 40px;
    width: 620px;
  }
}

@media screen and (max-width: 767px) {
  /* line 1064, app/assets/stylesheets/application.scss */
  #parallax-world-of-ugg .block {
    padding: 30px;
    width: 420px;
  }
  /* line 1069, app/assets/stylesheets/application.scss */
  #parallax-world-of-ugg h2 {
    font-size: 30px;
  }
  /* line 1073, app/assets/stylesheets/application.scss */
  #parallax-world-of-ugg .block {
    padding: 30px;
  }
  /* line 1077, app/assets/stylesheets/application.scss */
  #parallax-world-of-ugg .parallax-one,
  #parallax-world-of-ugg .parallax-two,
  #parallax-world-of-ugg .parallax-three {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

@media screen and (max-width: 479px) {
  /* line 1086, app/assets/stylesheets/application.scss */
  #parallax-world-of-ugg .block {
    padding: 30px 15px;
    width: 290px;
  }
}

/* line 1092, app/assets/stylesheets/application.scss */
.animate-element-1,
.animate-element-2 {
  width: 100vw;
  height: 50dvh;
  background-color: var(--white) !important;
  position: fixed;
  z-index: 1;
  opacity: 1;
}

/* line 1102, app/assets/stylesheets/application.scss */
.animate-element-1 {
  left: 0;
  top: 0;
  z-index: 1;
}

/* line 1108, app/assets/stylesheets/application.scss */
.animate-element-2 {
  left: 0;
  bottom: 0;
  z-index: 1;
}

/* line 1115, app/assets/stylesheets/application.scss */
.enter-animation {
  transition: all 1s;
}

/* line 1118, app/assets/stylesheets/application.scss */
.enter-animation.animate-element-1 {
  top: -50dvh;
  opacity: 0;
}

/* line 1123, app/assets/stylesheets/application.scss */
.enter-animation.animate-element-2 {
  bottom: -50dvh;
  opacity: 0;
}

/* line 1129, app/assets/stylesheets/application.scss */
.exit-animation {
  transition: all .3s;
}

/* line 1132, app/assets/stylesheets/application.scss */
.exit-animation.animate-element-1 {
  top: 0 !important;
  opacity: 1;
}

/* line 1137, app/assets/stylesheets/application.scss */
.exit-animation.animate-element-2 {
  opacity: 1;
  bottom: 0 !important;
}

/* line 1144, app/assets/stylesheets/application.scss */
.main-fade {
  opacity: 0;
  transition: opacity .7s ease-in-out;
  position: relative;
  z-index: 0;
}

/* line 1151, app/assets/stylesheets/application.scss */
.main-fade.is-visible {
  opacity: 1;
}

/* line 1156, app/assets/stylesheets/application.scss */
.main-fade.from-right {
  transition: opacity .7s ease-in-out, right .7s ease-in-out;
  right: -250px;
}

/* line 1162, app/assets/stylesheets/application.scss */
.main-fade.from-right.is-visible {
  opacity: 1;
  right: 0;
}

/* line 1168, app/assets/stylesheets/application.scss */
.main-fade.from-left {
  transition: opacity .7s ease-in-out, left .7s ease-in-out;
  left: -250px;
}

/* line 1174, app/assets/stylesheets/application.scss */
.main-fade.from-left.is-visible {
  opacity: 1;
  left: 0;
}

/* line 1180, app/assets/stylesheets/application.scss */
.main-fade.from-bottom {
  transition: opacity .7s ease-in-out, bottom .7s ease-in-out;
  bottom: -150px;
}

/* line 1186, app/assets/stylesheets/application.scss */
.main-fade.from-bottom.is-visible {
  opacity: 1;
  bottom: 0;
}

/* =========================================
   Reviews — modernized card + carousel
   ========================================= */
/* line 1196, app/assets/stylesheets/application.scss */
.reviews-section {
  padding: 0;
}

/* line 1200, app/assets/stylesheets/application.scss */
.reviews-section__inner {
  background: linear-gradient(180deg, #ffffff 0%, #fff7fb 100%);
  padding: clamp(28px, 4vw, 56px) clamp(20px, 4vw, 48px);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(230, 55, 163, 0.05);
  border: 1px solid rgba(230, 55, 163, 0.08);
}

/* line 1207, app/assets/stylesheets/application.scss */
.reviews-section__header {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: clamp(20px, 3vw, 36px);
}

/* line 1216, app/assets/stylesheets/application.scss */
.reviews-section__heading {
  flex: 1 1 260px;
  min-width: 0;
}

/* line 1221, app/assets/stylesheets/application.scss */
.reviews-summary {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: white;
  border: 1px solid rgba(230, 55, 163, 0.18);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  line-height: 1;
}

/* line 1234, app/assets/stylesheets/application.scss */
.reviews-summary__stars i {
  font-size: 16px;
  margin-right: 1px;
}

/* line 1239, app/assets/stylesheets/application.scss */
.reviews-summary__score {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-weight: 700;
  color: var(--secondary, #1f2937);
}

/* line 1247, app/assets/stylesheets/application.scss */
.reviews-summary__score-number {
  font-size: 18px;
  background: linear-gradient(-230deg, var(--primary), #e637a3, var(--secondary), var(--primary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 400% 400%;
  animation: gradient 20s ease infinite;
}

/* line 1257, app/assets/stylesheets/application.scss */
.reviews-summary__score-max {
  font-size: 13px;
  font-weight: 500;
  opacity: 0.6;
}

/* line 1263, app/assets/stylesheets/application.scss */
.reviews-summary__count {
  font-size: 13px;
  color: #6b7280;
  font-weight: 500;
}

/* ----- Carousel ----- */
/* line 1270, app/assets/stylesheets/application.scss */
.reviews-carousel {
  position: relative;
  margin-inline: calc(-1 * clamp(20px, 4vw, 48px));
  padding-inline: clamp(20px, 4vw, 48px);
}

/* line 1276, app/assets/stylesheets/application.scss */
.reviews-carousel:focus-visible {
  outline: 3px solid rgba(230, 55, 163, 0.35);
  outline-offset: 2px;
  border-radius: 8px;
}

/* line 1282, app/assets/stylesheets/application.scss */
.reviews-carousel__track {
  list-style: none;
  margin: 0;
  padding: 4px 4px 20px;
  display: flex;
  gap: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 4px;
  scrollbar-width: thin;
  scrollbar-color: rgba(230, 55, 163, 0.3) transparent;
  -webkit-overflow-scrolling: touch;
}

/* line 1297, app/assets/stylesheets/application.scss */
.reviews-carousel__track::-webkit-scrollbar {
  height: 6px;
}

/* line 1301, app/assets/stylesheets/application.scss */
.reviews-carousel__track::-webkit-scrollbar-track {
  background: rgba(230, 55, 163, 0.06);
  border-radius: 999px;
}

/* line 1306, app/assets/stylesheets/application.scss */
.reviews-carousel__track::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, var(--primary), #e637a3);
  border-radius: 999px;
}

/* line 1311, app/assets/stylesheets/application.scss */
.reviews-carousel__item {
  flex: 0 0 clamp(260px, 32%, 340px);
  scroll-snap-align: start;
  display: flex;
}

/* line 1317, app/assets/stylesheets/application.scss */
.reviews-carousel__hint {
  position: absolute;
  inset: 0;
  pointer-events: none;
  display: none;
}

/* ----- Card ----- */
/* line 1325, app/assets/stylesheets/application.scss */
.review-card {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 22px 18px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 6px 18px rgba(15, 23, 42, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  overflow: hidden;
}

/* line 1340, app/assets/stylesheets/application.scss */
.review-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(230, 55, 163, 0), rgba(230, 55, 163, 0));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  transition: background 0.25s ease;
}

/* line 1354, app/assets/stylesheets/application.scss */
.review-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06), 0 16px 36px rgba(230, 55, 163, 0.12);
  border-color: rgba(230, 55, 163, 0.18);
}

/* line 1360, app/assets/stylesheets/application.scss */
.review-card:hover::before {
  background: linear-gradient(135deg, rgba(230, 55, 163, 0.6), rgba(71, 249, 211, 0.4));
}

/* line 1364, app/assets/stylesheets/application.scss */
.review-card__source {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 1375, app/assets/stylesheets/application.scss */
.review-card__source-icon {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain;
  filter: none !important;
}

/* line 1382, app/assets/stylesheets/application.scss */
.review-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-right: 32px;
  margin-bottom: 0;
  width: 100%;
}

/* line 1391, app/assets/stylesheets/application.scss */
.review-card__avatar {
  flex-shrink: 0;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50%;
  object-fit: cover;
  background: #f3f4f6;
  filter: none !important;
}

/* line 1401, app/assets/stylesheets/application.scss */
.review-card__avatar--placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 18px;
  background: linear-gradient(135deg, var(--primary), #e637a3);
}

/* line 1411, app/assets/stylesheets/application.scss */
.review-card__author {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 1418, app/assets/stylesheets/application.scss */
.review-card__name {
  font-weight: 600;
  font-size: 15px;
  color: #111827;
  margin: 0;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 1429, app/assets/stylesheets/application.scss */
.review-card__date {
  font-size: 12px;
  color: #6b7280;
  margin: 0;
  line-height: 1.2;
}

/* line 1436, app/assets/stylesheets/application.scss */
.review-card__stars {
  margin-top: 2px;
  line-height: 1;
}

/* line 1441, app/assets/stylesheets/application.scss */
.review-card__stars i {
  font-size: 13px;
  margin-right: 1px;
}

/* ----- Body / collapse ----- */
/* line 1447, app/assets/stylesheets/application.scss */
.review-card__body {
  position: relative;
  flex: 1;
}

/* line 1452, app/assets/stylesheets/application.scss */
.review-card__text {
  font-size: 14px;
  line-height: 1.55;
  color: #374151;
  margin: 0;
  text-align: left;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: -webkit-line-clamp 0.2s ease;
}

/* line 1466, app/assets/stylesheets/application.scss */
.review-card__body:not(.is-expanded)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 36px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* line 1479, app/assets/stylesheets/application.scss */
.review-card__body.is-clamped:not(.is-expanded)::after {
  opacity: 1;
}

/* line 1483, app/assets/stylesheets/application.scss */
.review-card__body.is-expanded .review-card__text {
  -webkit-line-clamp: unset;
  display: block;
}

/* ----- Toggle button ----- */
/* line 1489, app/assets/stylesheets/application.scss */
.review-card__toggle {
  align-self: flex-start;
  display: none;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 0;
  padding: 4px 0;
  margin: 0;
  color: var(--primary);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
}

/* line 1506, app/assets/stylesheets/application.scss */
.review-card__body.is-clamped + .review-card__toggle,
.review-card__body.is-expanded + .review-card__toggle {
  display: inline-flex;
}

/* line 1511, app/assets/stylesheets/application.scss */
.review-card__toggle:hover,
.review-card__toggle:focus-visible {
  color: #e637a3;
  text-decoration: underline;
}

/* line 1517, app/assets/stylesheets/application.scss */
.review-card__toggle:focus-visible {
  outline: 2px solid rgba(230, 55, 163, 0.5);
  outline-offset: 3px;
  border-radius: 4px;
}

/* line 1523, app/assets/stylesheets/application.scss */
.review-card__toggle-icon {
  font-size: 11px;
  transition: transform 0.2s ease;
}

/* line 1528, app/assets/stylesheets/application.scss */
.review-card__toggle[aria-expanded="true"] .review-card__toggle-icon {
  transform: rotate(180deg);
}

/* ----- Stars colors (shared) ----- */
/* line 1533, app/assets/stylesheets/application.scss */
.review-rating-stars i,
.rating-stars i {
  font-size: 14px;
  color: #d1d5db;
  line-height: 1;
}

/* line 1540, app/assets/stylesheets/application.scss */
.review-rating-stars i.filled,
.rating-stars i.filled,
.reviews-summary__stars i.filled {
  color: #f59e0b;
  background: linear-gradient(-230deg, #fbbf24, #f59e0b, #ec4899, #e637a3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 400% 400%;
  animation: gradient 20s ease infinite;
}

/* line 1552, app/assets/stylesheets/application.scss */
.rating-stars i {
  font-size: 18px;
}

/* Legacy alias kept for any other place that still uses it */
/* line 1557, app/assets/stylesheets/application.scss */
.average-rating {
  font-size: 18px;
  color: var(--secondary);
  margin-bottom: 0;
}

/* line 1563, app/assets/stylesheets/application.scss */
.rating-number {
  font-size: 18px;
  font-weight: 700;
  color: var(--secondary);
}

/* ----- Responsive ----- */
@media (max-width: 768px) {
  /* line 1571, app/assets/stylesheets/application.scss */
  .reviews-section__inner {
    padding: 24px 16px;
    border-radius: 18px;
  }
  /* line 1576, app/assets/stylesheets/application.scss */
  .reviews-carousel__item {
    flex: 0 0 min(82%, 300px);
  }
  /* line 1580, app/assets/stylesheets/application.scss */
  .reviews-section__header {
    align-items: flex-start;
  }
  /* line 1584, app/assets/stylesheets/application.scss */
  .reviews-summary {
    padding: 6px 12px;
  }
  /* line 1588, app/assets/stylesheets/application.scss */
  .reviews-summary__score-number {
    font-size: 16px;
  }
}

@media (max-width: 480px) {
  /* line 1594, app/assets/stylesheets/application.scss */
  .reviews-carousel__item {
    flex: 0 0 86%;
  }
}

/* line 1599, app/assets/stylesheets/application.scss */
.accordion-body {
  background-color: var(--white__to__dark);
  color: var(--dark__to__white);
}

/* line 1604, app/assets/stylesheets/application.scss */
.accordion * {
  border: 0 !important;
}

/* line 1608, app/assets/stylesheets/application.scss */
.accordion-header {
  background-color: var(--white__to__dark);
  color: var(--dark__to__white);
}

/* line 1612, app/assets/stylesheets/application.scss */
.accordion-header .accordion-button {
  background-color: transparent;
  color: var(--dark__to__white);
  font-weight: 600;
}

/* line 1619, app/assets/stylesheets/application.scss */
.accordion-button:not(.collapsed) {
  background-color: var(--primary) !important;
  color: var(--tertiary) !important;
}

/* line 1628, app/assets/stylesheets/application.scss */
.contact-us__grid .selected .option-circle {
  border-color: var(--sixth);
}

/* line 1633, app/assets/stylesheets/application.scss */
.contact-us__grid .option {
  background-color: rgba(255, 255, 255, 0.548);
  opacity: 0.9;
  padding: 5px 12px !important;
  min-width: 250px !important;
}

/* line 1639, app/assets/stylesheets/application.scss */
.contact-us__grid .option .option-text {
  color: var(--sixth) !important;
  font-weight: 500 !important;
  padding-left: 7px !important;
  font-size: 14px !important;
}

/* line 1646, app/assets/stylesheets/application.scss */
.contact-us__grid .option:hover {
  background-color: white;
  transition: background .3s;
}

/* line 1650, app/assets/stylesheets/application.scss */
.contact-us__grid .option:hover .option-circle {
  border-color: var(--black) !important;
}

/* line 1654, app/assets/stylesheets/application.scss */
.contact-us__grid .option:hover span {
  color: var(--black) !important;
}

/* line 1661, app/assets/stylesheets/application.scss */
.options-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

/* line 1667, app/assets/stylesheets/application.scss */
.option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px;
  padding-right: 12px;
  border: 1px solid var(--sixth) !important;
  border-radius: 30px;
  margin-left: 15px;
  margin-right: 15px;
  margin-bottom: 15px;
  transition: all 0.3s;
  cursor: pointer;
}

/* line 1681, app/assets/stylesheets/application.scss */
.option:hover {
  background-color: white;
  transition: background 1s;
}

/* line 1685, app/assets/stylesheets/application.scss */
.option:hover span {
  color: #000 !important;
}

/* line 1691, app/assets/stylesheets/application.scss */
.option-circle {
  background-color: transparent;
  border: 2px solid rgba(255, 255, 255, 0.548) !important;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s;
  color: var(--sixth) !important;
  font-weight: 600;
}

/* line 1706, app/assets/stylesheets/application.scss */
.option-text {
  flex: 1;
  padding-left: 5px;
  text-align: left;
}

/* line 1713, app/assets/stylesheets/application.scss */
.selected {
  background-color: var(--primary);
  border-color: var(--primary);
}

/* line 1717, app/assets/stylesheets/application.scss */
.selected .option-text {
  color: var(--white);
  font-weight: 600 !important;
}

/* line 1723, app/assets/stylesheets/application.scss */
.selected .option-circle {
  color: var(--white);
}

/* line 1729, app/assets/stylesheets/application.scss */
.options-container .selected .option-text {
  color: white !important;
}

/* line 1734, app/assets/stylesheets/application.scss */
.options-container .selected .option-circle {
  background-color: white !important;
}

/* line 1739, app/assets/stylesheets/application.scss */
.about-us__cta {
  position: relative;
  width: 100%;
  height: 100%;
}

/* line 1750, app/assets/stylesheets/application.scss */
.login-optical {
  padding: clamp(15px, 5vw, 80px);
  background-color: var(--bg-c);
  width: clamp(300px, 50vw, 500px);
  margin-left: auto;
  color: var(--black__to__white);
}

/* line 1757, app/assets/stylesheets/application.scss */
.login-optical .login-optical-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--main-gap);
}

/* line 1765, app/assets/stylesheets/application.scss */
.login-optical img {
  width: clamp(50px, 10vw, 150px);
}

/* line 1769, app/assets/stylesheets/application.scss */
.login-optical .btn-magic-link {
  font-size: 12px;
  text-transform: uppercase;
  color: var(--black__to__white);
  font-weight: 700;
}

/*Inputs*/
/* line 1779, app/assets/stylesheets/application.scss */
.main-field {
  display: flex;
  flex-direction: column;
  gap: var(--main-half-gap);
  width: 100%;
}

/* line 1785, app/assets/stylesheets/application.scss */
.main-field a {
  font-size: 11px;
  color: var(--black__to__white);
  display: flex;
  justify-content: flex-end;
  text-transform: uppercase;
}

/* line 1794, app/assets/stylesheets/application.scss */
.main-label {
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--black__to__white);
}

/* line 1801, app/assets/stylesheets/application.scss */
.v-select {
  height: 38px !important;
  max-height: 38px !important;
}

/* line 1805, app/assets/stylesheets/application.scss */
.v-select .vs__dropdown-toggle {
  height: 38px !important;
  border-radius: 0px !important;
  border-color: var(--gray) !important;
}

/* line 1811, app/assets/stylesheets/application.scss */
.v-select .vs1__listbox {
  max-width: 100%;
}

/* line 1814, app/assets/stylesheets/application.scss */
.v-select .vs1__listbox > {
  text-overflow: ellipsis;
  max-width: 100%;
}

/* line 1820, app/assets/stylesheets/application.scss */
.v-select ul * {
  overflow-x: hidden !important;
  max-width: 100% !important;
  text-overflow: ellipsis !important;
  font-size: 12px !important;
  background-color: var(--bg-c) !important;
  color: var(--black__to__white) !important;
}

/*Phone select input*/
/* line 1833, app/assets/stylesheets/application.scss */
.m-phone-number-input {
  --input-height: 38px;
  --border-color: #ced4da;
  --border-radius: 0px;
  display: flex;
  max-height: var(----input-height);
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  z-index: 0 !important;
}

/* line 1843, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-country-selector {
  flex: 1 !important;
  min-width: initial !important;
}

/* line 1851, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-country-selector .m-select {
  max-width: 100px !important;
}

/* line 1855, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-country-selector .m-select .m-input .m-input-wrapper {
  transition: none !important;
  color: var(--black__to__white) !important;
  background-color: var(--white__to__black) !important;
  border-color: var(--border-color) !important;
  border-radius: var(--border-radius) !important;
}

/* line 1863, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-country-selector .m-select .m-input .m-input-wrapper .m-input-wrapper-input .m-input-input {
  min-width: initial !important;
  width: initial !important;
}

/* line 1868, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-country-selector .m-select .m-input .m-input-wrapper .m-input-wrapper-input .m-input-label {
  font-size: 12px;
}

/* line 1873, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-country-selector .m-select .m-input .m-input-wrapper .m-input-wrapper-right {
  padding-right: 3px;
}

/* line 1877, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-country-selector .m-select .m-input .m-input-wrapper .m-input-wrapper-right .m-select-input__toggle-button .m-select-chevron {
  color: var(--black__to__white) !important;
}

/* line 1887, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-input {
  min-width: initial !important;
  flex: 3 !important;
  margin-top: 0 !important;
}

/* line 1892, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-input .m-input-wrapper {
  width: 100%;
  transition: none !important;
  background-color: var(--white__to__black) !important;
  border-color: var(--border-color) !important;
  border-radius: var(--border-radius) !important;
}

/* line 1899, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-input .m-input-wrapper .m-input-wrapper-input {
  height: var(--input-height);
}

/* line 1902, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-input .m-input-wrapper .m-input-wrapper-input .m-input-input {
  color: var(--black__to__white) !important;
  font-size: 15px;
  line-height: 15px;
}

/* line 1907, app/assets/stylesheets/application.scss */
.m-phone-number-input .m-input .m-input-wrapper .m-input-wrapper-input .m-input-input::placeholder {
  color: var(--black__to__white) !important;
}

/* line 1916, app/assets/stylesheets/application.scss */
.navbar-nav .dropdown-menu {
  position: absolute !important;
}

/* line 1922, app/assets/stylesheets/application.scss */
.faqs-section details summary {
  background-color: var(--muted);
  padding: 15px;
  color: var(--white);
}

/* line 1928, app/assets/stylesheets/application.scss */
.faqs-section details p {
  padding: 15px;
}

/* line 1934, app/assets/stylesheets/application.scss */
.slider {
  width: 100%;
  height: var(--height);
  overflow: hidden;
  background-color: var(--primary);
}

/* line 1941, app/assets/stylesheets/application.scss */
.slider .list {
  display: flex;
  width: 100%;
  min-width: calc(var(--width) * var(--quantity));
  position: relative;
}

/* line 1948, app/assets/stylesheets/application.scss */
.slider .list .item {
  width: var(--width);
  height: var(--height);
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 100%;
  animation: autoRun 50s linear infinite;
  animation-delay: calc((50s / var(--quantity)) * (var(--position) - 1) - 50s) !important;
  scale: 1;
  transition: scale .3s;
}

/* line 1963, app/assets/stylesheets/application.scss */
.slider .list .item img {
  width: 100%;
}

@keyframes autoRun {
  from {
    left: 100%;
  }
  to {
    left: calc(var(--width) * -1);
  }
}

/* line 1977, app/assets/stylesheets/application.scss */
.slider:hover .item {
  animation-play-state: paused !important;
}

/* line 1981, app/assets/stylesheets/application.scss */
.slider .item:hover {
  scale: 1.03;
  transition: scale 0.3s;
}

/* line 1986, app/assets/stylesheets/application.scss */
.slider[reverse="true"] .item {
  animation: reversePlay 10s linear infinite;
}

@keyframes reversePlay {
  from {
    left: calc(var(--width) * -1);
  }
  to {
    left: 100%;
  }
}

/* line 2000, app/assets/stylesheets/application.scss */
.about-us {
  display: flex;
  align-items: center;
  gap: 20px clamp(15px, 5vw, 50px);
  flex-wrap: wrap;
}

/* line 2006, app/assets/stylesheets/application.scss */
.about-us .__left {
  flex: 2;
  min-width: 250px;
}

/* line 2010, app/assets/stylesheets/application.scss */
.about-us .__left img {
  max-height: calc(90vh - var(--header-height));
  width: 100%;
  object-fit: cover;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  transition: all 0.3s;
}

/* line 2018, app/assets/stylesheets/application.scss */
.about-us .__left img:hover {
  transform: scale(1.02);
  transition: all 0.3s;
}

/* line 2025, app/assets/stylesheets/application.scss */
.about-us .__right {
  flex: 3;
  min-width: 250px;
  display: flex;
  flex-direction: column;
}

/* line 2031, app/assets/stylesheets/application.scss */
.about-us .__right p {
  font-size: 16px;
  color: var(--gray-deep__to__gray-lightest);
}

@media (max-width: 575px) {
  /* line 2025, app/assets/stylesheets/application.scss */
  .about-us .__right {
    align-items: center;
  }
  /* line 2039, app/assets/stylesheets/application.scss */
  .about-us .__right h2 {
    text-align: center;
  }
  /* line 2043, app/assets/stylesheets/application.scss */
  .about-us .__right p {
    font-size: 14px;
    text-align: center;
  }
}

/* line 2052, app/assets/stylesheets/application.scss */
.promotional-banner {
  color: var(--white);
  padding-block: 25px;
  position: relative;
  overflow: hidden;
}

/* line 2058, app/assets/stylesheets/application.scss */
.promotional-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0) 25%, #D7105A 60%);
  z-index: 1;
}

/* line 2069, app/assets/stylesheets/application.scss */
.promotional-banner::after {
  content: '';
  position: absolute;
  top: 0;
  right: -250px;
  width: 250px;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 0;
  background-color: var(--primary);
  transform: rotate(45deg) translate(0, -10%);
}

/* line 2083, app/assets/stylesheets/application.scss */
.promotional-banner > div.main-container {
  display: flex;
  height: 100%;
}

/* line 2087, app/assets/stylesheets/application.scss */
.promotional-banner > div.main-container .__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  max-width: 60%;
  z-index: 1;
  position: relative;
  padding-bottom: 60px;
}

/* line 2097, app/assets/stylesheets/application.scss */
.promotional-banner > div.main-container .__info h2 {
  font-size: 50px;
  font-weight: 800;
  text-transform: uppercase;
  margin: 0;
}

/* line 2104, app/assets/stylesheets/application.scss */
.promotional-banner > div.main-container .__info p {
  font-size: 16px;
}

/* line 2109, app/assets/stylesheets/application.scss */
.promotional-banner > div.main-container .__info div.bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 11px;
}

@media (max-width: 575px) {
  /* line 2087, app/assets/stylesheets/application.scss */
  .promotional-banner > div.main-container .__info {
    max-width: 100%;
  }
}

/* line 2121, app/assets/stylesheets/application.scss */
.promotional-banner > div.main-container .__img-container {
  position: absolute;
  right: 0;
  top: 0;
  max-width: 60%;
  width: 60%;
  height: 100%;
  object-fit: cover;
}

/* line 2130, app/assets/stylesheets/application.scss */
.promotional-banner > div.main-container .__img-container img {
  width: 100%;
  height: 100%;
}

@media (max-width: 575px) {
  /* line 2138, app/assets/stylesheets/application.scss */
  .promotional-banner::before {
    width: 100%;
    height: 100%;
    background: #d71059a9 !important;
    z-index: 1;
  }
  /* line 2147, app/assets/stylesheets/application.scss */
  .promotional-banner > div.main-container .__info h2 {
    font-size: 32px;
  }
  /* line 2152, app/assets/stylesheets/application.scss */
  .promotional-banner > div.main-container .__img-container {
    max-width: 100%;
    width: 100%;
    object-fit: contain;
  }
}

/* line 2164, app/assets/stylesheets/application.scss */
.products-section {
  background-color: white;
}

/* line 2169, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card {
  background-color: var(--light-muted);
  width: 24%;
  min-width: 24%;
  display: inline-block !important;
  margin-right: .9%;
  margin-bottom: 10px;
  border-radius: 15px;
  text-decoration: none !important;
  cursor: pointer;
  border: 2px solid var(--light-muted);
}

@media (max-width: 991px) {
  /* line 2169, app/assets/stylesheets/application.scss */
  .products-section .carousel-inner .carousel-item .__card {
    width: 48%;
    min-width: 48%;
  }
}

@media (max-width: 575px) {
  /* line 2169, app/assets/stylesheets/application.scss */
  .products-section .carousel-inner .carousel-item .__card {
    width: 48%;
    min-width: 48% !important;
  }
}

/* line 2191, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card .__img-container {
  position: relative;
}

@media (max-width: 575px) {
  /* line 2191, app/assets/stylesheets/application.scss */
  .products-section .carousel-inner .carousel-item .__card .__img-container {
    padding-top: 50px;
    background-color: white;
  }
}

/* line 2199, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card .__img-container .tags-container {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 0;
}

/* line 2207, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card:nth-of-type(4) {
  margin-right: 0;
}

/* line 2211, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card:hover {
  transform: scale(1.02);
}

/* line 2215, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card img {
  max-width: 100%;
  aspect-ratio: 16/9;
  border-radius: 15px 15px 0 0;
}

/* line 2221, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card .__info {
  padding: 15px;
}

/* line 2224, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card .__info .__title {
  text-transform: uppercase;
  font-size: 15px;
  font-weight: 800;
  color: var(--muted) !important;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 36px;
}

/* line 2238, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card .__info .__p {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 15px;
  color: var(--muted);
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 63px;
}

/* line 2252, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card .__info label {
  color: var(--muted);
  font-weight: 900;
}

/* line 2256, app/assets/stylesheets/application.scss */
.products-section .carousel-inner .carousel-item .__card .__info label span {
  font-size: 12px;
}

@media (max-width: 575px) {
  /* line 2169, app/assets/stylesheets/application.scss */
  .products-section .carousel-inner .carousel-item .__card {
    min-width: 150px;
    min-width: 48.5%;
  }
}

/* line 2271, app/assets/stylesheets/application.scss */
.products-section .carousel-indicators {
  bottom: -40px !important;
  gap: 7px;
  z-index: -0;
}

/* line 2276, app/assets/stylesheets/application.scss */
.products-section .carousel-indicators button {
  border: 0 !important;
  width: 15px !important;
  height: 15px !important;
  background-color: white !important;
  border: 1px solid var(--primary) !important;
  border-radius: 50%;
}

/* line 2284, app/assets/stylesheets/application.scss */
.products-section .carousel-indicators button.active {
  background-color: var(--primary) !important;
}

/* line 2290, app/assets/stylesheets/application.scss */
.products-section .carousel-control-next,
.products-section .carousel-control-prev {
  filter: invert(1);
  z-index: 0;
}

/* line 2296, app/assets/stylesheets/application.scss */
.products-section .carousel-control-prev {
  left: -7%;
}

/* line 2300, app/assets/stylesheets/application.scss */
.products-section .carousel-control-next {
  right: -7%;
}

/* line 2307, app/assets/stylesheets/application.scss */
.tags-container {
  display: flex;
  gap: 6px;
  width: 100%;
  flex-wrap: wrap;
}

/* line 2313, app/assets/stylesheets/application.scss */
.tags-container .tag {
  background-color: var(--primary);
  color: var(--white);
  white-space: nowrap;
  padding: 1px 10px;
  border-radius: 15px;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 130px;
  max-height: min-content;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.836);
}

/* line 2328, app/assets/stylesheets/application.scss */
.tags-container .tag:hover {
  box-shadow: 0px 0px 5px #d71059c5;
  transition: font-size .3s;
  text-shadow: none;
}

/* line 2336, app/assets/stylesheets/application.scss */
.faqs-section {
  background: linear-gradient(0deg, var(--white), var(--light-muted));
  padding-block: clamp(25px, 5vw, 50px);
}

/* line 2342, app/assets/stylesheets/application.scss */
.faqs-section summary {
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 700;
  background-color: #494949 !important;
}

/* line 2349, app/assets/stylesheets/application.scss */
.faqs-section details {
  margin-bottom: 10px;
  background-color: rgba(206, 206, 206, 0.719);
}

/* line 2354, app/assets/stylesheets/application.scss */
.faqs-section p {
  text-shadow: 3px 0px 3px rgba(255, 255, 255, 0.63);
}

/* line 2359, app/assets/stylesheets/application.scss */
.contact-section {
  display: flex;
  gap: clamp(15px, 5vw, 50px);
  flex-wrap: wrap;
}

/* line 2364, app/assets/stylesheets/application.scss */
.contact-section .__left {
  flex: 6;
  min-width: 250px;
  border-radius: 15px;
  overflow: hidden;
}

/* line 2371, app/assets/stylesheets/application.scss */
.contact-section .__right {
  flex: 3;
  min-width: 250px;
}

/* line 2375, app/assets/stylesheets/application.scss */
.contact-section .__right .contact-form {
  border-radius: 10px 0px 10px 0;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
}

/* line 2384, app/assets/stylesheets/application.scss */
.contact-section .__right .contact-form::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: -1;
  transition: opacity 1s;
}

/* line 2396, app/assets/stylesheets/application.scss */
.contact-section .__right .contact-form label {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  color: var(--black);
  margin-bottom: 2px;
}

/* line 2404, app/assets/stylesheets/application.scss */
.contact-section .__right .contact-form:hover {
  border-radius: 10px;
  transition: all .3s;
}

/* line 2408, app/assets/stylesheets/application.scss */
.contact-section .__right .contact-form:hover::after {
  opacity: 1;
  transition: opacity .3s;
}

/* line 2417, app/assets/stylesheets/application.scss */
.contact-section .social-icons a {
  background-color: var(--primary);
  color: var(--white);
  text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.836);
}

/* line 2422, app/assets/stylesheets/application.scss */
.contact-section .social-icons a:hover {
  box-shadow: 0px 0px 5px #d71059c5;
  text-shadow: none;
}

/* line 2429, app/assets/stylesheets/application.scss */
.iframe-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
}

/* Then style the iframe to fit in the container div with full height and width */
/* line 2438, app/assets/stylesheets/application.scss */
.responsive-iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* line 2449, app/assets/stylesheets/application.scss */
.main-input {
  width: 100%;
  height: 38px;
  padding: 5px 12px;
  font-size: 15px;
  border-radius: 10px;
  background-color: white;
  border: 1px solid #dadada;
}

/* line 2458, app/assets/stylesheets/application.scss */
.main-input:disabled {
  background-color: rgba(207, 32, 48, 0.22);
}

/* line 2463, app/assets/stylesheets/application.scss */
.ubicaciones-btn {
  background-color: var(--primary);
  width: 50px;
  text-decoration: none;
  overflow: hidden;
  position: relative;
}

/* line 2470, app/assets/stylesheets/application.scss */
.ubicaciones-btn .__word-container {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* line 2480, app/assets/stylesheets/application.scss */
.ubicaciones-btn .__word-container span {
  text-transform: uppercase;
  font-size: calc(10px + 1.1vw);
  line-height: calc(10px + 1.8vw) !important;
  font-weight: 600;
  color: white;
  text-align: center;
  text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.836);
}

/* line 2493, app/assets/stylesheets/application.scss */
.ubicaciones-btn:hover {
  box-shadow: 0px 0px 5px #d71059c5;
}

/* line 2496, app/assets/stylesheets/application.scss */
.ubicaciones-btn:hover .__word-container {
  animation: animation .6s forwards;
}

/* line 2499, app/assets/stylesheets/application.scss */
.ubicaciones-btn:hover .__word-container span {
  transition: font-size .3s;
  text-shadow: none;
}

@keyframes animation {
  0% {
    top: 50%;
  }
  40% {
    top: -100%;
    left: 50%;
  }
  50% {
    left: -100%;
  }
  75% {
    top: 200%;
  }
  100% {
    top: 50%;
  }
}

/* line 2531, app/assets/stylesheets/application.scss */
.locations-container {
  display: flex;
  flex-direction: column;
}

/* line 2536, app/assets/stylesheets/application.scss */
.location-card {
  padding: clamp(15px, 5vw, 50px);
  gap: clamp(15px, 5vw, 50px);
  text-decoration: none !important;
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  background-color: white;
}

/* line 2545, app/assets/stylesheets/application.scss */
.location-card.reverse {
  flex-direction: row-reverse;
}

/* line 2549, app/assets/stylesheets/application.scss */
.location-card.reverse .location-card__image-container {
  grid-template-columns: 1fr 2fr;
}

/* line 2552, app/assets/stylesheets/application.scss */
.location-card.reverse .location-card__image-container > img {
  order: 2;
}

/* line 2557, app/assets/stylesheets/application.scss */
.location-card .location-card__info {
  flex: 1;
  gap: 0;
  min-width: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  /* Reviews compactas dentro de la card de ubicación */
}

/* line 2566, app/assets/stylesheets/application.scss */
.location-card .location-card__info .__info-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 5px;
}

/* line 2572, app/assets/stylesheets/application.scss */
.location-card .location-card__info .__info-item span {
  min-width: 70px;
  font-weight: 800;
  color: var(--primary);
}

/* line 2579, app/assets/stylesheets/application.scss */
.location-card .location-card__info h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--black__to__white);
  margin-bottom: 0 !important;
}

/* line 2586, app/assets/stylesheets/application.scss */
.location-card .location-card__info p {
  color: var(--black);
  line-height: 28px;
  font-weight: 400;
  text-align: left;
  margin-bottom: 0;
}

/* line 2594, app/assets/stylesheets/application.scss */
.location-card .location-card__info h2.review-h2 {
  display: none;
}

/* line 2599, app/assets/stylesheets/application.scss */
.location-card .location-card__info .reviews-section {
  margin-bottom: 0 !important;
}

/* line 2603, app/assets/stylesheets/application.scss */
.location-card .location-card__info .reviews-section__inner {
  padding: 18px 16px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  border: 1px solid rgba(15, 23, 42, 0.06);
}

/* line 2611, app/assets/stylesheets/application.scss */
.location-card .location-card__info .reviews-section__header {
  margin-bottom: 14px;
  gap: 10px;
}

/* line 2616, app/assets/stylesheets/application.scss */
.location-card .location-card__info .reviews-section__heading {
  display: none;
}

/* line 2620, app/assets/stylesheets/application.scss */
.location-card .location-card__info .reviews-summary {
  padding: 6px 12px;
}

/* line 2624, app/assets/stylesheets/application.scss */
.location-card .location-card__info .reviews-carousel {
  margin-inline: -16px;
  padding-inline: 16px;
}

/* line 2629, app/assets/stylesheets/application.scss */
.location-card .location-card__info .reviews-carousel__item {
  flex: 0 0 min(280px, 80%);
}

/* line 2633, app/assets/stylesheets/application.scss */
.location-card .location-card__info .review-card {
  padding: 18px 16px 14px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 4px 14px rgba(15, 23, 42, 0.05);
}

/* line 2638, app/assets/stylesheets/application.scss */
.location-card .location-card__info .main-container,
.location-card .location-card__info .px-4 {
  padding: 0 !important;
  margin: 0 !important;
}

/* line 2645, app/assets/stylesheets/application.scss */
.location-card .location-card__image-container {
  display: grid;
  max-width: 500px;
  grid-template-columns: 2fr 1fr;
  /* Imagen grande (2fr) y columna de 3 imágenes (1fr) */
  gap: 10px;
  align-items: center;
  flex: 1;
  min-width: 250px;
}

/* line 2655, app/assets/stylesheets/application.scss */
.location-card .location-card__image-container img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  filter: invert(0);
  cursor: pointer;
  scale: 1;
}

/* line 2663, app/assets/stylesheets/application.scss */
.location-card .location-card__image-container img:hover {
  scale: 1.02;
  transition: all .3s;
}

/* line 2669, app/assets/stylesheets/application.scss */
.location-card .location-card__image-container .main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 2675, app/assets/stylesheets/application.scss */
.location-card .location-card__image-container .location-card__grid {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 10px;
  height: 100%;
}

/* line 2682, app/assets/stylesheets/application.scss */
.location-card .location-card__image-container .location-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 2691, app/assets/stylesheets/application.scss */
.service-agreement {
  background: #f9f9f9;
  padding: 15px;
  margin-bottom: 20px;
}

/* line 2697, app/assets/stylesheets/application.scss */
.benefits {
  text-align: center;
}

/* line 2700, app/assets/stylesheets/application.scss */
.benefits__header {
  margin-bottom: 30px;
}

/* line 2704, app/assets/stylesheets/application.scss */
.benefits__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

/* line 2711, app/assets/stylesheets/application.scss */
.benefits .benefit {
  min-width: 150px;
  background: white;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: calc(20% - 20px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  scale: 1;
}

/* line 2725, app/assets/stylesheets/application.scss */
.benefits .benefit i {
  padding-top: 24px;
  font-size: 34px;
  color: var(--secondary);
  margin-bottom: 10px;
  background: var(--primary);
  background: linear-gradient(-230deg, var(--primary), var(--gray), #e637a3, var(--secondary), var(--primary), #ff7be2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradient 20s ease infinite;
  background-size: 800% 800%;
}

/* line 2738, app/assets/stylesheets/application.scss */
.benefits .benefit h3 {
  font-size: 1.1rem;
  height: 46px;
}

/* line 2743, app/assets/stylesheets/application.scss */
.benefits .benefit:hover {
  transform: scale(1.02);
  transition: all .3s;
}

@media (max-width: 768px) {
  /* line 2751, app/assets/stylesheets/application.scss */
  .benefit {
    width: calc(50% - 20px);
  }
}

/* line 2756, app/assets/stylesheets/application.scss */
.service-pros {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

/* line 2761, app/assets/stylesheets/application.scss */
.service-pros > .__left {
  flex: 1;
  min-width: 250px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* line 2768, app/assets/stylesheets/application.scss */
.service-pros > .__left h2 {
  font-size: 30px;
  font-weight: 800;
  text-transform: uppercase;
  margin: 0;
  color: var(--primary);
}

/* line 2776, app/assets/stylesheets/application.scss */
.service-pros > .__left p {
  font-size: 16px;
}

/* line 2781, app/assets/stylesheets/application.scss */
.service-pros .__right {
  flex: 1;
  min-width: 250px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
}

/* line 2792, app/assets/stylesheets/application.scss */
.breadcrumb-item + .breadcrumb-item::before {
  padding-right: 0 !important;
}

/* line 2796, app/assets/stylesheets/application.scss */
.breadcrumb-item a {
  color: var(--primary) !important;
}

/* line 2803, app/assets/stylesheets/application.scss */
.blog-section .carousel-control-prev, .blog-section .carousel-control-next {
  filter: invert(1) !important;
}

/* line 2806, app/assets/stylesheets/application.scss */
.blog-section .carousel-indicators {
  bottom: -60px !important;
  gap: 7px;
  z-index: 0;
}

/* line 2811, app/assets/stylesheets/application.scss */
.blog-section .carousel-indicators button {
  border: 0 !important;
  width: 15px !important;
  height: 15px !important;
  background-color: white !important;
  border: 1px solid var(--primary) !important;
  border-radius: 50%;
}

/* line 2819, app/assets/stylesheets/application.scss */
.blog-section .carousel-indicators button.active {
  background-color: var(--primary) !important;
}

/* line 2824, app/assets/stylesheets/application.scss */
.blog-section .carousel-item {
  justify-content: space-around;
  align-items: center;
  padding-block: 10px;
  /* Styles for the cards */
}

/* line 2828, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .__child {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px 1.5%;
}

@media (min-width: 991px) {
  /* line 2828, app/assets/stylesheets/application.scss */
  .blog-section .carousel-item .__child {
    justify-content: center;
    gap: 15px;
  }
}

/* line 2841, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .global-card {
  flex: 1 0 20% !important;
  /* For larger screens, show 3 items per slide */
  box-sizing: border-box;
  max-width: 20%;
  background-color: var(--white__to__dark);
  border: 1px solid var(--primary);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  scale: 1;
}

/* line 2852, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .global-card:hover {
  scale: 1.05;
  transition: scale .3s;
}

/* line 2857, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .global-card .img-container {
  max-width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
}

/* line 2862, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .global-card .img-container img {
  max-width: 100%;
  min-width: 100%;
  height: auto;
  background-size: cover;
  object-fit: cover;
}

/* line 2871, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .global-card .__info {
  padding: 15px;
  background-color: white;
  padding-bottom: 45px;
}

/* line 2875, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .global-card .__info span {
  position: absolute;
  height: 35px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 0;
  width: 100%;
  background-color: var(--primary);
  color: var(--white);
  border-radius: 0 0 6px 6px;
}

/* line 2890, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .global-card h6 {
  font-size: 1.1em;
  color: var(--gray__to__gray-lightest);
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 42px;
}

/* line 2902, app/assets/stylesheets/application.scss */
.blog-section .carousel-item .global-card p {
  color: var(--gray__to__gray-lightest);
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: .9em;
}

@media (max-width: 991px) {
  /* line 2915, app/assets/stylesheets/application.scss */
  .blog-section .carousel-item .global-card {
    flex: 1 0 50% !important;
    /* For smaller screens, show 1 item per slide */
    max-width: calc(47%);
  }
  /* line 2920, app/assets/stylesheets/application.scss */
  .blog-section .carousel-item .global-card .__info {
    padding: 10px;
  }
  /* line 2924, app/assets/stylesheets/application.scss */
  .blog-section .carousel-item .global-card h6 {
    height: 32px;
  }
  /* line 2928, app/assets/stylesheets/application.scss */
  .blog-section .carousel-item .global-card p {
    -webkit-line-clamp: 2;
  }
}

/* line 2938, app/assets/stylesheets/application.scss */
.blog-note {
  border: 1px solid var(--primary);
  border-radius: 30px;
  overflow: hidden;
}

/* line 2942, app/assets/stylesheets/application.scss */
.blog-note img {
  max-width: 100%;
}

/* line 2947, app/assets/stylesheets/application.scss */
.blog-note .__info-container {
  background-color: var(--white);
  padding: clamp(15px, 3vw, 30px);
}

/* line 2950, app/assets/stylesheets/application.scss */
.blog-note .__info-container h1 {
  text-align: left !important;
  color: var(--primary);
}

/* line 2957, app/assets/stylesheets/application.scss */
.rb-empresa {
  display: flex;
  justify-content: center;
}

/* line 2962, app/assets/stylesheets/application.scss */
.rb-empresa__title {
  font-size: 2.3rem;
  font-weight: 700;
  color: #ff2d7a;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* line 2971, app/assets/stylesheets/application.scss */
.rb-empresa__subtitle {
  font-size: 1.2rem;
  margin-bottom: 30px;
  opacity: 0.9;
}

/* line 2977, app/assets/stylesheets/application.scss */
.rb-empresa__list {
  list-style: none;
  padding: 0;
  margin: 0 auto 30px auto;
  max-width: 700px;
}

/* line 2984, app/assets/stylesheets/application.scss */
.rb-empresa__list li {
  font-size: 1.1rem;
  margin: 14px 0;
  line-height: 1.5;
}

/* line 2990, app/assets/stylesheets/application.scss */
.rb-empresa__closing {
  margin-top: 25px;
  font-size: 1.1rem;
  opacity: 0.9;
}

/* line 2996, app/assets/stylesheets/application.scss */
.juarez-section {
  gap: 3rem;
}

/* line 3000, app/assets/stylesheets/application.scss */
strong {
  color: var(--primary);
  font-weight: 700;
}

/* line 3005, app/assets/stylesheets/application.scss */
.juarez-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
  font-size: 14px;
  flex-wrap: wrap;
}

/* line 3012, app/assets/stylesheets/application.scss */
.juarez-content h2 {
  font-size: 28px;
}

/* line 3015, app/assets/stylesheets/application.scss */
.juarez-content .__right {
  flex: 1;
  max-width: 430px;
  min-width: 250px;
  max-width: 100%;
}

@media (max-width: 575px) {
  /* line 3015, app/assets/stylesheets/application.scss */
  .juarez-content .__right {
    max-width: 100%;
  }
}

/* line 3024, app/assets/stylesheets/application.scss */
.juarez-content .__left {
  flex: 2;
  min-width: 250px;
  max-width: 100%;
}

/* line 3032, app/assets/stylesheets/application.scss */
.juarez-carousel {
  max-width: 100%;
}

/* line 3036, app/assets/stylesheets/application.scss */
.img-juarez {
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  object-fit: cover;
}

/* line 3044, app/assets/stylesheets/application.scss */
.section-social-media {
  padding-block: var(--section-mb);
  background: linear-gradient(180deg, var(--black), transparent 60%);
  /* Tighter, more deliberate header */
}

/* line 3047, app/assets/stylesheets/application.scss */
.section-social-media.aaa {
  background: linear-gradient(0deg, var(--black), transparent 60%);
}

/* line 3053, app/assets/stylesheets/application.scss */
.section-social-media > .main-h2 {
  letter-spacing: 0.5px;
}

/* line 3057, app/assets/stylesheets/application.scss */
.section-social-media > p {
  max-width: 720px;
  margin-inline: auto;
  line-height: 1.6;
  opacity: 0.92;
}

/* line 3065, app/assets/stylesheets/application.scss */
.social-media-section {
  display: flex;
  justify-content: center;
  padding-inline: clamp(10px, 5vw, 120px);
  position: relative;
  flex-wrap: wrap;
  gap: clamp(14px, 2vw, 28px);
}

@media (max-width: 575px) {
  /* line 3065, app/assets/stylesheets/application.scss */
  .social-media-section {
    justify-content: center;
  }
}

/* line 3075, app/assets/stylesheets/application.scss */
.social-media-section > div {
  flex: 1 1 0;
  max-width: 320px;
  min-width: 240px;
  position: relative;
  aspect-ratio: 9 / 16;
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(160deg, rgba(230, 55, 163, 0.15), rgba(71, 249, 211, 0.08));
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 18px 40px rgba(0, 0, 0, 0.45);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

/* line 3090, app/assets/stylesheets/application.scss */
.social-media-section > div::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

/* line 3103, app/assets/stylesheets/application.scss */
.social-media-section > div:hover {
  transform: translateY(-6px);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 24px 50px rgba(230, 55, 163, 0.35);
}

/* line 3110, app/assets/stylesheets/application.scss */
.social-media-section > div video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  display: block;
}

/* line 3118, app/assets/stylesheets/application.scss */
.social-media-section::before {
  position: absolute;
  content: '';
  width: 30vw;
  max-width: 400px;
  height: 30vw;
  max-height: 400px;
  background: radial-gradient(circle, #8d0e5823 0%, #8d0e5823 100%);
  top: -15vw;
  right: -15vw;
  z-index: -1;
  filter: blur(50px);
  animation: radialGradient2 5s ease-in infinite;
  border-radius: 50%;
}

@keyframes radialGradient2 {
  0% {
    transform: translate(0%, 0%) scale(1);
  }
  50% {
    transform: translate(0%, 0%) scale(2);
  }
  100% {
    transform: translate(0%, 0%) scale(1);
  }
}

@media (max-width: 575px) {
  /* line 3146, app/assets/stylesheets/application.scss */
  .social-media-section {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    padding: 0;
    margin-inline: 10px;
    justify-content: start;
  }
  /* line 3158, app/assets/stylesheets/application.scss */
  .social-media-section > div {
    scroll-snap-align: center;
    flex: 0 0 70%;
    max-width: 70%;
    margin-inline: 10px;
    padding-bottom: 10px;
  }
}
