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; }
}
Save A Life
Today.
Be Ready
Tomorrow.
Professional CPR and First Aid certification for individuals, families, and organizations — on your schedule, at your location.
Empowering Lifesavers Today for a Safer Tomorrow
Our Training Programs
Every class is hands-on, practical, and taught by certified instructors who bring real-world experience.
Learn adult, child, and infant CPR plus automated defibrillator use. Certification valid for 2 years.
Most Popular
Covers wound care, burns, fractures, allergic reactions, and emergency response essentials.
Specialized training for parents, childcare providers, and school staff focused on infant and child emergencies.
We come to your workplace. Discounted group rates for teams of 5 or more. Flexible scheduling available.
Best Value
No facility? No problem. We bring all equipment directly to your home, office, or community center.
Need your cert fast? We offer same-day classes for individuals throughout LA, OC, and San Diego.
Urgent
Training Built Around Your Life
We designed Now & Later CPR around one idea: life-saving education should be accessible to everyone.
Mobile training means no driving across town. We set up at your location with all manikins and equipment.
Job starts tomorrow? We offer same-day CPR certification classes for last-minute needs — just reach out.
Our trainers are certified, experienced, and passionate about making sure every student leaves confident.
From Downtown LA to San Diego — we serve individuals and businesses across Southern California.
We Come to You, Across SoCal
Serving communities throughout Los Angeles, Orange County, and San Diego County.
- Downtown LA
- Long Beach
- Pasadena
- Burbank & Glendale
- West LA / Santa Monica
- South Bay
- Anaheim
- Irvine
- Santa Ana
- Huntington Beach
- Costa Mesa
- Orange
- Downtown San Diego
- Chula Vista
- Escondido
- Oceanside
- El Cajon
- La Mesa
Ready to Book?
Reach out to schedule your class. We respond fast and can often accommodate same-day or next-day bookings.
LA · Orange County · San Diego
Same-Day Booking Available
// 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));