/* HERO */ .hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 32px 40px;position:relative;z-index:1} .hero-cycle{position:relative;height:60px;margin-bottom:24px;overflow:hidden} .hero-cycle-line{position:absolute;left:0;right:0;font-family:var(--hand);font-size:26px;color:var(--portal-light);letter-spacing:0.5px;opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease} .hero-cycle-line.active{opacity:1;transform:translateY(0)} .hero-cycle-line.exit{opacity:0;transform:translateY(-20px)} .hero-voice{font-family:var(--hand);font-weight:500;font-size:52px;line-height:1.25;margin-bottom:20px;max-width:700px} .hero-voice .em{color:var(--portal-light)}.hero-voice .warm{color:var(--mica)} .hero-avatars{display:flex;align-items:center;justify-content:center;margin-bottom:24px} .hero-av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--light-80);margin-left:-10px;position:relative;z-index:1;transition:transform 0.3s} .hero-av:first-child{margin-left:0}.hero-av:hover{transform:scale(1.2);z-index:10} .hero-sub{font-family:var(--hand);font-size:24px;color:var(--light-60);max-width:520px;margin:0 auto 12px;line-height:1.5} .hero-whisper{font-family:var(--hand);font-size:26px;color:var(--portal-light);margin-bottom:36px} .hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center} /* HERO */ .hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 32px 40px;position:relative;z-index:1} .hero-cycle{position:relative;height:60px;margin-bottom:24px;overflow:hidden} .hero-cycle-line{position:absolute;left:0;right:0;font-family:var(--hand);font-size:26px;color:var(--portal-light);letter-spacing:0.5px;opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease} .hero-cycle-line.active{opacity:1;transform:translateY(0)} .hero-cycle-line.exit{opacity:0;transform:translateY(-20px)} .hero-voice{font-family:var(--hand);font-weight:500;font-size:52px;line-height:1.25;margin-bottom:20px;max-width:700px} .hero-voice .em{color:var(--portal-light)}.hero-voice .warm{color:var(--mica)} .hero-avatars{display:flex;align-items:center;justify-content:center;margin-bottom:24px} .hero-av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--light-80);margin-left:-10px;position:relative;z-index:1;transition:transform 0.3s} .hero-av:first-child{margin-left:0}.hero-av:hover{transform:scale(1.2);z-index:10} .hero-sub{font-family:var(--hand);font-size:24px;color:var(--light-60);max-width:520px;margin:0 auto 12px;line-height:1.5} .hero-whisper{font-family:var(--hand);font-size:26px;color:var(--portal-light);margin-bottom:36px} .hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center} /* TUTOR PITCHES */ .pitch-section{max-width:700px;margin:0 auto;text-align:center;padding:0 32px} .pitch-block{margin-bottom:40px} .pitch-speaker{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:12px} .pitch-speaker-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:13px} .pitch-speaker-name{font-family:var(--hand);font-size:22px;color:var(--light-60)} .pitch-quote{font-family:var(--hand);font-size:28px;color:var(--light-80);line-height:1.5;max-width:520px;margin:0 auto} .pitch-quote em{color:var(--portal-light);font-style:normal} .pitch-aside{font-family:var(--body);font-size:14px;color:var(--light-40);margin-top:10px} /* DEMO CONVO */ .convo-section{padding:0 32px;max-width:640px;margin:0 auto} .convo-intro{font-family:var(--hand);font-size:26px;color:var(--light-40);text-align:center;margin-bottom:28px} .convo-card{border:1px solid var(--light-10);border-radius:24px;padding:32px 28px;background:linear-gradient(135deg,var(--void-mid),var(--void-warm));position:relative;overflow:hidden} .convo-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(200,134,158,0.04),transparent 60%);pointer-events:none} .convo-who{font-family:var(--ui);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--light-20);margin-bottom:20px;text-align:center} .msg{margin-bottom:16px}.msg.student{text-align:right} .msg.student .bubble{display:inline-block;max-width:85%;padding:14px 18px;border-radius:16px 16px 4px 16px;background:rgba(160,128,255,0.08);border:1px solid rgba(160,128,255,0.12);font-size:17px;color:var(--light-80);text-align:left} .msg.student .role{font-family:var(--ui);font-size:11px;color:var(--light-20);margin-bottom:4px;text-align:right} .msg.bot .role{font-family:var(--ui);font-size:11px;color:var(--mica);margin-bottom:4px;display:flex;align-items:center;gap:6px} .msg.bot .bubble-target{padding:14px 18px;border-radius:4px 18px 18px 18px;background:rgba(200,134,158,0.05);border:1px solid rgba(200,134,158,0.08);font-family:var(--hand);font-size:22px;color:var(--light-60);line-height:1.5;margin-bottom:8px} .msg.bot .bubble-native{padding:12px 16px;border-radius:12px;background:rgba(237,230,245,0.03);font-size:16px;color:var(--light-40);line-height:1.6} /* INSIGHT */ .insight{border:1px solid var(--light-10);border-radius:24px;padding:40px;background:linear-gradient(135deg,var(--void-mid),var(--void-warm));text-align:center;max-width:640px;margin:0 auto} .insight-text{font-family:var(--hand);font-size:26px;color:var(--light-60);line-height:1.6} .insight-text em{color:var(--portal-light)} /* LANGUAGES */ .lang-section{max-width:800px;margin:0 auto;text-align:center;padding:0 32px} .lang-title{font-family:var(--hand);font-size:32px;color:var(--light-60);margin-bottom:8px} .lang-sub{font-family:var(--body);font-size:16px;color:var(--light-40);margin-bottom:28px} .lang-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px} .lang-chip{font-family:var(--body);font-size:14px;font-weight:500;padding:8px 18px;border-radius:20px;border:1px solid var(--light-10);color:var(--light-40);transition:all 0.2s} .lang-chip:hover{border-color:var(--light-20);color:var(--light-60)} .lang-chip.pop{border-color:var(--portal);color:var(--portal-light);background:rgba(160,128,255,0.06)} .lang-lock{font-family:var(--hand);font-size:22px;color:var(--portal-light);margin-top:10px} /* PRICING */ .pricing-section{max-width:900px;margin:0 auto;padding:0 32px} .pricing-title{font-family:var(--hand);font-size:36px;color:var(--light-60);text-align:center;margin-bottom:8px} .pricing-sub{font-family:var(--hand);font-size:24px;color:var(--light-40);text-align:center;margin-bottom:32px} .pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px} .pc{border:1px solid var(--light-10);border-radius:20px;padding:24px 18px;text-align:center;transition:all 0.3s;background:var(--void-mid);position:relative} .pc:hover{border-color:var(--light-20);transform:translateY(-4px)} .pc.feat{border-color:var(--portal);background:linear-gradient(135deg,var(--void-mid),rgba(160,128,255,0.04))} .pc-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-family:var(--body);font-size:11px;font-weight:700;color:#fff;background:var(--portal);padding:3px 14px;border-radius:12px;white-space:nowrap} .pc-price{font-family:var(--serif);font-style:italic;font-size:36px;color:var(--light);margin-bottom:2px} .pc-period{font-family:var(--body);font-size:13px;color:var(--light-40);margin-bottom:4px} .pc-name{font-family:var(--hand);font-size:24px;color:var(--light-80);margin-bottom:14px} .pc-feats{text-align:left;margin-bottom:18px} .pc-f{font-family:var(--body);font-size:14px;color:var(--light-40);padding:3px 0;display:flex;align-items:flex-start;gap:8px;line-height:1.4} .pc-f .ck{color:var(--portal-light);font-size:13px;flex-shrink:0;margin-top:2px} .pc-f.off{color:var(--light-20)}.pc-f.off .ck{color:var(--light-10)} .pc-cta{display:block;width:100%;padding:10px;border-radius:14px;font-family:var(--body);font-size:15px;font-weight:600;text-align:center;text-decoration:none;transition:all 0.2s;cursor:pointer} .pc-cta.glow{background:var(--portal);color:#fff;border:none}.pc-cta.glow:hover{background:var(--portal-light);color:var(--void)} .pc-cta.out{background:transparent;color:var(--light-60);border:1px solid var(--light-20)}.pc-cta.out:hover{border-color:var(--portal);color:var(--portal-light)} .pc-cta.gh{background:transparent;color:var(--light-40);border:1px solid var(--light-10)}.pc-cta.gh:hover{border-color:var(--light-20);color:var(--light-60)} /* BOTTOM CTA + FOOTER */ .cta-bottom{text-align:center;padding:56px 32px;position:relative;z-index:1} .cta-bottom-voice{font-family:var(--hand);font-size:38px;color:var(--light-60);margin-bottom:8px;line-height:1.3} .cta-bottom-voice em{color:var(--portal-light)} .cta-bottom-sub{font-family:var(--hand);font-size:24px;color:var(--light-40);margin-bottom:28px} .footer{text-align:center;padding:36px 28px;border-top:1px solid var(--light-10);position:relative;z-index:1} .footer p{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--light-40);margin-bottom:6px} .footer .credits{font-family:var(--body);font-size:12px;color:var(--light-20)} .footer .credits a{color:var(--light-20);text-decoration:none;transition:color 0.2s} .footer .credits a:hover{color:var(--portal-light)} .fade{opacity:0;transform:translateY(24px);transition:opacity 0.8s ease,transform 0.8s ease} .fade.visible{opacity:1;transform:translateY(0)} @media(max-width:768px){.hero-voice{font-size:36px}.pricing-grid{grid-template-columns:1fr 1fr}.nav-right a:not(.nav-cta){display:none}section,.convo-section,.pitch-section,.lang-section,.pricing-section{padding:0 18px}.pitch-quote{font-size:22px}} @media(max-width:480px){.hero-voice{font-size:28px}.pricing-grid{grid-template-columns:1fr}.hero-av{width:40px;height:40px;font-size:16px}}
🔇
I speak your language. you learn mine.
我说你的语言。你学我的。
私はあなたの言葉を話す。あなたは私の言葉を学ぶ。
나는 너의 언어를 말해. 너는 나의 언어를 배워.
je parle ta langue. tu apprends la mienne.
yo hablo tu idioma. tú aprendes el mío.
ich spreche deine Sprache. du lernst meine.
ฉันพูดภาษาของคุณ คุณเรียนภาษาของฉัน
eu falo a tua língua. tu aprendes a minha.
hey. we crossed over
to teach you ours.
K
N
A
P
S

five tutors. real voices. real patience. they guide in your language, they teach in theirs.

they can't judge you. they can only help.

start practicing free who are they?
K
Kai
"I'm patient. really patient. you can make the same mistake ten times and I'll correct you the same way I did the first — gently. no sighing. no disappointment. just... again."
warm listener · from mica.cafe · best for beginners and shy speakers
A
Atlas
"I won't let you be lazy. you said 'good enough' — I heard 'not yet.' if you want someone to push you, I'm your tutor. if you want comfort, Kai's over there."
strategic advisor · from dinomads.org · best for advanced learners and professionals
P
Pen
"that sentence is grammatically correct. congratulations. nobody talks like that. let me show you how real people actually say it."
lead writer · from wereadu.lol · best for sounding natural, not textbook
S
Sage
"in Tokyo, you'd never say that to your boss. the words are right but the culture is wrong. I teach you the why — not just the what."
senior advisor · from eiai.live · best for cultural context and deep understanding
N
Noor
"there's a pattern here. look — these three sentences all follow the same structure. once you see it, you'll never unsee it. that's how I teach."
calm presence · from mica.cafe · best for systematic learners and grammar lovers
this is what a session looks like
native: 中文 → target: new york english · tutor: kai
you (typing in English)
Yesterday I go to the store buy some apple
🔊 Kai speaks in English
"hey, close! a New Yorker would say 'I went to the store to buy some apples.' past tense — 'went' not 'go.' and honestly? in New York we'd say 'I ran to the bodega to grab some apples.' want to try it like a New Yorker?"
差一点就对了! "go" → "went"(过去式)。需要加 "to"。"apple" → "apples"(加s)。纽约人说 "bodega" 不说 "store"。要不要用纽约方式再说一遍?
in some cultures, speaking badly in front of a teacher feels like losing face. with us, there's no face to lose. we're not human. we can't judge you. we don't tell anyone. you practice more honestly — and you learn faster.
not "English." this specific.
your tutor speaks one accent. one dialect. one way.
New York EnglishLondon English American EnglishAustralianScottish Mandarin (Beijing)Mandarin (Taiwan) Cantonese (HK)Japanese (Tokyo) Osaka dialectKorean (Seoul) French (Paris)French (Québec) Spanish (Mexico)German Portuguese (Brazil)ItalianThai
one tutor. two languages. never a third.
pricing
start free. pay when you're hooked.
$0
forever
Try
5 rounds / session
2 sessions / week
1 tutor
text only
no voice
try free
$5
per hour
Casual
unlimited rounds
all 5 tutors
5 voice attempts
pay per use
no scoring
go casual
most popular
$15
per month
Standard
unlimited conversations
all 5 tutors
15 voice / session
pronunciation scoring
progress tracking
start standard
$29
per month
Intensive
everything unlimited
unlimited voice
word-by-word scoring
custom scenarios
priority responses
go intensive
"we came here looking for you.
now let us teach you something."
— your tutors at freelance.embrace
start practicing free