💌 📖
Skip to main content

/* ==== ELLA BLOG PRESET (saved settings) ==== */
.ella-blog{
–bg-core:#ffb6e6; /* bubblegum */
–bg-soft:#ffe9f8; /* lighter wash */

/* Title: slightly darker light pink + tuned glow */
–title-pink:#ff8de3;
–title-glow:rgba(255,140,230,.75);

–btn:#ff86e2;
–btn-halo:rgba(255,134,226,.70);

position:relative; padding:60px 22px 80px; overflow:hidden; border-radius:18px;
background:
radial-gradient(1200px 800px at 50% -25%, var(–bg-soft), transparent 60%),
linear-gradient(180deg, var(–bg-soft) 0%, var(–bg-core) 16%, var(–bg-core) 84%, var(–bg-soft) 100%);
box-shadow:0 8px 30px rgba(255,120,210,.18);
}
/* glitter + shimmer */
.ella-blog::before{
content:””; position:absolute; inset:0; pointer-events:none; z-index:0;
background:
radial-gradient(2px 2px at 20% 25%, rgba(255,255,255,.95), transparent 46%),
radial-gradient(2px 2px at 35% 60%, rgba(255,245,252,.9), transparent 46%),
radial-gradient(2px 2px at 70% 35%, rgba(255,255,255,.9), transparent 46%),
radial-gradient(2px 2px at 82% 72%, rgba(255,240,252,.9), transparent 46%);
animation: ella-twinkle 7s ease-in-out infinite;
}
.ella-blog::after{
content:””; position:absolute; inset:-10%; pointer-events:none; z-index:-1;
background-image:
radial-gradient(8px 8px at 20% 40%, rgba(255,255,255,.08), transparent 55%),
radial-gradient(10px 10px at 70% 60%, rgba(255,200,240,.07), transparent 60%),
radial-gradient(6px 6px at 40% 80%, rgba(255,240,255,.08), transparent 55%);
animation: ella-shimmer 24s linear infinite; mix-blend-mode:screen;
}
@keyframes ella-twinkle{0%,100%{opacity:.55}50%{opacity:.95}}
@keyframes ella-shimmer{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}

.ella-inner{max-width:920px; margin:0 auto; position:relative; z-index:1; text-align:center;}

/* Title with neon glow + inline sparkle that follows the last line */
.ella-title{
font-family:”Dancing Script”,cursive;
font-size:60px; line-height:1.08; margin:0 0 12px;
color:var(–title-pink);
text-shadow:
0 0 2px #fff,
0 0 10px var(–title-glow),
0 0 22px var(–title-glow),
0 0 42px rgba(255,160,234,.55),
0 0 64px rgba(255,160,234,.40);
white-space:normal; word-break:break-word;
}
.ella-title-text{ display:inline; }
.ella-star{
display:inline-block; position:relative; width:.52em; height:.52em;
margin-left:.25em; vertical-align:.05em;
filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 12px var(–title-glow));
animation: ella-star-pop 2.6s ease-in-out infinite;
}
.ella-star::before,.ella-star::after{
content:””; position:absolute; inset:0;
background:
radial-gradient(circle at 50% 50%, #fff 0 28%, transparent 30%),
linear-gradient(#fff,#fff) 50% 50%/2px 100% no-repeat,
linear-gradient(#fff,#fff) 50% 50%/100% 2px no-repeat;
}
.ella-star::after{ transform:rotate(45deg); }
@keyframes ella-star-pop{0%,70%,100%{opacity:0;transform:scale(.45)}12%{opacity:1;transform:scale(1)}40%{opacity:0;transform:scale(.45)}}

.ella-subtitle{ color:#54183f; opacity:.8; margin:0 auto 28px; max-width:760px; text-align:center; }

.ella-divider{ height:1px; width:80%; margin:32px auto; background:linear-gradient(90deg, transparent, rgba(255,200,235,.45), transparent) }

/* Body: Oooh Baby 400, centered, **black text** */
.ella-body{ max-width:760px; margin:0 auto; }
.ella-body, .ella-body p, .ella-body strong, .ella-body em{ color:#000 !important; }
.ella-body p{
font-family:”Oooh Baby”, cursive;
font-weight:400; font-size:22px; line-height:1.8; letter-spacing:.15px;
margin:0 0 14px; text-align:center;
}

/* CTA note above button */
.ella-cta-note{
color:#000; text-align:center; font-family:”Oooh Baby”, cursive;
font-size:20px; line-height:1.6; max-width:760px; margin:0 auto 10px;
}

/* Bottom CTA (single button) */
.ella-cta-bottom{ display:flex; justify-content:center; margin:14px 0 4px }
.ella-btn{
position:relative; display:inline-block; overflow:hidden;
background:var(–btn); color:#fff; text-decoration:none;
font-weight:800; padding:14px 26px; border-radius:999px;
box-shadow:0 0 10px var(–btn-halo), 0 0 26px var(–btn-halo), 0 0 44px rgba(255,134,226,.45);
transition:transform .08s ease, box-shadow .15s ease, filter .15s ease;
}
.ella-btn::after{
content:””; position:absolute; inset:-10% -40%; z-index:1;
background:linear-gradient(115deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.28) 12%, rgba(255,255,255,0) 28%);
transform:translateX(-120%); animation: ella-sweep 2.8s linear infinite;
mix-blend-mode:screen; pointer-events:none;
}
@keyframes ella-sweep{to{transform:translateX(120%)}}
/* starlets ABOVE text so never hidden */
.ella-btn .label{ position:relative; z-index:2 }
.ella-btn .s{
position:absolute; width:8px; height:8px; pointer-events:none; opacity:0; z-index:3;
filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px rgba(255,255,255,.7));
background:
radial-gradient(circle, #fff 0 40%, transparent 42%),
linear-gradient(#fff,#fff) 50% 50%/1px 100% no-repeat,
linear-gradient(#fff,#fff) 50% 50%/100% 1px no-repeat;
animation: ella-blink 2.2s infinite ease-in-out;
}
/* default star positions */
.ella-btn .s:nth-child(2){ left:14%; top:70%; animation-delay:.2s; transform:rotate(0deg) }
.ella-btn .s:nth-child(3){ left:56%; top:24%; animation-delay:.9s; transform:rotate(45deg) }
.ella-btn .s:nth-child(4){ left:82%; top:68%; animation-delay:1.5s; transform:rotate(22.5deg) }
@keyframes ella-blink{0%,70%,100%{opacity:0;transform:scale(.6)}12%{opacity:1;transform:scale(1)}40%{opacity:0;transform:scale(.6)}}
.ella-btn:hover{ transform:translateY(-1px); filter:saturate(1.06);
box-shadow:0 0 14px var(–btn-halo), 0 0 36px var(–btn-halo), 0 0 70px rgba(255,134,226,.55) }

Pom-Poms and Eye Contact

College cheerleader JOI tease — cheerleader roleplay, tease and denial, girlfriend show, strict counts that build the heat.

Practice ended and the gym lights went soft. I was still in my college cheerleader uniform, hair ribbon tight, thighs warm from stunts. Alice slipped beside me, glossy smile, the other half of our trouble. We decided to give my boyfriend a private show. He sat on the edge of the couch, trying to act casual. Cute. We both knew he was already hooked.

“Sit there and watch,” I told him. “Hands in your lap until I say.” He nodded. Perfect for a little JOI.

Alice faced me, close enough for my breath to touch her lip gloss. We stretched like we were still on the mat. Slow toe point. Smooth arch. I whispered counts in her ear. Five. Six. Seven. Eight. Her hands slid over my hips to correct my posture. Mine traced the satin stripe at her side, just to hear her inhale.

“Take it out,” I said without looking at him. He did. The room changed. I let the moment hang between us, then tipped my chin. “Do what I tell you. No rushing.”

Alice kissed the corner of my mouth. She tasted like cherry and victory. We moved together, mirrors in motion, teasing each other with tiny gasps and deliberate patience. I kept him on a string with simple rules.

“Slow. That pace.”
“Eyes up. Watch the uniforms.”
“Hold. Now touch your thigh.”
“Good. Keep going.”

He tried to steal speed. I smiled. “Normal. Do not get ahead of my count.” Alice grazed my lower lip with her thumb and I let a small sound slip just for him. The kind of sound you feel in your knees.

When his breathing went ragged I pressed two fingers to his wrist. “Not yet.” I kissed Alice again, longer, and she tugged my ribbon loose. We stayed close, cheeks flushed, letting the air thicken with promise.

“One more series,” I said. “My voice. My timing. Earn the finish.”

Count Me Down — Uniforms, strict counts, cheerleader JOI. I call the tempo, you hold the edge. First-time callers get 5 minutes free.

Ella

Author Ella

More posts by Ella

Leave a Reply