@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* ===== DESIGN TOKENS ===== */
:root {
  --red: #C8102E;
  --red-dark: #A00D24;
  --red-light: #E8354D;
  --yellow: #F5C518;
  --yellow-light: #FFD84D;
  --dark: #1A1A2E;
  --dark-surface: #16213E;
  --gray-700: #555;
  --gray-200: #E8E8EE;
  --gray-100: #F5F5FA;
  --white: #FFFFFF;
  --radius: 20px;
  --radius-sm: 12px;
  --glass-bg: rgba(255,255,255,0.12);
  --glass-border: rgba(255,255,255,0.18);
  --glass-blur: 20px;
  --glass-dark-bg: rgba(26,26,46,0.55);
  --glass-dark-border: rgba(255,255,255,0.08);
  --transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Plus Jakarta Sans',sans-serif;color:var(--dark);background:var(--white);overflow-x:hidden;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* ===== GLASS UTILITY ===== */
.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1px solid var(--glass-border);
}
.glass-dark{
  background:var(--glass-dark-bg);
  backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border:1px solid var(--glass-dark-border);
}

/* ===== LAYOUT ===== */
.container{max-width:1140px;margin:0 auto;padding:0 20px}
.section{padding:60px 0}
.section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.75rem;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--red);margin-bottom:10px;
}
.section-label::before{content:'';width:24px;height:2px;background:var(--red)}
.section-title{font-size:1.6rem;font-weight:800;line-height:1.15;margin-bottom:14px}
.section-subtitle{font-size:0.95rem;color:var(--gray-700);max-width:520px;line-height:1.7}

/* ===== NAVBAR ===== */
.navbar{
  position:fixed;top:0;left:0;width:100%;z-index:100;
  padding:12px 0;
  background:rgba(255,255,255,0.7);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(0,0,0,0.05);
  transition:var(--transition);
}
.navbar.scrolled{padding:8px 0;box-shadow:0 4px 24px rgba(0,0,0,0.08)}
.navbar .container{display:flex;align-items:center;justify-content:space-between}
.navbar-logo img{height:36px}
.navbar-links{display:none;gap:28px}
.navbar-links a{font-size:0.85rem;font-weight:600;color:var(--gray-700);transition:var(--transition);position:relative}
.navbar-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--red);transition:var(--transition)}
.navbar-links a:hover{color:var(--red)}
.navbar-links a:hover::after{width:100%}
.navbar-cta{
  background:var(--red);color:var(--white);
  padding:10px 20px;border-radius:50px;
  font-size:0.8rem;font-weight:700;transition:var(--transition);
}
.navbar-cta:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(200,16,46,0.3)}
.hamburger{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:var(--dark);border-radius:2px;transition:var(--transition)}

/* ===== MASCOT (REALITO) - CLIPPY STYLE ===== */
.mascot {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 999;
  filter: drop-shadow(0 12px 36px rgba(0,0,0,0.18));
  user-select: none;
  -webkit-user-select: none;
}
.mascot-avatar {
  width: 110px;
  height: 110px;
  background: #ffffff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 3px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  animation: mascotBounce 3s ease-in-out infinite;
  box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.05);
}
.mascot-avatar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.35);
  pointer-events: none;
}
.mascot-bubble {
  position: absolute;
  bottom: 100%;
  right: 0;
  background: var(--white);
  border-radius: 16px 16px 4px 16px;
  padding: 10px 14px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.15);
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--dark);
  white-space: nowrap;
  opacity: 0;
  transform: translateY(8px) scale(0.9);
  transition: var(--transition);
  pointer-events: none;
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.mascot-bubble::after {
  content: '';
  position: absolute;
  bottom: -6px;
  right: 20px;
  width: 12px;
  height: 12px;
  background: var(--white);
  transform: rotate(45deg);
  border-right: 1px solid rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}
.mascot:hover .mascot-bubble,
.mascot.show-bubble .mascot-bubble {
  opacity: 1;
  transform: translateY(-10px) scale(1);
}

@keyframes mascotBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* ===== HERO ===== */
.hero{
  min-height:100vh;display:flex;align-items:center;
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark-surface) 50%,var(--dark) 100%);
  position:relative;overflow:hidden;padding:100px 0 60px;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 70% 40%,rgba(200,16,46,0.15) 0%,transparent 55%),
    radial-gradient(ellipse at 20% 80%,rgba(245,197,24,0.1) 0%,transparent 50%);
}
.hero .container{position:relative;z-index:2;display:flex;flex-direction:column;gap:32px}
.hero-content{color:var(--white)}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;border-radius:50px;
  font-size:0.75rem;font-weight:600;color:var(--yellow);
  margin-bottom:20px;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);
  backdrop-filter:blur(10px);
}
.hero-title{
  font-size:clamp(1.8rem,6vw,3.4rem);font-weight:800;
  line-height:1.08;margin-bottom:18px;
}
.hero-title .highlight{
  background:linear-gradient(135deg,var(--red),var(--red-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-description{
  font-size:1rem;color:rgba(255,255,255,0.65);
  max-width:440px;margin-bottom:28px;line-height:1.7;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--red);color:var(--white);
  padding:14px 28px;border-radius:50px;
  font-size:0.9rem;font-weight:700;
  transition:var(--transition);border:none;cursor:pointer;
}
.btn-primary:hover{background:var(--red-dark);transform:translateY(-3px);box-shadow:0 12px 28px rgba(200,16,46,0.35)}
.btn-primary svg{width:18px;height:18px}
.btn-outline{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--white);
  padding:14px 28px;border-radius:50px;
  font-size:0.9rem;font-weight:700;
  border:2px solid rgba(255,255,255,0.18);
  transition:var(--transition);cursor:pointer;
}
.btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.06);transform:translateY(-3px)}

.hero-visual{position:relative}
.hero-image-wrapper{
  border-radius:var(--radius);overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,0.4);
}
.hero-image-wrapper img{width:100%;aspect-ratio:16/10;object-fit:cover}

.hero-glass-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-top:24px;
}
.hero-stat-card{
  background:rgba(255,255,255,0.07);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--radius-sm);
  padding:16px 12px;text-align:center;
  transition:var(--transition);
}
.hero-stat-card:hover{background:rgba(255,255,255,0.12);transform:translateY(-4px)}
.hero-stat-number{
  font-size:1.4rem;font-weight:800;
  background:linear-gradient(135deg,var(--yellow),var(--yellow-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-stat-label{font-size:0.7rem;color:rgba(255,255,255,0.5);margin-top:2px}

/* ===== MARQUEE STRIP ===== */
.marquee-strip{
  background:linear-gradient(90deg,var(--red),var(--red-dark));
  padding:14px 0;overflow:hidden;position:relative;
}
.marquee-track{
  display:flex;gap:48px;align-items:center;
  animation:marquee 20s linear infinite;
  white-space:nowrap;
}
.marquee-track span{
  color:var(--white);font-size:0.82rem;font-weight:600;
  display:flex;align-items:center;gap:8px;flex-shrink:0;
}
@keyframes marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* ===== ABOUT ===== */
.about{background:var(--white)}
.about .container{display:flex;flex-direction:column;gap:40px}
.about-image{position:relative;border-radius:var(--radius);overflow:hidden}
.about-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.about-image .glass-overlay{
  position:absolute;bottom:16px;left:16px;right:16px;
  background:rgba(255,255,255,0.8);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,0.5);
  border-radius:var(--radius-sm);padding:14px 16px;
}
.about-image .glass-overlay p{font-size:0.8rem;font-weight:600;color:var(--dark)}
.about-features{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.about-feature{
  display:flex;gap:14px;padding:16px;
  background:rgba(200,16,46,0.04);
  border:1px solid rgba(200,16,46,0.08);
  border-radius:var(--radius-sm);transition:var(--transition);
}
.about-feature:hover{background:rgba(200,16,46,0.08);transform:translateX(4px)}
.about-feature-icon{
  width:42px;height:42px;min-width:42px;
  background:linear-gradient(135deg,var(--red),var(--red-light));
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  color:var(--white);font-size:1.1rem;
}
.about-feature h4{font-size:0.88rem;font-weight:700;margin-bottom:2px}
.about-feature p{font-size:0.8rem;color:var(--gray-700);line-height:1.5}

/* ===== MISSION ===== */
.mission{
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark-surface) 100%);
  position:relative;overflow:hidden;
}
.mission::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 80% 50%,rgba(200,16,46,0.1),transparent 50%);
}
.mission .container{position:relative;z-index:2;display:flex;flex-direction:column;gap:32px}
.mission-content{color:var(--white)}
.mission-content .section-label{color:var(--yellow)}
.mission-content .section-label::before{background:var(--yellow)}
.mission-content .section-title{color:var(--white)}
.mission-content .section-subtitle{color:rgba(255,255,255,0.6)}
.mission blockquote{
  font-size:1rem;font-style:italic;color:rgba(255,255,255,0.7);
  border-left:3px solid var(--red);padding-left:20px;
  margin-top:20px;line-height:1.8;
}
.mission-glass-card{
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--radius);padding:28px 24px;
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
.mission-value{text-align:center;padding:16px}
.mission-value-icon{font-size:2rem;margin-bottom:8px}
.mission-value h4{font-size:0.85rem;font-weight:700;color:var(--white);margin-bottom:4px}
.mission-value p{font-size:0.75rem;color:rgba(255,255,255,0.5)}

/* ===== PRODUCTS ===== */
.products{background:var(--gray-100)}
.products-header{text-align:center;max-width:540px;margin:0 auto 40px}
.products-header .section-subtitle{margin:0 auto}
.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.product-card{
  background:var(--white);
  border:1px solid var(--gray-200);
  border-radius:var(--radius);padding:28px 20px;
  text-align:center;transition:var(--transition);
  position:relative;overflow:hidden;
}
.product-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;background:linear-gradient(90deg,var(--red),var(--yellow));
  transform:scaleX(0);transition:var(--transition);transform-origin:left;
}
.product-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,0.1);border-color:transparent}
.product-card:hover::before{transform:scaleX(1)}
.product-icon{
  width:56px;height:56px;margin:0 auto 16px;
  background:linear-gradient(135deg,rgba(200,16,46,0.08),rgba(200,16,46,0.02));
  border-radius:16px;display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
}
.product-card h3{font-size:0.95rem;font-weight:700;margin-bottom:8px}
.product-card p{font-size:0.78rem;color:var(--gray-700);line-height:1.6}

/* ===== GALLERY & PROMO INFINITE CAROUSEL ===== */
.gallery{background:var(--white);overflow:hidden}
.gallery-header{text-align:center;margin-bottom:36px}
.gallery-header .section-subtitle{margin:0 auto}

.promo-carousel-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 20px 0;
  background: var(--gray-100);
}
.promo-carousel-track {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: promoScroll 30s linear infinite;
}
.promo-carousel-wrapper:hover .promo-carousel-track {
  animation-play-state: paused;
}
.promo-slide {
  width: 280px;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--gray-200);
  background: var(--white);
  transition: var(--transition);
}
.promo-slide:hover {
  transform: scale(1.03);
  box-shadow: 0 12px 28px rgba(0,0,0,0.1);
}
.promo-slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

@keyframes promoScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-280px * 6 - 20px * 6)); }
}

@media(min-width:768px){
  .promo-slide {
    width: 320px;
  }
  @keyframes promoScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-320px * 6 - 20px * 6)); }
  }
}

/* ===== APP DOWNLOAD SECTION ===== */
.app-download {
  background: var(--white);
}
.app-glass-card {
  background: linear-gradient(135deg, rgba(200, 16, 46, 0.04) 0%, rgba(245, 197, 24, 0.04) 100%);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: var(--radius);
  padding: 40px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
  max-width: 800px;
  margin: 0 auto;
}
.app-content {
  position: relative;
  z-index: 2;
}
.app-buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 24px;
  justify-content: center;
  align-items: center;
}
.app-btn {
  display: inline-flex;
  height: 48px;
  transition: var(--transition);
  align-items: center;
}
.app-btn img {
  height: 100%;
  width: auto;
}
.app-btn:hover:not(.disabled) {
  transform: translateY(-3px);
  filter: brightness(1.05);
}
.app-btn.disabled {
  opacity: 0.55;
  cursor: not-allowed;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.badge-coming-soon {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--white);
  background: var(--red);
  padding: 4px 10px;
  border-radius: 50px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@media(min-width:768px){
  .app-glass-card {
    padding: 60px 48px;
  }
  .app-buttons {
    flex-direction: row;
  }
}

/* ===== CTA ===== */
.cta{
  background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);
  padding:60px 0;text-align:center;position:relative;overflow:hidden;
}
.cta::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 80%,rgba(245,197,24,0.15),transparent 50%),
    radial-gradient(circle at 80% 20%,rgba(255,255,255,0.05),transparent 50%);
}
.cta .container{position:relative;z-index:2}
.cta-glass{
  background:rgba(255,255,255,0.1);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:24px;padding:40px 24px;
  max-width:560px;margin:0 auto;
}
.cta-title{font-size:clamp(1.5rem,4vw,2.4rem);font-weight:800;color:var(--white);margin-bottom:12px}
.cta-subtitle{font-size:0.95rem;color:rgba(255,255,255,0.8);margin-bottom:28px}
.btn-whatsapp{
  display:inline-flex;align-items:center;gap:10px;
  background:#25D366;color:var(--white);
  padding:16px 32px;border-radius:50px;
  font-size:1rem;font-weight:700;
  transition:var(--transition);border:none;cursor:pointer;
}
.btn-whatsapp:hover{background:#1EBE57;transform:translateY(-4px);box-shadow:0 12px 28px rgba(37,211,102,0.35)}
.btn-whatsapp svg{width:20px;height:20px}
.cta-info{margin-top:18px;color:rgba(255,255,255,0.6);font-size:0.82rem}

/* ===== FOOTER ===== */
.footer{background:var(--dark);color:rgba(255,255,255,0.55);padding:48px 0 0}
.footer-grid{display:flex;flex-direction:column;gap:32px;margin-bottom:32px}
.footer-brand img{height:36px;margin-bottom:12px;filter:brightness(0) invert(1)}
.footer-brand p{font-size:0.82rem;line-height:1.7;max-width:300px}
.footer-col h4{color:var(--white);font-size:0.82rem;font-weight:700;margin-bottom:14px;text-transform:uppercase;letter-spacing:1px}
.footer-col li{margin-bottom:8px}
.footer-col a{font-size:0.8rem;transition:var(--transition)}
.footer-col a:hover{color:var(--white)}
.footer-social{display:flex;gap:10px;margin-top:16px}
.footer-social a{
  width:38px;height:38px;border-radius:10px;
  background:rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:center;
  transition:var(--transition);color:rgba(255,255,255,0.55);
}
.footer-social a:hover{background:var(--red);color:var(--white)}
.footer-social a svg{width:16px;height:16px;fill:currentColor}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.06);
  padding:20px 0;text-align:center;
}
.footer-bottom p{font-size:0.72rem}
.footer-bottom a{color:var(--yellow)}
.footer-bottom a:hover{text-decoration:underline}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.6s ease,transform 0.6s ease}
.reveal.active{opacity:1;transform:translateY(0)}

/* ===== TABLET ===== */
@media(min-width:768px){
  .section{padding:80px 0}
  .section-title{font-size:2.2rem}
  .navbar-links{display:flex}
  .hamburger{display:none}
  .hero .container{flex-direction:row;align-items:center;gap:48px}
  .hero-content,.hero-visual{flex:1}
  .hero-glass-stats{grid-template-columns:repeat(3,1fr);gap:14px}
  .about .container{flex-direction:row;align-items:center;gap:60px}
  .about-image,.about-text{flex:1}
  .mission .container{flex-direction:row;align-items:center;gap:60px}
  .mission-content,.mission-glass-card-wrap{flex:1}
  .products-grid{grid-template-columns:repeat(3,1fr);gap:20px}
  .gallery-item{min-width:320px}
  .gallery-item img{height:260px}
  .footer-grid{flex-direction:row;gap:48px}
  .footer-brand{flex:2}
  .footer-col{flex:1}
  .mascot img{width:100px}
}

/* ===== DESKTOP ===== */
@media(min-width:1024px){
  .section{padding:100px 0}
  .section-title{font-size:2.6rem}
  .container{padding:0 32px}
  .hero{padding:0}
  .hero-title{font-size:3.2rem}
  .hero-stat-number{font-size:1.8rem}
  .products-grid{gap:28px}
  .product-card{padding:36px 28px}
  .gallery-item{min-width:360px}
  .gallery-item img{height:300px}
  .cta-glass{padding:56px 48px}
  .mascot img{width:110px}
  .mascot{bottom:30px;right:30px}
}
