Now & Later CPR | Life-Saving Training — LA, OC & San Diego
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
–red: #D72B2B;
–red-dark: #A81E1E;
–cream: #F9F4EE;
–charcoal: #1A1A1A;
–mid: #4A4A4A;
–light: #D4C9BB;
–white: #FFFFFF;
}
html { scroll-behavior: smooth; }
body {
font-family: ‘DM Sans’, sans-serif;
background: var(–cream);
color: var(–charcoal);
overflow-x: hidden;
}
/* ── NAV ── */
nav {
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
display: flex; align-items: center; justify-content: space-between;
padding: 18px 6%;
background: rgba(249,244,238,0.92);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(0,0,0,0.07);
}
.nav-logo {
display: flex; align-items: center; gap: 12px; text-decoration: none;
}
.nav-logo img { width: 44px; height: 44px; object-fit: contain; }
.nav-logo-text { line-height: 1.1; }
.nav-logo-text span:first-child {
display: block;
font-family: ‘Bebas Neue’, sans-serif;
font-size: 1.25rem;
letter-spacing: 0.04em;
color: var(–charcoal);
}
.nav-logo-text span:last-child {
display: block;
font-size: 0.7rem;
color: var(–mid);
letter-spacing: 0.08em;
text-transform: uppercase;
}
.nav-links { display: flex; align-items: center; gap: 32px; }
.nav-links a {
text-decoration: none;
font-size: 0.85rem;
font-weight: 500;
letter-spacing: 0.05em;
text-transform: uppercase;
color: var(–mid);
transition: color 0.2s;
}
.nav-links a:hover { color: var(–red); }
.nav-cta {
background: var(–red) !important;
color: var(–white) !important;
padding: 10px 22px;
border-radius: 4px;
transition: background 0.2s !important;
}
.nav-cta:hover { background: var(–red-dark) !important; color: var(–white) !important; }
/* ── HERO ── */
.hero {
min-height: 100vh;
display: grid;
grid-template-columns: 1fr 1fr;
padding-top: 80px;
}
.hero-left {
display: flex; flex-direction: column; justify-content: center;
padding: 80px 6% 80px 8%;
position: relative;
}
.hero-eyebrow {
display: inline-flex; align-items: center; gap: 8px;
font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em;
text-transform: uppercase; color: var(–red);
margin-bottom: 20px;
}
.hero-eyebrow::before {
content: ”; display: block; width: 28px; height: 2px; background: var(–red);
}
.hero-headline {
font-family: ‘Bebas Neue’, sans-serif;
font-size: clamp(3.5rem, 6vw, 5.5rem);
line-height: 0.95;
letter-spacing: 0.01em;
color: var(–charcoal);
margin-bottom: 24px;
}
.hero-headline em {
font-style: italic;
font-family: ‘DM Serif Display’, serif;
color: var(–red);
}
.hero-sub {
font-size: 1.05rem;
line-height: 1.7;
color: var(–mid);
max-width: 420px;
margin-bottom: 40px;
}
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.btn-primary {
display: inline-flex; align-items: center; gap: 8px;
background: var(–red); color: var(–white);
padding: 16px 32px; border-radius: 4px;
font-size: 0.9rem; font-weight: 600; letter-spacing: 0.04em;
text-transform: uppercase; text-decoration: none;
transition: background 0.2s, transform 0.15s;
}
.btn-primary:hover { background: var(–red-dark); transform: translateY(-2px); }
.btn-secondary {
display: inline-flex; align-items: center; gap: 8px;
border: 2px solid var(–charcoal); color: var(–charcoal);
padding: 14px 28px; border-radius: 4px;
font-size: 0.9rem; font-weight: 600; letter-spacing: 0.04em;
text-transform: uppercase; text-decoration: none;
transition: border-color 0.2s, color 0.2s, transform 0.15s;
}
.btn-secondary:hover { border-color: var(–red); color: var(–red); transform: translateY(-2px); }
.hero-badges {
display: flex; gap: 16px; flex-wrap: wrap; margin-top: 48px;
}
.badge {
display: flex; align-items: center; gap: 8px;
font-size: 0.75rem; font-weight: 500; color: var(–mid);
letter-spacing: 0.04em;
}
.badge-dot { width: 8px; height: 8px; border-radius: 50%; background: var(–red); }
.hero-right {
background: var(–charcoal);
display: flex; flex-direction: column; justify-content: center; align-items: center;
position: relative; overflow: hidden;
padding: 60px 40px;
}
.hero-right::before {
content: ”;
position: absolute; inset: 0;
background: radial-gradient(ellipse at 30% 60%, rgba(215,43,43,0.35) 0%, transparent 65%);
}
.hero-logo-big {
width: min(260px, 60%);
position: relative; z-index: 1;
filter: drop-shadow(0 0 40px rgba(215,43,43,0.4));
animation: pulse-glow 3s ease-in-out infinite;
}
@keyframes pulse-glow {
0%, 100% { filter: drop-shadow(0 0 30px rgba(215,43,43,0.3)); }
50% { filter: drop-shadow(0 0 60px rgba(215,43,43,0.6)); }
}
.hero-tagline {
position: relative; z-index: 1;
font-family: ‘DM Serif Display’, serif;
font-style: italic;
font-size: clamp(1rem, 2vw, 1.3rem);
color: rgba(255,255,255,0.7);
text-align: center;
margin-top: 28px;
max-width: 280px;
line-height: 1.5;
}
.hero-stat-bar {
position: absolute; bottom: 0; left: 0; right: 0;
display: flex; border-top: 1px solid rgba(255,255,255,0.1);
z-index: 2;
}
.hero-stat {
flex: 1; padding: 20px;
text-align: center;
border-right: 1px solid rgba(255,255,255,0.1);
}
.hero-stat:last-child { border-right: none; }
.hero-stat-num {
font-family: ‘Bebas Neue’, sans-serif;
font-size: 1.8rem; color: var(–red); display: block;
}
.hero-stat-label {
font-size: 0.65rem; color: rgba(255,255,255,0.5);
letter-spacing: 0.08em; text-transform: uppercase;
}
/* ── SECTION SHARED ── */
section { padding: 100px 8%; }
.section-label {
font-size: 0.72rem; font-weight: 700; letter-spacing: 0.18em;
text-transform: uppercase; color: var(–red);
display: flex; align-items: center; gap: 10px;
margin-bottom: 18px;
}
.section-label::after { content: ”; flex: 1; max-width: 40px; height: 2px; background: var(–red); }
.section-title {
font-family: ‘Bebas Neue’, sans-serif;
font-size: clamp(2.4rem, 4vw, 3.6rem);
line-height: 1; letter-spacing: 0.02em;
margin-bottom: 16px;
}
.section-sub {
font-size: 1rem; color: var(–mid); line-height: 1.7; max-width: 520px;
}
/* ── SERVICES ── */
#services { background: var(–white); }
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 2px;
margin-top: 60px;
border: 2px solid var(–charcoal);
}
.service-card {
padding: 40px 32px;
border-right: 2px solid var(–charcoal);
border-bottom: 2px solid var(–charcoal);
transition: background 0.25s;
position: relative; overflow: hidden;
}
.service-card:hover { background: var(–charcoal); }
.service-card:hover .service-title,
.service-card:hover .service-desc { color: var(–white); }
.service-card:hover .service-icon { color: var(–red); }
.service-icon { font-size: 2rem; margin-bottom: 18px; display: block; color: var(–red); }
.service-title {
font-family: ‘Bebas Neue’, sans-serif;
font-size: 1.5rem; letter-spacing: 0.03em;
margin-bottom: 10px; transition: color 0.25s;
}
.service-desc {
font-size: 0.875rem; line-height: 1.65;
color: var(–mid); transition: color 0.25s;
}
.service-tag {
display: inline-block; margin-top: 16px;
font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em;
text-transform: uppercase; background: var(–red);
color: var(–white); padding: 4px 10px; border-radius: 2px;
}
/* ── WHY US ── */
#why {
background: var(–charcoal);
color: var(–white);
}
#why .section-title { color: var(–white); }
#why .section-sub { color: rgba(255,255,255,0.6); }
.why-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 40px; margin-top: 64px;
}
.why-item { border-top: 3px solid var(–red); padding-top: 24px; }
.why-num {
font-family: ‘Bebas Neue’, sans-serif;
font-size: 3.5rem; color: rgba(215,43,43,0.2);
line-height: 1; margin-bottom: 8px;
}
.why-title {
font-family: ‘DM Serif Display’, serif;
font-size: 1.25rem; color: var(–white);
margin-bottom: 10px;
}
.why-desc { font-size: 0.875rem; line-height: 1.65; color: rgba(255,255,255,0.55); }
/* ── AREAS ── */
#areas { background: var(–cream); }
.areas-flex {
display: flex; gap: 80px; margin-top: 60px; flex-wrap: wrap;
}
.area-block { flex: 1; min-width: 200px; }
.area-name {
font-family: ‘Bebas Neue’, sans-serif;
font-size: 2rem; letter-spacing: 0.04em;
border-bottom: 3px solid var(–red);
padding-bottom: 10px; margin-bottom: 18px;
}
.area-list { list-style: none; }
.area-list li {
padding: 8px 0; font-size: 0.9rem; color: var(–mid);
border-bottom: 1px solid var(–light);
display: flex; align-items: center; gap: 10px;
}
.area-list li::before { content: ‘→’; color: var(–red); font-weight: bold; }
/* ── CONTACT ── */
#contact {
background: var(–red);
color: var(–white);
text-align: center;
}
#contact .section-label { color: rgba(255,255,255,0.7); justify-content: center; }
#contact .section-label::after { background: rgba(255,255,255,0.4); }
#contact .section-title { color: var(–white); }
.contact-sub {
font-size: 1.05rem; color: rgba(255,255,255,0.8);
margin: 0 auto 48px; max-width: 500px; line-height: 1.7;
}
.contact-cards {
display: flex; justify-content: center; gap: 24px; flex-wrap: wrap;
margin-bottom: 48px;
}
.contact-card {
background: rgba(255,255,255,0.12);
border: 1px solid rgba(255,255,255,0.25);
padding: 28px 36px; border-radius: 6px;
min-width: 200px;
}
.contact-card-icon { font-size: 1.6rem; display: block; margin-bottom: 10px; }
.contact-card-label {
font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em;
text-transform: uppercase; color: rgba(255,255,255,0.6);
margin-bottom: 6px;
}
.contact-card-val {
font-size: 1rem; font-weight: 600; color: var(–white);
text-decoration: none;
}
.contact-card-val:hover { text-decoration: underline; }
.btn-white {
display: inline-flex; align-items: center; gap: 8px;
background: var(–white); color: var(–red);
padding: 16px 40px; border-radius: 4px;
font-size: 0.9rem; font-weight: 700; letter-spacing: 0.05em;
text-transform: uppercase; text-decoration: none;
transition: background 0.2s, transform 0.15s;
}
.btn-white:hover { background: var(–cream); transform: translateY(-2px); }
/* ── FOOTER ── */
footer {
background: #0E0E0E; color: rgba(255,255,255,0.4);
padding: 36px 8%;
display: flex; justify-content: space-between; align-items: center;
flex-wrap: wrap; gap: 16px;
}
footer a { color: rgba(255,255,255,0.4); text-decoration: none; }
footer a:hover { color: var(–red); }
.footer-brand {
font-family: ‘Bebas Neue’, sans-serif;
font-size: 1.1rem; letter-spacing: 0.06em;
color: rgba(255,255,255,0.7);
}
.footer-links { display: flex; gap: 24px; font-size: 0.78rem; }
/* ── ANIMATIONS ── */
.fade-up {
opacity: 0; transform: translateY(24px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-up.visible { opacity: 1; transform: translateY(0); }
/* ── RESPONSIVE ── */
@media (max-width: 800px) {
.hero { grid-template-columns: 1fr; min-height: auto; }
.hero-right { min-height: 380px; }
.nav-links { display: none; }
.hero-left { padding: 60px 6%; }
section { padding: 72px 6%; }
.areas-flex { gap: 40px; }
}
Now & Later CPR
First Aid Training
Certified CPR & First Aid Training
Save A Life
Today.
Be Ready
Tomorrow.
Professional CPR and First Aid certification for individuals, families, and organizations — on your schedule, at your location.
Same-Day Certification
Mobile & On-Site
Group Rates Available
Empowering Lifesavers Today for a Safer Tomorrow
3
Counties Served
100%
Hands-On Training
AHA
Certified Program
What We Offer
Our Training Programs
Every class is hands-on, practical, and taught by certified instructors who bring real-world experience.
❤️
CPR / AED Certification
Learn adult, child, and infant CPR plus automated defibrillator use. Certification valid for 2 years.
Most Popular
🩹
First Aid Training
Covers wound care, burns, fractures, allergic reactions, and emergency response essentials.
👶
Pediatric CPR
Specialized training for parents, childcare providers, and school staff focused on infant and child emergencies.
🏢
Group & Corporate
We come to your workplace. Discounted group rates for teams of 5 or more. Flexible scheduling available.
Best Value
🚗
Mobile Training
No facility? No problem. We bring all equipment directly to your home, office, or community center.
⚡
Same-Day Certification
Need your cert fast? We offer same-day classes for individuals throughout LA, OC, and San Diego.
Urgent
Why Choose Us
Training Built Around Your Life
We designed Now & Later CPR around one idea: life-saving education should be accessible to everyone.
01
We Come To You
Mobile training means no driving across town. We set up at your location with all manikins and equipment.
02
Same-Day Available
Job starts tomorrow? We offer same-day CPR certification classes for last-minute needs — just reach out.
03
Certified Instructors
Our trainers are certified, experienced, and passionate about making sure every student leaves confident.
04
Serving All of SoCal
From Downtown LA to San Diego — we serve individuals and businesses across Southern California.
Service Areas
We Come to You, Across SoCal
Serving communities throughout Los Angeles, Orange County, and San Diego County.
Los Angeles
- Downtown LA
- Long Beach
- Pasadena
- Burbank & Glendale
- West LA / Santa Monica
- South Bay
Orange County
- Anaheim
- Irvine
- Santa Ana
- Huntington Beach
- Costa Mesa
- Orange
San Diego
- Downtown San Diego
- Chula Vista
- Escondido
- Oceanside
- El Cajon
- La Mesa
// Scroll-triggered fade-in
const observer = new IntersectionObserver((entries) => {
entries.forEach(e => {
if (e.isIntersecting) { e.target.classList.add(‘visible’); }
});
}, { threshold: 0.12 });
document.querySelectorAll(‘.fade-up’).forEach(el => observer.observe(el));