Spanish

Learn Spanish with Purpose — Cámara Plus Ecuador *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { –magenta: #C2185B; –magenta-dark: #880E4F; –magenta-light: #F8BBD9; –magenta-pale: #FDF0F6; –gold: #D4A843; –gold-light: #FFF8E7; –dark: #1A1018; –dark-2: #2D1F28; –mid: #6B4F5E; –light: #F7F2F5; –white: #FFFFFF; –border: rgba(194, 24, 91, 0.12); –serif: ‘Playfair Display’, Georgia, serif; –sans: ‘DM Sans’, system-ui, sans-serif; –radius: 16px; –radius-sm: 8px; –shadow: 0 4px 32px rgba(194, 24, 91, 0.10); –shadow-lg: 0 16px 64px rgba(26, 16, 24, 0.14); } html { scroll-behavior: smooth; } body { font-family: var(–sans); background: var(–white); color: var(–dark); line-height: 1.6; -webkit-font-smoothing: antialiased; } /* ── NAV ── */ nav { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.95); backdrop-filter: blur(12px); border-bottom: 1px solid var(–border); padding: 14px 32px; display: flex; align-items: center; justify-content: space-between; } .nav-brand { font-family: var(–serif); font-size: 17px; font-weight: 700; color: var(–magenta); text-decoration: none; letter-spacing: -0.02em; } .nav-cta { background: var(–magenta); color: var(–white); border: none; padding: 9px 22px; border-radius: 100px; font-family: var(–sans); font-size: 14px; font-weight: 600; cursor: pointer; text-decoration: none; transition: background 0.2s, transform 0.15s; letter-spacing: 0.01em; } .nav-cta:hover { background: var(–magenta-dark); transform: translateY(-1px); } /* ── HERO ── */ .hero { background: linear-gradient(135deg, #1A1018 0%, #2D1224 40%, #4A1040 100%); color: var(–white); padding: 100px 32px 80px; position: relative; overflow: hidden; text-align: center; } .hero::before { content: »; position: absolute; inset: 0; background: url(«data:image/svg+xml,%3Csvg width=’60’ height=’60’ viewBox=’0 0 60 60′ xmlns=’http://www.w3.org/2000/svg’%3E%3Cg fill=’none’ fill-rule=’evenodd’%3E%3Cg fill=’%23C2185B’ fill-opacity=’0.06’%3E%3Ccircle cx=’30’ cy=’30’ r=’2’/%3E%3C/g%3E%3C/g%3E%3C/svg%3E»); pointer-events: none; } .hero-eyebrow { display: inline-block; background: rgba(194, 24, 91, 0.25); border: 1px solid rgba(194, 24, 91, 0.4); color: var(–magenta-light); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; padding: 6px 18px; border-radius: 100px; margin-bottom: 28px; } .hero h1 { font-family: var(–serif); font-size: clamp(42px, 6vw, 76px); font-weight: 900; line-height: 1.05; letter-spacing: -0.03em; margin-bottom: 10px; max-width: 760px; margin-left: auto; margin-right: auto; } .hero h1 em { font-style: italic; color: var(–magenta-light); } .hero-sub { font-size: clamp(17px, 2.2vw, 20px); color: rgba(255,255,255,0.72); max-width: 560px; margin: 18px auto 40px; font-weight: 300; line-height: 1.6; } .hero-price-badge { display: inline-flex; align-items: center; gap: 10px; background: rgba(212, 168, 67, 0.15); border: 1px solid rgba(212, 168, 67, 0.4); border-radius: 100px; padding: 10px 24px; margin-bottom: 36px; color: #F5D78E; font-size: 15px; font-weight: 600; } .hero-price-badge .price { font-family: var(–serif); font-size: 22px; font-weight: 700; color: #F5D78E; } .hero-cta-group { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; } .btn-primary { background: var(–magenta); color: var(–white); border: none; padding: 16px 36px; border-radius: 100px; font-size: 16px; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: background 0.2s, transform 0.15s, box-shadow 0.2s; box-shadow: 0 4px 24px rgba(194, 24, 91, 0.4); } .btn-primary:hover { background: var(–magenta-dark); transform: translateY(-2px); box-shadow: 0 8px 32px rgba(194, 24, 91, 0.5); } .btn-ghost { background: transparent; color: rgba(255,255,255,0.8); border: 1px solid rgba(255,255,255,0.25); padding: 16px 28px; border-radius: 100px; font-size: 15px; font-weight: 500; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: border-color 0.2s, color 0.2s; } .btn-ghost:hover { border-color: rgba(255,255,255,0.6); color: var(–white); } .hero-trust { margin-top: 48px; display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; color: rgba(255,255,255,0.45); font-size: 13px; } .hero-trust-item { display: flex; align-items: center; gap: 7px; } .hero-trust-item svg { width: 16px; height: 16px; opacity: 0.7; flex-shrink: 0; } /* ── SECTION BASE ── */ section { padding: 88px 32px; } .container { max-width: 1040px; margin: 0 auto; } .section-label { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(–magenta); margin-bottom: 14px; } .section-title { font-family: var(–serif); font-size: clamp(30px, 4vw, 46px); font-weight: 700; line-height: 1.15; letter-spacing: -0.025em; color: var(–dark); margin-bottom: 18px; } .section-body { font-size: 17px; color: var(–mid); line-height: 1.75; max-width: 600px; } /* ── FOR WHOM ── */ .for-whom { background: var(–magenta-pale); } .fw-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-top: 48px; } .fw-card { background: var(–white); border: 1px solid var(–border); border-radius: var(–radius); padding: 28px 24px; transition: box-shadow 0.2s, transform 0.2s; } .fw-card:hover { box-shadow: var(–shadow); transform: translateY(-3px); } .fw-icon { width: 48px; height: 48px; background: var(–magenta-pale); border-radius: var(–radius-sm); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; font-size: 22px; } .fw-card h3 { font-family: var(–serif); font-size: 18px; font-weight: 700; color: var(–dark); margin-bottom: 8px; } .fw-card p { font-size: 14px; color: var(–mid); line-height: 1.65; } /* ── HOW IT WORKS ── */ .hiw { background: var(–white); } .hiw-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0; margin-top: 56px; position: relative; } .hiw-steps::before { content: »; position: absolute; top: 32px; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, transparent, var(–magenta-light) 20%, var(–magenta-light) 80%, transparent); } .hiw-step { text-align: center; padding: 0 20px; position: relative; z-index: 1; } .hiw-number { width: 64px; height: 64px; background: var(–white); border: 2px solid var(–magenta-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; font-family: var(–serif); font-size: 22px; font-weight: 900; color: var(–magenta); } .hiw-step h3 { font-family: var(–serif); font-size: 17px; font-weight: 700; color: var(–dark); margin-bottom: 8px; } .hiw-step p { font-size: 14px; color: var(–mid); } /* ── INSTRUCTOR ── */ .instructor { background: var(–dark); color: var(–white); } .instructor-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; } @media (max-width: 700px) { .instructor-inner { grid-template-columns: 1fr; gap: 36px; } } .instructor-visual { position: relative; border-radius: var(–radius); overflow: hidden; aspect-ratio: 4/5; background: linear-gradient(135deg, #2D1224 0%, #4A1040 100%); display: flex; align-items: center; justify-content: center; border: 1px solid rgba(194,24,91,0.2); } .instructor-avatar { width: 120px; height: 120px; background: rgba(194,24,91,0.2); border: 2px solid rgba(194,24,91,0.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(–serif); font-size: 42px; font-weight: 900; color: var(–magenta-light); } .instructor-deco { position: absolute; bottom: 24px; left: 24px; right: 24px; background: rgba(255,255,255,0.06); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,0.12); border-radius: var(–radius-sm); padding: 16px 20px; } .instructor-deco p { font-size: 13px; color: rgba(255,255,255,0.7); margin-bottom: 4px; } .instructor-deco strong { font-size: 15px; color: var(–white); } .instructor-content .section-label { color: var(–magenta-light); } .instructor-content .section-title { color: var(–white); } .instructor-content .section-body { color: rgba(255,255,255,0.65); } .instructor-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; } .tag { background: rgba(194,24,91,0.15); border: 1px solid rgba(194,24,91,0.3); color: var(–magenta-light); font-size: 12px; font-weight: 600; padding: 5px 14px; border-radius: 100px; letter-spacing: 0.02em; } /* ── MODULES / CERTIFICATES ── */ .modules { background: var(–light); } .modules-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 48px; } .module-card { background: var(–white); border: 1px solid var(–border); border-radius: var(–radius); padding: 32px 28px; position: relative; overflow: hidden; transition: box-shadow 0.2s, transform 0.2s; } .module-card:hover { box-shadow: var(–shadow); transform: translateY(-3px); } .module-card::after { content: »; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(–magenta); } .module-level { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(–magenta); margin-bottom: 8px; } .module-card h3 { font-family: var(–serif); font-size: 22px; font-weight: 700; color: var(–dark); margin-bottom: 12px; } .module-card p { font-size: 14px; color: var(–mid); margin-bottom: 20px; } .module-topics { list-style: none; } .module-topics li { font-size: 13px; color: var(–mid); padding: 5px 0; padding-left: 18px; position: relative; } .module-topics li::before { content: ‘→’; position: absolute; left: 0; color: var(–magenta); font-weight: 700; } .module-cert { margin-top: 24px; display: flex; align-items: center; gap: 10px; background: var(–gold-light); border: 1px solid rgba(212,168,67,0.3); border-radius: var(–radius-sm); padding: 10px 14px; font-size: 13px; font-weight: 600; color: #7A5200; } /* ── PRICING ── */ .pricing { background: var(–white); text-align: center; } .price-card { max-width: 440px; margin: 48px auto 0; background: var(–dark); border: 1px solid rgba(194,24,91,0.3); border-radius: 24px; padding: 48px 40px; color: var(–white); box-shadow: var(–shadow-lg); position: relative; overflow: hidden; } .price-card::before { content: »; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(–magenta), var(–gold)); } .price-main { font-family: var(–serif); font-size: 72px; font-weight: 900; color: var(–white); line-height: 1; margin: 16px 0 6px; } .price-main sup { font-size: 28px; vertical-align: top; margin-top: 14px; display: inline-block; } .price-main span { font-size: 24px; font-weight: 400; opacity: 0.5; } .price-label { font-size: 14px; color: rgba(255,255,255,0.5); margin-bottom: 32px; } .price-includes { list-style: none; text-align: left; margin-bottom: 36px; } .price-includes li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 15px; color: rgba(255,255,255,0.8); display: flex; align-items: center; gap: 12px; } .price-includes li:last-child { border-bottom: none; } .pi-check { width: 20px; height: 20px; flex-shrink: 0; background: rgba(194,24,91,0.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; } .pi-check svg { width: 11px; height: 11px; } .price-note { font-size: 12px; color: rgba(255,255,255,0.3); margin-top: 16px; } /* ── PAYMENT ── */ .payment { background: var(–magenta-pale); } .payment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 48px; } @media (max-width: 680px) { .payment-grid { grid-template-columns: 1fr; } } .pay-card { background: var(–white); border: 1px solid var(–border); border-radius: var(–radius); padding: 32px 28px; } .pay-card-header { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; } .pay-card-icon { width: 48px; height: 48px; border-radius: var(–radius-sm); display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; } .pay-card-icon.bank { background: #E8F4FD; } .pay-card-icon.xoom { background: #E8F5E9; } .pay-card h3 { font-family: var(–serif); font-size: 20px; font-weight: 700; color: var(–dark); margin-bottom: 2px; } .pay-card .sub { font-size: 13px; color: var(–mid); } .pay-row { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid var(–border); font-size: 14px; } .pay-row:last-of-type { border-bottom: none; } .pay-row .key { color: var(–mid); font-weight: 500; } .pay-row .val { color: var(–dark); font-weight: 600; font-family: monospace; font-size: 13px; } .pay-note { margin-top: 20px; background: var(–gold-light); border: 1px solid rgba(212,168,67,0.25); border-radius: var(–radius-sm); padding: 12px 16px; font-size: 13px; color: #7A5200; line-height: 1.55; } /* ── FORM / CTA ── */ .form-section { background: linear-gradient(135deg, #1A1018 0%, #2D1224 40%, #3D0E30 100%); color: var(–white); text-align: center; padding: 96px 32px; } .form-section .section-label { color: var(–magenta-light); } .form-section .section-title { color: var(–white); margin: 0 auto 14px; max-width: 640px; } .form-section .section-body { color: rgba(255,255,255,0.6); margin: 0 auto 40px; } .form-frame-wrapper { max-width: 760px; margin: 0 auto; background: rgba(255,255,255,0.04); border: 1px solid rgba(194,24,91,0.25); border-radius: 20px; overflow: hidden; } .form-frame-inner { padding: 8px; } .form-frame-inner iframe { width: 100%; height: 700px; border: none; border-radius: 14px; background: var(–white); display: block; } .form-fallback { margin-top: 28px; font-size: 14px; color: rgba(255,255,255,0.4); } .form-fallback a { color: var(–magenta-light); } /* ── FAQ ── */ .faq { background: var(–white); } .faq-list { max-width: 680px; margin: 48px auto 0; } .faq-item { border-bottom: 1px solid var(–border); padding: 20px 0; } .faq-q { font-family: var(–serif); font-size: 18px; font-weight: 700; color: var(–dark); cursor: pointer; display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; user-select: none; } .faq-q:hover { color: var(–magenta); } .faq-q .faq-arrow { color: var(–magenta); font-size: 20px; flex-shrink: 0; margin-top: 2px; transition: transform 0.3s; } .faq-a { font-size: 15px; color: var(–mid); line-height: 1.75; max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.2s; } .faq-item.open .faq-a { max-height: 300px; padding-top: 12px; } .faq-item.open .faq-arrow { transform: rotate(45deg); } /* ── FOOTER ── */ footer { background: var(–dark-2); color: rgba(255,255,255,0.4); text-align: center; padding: 40px 32px; font-size: 13px; line-height: 1.8; } footer a { color: rgba(255,255,255,0.55); text-decoration: none; } footer a:hover { color: var(–magenta-light); } .footer-brand { font-family: var(–serif); font-size: 20px; font-weight: 700; color: var(–magenta-light); display: block; margin-bottom: 10px; } /* ── RESPONSIVE ── */ @media (max-width: 600px) { nav { padding: 12px 20px; } section { padding: 64px 20px; } .hero { padding: 80px 20px 64px; } .hiw-steps::before { display: none; } .hiw-steps { gap: 32px; } .price-card { padding: 36px 24px; } .price-main { font-size: 58px; } } Cámara Plus Ecuador Reserve Your Spot →
🇪🇨 Learn Real Spanish · Ecuador

Speak Spanish
with confidence

Private 1-on-1 lessons with a certified Ecuadorian instructor — designed specifically for English-speaking expats, students, and professionals.

Private lessons from $20 / hour
Certified instructor
Flexible schedule
Zoom / Google Meet
Official certificate per level

Built for people just like you

Whether you just landed in Quito or have lived in Ecuador for years — this program meets you exactly where you are.

✈️

New Expats

Just arrived in Ecuador and need functional Spanish fast — for daily life, errands, neighbors, and local culture.

💼

Remote Professionals

Working remotely from Ecuador and want to communicate better with local colleagues, vendors, and communities.

🎓

University Students

Enrolled in exchange programs or studying abroad, looking for structured lessons that complement your academics.

🌎

International Travelers

Planning a longer stay in South America and want to move beyond tourist-level Spanish into real conversation.

From sign-up to first class in 48 hours

1

Register

Fill out the short form below — takes under 2 minutes. Tell us your level and schedule preferences.

2

Pay & Confirm

Transfer $20/hour via Xoom or bank transfer. Upload your receipt — we confirm your spot within 48 hours.

3

Meet Juan

Your instructor connects with you directly via WhatsApp to schedule your first live session.

4

Get Certified

Complete each module and receive an official certificate issued by Cámara Plus Ecuador.

JP

Juan Ponce

Specialized in

Spanish for Non-Native Speakers

Meet Juan Ponce

Juan is a certified Spanish educator with a specialized technique for teaching the language to non-native speakers — particularly English-speaking students. He has experience teaching students from universities across the USA and Europe, including remote learners on institutional platforms.

His approach is practical, conversational, and culturally grounded in Ecuadorian Spanish — so what you learn here actually works in real life.

Native Ecuadorian Spanish ESL Teaching Technique University-level experience Zoom & Google Meet All levels welcome

Three levels. Three official certificates.

Each module builds on the last. Complete a level and receive a certificate of achievement signed by the Executive Director of Cámara Plus Ecuador — a recognized inclusive commerce institution.

Level A1 · Foundations

Starting from Zero

You’ll build a real working vocabulary for everyday life in Ecuador — fast.

  • Greetings & introductions
  • Numbers, time & dates
  • Directions & transportation
  • Food, shopping & prices
  • Basic conversation survival kit
🏅 Certificate of A1 Completion — Cámara Plus Ecuador
Level A2 · Daily Life

Living & Working in Ecuador

Move beyond survival Spanish into the conversations that actually matter day-to-day.

  • Routines & household
  • Work & professional settings
  • Health & emergencies
  • Social interactions & opinions
  • Ecuadorian slang & culture
🏅 Certificate of A2 Completion — Cámara Plus Ecuador
Level B1 · Fluency

Confident Conversations

Hold real conversations on complex topics — at work, socially, and in the community.

  • Opinion & debate language
  • Media, news & current events
  • Business & negotiation basics
  • Storytelling & narrative
  • Regional accents & variations
🏅 Certificate of B1 Completion — Cámara Plus Ecuador

No subscriptions. No surprises.

Pay per hour, on your schedule. No lock-in contracts, no hidden fees. Just great lessons at a fair price.

Private 1-on-1 Lesson

$20/hr

USD · Virtual or in-person in Ecuador

  • 1-on-1 live session with Juan Ponce
  • Personalized curriculum for your goals
  • Zoom, Google Meet, or your university’s platform
  • Flexible scheduling — you choose days and times
  • Official certificate at end of each level
  • Program supported by Cámara Plus Ecuador
Reserve your first lesson →

Pay securely via Xoom or bank transfer. Receipt required to confirm your spot.

Easy to pay — from anywhere

We accept bank transfers from Ecuador and international transfers via Xoom — fast, secure, and no receiver fees.

🏦

Bank Transfer

Banco Internacional · Ecuador
BankBanco Internacional
Account holderCámara de Comercio LGBT del Ecuador
Account typeCorriente (Checking)
Account #0800642534
RUC0993226580001
Send receipt toinfo@camaralgbt.org
💸

Pay via Xoom

Recommended for USA-based students

Xoom (a PayPal service) lets you send money directly to an Ecuadorian bank account from the USA in minutes — no bank account required.

  1. Go to xoom.com or the Xoom app
  2. Select Bank Deposit → Ecuador
  3. Enter the Banco Internacional account details above
  4. Send $20 per hour you’d like to book
✅ After paying, upload your receipt directly in the registration form below — or WhatsApp us at +593 982 001 871

Reserve your spot now

Takes under 2 minutes. Tell us about your schedule, your goals, and upload your payment receipt to confirm your first class.

Having trouble with the form? Open it in a new tab →

Frequently asked questions

Do I need any prior Spanish knowledge? +
Absolutely not. Juan teaches from complete beginner level (A1) and will tailor every lesson to where you are right now. Many students start with zero Spanish and progress quickly with 1-on-1 attention.
How do virtual classes work? +
Classes are held via Zoom or Google Meet — whichever you prefer. If your university has its own video platform, Juan can adapt to that too. You’ll receive a meeting link from Juan directly via WhatsApp after confirming your payment.
What does the certificate look like and is it official? +
Each certificate is issued and signed by Cámara Plus Ecuador — the first and only LGBTQ+ and inclusive commerce chamber in Ecuador, recognized nationally. It specifies the level completed (A1, A2, or B1) and the hours of instruction. It’s a meaningful credential for your professional profile or academic portfolio.
Can I pay in installments or book multiple hours at once? +
You can pay per individual session ($20/hour) or pre-pay a block of hours. Booking multiple sessions upfront helps Juan hold your preferred time slot. Contact us via WhatsApp at +593 982 001 871 to arrange a custom package.
Is this program connected to a university? +
The program is offered independently by Cámara Plus Ecuador in partnership with instructor Juan Ponce. It is not affiliated with a university, but the certificates are institutionally issued. Some students combine these private lessons with their university coursework — including students from U.S. universities studying abroad in Ecuador.
What if I need to reschedule a class? +
Life happens. Contact Juan directly via WhatsApp at least 24 hours before your scheduled session to reschedule at no charge. We keep things flexible and human.
document.querySelectorAll(‘.faq-item’).forEach(item => { item.querySelector(‘.faq-q’).addEventListener(‘click’, () => { const wasOpen = item.classList.contains(‘open’); document.querySelectorAll(‘.faq-item’).forEach(i => i.classList.remove(‘open’)); if (!wasOpen) item.classList.add(‘open’); }); });