ULAMAIFY CHESS MEMBERSHIP
Choose the right rhythm for your child
Live, thoughtful chess coaching in a small group of no more than four students.
Monthly
3 Months
Best value
01 / WEEKLY
Steady progress
Weekly Sessions
One live small-group chess session each week, with time to practice between lessons.
$00
$00
/month
Billed monthly
Explore Plans↗
Membership includes:
✓ One live coaching session each week
✓ Never more than 4 students
✓ Students matched by age and chess level
✓ Guided Lichess practice and game analysis
✓ Monthly small-group chess tournament
✓ Ulamaify online Chess Club access
✓ Progress updates for parents
MOST POPULAR
02 / TWICE WEEKLY
Faster momentum
Biweekly Sessions
Two live small-group chess sessions each week for more practice, feedback, and momentum.
$00
$00
/month
Billed monthly
Explore Plans↗
Everything in Weekly, plus:
✓ Two live coaching sessions each week
✓ More coach feedback and guided practice
✓ More frequent game review and analysis
✓ Never more than 4 students
✓ Monthly small-group chess tournament
✓ Ulamaify online Chess Club access
✓ Progress updates for parents
01 / WEEKLY
3-month plan
Weekly Sessions
One live small-group chess session each week, reserved for a full three-month learning cycle.
$00
$00
/3 months
Billed every 3 months
Explore Plans↗
Membership includes:
✓ One live coaching session each week
✓ Never more than 4 students
✓ Students matched by age and chess level
✓ Guided Lichess practice and game analysis
✓ Monthly small-group chess tournament
✓ Ulamaify online Chess Club access
✓ Progress updates for parents
BEST VALUE
02 / TWICE WEEKLY
3-month plan
Biweekly Sessions
Two live small-group chess sessions each week for a focused three-month learning cycle.
$00
$00
/3 months
Billed every 3 months
Explore Plans↗
Everything in Weekly, plus:
✓ Two live coaching sessions each week
✓ More coach feedback and guided practice
✓ More frequent game review and analysis
✓ Never more than 4 students
✓ Monthly small-group chess tournament
✓ Ulamaify online Chess Club access
✓ Progress updates for parents
.ulc-pricing,
.ulc-pricing * {
box-sizing: border-box;
}
.ulc-pricing {
--ulc-forest: #12382d;
--ulc-forest-deep: #0b261f;
--ulc-ink: #17231f;
--ulc-green: #16a776;
--ulc-green-dark: #0c8059;
--ulc-yellow: #f6c94c;
--ulc-cream: #f7f1e5;
--ulc-paper: #fffdf8;
--ulc-sage: #dfeadf;
--ulc-muted: #65736d;
--ulc-line: #dbe4dc;
position: relative;
width: 100%;
padding: clamp(56px, 8vw, 96px) 20px;
overflow: hidden;
color: var(--ulc-ink);
background:
radial-gradient(circle at 8% 10%, rgba(246, 201, 76, 0.22), transparent 24%),
radial-gradient(circle at 92% 92%, rgba(22, 167, 118, 0.15), transparent 25%),
var(--ulc-cream);
font-family: inherit;
}
.ulc-pricing::before {
content: "♟";
position: absolute;
top: 24px;
right: max(22px, 5vw);
color: rgba(18, 56, 45, 0.07);
font-size: clamp(5rem, 12vw, 10rem);
line-height: 1;
transform: rotate(8deg);
pointer-events: none;
}
.ulc-pricing__inner {
position: relative;
z-index: 1;
width: min(100%, 1060px);
margin: 0 auto;
}
.ulc-pricing__intro {
max-width: 760px;
margin: 0 auto;
text-align: center;
}
.ulc-pricing__eyebrow {
display: inline-flex;
align-items: center;
gap: 9px;
margin-bottom: 15px;
color: var(--ulc-green-dark);
font-size: 0.76rem;
font-weight: 900;
letter-spacing: 0.15em;
}
.ulc-pricing__eyebrow::before,
.ulc-pricing__eyebrow::after {
content: "";
width: 27px;
height: 3px;
border-radius: 999px;
background: var(--ulc-yellow);
}
.ulc-pricing .ulc-pricing__intro h2 {
margin: 0;
color: var(--ulc-forest-deep);
font-size: clamp(2rem, 5vw, 3.65rem);
font-weight: 850;
line-height: 1.04;
letter-spacing: -0.045em;
}
.ulc-pricing__intro p {
max-width: 650px;
margin: 18px auto 0;
color: var(--ulc-muted);
font-size: clamp(1rem, 2vw, 1.1rem);
line-height: 1.7;
}
/* Keep the real radio controls accessible while hiding them visually. */
.ulc-pricing__radio {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0 0 0 0);
clip-path: inset(50%);
white-space: nowrap;
border: 0;
}
.ulc-pricing__toggle {
display: flex;
width: max-content;
max-width: 100%;
margin: 32px auto 46px;
padding: 5px;
border: 1px solid rgba(18, 56, 45, 0.14);
border-radius: 999px;
background: var(--ulc-paper);
box-shadow: 0 12px 30px rgba(11, 38, 31, 0.09);
}
.ulc-pricing__toggle-button {
display: flex;
align-items: center;
justify-content: center;
gap: 7px;
min-width: 132px;
margin: 0;
padding: 12px 20px;
border-radius: 999px;
color: var(--ulc-muted);
background: transparent;
font-size: 0.94rem;
font-weight: 800;
line-height: 1.2;
text-align: center;
cursor: pointer;
transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}
.ulc-pricing__toggle-button span {
padding: 3px 6px;
border-radius: 999px;
color: var(--ulc-forest-deep);
background: var(--ulc-yellow);
font-size: 0.6rem;
font-weight: 900;
letter-spacing: 0.03em;
text-transform: uppercase;
}
.ulc-pricing__toggle-button:hover {
color: var(--ulc-green-dark);
background: rgba(22, 167, 118, 0.08);
}
#ulc-billing-monthly:focus-visible ~ .ulc-pricing__inner .ulc-pricing__toggle-button--monthly,
#ulc-billing-three-months:focus-visible ~ .ulc-pricing__inner .ulc-pricing__toggle-button--three-months {
outline: 3px solid var(--ulc-yellow);
outline-offset: 3px;
}
#ulc-billing-monthly:checked ~ .ulc-pricing__inner .ulc-pricing__toggle-button--monthly,
#ulc-billing-three-months:checked ~ .ulc-pricing__inner .ulc-pricing__toggle-button--three-months {
color: #fff;
background: linear-gradient(135deg, var(--ulc-green), var(--ulc-green-dark));
box-shadow: 0 8px 18px rgba(12, 128, 89, 0.25);
}
.ulc-pricing__panel {
display: none;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 24px;
align-items: stretch;
}
#ulc-billing-monthly:checked ~ .ulc-pricing__inner .ulc-pricing__panel--monthly,
#ulc-billing-three-months:checked ~ .ulc-pricing__inner .ulc-pricing__panel--three-months {
display: grid;
}
.ulc-plan {
position: relative;
display: flex;
flex-direction: column;
min-width: 0;
padding: clamp(26px, 4vw, 40px);
border: 1px solid var(--ulc-line);
border-radius: 24px;
background: var(--ulc-paper);
box-shadow: 0 22px 60px rgba(11, 38, 31, 0.09);
}
.ulc-plan--featured {
border-color: var(--ulc-forest);
color: #fff;
background:
radial-gradient(circle at 96% 5%, rgba(22, 167, 118, 0.33), transparent 32%),
var(--ulc-forest-deep);
box-shadow: 0 28px 70px rgba(11, 38, 31, 0.24);
}
.ulc-plan__popular {
position: absolute;
top: 0;
right: 32px;
padding: 8px 15px;
border-radius: 0 0 12px 12px;
color: var(--ulc-forest-deep);
background: var(--ulc-yellow);
font-size: 0.67rem;
font-weight: 900;
letter-spacing: 0.08em;
}
.ulc-plan__topline {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 34px;
margin-bottom: 22px;
}
.ulc-plan__number {
color: var(--ulc-green-dark);
font-size: 0.72rem;
font-weight: 900;
letter-spacing: 0.12em;
}
.ulc-plan--featured .ulc-plan__number {
color: var(--ulc-yellow);
}
.ulc-plan__badge {
padding: 7px 11px;
border-radius: 999px;
color: var(--ulc-green-dark);
background: rgba(22, 167, 118, 0.1);
font-size: 0.69rem;
font-weight: 800;
text-align: center;
}
.ulc-plan--featured .ulc-plan__badge {
color: #c5e8dc;
background: rgba(255, 255, 255, 0.09);
}
.ulc-pricing .ulc-plan h3 {
margin: 0;
color: var(--ulc-forest-deep);
font-size: clamp(1.55rem, 3vw, 2rem);
font-weight: 850;
line-height: 1.15;
letter-spacing: -0.025em;
}
.ulc-pricing .ulc-plan--featured h3 {
color: #fff;
}
.ulc-plan__description {
min-height: 54px;
margin: 11px 0 24px;
color: var(--ulc-muted);
line-height: 1.6;
}
.ulc-plan--featured .ulc-plan__description {
color: #b9cbc4;
}
.ulc-plan__price-row {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 7px 11px;
}
.ulc-plan__original-price {
color: #8c9893;
font-size: clamp(1.2rem, 2.5vw, 1.55rem);
font-weight: 750;
line-height: 1;
letter-spacing: -0.025em;
text-decoration: line-through;
text-decoration-color: #d85662;
text-decoration-thickness: 2px;
}
.ulc-plan--featured .ulc-plan__original-price {
color: #93aaa2;
text-decoration-color: var(--ulc-yellow);
}
.ulc-plan__sale-price {
display: inline-flex;
align-items: baseline;
gap: 6px;
}
.ulc-plan__price {
color: var(--ulc-forest-deep);
font-size: clamp(2.6rem, 6vw, 4.15rem);
font-weight: 900;
line-height: 1;
letter-spacing: -0.055em;
}
.ulc-plan--featured .ulc-plan__price {
color: #fff;
}
.ulc-plan__unit {
color: var(--ulc-muted);
font-size: 0.96rem;
font-weight: 700;
}
.ulc-plan--featured .ulc-plan__unit {
color: #9eb5ad;
}
.ulc-plan__billing-note {
min-height: 24px;
margin: 9px 0 20px;
color: var(--ulc-muted);
font-size: 0.83rem;
}
.ulc-plan--featured .ulc-plan__billing-note {
color: #9eb5ad;
}
.ulc-pricing .ulc-plan__button {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
min-height: 50px;
margin: 0 0 26px;
padding: 13px 18px;
border: 2px solid var(--ulc-green);
border-radius: 12px;
color: #fff;
background: var(--ulc-green);
box-shadow: none;
font-size: 0.94rem;
font-weight: 850;
line-height: 1.2;
text-align: center;
text-decoration: none;
transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.ulc-pricing .ulc-plan__button:hover {
color: #fff;
background: var(--ulc-green-dark);
box-shadow: 0 12px 24px rgba(12, 128, 89, 0.22);
transform: translateY(-2px);
}
.ulc-pricing .ulc-plan__button:focus-visible {
outline: 3px solid var(--ulc-yellow);
outline-offset: 3px;
}
.ulc-pricing .ulc-plan--featured .ulc-plan__button {
border-color: var(--ulc-yellow);
color: var(--ulc-forest-deep);
background: var(--ulc-yellow);
}
.ulc-pricing .ulc-plan--featured .ulc-plan__button:hover {
border-color: #ffdd78;
color: var(--ulc-forest-deep);
background: #ffdd78;
box-shadow: 0 12px 24px rgba(246, 201, 76, 0.16);
}
.ulc-plan__includes {
padding-top: 24px;
border-top: 1px solid var(--ulc-line);
}
.ulc-plan--featured .ulc-plan__includes {
border-top-color: rgba(255, 255, 255, 0.13);
}
.ulc-plan__includes-title {
margin: 0 0 15px;
color: var(--ulc-ink);
font-size: 0.9rem;
font-weight: 850;
}
.ulc-plan--featured .ulc-plan__includes-title {
color: #fff;
}
.ulc-pricing .ulc-plan ul {
display: grid;
gap: 13px;
margin: 0;
padding: 0;
list-style: none;
}
.ulc-pricing .ulc-plan li {
display: grid;
grid-template-columns: 21px minmax(0, 1fr);
gap: 8px;
margin: 0;
padding: 0;
color: #586861;
font-size: 0.92rem;
line-height: 1.48;
}
.ulc-pricing .ulc-plan li > span {
display: inline-flex;
align-items: center;
justify-content: center;
width: 19px;
height: 19px;
margin-top: 1px;
border-radius: 50%;
color: #fff;
background: var(--ulc-green);
font-size: 0.72rem;
font-weight: 900;
}
.ulc-pricing .ulc-plan--featured li {
color: #b9cbc4;
}
.ulc-pricing__footnote {
max-width: 720px;
margin: 26px auto 0;
color: var(--ulc-muted);
font-size: 0.84rem;
line-height: 1.55;
text-align: center;
}
@media (max-width: 760px) {
.ulc-pricing {
padding-right: 15px;
padding-left: 15px;
}
.ulc-pricing__panel {
grid-template-columns: 1fr;
gap: 20px;
}
.ulc-plan__description {
min-height: 0;
}
}
@media (max-width: 480px) {
.ulc-pricing__toggle {
width: 100%;
}
.ulc-pricing__toggle-button {
flex: 1;
min-width: 0;
padding-right: 10px;
padding-left: 10px;
font-size: 0.87rem;
}
.ulc-pricing__toggle-button span {
display: none;
}
.ulc-plan {
border-radius: 19px;
}
.ulc-plan__popular {
right: 20px;
}
}
@media (prefers-reduced-motion: reduce) {
.ulc-pricing *,
.ulc-pricing *::before,
.ulc-pricing *::after {
scroll-behavior: auto !important;
transition-duration: 0.01ms !important;
}
}