Skip to content
.tca3s{--paper:#F5EFE4;--paper2:#FBF8F2;--sand:#EFE7DA;--line:#D9CFBF;--line2:#CFC3B0;--ink:#1C1A17;--ink2:#3A352E;--muted:#5E564C;--seal:#A8302A;--seal-dark:#7E2019; --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Karla','Helvetica Neue',Helvetica,Arial,sans-serif;--brush:'Ma Shan Zheng','STKaiti','KaiTi','Kaiti SC',serif; background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden} .tca3s *,.tca3s *::before,.tca3s *::after{box-sizing:border-box} .tca3s h1,.tca3s h2,.tca3s h3,.tca3s p{margin:0;padding:0;border:0;text-transform:none;letter-spacing:normal;color:inherit} .tca3s a{text-decoration:none} .tca3s a:focus-visible{outline:3px solid var(--seal);outline-offset:3px} .tca3s .wrap{max-width:1200px;margin:0 auto;padding:0 40px} .tca3s .sec{padding:112px 0} .tca3s .eyebrow{font-size:14px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--seal)} .tca3s .h2{font-family:var(--serif);font-weight:600;font-size:60px;line-height:1.05} .tca3s .lead{font-size:19px;color:var(--ink2)} .tca3s .head{display:flex;flex-direction:column;gap:18px;max-width:760px;margin-bottom:56px} .tca3s .brush{font-family:var(--brush);font-weight:400} /* buttons */ .tca3s .btn{display:inline-block;padding:17px 32px;border-radius:999px;font-weight:700;font-size:17px;line-height:1.2;text-align:center;transition:background .15s,color .15s} .tca3s .btn-seal{background:var(--seal);color:#FBF8F2} .tca3s .btn-seal:hover{background:var(--seal-dark);color:#FBF8F2} .tca3s .btn-line{border:1.5px solid var(--ink);color:var(--ink)} .tca3s .btn-line:hover{background:var(--ink);color:var(--paper)} /* hero */ .tca3s .hero{padding:96px 0 112px} .tca3s .hero .wrap{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center} .tca3s .hero-text{display:flex;flex-direction:column;gap:28px} .tca3s .hero h1{font-family:var(--serif);font-weight:600;font-size:104px;line-height:.95;letter-spacing:-.01em} .tca3s .hero .zh{font-size:36px;color:var(--ink2);line-height:1.3} .tca3s .hero .lead{font-size:22px;max-width:620px} .tca3s .assure{display:flex;flex-wrap:wrap;gap:12px 28px;font-weight:500;font-size:16px} .tca3s .assure span{display:flex;align-items:center;gap:10px} .tca3s .assure span::before{content:"";width:10px;height:10px;background:var(--seal)} .tca3s .btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px} .tca3s .scroll{position:relative;width:100%;max-width:440px;aspect-ratio:440/560;margin-left:auto;background:var(--paper2);border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(28,26,23,.35);display:flex;align-items:center;justify-content:center} .tca3s .scroll .big{font-size:clamp(160px,20vw,300px);line-height:1} .tca3s .scroll .vert{position:absolute;top:8%;right:8%;writing-mode:vertical-rl;font-size:30px;letter-spacing:.2em;color:var(--ink2)} .tca3s .seal{position:absolute;bottom:8%;left:9%;width:64px;height:64px;background:var(--seal);border-radius:4px;display:grid;grid-template-columns:1fr 1fr;place-items:center;padding:6px;color:#FBF8F2;font-size:22px;line-height:1} .tca3s .scroll .cap{position:absolute;bottom:9.5%;right:8%;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)} /* dark bands */ .tca3s .dark{background:var(--ink);color:var(--paper);text-align:center} .tca3s .dark .wrap{display:flex;flex-direction:column;align-items:center;gap:28px} .tca3s .quote{font-family:var(--serif);font-style:italic;font-weight:500;font-size:40px;line-height:1.35;max-width:980px} .tca3s .rule{width:48px;height:2px;background:var(--seal)} .tca3s .meta{font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:#BFB5A5} /* seasons */ .tca3s .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px} .tca3s .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px} .tca3s .grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px} .tca3s .card{background:var(--paper2);border:1px solid var(--line);padding:40px 36px;display:flex;flex-direction:column;gap:22px} .tca3s .card-top{display:flex;justify-content:space-between;align-items:flex-start} .tca3s .card-top .char{font-size:112px;line-height:1} .tca3s .card-top .when{display:flex;flex-direction:column;align-items:flex-end;gap:6px} .tca3s .card-top .season{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--seal)} .tca3s .card-top .date{font-size:14px;color:var(--muted)} .tca3s .card h3{font-family:var(--serif);font-weight:600;font-size:36px;line-height:1.1} .tca3s .card .script{font-size:15px;color:var(--muted);margin-top:6px} .tca3s .card p{font-size:17px;color:var(--ink2)} .tca3s .card hr{border:0;height:1px;background:var(--line);margin:0} .tca3s .label{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)} .tca3s .chips{display:flex;flex-wrap:wrap;gap:12px} .tca3s .chip{flex:1 1 0;min-width:90px;border:1px solid var(--line);padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center} .tca3s .chip.wide{min-width:180px} .tca3s .chip .c{font-size:40px;line-height:1} .tca3s .chip.wide .c{font-size:36px} .tca3s .chip .py{font-size:14px;font-weight:700} .tca3s .chip .en{font-size:13px;color:var(--muted);line-height:1.3} .tca3s .more{font-size:14px;color:var(--muted)} .tca3s .take{margin-top:auto;background:var(--sand);padding:16px 18px} .tca3s .take .t1{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--seal)} .tca3s .take .t2{font-size:17px;font-weight:500;line-height:1.4;margin-top:4px} /* day */ .tca3s .day{background:var(--sand)} .tca3s .day .wrap{display:grid;grid-template-columns:5fr 7fr;gap:48px} .tca3s .day .head{margin-bottom:0} .tca3s .row{display:flex;gap:32px;padding:22px 0;border-top:1px solid var(--line2)} .tca3s .row:last-child{border-bottom:1px solid var(--line2)} .tca3s .row .time{width:110px;flex-shrink:0;font-family:var(--serif);font-size:26px;font-weight:600;line-height:1.2} .tca3s .row .what{font-size:19px;font-weight:700;line-height:1.3} .tca3s .row .desc{font-size:16px;color:var(--muted);margin-top:4px} /* included */ .tca3s .inc{border-top:2px solid var(--ink);padding-top:24px;display:flex;flex-direction:column;gap:12px} .tca3s .inc svg{width:36px;height:36px;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round} .tca3s .inc .ti{font-size:20px;font-weight:700} .tca3s .inc .tx{font-size:16px;color:var(--muted);line-height:1.55} /* pricing */ .tca3s .pricing{background:var(--paper2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)} .tca3s .pricing .head{align-items:center;text-align:center;margin-left:auto;margin-right:auto} .tca3s .price{border:1px solid var(--line);background:var(--paper);padding:36px 28px;display:flex;flex-direction:column;gap:20px;position:relative} .tca3s .price .name{font-size:20px;font-weight:700} .tca3s .price .amt{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px} .tca3s .price .num{font-family:var(--serif);font-size:52px;font-weight:600;line-height:1} .tca3s .price .hst{font-size:16px;color:var(--muted)} .tca3s .price .note{font-size:16px;color:var(--muted);line-height:1.55} .tca3s .price .btn{margin-top:auto;font-size:16px;padding:16px 24px} .tca3s .price.best{background:var(--ink);border:2px solid var(--ink);color:var(--paper)} .tca3s .price.best .hst{color:#BFB5A5} .tca3s .price.best .note{color:#D8CFC0} .tca3s .badge{position:absolute;top:-18px;right:28px;background:var(--seal);color:#FBF8F2;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px} .tca3s .gift{text-align:center;font-size:15px;color:var(--muted);margin-top:40px} /* faq */ .tca3s .faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px} .tca3s .q{border-top:1px solid var(--line2);padding-top:24px} .tca3s .q .qq{font-size:20px;font-weight:700;line-height:1.35} .tca3s .q .aa{font-size:17px;color:var(--ink2);margin-top:10px} /* final cta */ .tca3s .final .zh{font-size:40px;color:#D8CFC0;line-height:1.3} .tca3s .final .h2{font-size:72px;max-width:960px} .tca3s .final .info{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 48px;font-size:17px;color:#D8CFC0} .tca3s .final .btn{font-size:18px;padding:20px 40px;margin-top:12px} /* tablet */ @media (max-width:960px){ .tca3s .sec{padding:80px 0} .tca3s .hero{padding:64px 0 80px} .tca3s .hero .wrap,.tca3s .day .wrap{grid-template-columns:1fr} .tca3s .scroll{margin:0 auto;max-width:360px} .tca3s .hero h1{font-size:80px} .tca3s .grid3,.tca3s .grid2{grid-template-columns:1fr;max-width:620px;margin:0 auto} .tca3s .grid4{grid-template-columns:repeat(2,minmax(0,1fr))} .tca3s .faq{grid-template-columns:1fr} .tca3s .h2{font-size:48px} .tca3s .quote{font-size:32px} .tca3s .final .h2{font-size:52px} .tca3s .price.best{margin-top:12px} } /* phone */ @media (max-width:600px){ .tca3s{font-size:16px} .tca3s .wrap{padding:0 22px} .tca3s .sec{padding:64px 0} .tca3s .hero{padding:48px 0 64px} .tca3s .hero h1{font-size:56px} .tca3s .hero .zh{font-size:26px} .tca3s .hero .lead{font-size:18px} .tca3s .btns .btn{width:100%} .tca3s .scroll{max-width:300px} .tca3s .scroll .vert{font-size:22px} .tca3s .seal{width:52px;height:52px;font-size:18px} .tca3s .h2{font-size:38px} .tca3s .head{margin-bottom:40px} .tca3s .quote{font-size:25px} .tca3s .meta{font-size:13px;letter-spacing:.1em} .tca3s .card{padding:30px 22px} .tca3s .card-top .char{font-size:88px} .tca3s .card h3{font-size:30px} .tca3s .chip.wide{min-width:100%} .tca3s .row{gap:18px} .tca3s .row .time{width:64px;font-size:22px} .tca3s .row .what{font-size:17px} .tca3s .grid4{grid-template-columns:1fr} .tca3s .price{padding:32px 24px} .tca3s .final .zh{font-size:26px} .tca3s .final .h2{font-size:38px} .tca3s .final .btn{width:100%} } @media (prefers-reduced-motion:reduce){.tca3s .btn{transition:none}}
Calligraphy · Tea · Your first Chinese words

Four Seasons
of Ink

四季墨香 · 中国书法与文化体验

A hands-on journey into Chinese calligraphy, tea and language. Four relaxed Friday workshops, one for each season. You leave each one with something you made yourself.

No Chinese neededNo art experienceOnly 8 seats

Picture a quiet Friday morning, a pot of tea steeping, and a brush in your hand that has barely changed in two thousand years. By one o'clock you're holding something you made, in a writing system you couldn't read that morning.

Taught in English/Chinese · Small groups of 6–8 · Each season stands on its own
The four seasons

One brush. Four seasons of writing.

Each workshop explores a different side of Chinese calligraphy, the story behind it, and the words it helps you write. Join one, or follow all four through the year.

春
Spring
[Spring date]

The Ancient Script

Seal & Clerical Script · 篆书 隶书

Write the way China wrote over 2,000 years ago. Hear the story of 长乐未央, "endless joy," a blessing pressed into Han dynasty roof tiles. Then write it yourself.


You'll learn to say
安
ān
peace
乐
lè
joy
静
jìng
stillness
…plus more on your take-home word card
You take home
A framed four-character blessing
夏
Summer
[Summer date]

The Perfect Balance

Regular Script · 楷书

Discover why one character, 永, holds all eight basic strokes of Chinese writing. Then design and paint your own Chinese fan, just in time for the heat.


You'll learn to say
风
fēng
wind
茶
chá
tea
和
hé
harmony
…plus more on your take-home word card
You take home
A hand-painted Chinese fan
秋
Autumn
[Autumn date]

The Flowing Hand

Running Script · 行书

Meet Wang Xizhi, who wrote China's most celebrated calligraphy at a riverside poetry gathering in 353 AD. Write a short letter to your future self (we'll give you the words) and seal it.


You'll learn to say
惠风和畅
huì fēng hé chàng
a gentle, pleasant breeze
静水流深
jìng shuǐ liú shēn
still waters run deep
…plus more on your take-home word card
You take home
Your sealed letter, a small artwork and a certificate
冬
Winter
[Winter date]

The New Year Brush

Festival calligraphy · 春联 & 福

Get ready for Chinese New Year. Learn why 福 is often hung upside down (the word for "upside down" sounds like "arrives"), then write your own spring couplets to welcome the year.


You'll learn to say
福
fú
good fortune
春
chūn
spring
新年快乐
xīnnián kuàilè
Happy New Year
…plus more on your take-home word card
You take home
A 福 and a pair of spring couplets for your door
Your day

A Friday/Saturday, eleven thirty to two thirty.

Every workshop follows the same unhurried rhythm: learn, pause for tea, then create. Two hours, and nothing to bring but yourself.

11:30
Welcome & the opening brush
Meet the brush, ink and rice paper
12:00
Brushwork & the season's story
Warm-up strokes and a tale from calligraphy history
12:30
Tea break
A Chinese tea tasting and a rest for your hand
2:00
Learn the words & create your piece
Say the season's words aloud, then make your own artwork with a teacher at your side
2:30
Seal it & group photo
Stamp your work with a red seal and take it home
Everything included

Just bring your curiosity.

All materials
Brushes, ink, rice paper, seal paste and everything for your season's project.
A Chinese tea tasting
A different Chinese tea each season, with the story behind it.
Taught in English/Chinese
Every Chinese word comes with pinyin and its meaning, so no Chinese is needed.
10 Chinese words
Learn to say, read and write them, and take home a word card with pinyin and meanings.
Your finished artwork
A framed blessing, a painted fan, a sealed letter or New Year couplets, made by you.
A small group
Six to eight people, so your teacher can guide every stroke.
Reserve your seat

Come for one season, or all four.

Only 8 seats per workshop. All prices plus HST.

One season
$182+ HST
Pick the season that calls to you. Each workshop stands on its own.
Book one season
Two seasons
$345.80+ HST
5% off. You save $18.20.
Book two seasons
Three seasons
$491.40+ HST
10% off. You save $54.60.
Book three seasons
Best value
All four seasons
$618.80+ HST
15% off. You save $109.20. That's $154.70 per season, and a full year of calligraphy.
Get the four-season pass

Makes a thoughtful gift, too. Ask us about gifting a seat.

Questions

Good to know

Do I need to speak Chinese?

Not at all. Workshops are taught in English, and every Chinese word comes with pinyin and its meaning.

I can't draw. Is that a problem?

No. We start with simple brush games and build up step by step. Everyone leaves with a piece they're proud of.

Do I have to come to all four?

No. Each season is a complete workshop on its own. Booking more simply saves you money.

What should I bring?

Nothing. All materials and tea are provided. Ink can stain, so wear clothes you don't mind marking.

Who teaches the workshops?

Toronto Chinese Academy, a Toronto Mandarin school with nearly 20 years of teaching experience.

Where and when?

28 Finch Ave. W. Suite 206, North York, ON M2N 2G7, Fridays or Saturdays 11:30 AM – 2:30 PM.

传播中国文化,从一笔一画开始

Come for the calligraphy. Stay for the culture.

Toronto Chinese Academyinfo@torontochineseacademy.com
Reserve your seat