/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Inter',sans-serif;line-height:1.2;font-weight:700}
a{text-decoration:none;color:inherit}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font-family:inherit;font-size:inherit}

/* ===== CSS VARIABLES (Ecuador palette) ===== */
:root{
  --primary:#1a3a5c;
  --primary-light:#234b73;
  --primary-dark:#122942;
  --accent:#e84c3d;
  --accent-light:#ec6b5e;
  --accent-gradient:linear-gradient(135deg,#e84c3d 0%,#ec6b5e 50%,#e84c3d 100%);
  --success:#27ae60;
  --bg:#f9fafb;
  --bg2:#f1f4f7;
  --card:#fff;
  --text:#1a2a3a;
  --muted:#5a6a7a;
  --white:#fff;
  --border:#e2e8f0;
  --shadow:0 10px 40px rgba(26,58,92,.12);
  --shadow-sm:0 4px 12px rgba(26,58,92,.08);
  --radius:16px;
  --radius-lg:24px;
  --radius-full:999px;
  --trans:all .3s cubic-bezier(.4,0,.2,1);
  --max-width:1200px;
  --header-h:72px;
}

/* ===== UTILITIES ===== */
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section--gray{background:var(--bg2)}
.section--navy{background:var(--primary);color:var(--white)}
.eyebrow{display:inline-block;font-size:.8125rem;font-weight:600;color:var(--accent);background:rgba(232,76,61,.08);padding:6px 16px;border-radius:var(--radius-full);letter-spacing:.02em;margin-bottom:16px}
.eyebrow--light{background:rgba(255,255,255,.1);color:var(--accent-light)}
.section-header{text-align:center;max-width:640px;margin:0 auto 48px}
.section-header h2{font-size:2rem;margin-bottom:12px;font-weight:800;letter-spacing:-.02em}
.section-header p{color:var(--muted);font-size:1.0625rem}
.section--navy .section-header p{color:rgba(255,255,255,.7)}

/* ===== ANIMATIONS ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.anim{animation:fadeUp .7s ease forwards}
.d1{animation-delay:0s;opacity:0}
.d2{animation-delay:.1s;opacity:0}
.d3{animation-delay:.2s;opacity:0}
.d4{animation-delay:.3s;opacity:0}
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;border:none;cursor:pointer;transition:var(--trans);font-size:.9375rem;border-radius:var(--radius-full)}
.btn--primary{background:var(--accent);color:#fff;padding:14px 28px;box-shadow:0 4px 16px rgba(232,76,61,.3)}
.btn--primary:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:0 6px 24px rgba(232,76,61,.4)}
.btn--outline{background:transparent;color:var(--text);padding:14px 28px;border:1.5px solid var(--border)}
.btn--outline:hover{border-color:var(--primary);color:var(--primary);background:rgba(26,58,92,.03)}
.btn--sm{padding:10px 20px;font-size:.875rem}
.btn--white{background:#fff;color:var(--accent);padding:14px 28px;font-weight:700;border:2px solid #fff}
.btn--white:hover{background:transparent;color:#fff}

/* ===== HEADER ===== */
.header{position:fixed;top:0;left:0;width:100%;z-index:100;transition:var(--trans);padding:0 24px;height:var(--header-h);display:flex;align-items:center}
.header--scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}
.header__inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max-width);margin:0 auto}
.header__logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.125rem;color:var(--primary)}
.header__logo svg{width:32px;height:32px}
.header__logo .logo-sub{font-weight:800;font-size:1.25rem;text-transform:uppercase;letter-spacing:-.01em}
.header__logo .logo-main{font-size:.75rem;font-weight:500;color:var(--muted);display:block;line-height:1;margin-top:-2px}
.header__nav{display:flex;align-items:center;gap:32px}
.header__nav a{font-size:.875rem;font-weight:500;color:var(--muted);transition:color .2s}
.header__nav a:hover{color:var(--primary)}
.header__cta{margin-left:16px}
.header__mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.header__mobile-toggle span{display:block;width:22px;height:2px;background:var(--text);margin:5px 0;transition:all .3s}

/* ===== HERO ===== */
.hero{padding-top:calc(var(--header-h) + 48px);padding-bottom:64px;background:var(--bg);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero__content{max-width:560px}
.hero h1{font-size:clamp(2.25rem,4.5vw,3.25rem);font-weight:800;line-height:1.15;color:var(--primary-dark);margin-bottom:1.25rem;letter-spacing:-.02em}
.hero h1 .highlight{color:var(--accent);font-style:italic}
.hero__subtitle{font-size:1.0625rem;color:var(--muted);margin-bottom:32px;line-height:1.7}
.hero__subtitle a{color:var(--accent);font-weight:600;text-decoration:underline}
.hero__ctas{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.hero__badges{display:flex;gap:20px;flex-wrap:wrap}
.hero__badges span{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--muted)}
.hero__badges svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}
.hero__media{position:relative;display:flex;justify-content:center}
.hero__media img,.hero__media video{border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;max-width:520px}
.hero__video-wrapper{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}

/* ===== MARQUEE ===== */
.marquee{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 50%,var(--accent) 100%);padding:16px 0;overflow:hidden;white-space:nowrap}
.marquee__track{display:inline-flex;animation:marquee 30s linear infinite}
.marquee__item{display:inline-flex;align-items:center;gap:8px;padding:0 32px;font-size:.875rem;font-weight:500;color:rgba(255,255,255,.9)}
.marquee__item svg{width:20px;height:20px;color:rgba(255,255,255,.7);flex-shrink:0}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== PRICING ===== */
.pricing__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.pricing-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:32px 28px;position:relative;transition:var(--trans)}
.pricing-card:hover{box-shadow:var(--shadow)}
.pricing-card--featured{border-color:var(--accent);box-shadow:var(--shadow);transform:scale(1.02)}
.pricing-card--featured:hover{transform:scale(1.03)}
.pricing-card__badge{position:absolute;top:-12px;right:20px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:600;padding:4px 14px;border-radius:var(--radius-full)}
.pricing-card__title{font-size:1.25rem;font-weight:700;margin-bottom:4px;color:var(--primary-dark)}
.pricing-card__subtitle{font-size:.875rem;color:var(--muted);margin-bottom:20px}
.pricing-card__price{margin-bottom:24px}
.pricing-card__price .amount{font-size:2rem;font-weight:800;color:var(--primary-dark)}
.pricing-card__price .old-price{font-size:.875rem;color:var(--muted);text-decoration:line-through;margin-left:8px}
.pricing-card__price .currency{font-size:.875rem;color:var(--muted);display:block;margin-top:2px}
.pricing-card__features{margin-bottom:28px}
.pricing-card__features li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--bg2)}
.pricing-card__features li:last-child{border-bottom:none}
.pricing-card__features li svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;margin-top:2px}
.pricing-card .btn{width:100%;text-align:center}

/* ===== BENEFITS (Navy dark bg with translucent cards) ===== */
.benefits-section{background:var(--primary);padding:80px 0;color:var(--white)}
.benefits-section .section-header h2{color:#fff}
.benefits-section .section-header p{color:rgba(255,255,255,.7)}
.benefits__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.benefit-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:32px 24px;text-align:left;transition:var(--trans)}
.benefit-card:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.benefit-card__icon{width:48px;height:48px;border-radius:12px;background:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.benefit-card__icon svg{width:24px;height:24px;color:#fff}
.benefit-card h3{font-size:1.0625rem;margin-bottom:10px;color:#fff;font-weight:700}
.benefit-card p{font-size:.875rem;color:rgba(255,255,255,.65);line-height:1.6}

/* ===== AUDIENCE (Navy continuation) ===== */
.audience-section{background:var(--primary-dark);padding:56px 0;text-align:center;color:#fff}
.audience-section h2{font-size:1.5rem;font-weight:700;margin-bottom:28px;color:#fff}
.audience__pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.audience__pill{padding:10px 24px;border-radius:var(--radius-full);border:1.5px solid rgba(255,255,255,.25);font-size:.875rem;font-weight:500;color:rgba(255,255,255,.85);cursor:default;transition:var(--trans)}
.audience__pill:hover{border-color:var(--accent);color:#fff;background:rgba(232,76,61,.15)}

/* ===== TESTIMONIALS ===== */
.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testimonial-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;transition:var(--trans)}
.testimonial-card:hover{box-shadow:var(--shadow-sm)}
.testimonial-card__header{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.testimonial-card__avatar{width:44px;height:44px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:var(--primary);overflow:hidden}
.testimonial-card__avatar img{width:100%;height:100%;object-fit:cover}
.testimonial-card__info h4{font-size:.875rem;font-weight:700;color:var(--text)}
.testimonial-card__info .role{font-size:.75rem;color:var(--muted)}
.testimonial-card__stars{display:flex;gap:2px;margin-bottom:12px}
.testimonial-card__stars svg{width:16px;height:16px;color:#F59E0B;fill:#F59E0B}
.testimonial-card p{font-size:.875rem;color:var(--muted);line-height:1.6}

/* ===== CTA BANNER ===== */
.cta-banner{background:var(--accent-gradient);padding:48px 56px;border-radius:var(--radius-lg);margin:0 24px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.cta-banner__text{text-align:left}
.cta-banner h2{color:#fff;font-size:1.75rem;font-weight:800;margin-bottom:6px}
.cta-banner p{color:rgba(255,255,255,.85);font-size:1rem;margin:0}

/* ===== FAQ ===== */
.faq__list{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item__question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 0;background:none;border:none;cursor:pointer;text-align:left;font-size:1rem;font-weight:600;color:var(--text);gap:16px}
.faq-item__question svg{width:20px;height:20px;flex-shrink:0;transition:transform .3s;color:var(--muted)}
.faq-item--open .faq-item__question svg{transform:rotate(180deg)}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item__answer-inner{padding:0 0 20px;font-size:.9375rem;color:var(--muted);line-height:1.7}
.faq-item__answer-inner ol{list-style:decimal;padding-left:20px;margin:12px 0}
.faq-item__answer-inner ol li{margin-bottom:6px}
.faq-item__answer-inner ul{list-style:disc;padding-left:20px;margin:12px 0}
.faq-item__answer-inner ul li{margin-bottom:6px}

/* ===== AGENDA ===== */
.agenda__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.agenda__video{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9;background:var(--bg2)}
.agenda__video img{width:100%;height:100%;object-fit:cover}
.agenda__video iframe{width:100%;height:100%;border:none}

/* ===== CONTACT ===== */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact__info h2{font-size:1.75rem;margin-bottom:12px;font-weight:800;color:var(--primary-dark)}
.contact__info>p{color:var(--muted);margin-bottom:28px}
.contact__channels{display:flex;flex-direction:column;gap:16px}
.contact__channel{display:flex;align-items:center;gap:12px}
.contact__channel-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact__channel-icon--wa{background:#25D366;color:#fff}
.contact__channel-icon--email{background:var(--bg2);color:var(--muted)}
.contact__channel-icon svg{width:20px;height:20px}
.contact__channel-label{font-size:.75rem;color:var(--muted)}
.contact__channel-value{font-size:.9375rem;font-weight:600;color:var(--text)}
.contact__form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow-sm)}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--text);margin-bottom:6px}
.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:10px;font-size:.9375rem;transition:border-color .2s;background:var(--card);color:var(--text)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}
.form-group textarea{resize:vertical;min-height:80px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-actions{display:flex;gap:12px;margin-top:8px}
.form-actions .btn{flex:1}
.form-legal{font-size:.75rem;color:var(--muted);margin-top:12px;text-align:center}
.form-legal a{color:var(--accent);text-decoration:underline}

/* ===== STEPS ===== */
.steps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:40px}
.step-card{text-align:center;padding:24px 16px}
.step-card__number{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;margin:0 auto 16px}
.step-card h3{font-size:1rem;margin-bottom:8px;color:var(--text);font-weight:700}
.step-card p{font-size:.875rem;color:var(--muted);line-height:1.6}

/* ===== FOOTER ===== */
.footer{background:var(--primary-dark);color:rgba(255,255,255,.6);padding:24px 0;font-size:.8125rem}
.footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer__links{display:flex;gap:24px}
.footer__links a{color:rgba(255,255,255,.6);transition:color .2s}
.footer__links a:hover{color:#fff}

/* ===== WHATSAPP FLOATING ===== */
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,.4);transition:transform .2s;cursor:pointer}
.whatsapp-float:hover{transform:scale(1.08)}
.whatsapp-float svg{width:32px;height:32px;color:#fff}
.whatsapp-float__tooltip{position:absolute;right:72px;background:var(--primary-dark);color:#fff;padding:8px 14px;border-radius:10px;font-size:.8125rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.whatsapp-float:hover .whatsapp-float__tooltip{opacity:1}

/* ===== MOBILE NAV ===== */
.mobile-nav{display:none;position:fixed;top:var(--header-h);left:0;width:100%;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);padding:24px;box-shadow:var(--shadow);flex-direction:column;gap:16px;z-index:99}
.mobile-nav.active{display:flex}
.mobile-nav a{font-size:1rem;font-weight:500;color:var(--text);padding:8px 0}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .hero__grid{grid-template-columns:1fr;text-align:center}
  .hero__content{max-width:100%;margin:0 auto}
  .hero__ctas{justify-content:center}
  .hero__badges{justify-content:center}
  .hero__media{margin-top:32px}
  .pricing__grid{grid-template-columns:1fr}
  .pricing-card--featured{transform:none}
  .pricing-card--featured:hover{transform:none}
  .benefits__grid{grid-template-columns:repeat(2,1fr)}
  .testimonials__grid{grid-template-columns:1fr}
  .agenda__grid{grid-template-columns:1fr}
  .contact__grid{grid-template-columns:1fr}
  .steps__grid{grid-template-columns:repeat(2,1fr)}
  .cta-banner{flex-direction:column;text-align:center;padding:40px 32px}
  .cta-banner__text{text-align:center}
}
@media(max-width:768px){
  .section{padding:56px 0}
  .section-header h2{font-size:1.625rem}
  .hero{padding-top:calc(var(--header-h) + 32px);padding-bottom:40px}
  .hero h1{font-size:2rem}
  .header__nav{display:none}
  .header__cta.desktop{display:none}
  .header__mobile-toggle{display:block}
  .benefits__grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .form-actions{flex-direction:column}
  .cta-banner{margin:0 16px;padding:32px 24px;border-radius:var(--radius)}
  .cta-banner h2{font-size:1.375rem}
  .footer__inner{flex-direction:column;text-align:center}
  .steps__grid{grid-template-columns:1fr}
  .audience__pills{gap:8px}
}
