:root {
  --primary-color: #FDFBF7; /* Light beige surface */
  --secondary-color: #E07A5F; /* Subtle Orange accent */
  --text-dark: #2E2E2E;
  --text-muted: #6B7280;
  --white: #FFFFFF;
  --background: #FAFAFA;
  
  --font-heading: 'Playfair Display', serif;
  --font-body: 'Outfit', sans-serif;
  
  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
  --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html {
  scroll-padding-top: 85px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  color: var(--text-dark);
  background-color: var(--background);
  line-height: 1.6;
  overflow-x: hidden;
}

/* Typography Typography */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 600; color: var(--text-dark); }
p { color: var(--text-muted); }

/* Utilities */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 90px 0; }
.section-title { font-size: 2.8rem; text-align: center; margin-bottom: 12px; }
.section-subtitle { text-align: center; margin-bottom: 60px; font-size: 1.1rem; max-width: 600px; margin-inline: auto; color: var(--text-muted); }
.text-accent { color: var(--secondary-color); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 32px; border-radius: 50px; font-weight: 500; text-decoration: none; cursor: pointer; transition: var(--transition); border: none; font-size: 1rem; font-family: var(--font-body); }
.btn-primary { background-color: var(--secondary-color); color: var(--white); box-shadow: var(--shadow-sm); }
.btn-primary:hover { background-color: #d16b50; transform: translateY(-2px); box-shadow: var(--shadow-md); color: var(--white); }
.btn-outline { background-color: transparent; color: var(--text-dark); border: 1px solid #E5E7EB; }
.btn-outline:hover { background-color: var(--primary-color); border-color: var(--secondary-color); color: var(--secondary-color); }

/* Transparent to Solid Morphing Header */
header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: none;
}
header.scrolled {
  background: rgba(224, 122, 95, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom-color: transparent;
  box-shadow: var(--shadow-sm);
}

.nav-container { display: flex; justify-content: space-between; align-items: center; height: 85px; transition: height 0.4s ease; }
header.scrolled .nav-container { height: 70px; }

.logo-area { display: flex; align-items: center; gap: 4px; text-decoration: none; }
.logo-img { height: 50px; width: auto; object-fit: contain; transition: 0.4s ease; } /* Normal logo visible */
header.scrolled .logo-img { height: 42px; } /* Smaller logo when scrolled */

.logo-text { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 700; color: #fff; line-height: 1.2; transition: 0.4s ease; }
header.scrolled .logo-text { color: #fff; font-size: 1.25rem; }
.logo-text span { font-size: 0.85rem; font-family: var(--font-body); font-weight: 400; color: rgba(255, 255, 255, 0.8); display: block; transition: 0.4s ease; }
header.scrolled .logo-text span { color: rgba(255, 255, 255, 0.9); font-size: 0.8rem; }

.nav-links { display: flex; gap: 32px; list-style: none; align-items: center; }
.nav-links a { text-decoration: none; color: rgba(255, 255, 255, 0.9); font-weight: 500; font-size: 0.95rem; transition: var(--transition); }
header.scrolled .nav-links a { color: #fff; }
.nav-links a:hover { color: #fff; text-shadow: 0 0 10px rgba(255,255,255,0.4); }
header.scrolled .nav-links a:hover { color: #fff; text-shadow: 0 0 10px rgba(255,255,255,0.4); }

.nav-btn {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff !important;
  padding: 10px 24px; border-radius: 50px;
  display: inline-flex; align-items: center; gap: 8px; font-weight: 600 !important;
  transition: all 0.3s ease;
}
header.scrolled .nav-btn {
  background: #fff;
  border-color: #fff;
  color: var(--secondary-color) !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.nav-btn:hover { background: #fff; color: var(--secondary-color) !important; transform: translateY(-2px); }
header.scrolled .nav-btn:hover { background: #fdfdfd; transform: translateY(-2px); }

.mobile-menu-btn { display: none; background: none; border: none; font-size: 1.5rem; cursor: pointer; color: #fff; transition: 0.4s ease; }
header.scrolled .mobile-menu-btn { color: #fff; }

/* Hero Section */
.hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 80px;
  position: relative;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: 0;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(20,15,40,0.72) 0%, rgba(30,20,50,0.60) 60%, rgba(40,30,60,0.40) 100%);
  z-index: 1;
}
.hero .container { position: relative; z-index: 2; display: flex; flex-direction: column; height: 100%; padding-top: 30px; padding-bottom: 40px; }
.hero-content { flex: 1; display: flex; flex-direction: column; justify-content: center; max-width: 700px; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.25);
  color: #fff; padding: 8px 18px; border-radius: 50px;
  font-size: 0.9rem; font-weight: 500; margin-bottom: 28px;
  width: fit-content; backdrop-filter: blur(6px);
}
.badge-dot { width: 8px; height: 8px; background: var(--secondary-color); border-radius: 50%; display: inline-block; flex-shrink: 0; }
.hero h1 { font-size: 4rem; line-height: 1.15; margin-bottom: 20px; color: #fff; font-weight: 700; }
.hero h1 .highlight { color: var(--secondary-color); font-style: italic; }
.hero p { font-size: 1.1rem; margin-bottom: 40px; font-weight: 300; color: rgba(255,255,255,0.85); max-width: 560px; }
.hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; }
.btn-hero-outline { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,0.7); padding: 14px 32px; border-radius: 50px; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: var(--transition); font-size: 1rem; }
.btn-hero-outline:hover { background: rgba(255,255,255,0.15); border-color: #fff; }

/* Hero Stats Row */
.hero-stats {
  display: flex; align-items: center; gap: 0;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,0.2);
}
.hero-stat-item { text-align: left; }
.hero-stat-item h3 { font-size: 2.4rem; font-family: var(--font-body); font-weight: 700; color: #fff; margin-bottom: 4px; }
.hero-stat-item span { font-size: 0.9rem; color: rgba(255,255,255,0.7); text-transform: uppercase; letter-spacing: 0.5px; }
.hero-stat-divider { width: 1px; height: 50px; background: rgba(255,255,255,0.25); margin: 0 40px; }

/* Legacy trust-line — hidden now */
.trust-line, .trust-icons { display: none; }

/* Welcome Section */
.welcome-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.welcome-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}
.welcome-image img {
    width: 100%;
    height: 100%;
    min-height: 400px;
    display: block;
    object-fit: cover;
}
.welcome-content p {
    font-size: 1.05rem;
    color: var(--text-muted);
    line-height: 1.7;
    margin-bottom: 16px;
}
.welcome-content p:last-of-type {
    margin-bottom: 0;
}

/* Services Grid */
/* Before & After Teaser (Homepage) */
.ba-teaser { background: var(--primary-color); }
.ba-teaser-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ba-teaser-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(224,122,95,0.12); color: var(--secondary-color); border: 1px solid rgba(224,122,95,0.3); padding: 8px 18px; border-radius: 50px; font-size: 0.88rem; font-weight: 600; margin-bottom: 20px; }
.ba-teaser-text h2 { font-size: 2.6rem; margin-bottom: 16px; line-height: 1.25; }
.ba-teaser-text p { font-size: 1.05rem; color: var(--text-muted); line-height: 1.7; }
.ba-teaser-previews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ba-preview-card { border-radius: 16px; overflow: hidden; position: relative; cursor: pointer; box-shadow: var(--shadow-md); transition: transform 0.3s ease; }
.ba-preview-card:hover { transform: translateY(-6px) scale(1.02); }
.ba-preview-card img { width: 100%; height: 160px; object-fit: cover; display: block; filter: brightness(0.9); transition: filter 0.3s ease; }
.ba-preview-card:hover img { filter: brightness(1); }
.ba-preview-card span { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,0.7)); color: #fff; text-align: center; padding: 20px 8px 10px; font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }


/* ── Services Grid ── */
.services-bg { background-color: var(--primary-color); }

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Card shell */
.service-card {
    background: var(--white);
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #F3F4F6;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}
.service-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: transparent; }

/* Image area */
.svc-img-wrap {
    position: relative;
    width: 100%;
    height: 210px;
    overflow: hidden;
    flex-shrink: 0;
}
.svc-img-wrap img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
}
.service-card:hover .svc-img-wrap img { transform: scale(1.06); }

/* Floating icon badge */
.svc-badge {
    position: absolute;
    bottom: -20px; left: 24px;
    width: 48px; height: 48px;
    background: var(--secondary-color);
    color: #fff;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2rem;
    box-shadow: 0 6px 20px rgba(224,122,95,0.4);
    z-index: 2;
}

/* Body */
.svc-body {
    padding: 36px 24px 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.svc-body h3 { font-size: 1.25rem; margin-bottom: 10px; color: var(--text-dark); }
.svc-body p  { font-size: 0.93rem; color: var(--text-muted); line-height: 1.65; flex-grow: 1; margin-bottom: 20px; }
.btn-link {
    color: var(--secondary-color);
    text-decoration: none;
    font-weight: 600; font-size: 0.92rem;
    display: inline-flex; align-items: center; gap: 6px;
    transition: gap 0.2s ease;
}
.btn-link:hover { gap: 12px; }

/* Responsive */
@media (max-width: 1024px) {
    .services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .services-grid { grid-template-columns: 1fr; }
    .svc-img-wrap { height: 180px; }
}



/* ── Doctor Cards ── */
.doctor-card {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 60px;
    align-items: center;
    background: var(--white);
    border-radius: 28px;
    padding: 48px;
    margin-bottom: 40px;
    box-shadow: var(--shadow-md);
    border: 1px solid #F3F4F6;
    transition: box-shadow 0.3s ease;
    overflow: hidden;
    position: relative;
}
.doctor-card:hover { box-shadow: var(--shadow-lg); }
.doctor-card-reverse { grid-template-columns: 1fr 380px; }
.doctor-card-reverse .doctor-photo-wrap { order: 2; }
.doctor-card-reverse .doctor-info { order: 1; }

/* Photo */
.doctor-photo-wrap {
    position: relative;
    display: flex; align-items: flex-end; justify-content: center;
    min-height: 420px;
}
.doctor-photo-bg {
    position: absolute;
    width: 320px; height: 320px;
    border-radius: 50%;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}
.kaveri-bg { background: radial-gradient(circle, rgba(224,122,95,0.15) 0%, rgba(224,122,95,0.05) 70%); }
.vivek-bg  { background: radial-gradient(circle, rgba(45,25,80,0.12)  0%, rgba(45,25,80,0.03)  70%); }

.doctor-photo {
    position: relative; z-index: 1;
    width: 100%; max-height: 400px;
    object-fit: cover; object-position: center top;
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
}
.doctor-tag {
    position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
    background: var(--secondary-color); color: #fff;
    padding: 8px 20px; border-radius: 50px;
    font-size: 0.82rem; font-weight: 600;
    white-space: nowrap; z-index: 2;
    display: flex; align-items: center; gap: 6px;
    box-shadow: 0 4px 16px rgba(224,122,95,0.4);
}

/* Info */
.doctor-name-wrap { margin-bottom: 20px; }
.doctor-name-wrap h3 { font-size: 2.2rem; color: var(--text-dark); margin-bottom: 6px; }
.doctor-degree { font-size: 0.92rem; color: var(--secondary-color); font-weight: 600; font-family: var(--font-body); }
.doctor-bio { font-size: 1rem; color: var(--text-muted); margin-bottom: 16px; line-height: 1.75; }

/* Specialty chips */
.doctor-specialties {
    display: flex; flex-wrap: wrap; gap: 10px;
    margin-bottom: 28px;
}
.doctor-specialties span {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(224,122,95,0.08); color: var(--text-dark);
    border: 1px solid rgba(224,122,95,0.2);
    padding: 6px 14px; border-radius: 50px;
    font-size: 0.85rem; font-weight: 500;
}
.doctor-specialties span i { color: var(--secondary-color); font-size: 0.75rem; }

/* Doctor stats row */
.doctor-stats {
    display: flex; gap: 32px;
    margin-bottom: 32px;
    padding: 20px 0;
    border-top: 1px solid #F3F4F6;
    border-bottom: 1px solid #F3F4F6;
}
.dr-stat h4 { font-size: 2rem; color: var(--secondary-color); font-family: var(--font-body); font-weight: 700; margin-bottom: 2px; }
.dr-stat span { font-size: 0.82rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: 500; }

/* Legacy keep for stats section */
.stats-container { display: flex; gap: 40px; margin-top: 40px; }
.stat-item h4 { font-size: 2.5rem; color: var(--secondary-color); font-family: var(--font-body); }
.stat-item span { font-size: 0.9rem; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); }

/* Doctor card mobile */
@media (max-width: 992px) {
    .doctor-card, .doctor-card-reverse { grid-template-columns: 1fr; padding: 32px 28px; gap: 32px; }
    .doctor-card-reverse .doctor-photo-wrap { order: 0; }
    .doctor-card-reverse .doctor-info { order: 0; }
    .doctor-photo-wrap { min-height: 300px; }
    .doctor-photo { max-height: 300px; }
}
@media (max-width: 480px) {
    .doctor-card { padding: 24px 16px; border-radius: 20px; margin-bottom: 24px; }
    .doctor-name-wrap h3 { font-size: 1.7rem; }
    .doctor-stats { gap: 20px; }
    .dr-stat h4 { font-size: 1.6rem; }
    .doctor-photo-wrap { min-height: 240px; }
    .doctor-photo { max-height: 240px; }
}


/* Why Choose Us */
.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align: center; }
.why-item { display: flex; flex-direction: column; align-items: center; }
.why-icon { width: 70px; height: 70px; background: var(--white); border-radius: 16px; display: flex; justify-content: center; align-items: center; font-size: 2rem; color: var(--secondary-color); box-shadow: var(--shadow-sm); margin-bottom: 20px; }
.why-item h4 { font-size: 1.2rem; margin-bottom: 10px; }

/* Testimonials */
.testimonials-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; }
.testimonial-card { background: var(--white); border-radius: 20px; padding: 30px; box-shadow: var(--shadow-sm); border: 1px solid #F3F4F6; }
.stars { color: #FBBF24; font-size: 1.2rem; margin-bottom: 15px; }
.testimonial-text { font-size: 1.05rem; font-style: italic; margin-bottom: 20px; color: var(--text-dark); }
.patient-name { font-weight: 600; font-family: var(--font-heading); color: var(--text-dark); }

/* Book Appointment */
.booking-section { background-color: var(--primary-color); }
.booking-container { background: var(--white); border-radius: 24px; box-shadow: var(--shadow-lg); overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; }
.booking-info { padding: 50px; background: linear-gradient(135deg, rgba(224, 122, 95, 0.05) 0%, rgba(224, 122, 95, 0.15) 100%); display: flex; flex-direction: column; }
.booking-info h2 { font-size: 2.4rem; margin-bottom: 15px; }
.booking-info > p { margin-bottom: 40px; font-size: 1.1rem; }
.selection-display { display: flex; gap: 20px; margin-bottom: auto; }
.selected-box { background: var(--white); padding: 15px 20px; border-radius: 12px; box-shadow: var(--shadow-sm); flex: 1; }
.selected-box span { display: block; font-size: 0.85rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 5px; }
.selected-box strong { display: block; font-size: 1.1rem; color: var(--text-dark); }
.working-hours-note { margin-top: 40px; display: flex; align-items: center; gap: 10px; font-size: 0.95rem; font-weight: 500; }

/* Interactive Calendar & Form */
.booking-interactive { padding: 50px; }
.step-title { font-size: 1.2rem; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; }
.step-title span { width: 28px; height: 28px; background: var(--secondary-color); color: white; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 0.9rem; font-weight: bold; }

.calendar-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
.calendar-header button { background: none; border: none; font-size: 1.2rem; cursor: pointer; color: var(--text-muted); transition: var(--transition); }
.calendar-header button:hover { color: var(--secondary-color); }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; text-align: center; margin-bottom: 30px; }
.day-name { font-size: 0.8rem; font-weight: 600; color: var(--text-muted); padding-bottom: 10px; }
.date-btn { aspect-ratio: 1; border-radius: 50%; border: 1px solid transparent; background: transparent; cursor: pointer; font-size: 0.95rem; font-family: var(--font-body); transition: var(--transition); }
.date-btn:hover:not(:disabled) { background: #F3F4F6; }
.date-btn.active { background: var(--secondary-color); color: white; box-shadow: var(--shadow-sm); font-weight: bold; transform: scale(1.1); }
.date-btn:disabled { color: #D1D5DB; cursor: not-allowed; }

.time-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 30px; }
.time-btn { padding: 10px 0; border: 1px solid #E5E7EB; background: white; border-radius: 8px; cursor: pointer; font-family: var(--font-body); font-size: 0.9rem; transition: var(--transition); }
.time-btn:hover:not(:disabled) { border-color: var(--secondary-color); color: var(--secondary-color); }
.time-btn.active { background: var(--secondary-color); color: white; border-color: var(--secondary-color); font-weight: 600; }
.time-btn:disabled { background: #F9FAFB; color: #9CA3AF; cursor: not-allowed; }

.booking-form { display: none; /* Shown via JS */ }
.booking-form.active { display: block; animation: fadeIn 0.4s ease-out forwards; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 500; font-size: 0.95rem; }
.form-control { width: 100%; padding: 12px 16px; border: 1px solid #D1D5DB; border-radius: 8px; font-family: var(--font-body); font-size: 1rem; transition: var(--transition); }
.form-control:focus { outline: none; border-color: var(--secondary-color); box-shadow: 0 0 0 3px rgba(224, 122, 95, 0.1); }
textarea.form-control { resize: vertical; min-height: 100px; }

/* Contact Section & Footer */
.contact-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 50px; }
.contact-info-item { display: flex; gap: 15px; margin-bottom: 30px; }
.contact-icon { width: 50px; height: 50px; background: var(--primary-color); border-radius: 50%; display: flex; justify-content: center; align-items: center; color: var(--secondary-color); font-size: 1.2rem; flex-shrink: 0; }
.map-container { width: 100%; height: 400px; border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-md); background: #eee; }
.map-container iframe { width: 100%; height: 100%; border: none; }

footer { background: #1F2937; color: #fff; padding: 60px 0 20px; }
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.footer-logo { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 700; color: #fff; margin-bottom: 15px; }
.footer-logo span { color: var(--secondary-color); }
.footer-desc { color: #9CA3AF; margin-bottom: 20px; max-width: 300px; }
.footer-title { font-size: 1.2rem; margin-bottom: 20px; font-weight: 600; }
.footer-links { list-style: none; }
.footer-links li { margin-bottom: 10px; }
.footer-links a { color: #9CA3AF; text-decoration: none; transition: var(--transition); }
.footer-links a:hover { color: var(--secondary-color); }

.footer-social { display: flex; gap: 15px; margin-top: 20px; }
.footer-social a { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,0.1); color: #fff; text-decoration: none; font-size: 1.1rem; transition: var(--transition); border: 1px solid rgba(255,255,255,0.2); }
.footer-social a:hover { background: var(--secondary-color); border-color: var(--secondary-color); transform: translateY(-3px); }

.footer-bottom { text-align: center; padding-top: 20px; border-top: 1px solid #374151; color: #9CA3AF; font-size: 0.9rem; }

/* Floating Elements */
.floating-actions { position: fixed; bottom: 30px; right: 30px; display: flex; flex-direction: column; gap: 15px; z-index: 1000; }
.action-btn { width: 60px; height: 60px; border-radius: 50%; display: flex; justify-content: center; align-items: center; color: white; text-decoration: none; font-size: 1.8rem; box-shadow: var(--shadow-lg); transition: var(--transition); border: none; cursor: pointer; }
.action-btn:hover { transform: scale(1.1); }
.btn-whatsapp { background-color: #25D366; }
.btn-chat { background-color: var(--secondary-color); }

/* Chatbot UI */
.chatbot-popup { position: fixed; bottom: 100px; right: 30px; width: 360px; background: var(--white); border-radius: 16px; box-shadow: var(--shadow-lg); border: 1px solid #E5E7EB; z-index: 999; display: flex; flex-direction: column; transform: scale(0.9) translateY(20px); opacity: 0; pointer-events: none; transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); overflow: hidden; font-family: 'Outfit', sans-serif; }
.chatbot-popup.active { transform: scale(1) translateY(0); opacity: 1; pointer-events: auto; }
.chatbot-header { background: #262940; color: white; padding: 16px 20px; display: flex; justify-content: space-between; align-items: flex-start; }
.chat-header-info { display: flex; align-items: center; gap: 12px; }
.chat-logo { width: 44px; height: 44px; background: white; border-radius: 50%; display: flex; justify-content: center; align-items: center; overflow: hidden; padding: 2px; }
.chat-logo img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.chat-title { font-weight: 600; font-size: 1.1rem; line-height: 1.2; margin-bottom: 4px; }
.chat-subtitle { font-size: 0.85rem; color: #D1D5DB; display: flex; align-items: center; gap: 6px; }
.status-dot { width: 8px; height: 8px; background: #22C55E; border-radius: 50%; display: inline-block; }
.close-chat { width: 32px; height: 32px; background: rgba(255,255,255,0.1); border-radius: 50%; border: none; color: white; font-size: 1rem; cursor: pointer; display: flex; justify-content: center; align-items: center; transition: background 0.2s; }
.close-chat:hover { background: rgba(255,255,255,0.2); }

.chat-messages { padding: 20px; height: 360px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; background: #F3F4F6; }
.message { max-width: 85%; padding: 14px 16px; border-radius: 16px; font-size: 0.95rem; line-height: 1.5; color: #1F2937; }
.msg-bot { background: white; border-bottom-left-radius: 4px; align-self: flex-start; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
.msg-user { background: #262940; color: white; border-bottom-right-radius: 4px; align-self: flex-end; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }

.chat-bullet-list { list-style: none; padding-left: 0; margin-bottom: 0; }
.chat-bullet-list li { margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.chat-bullet-list li i { width: 16px; text-align: center; color: var(--secondary-color); opacity: 0.8; }

.chat-options { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; align-self: flex-start; }
.chat-opt-btn { padding: 10px 16px; background: white; border: 1px solid #D1D5DB; color: #374151; border-radius: 50px; font-size: 0.9rem; font-weight: 500; font-family: var(--font-body); cursor: pointer; transition: all 0.2s ease; }
.chat-opt-btn:hover { border-color: #262940; color: #262940; background: #F9FAFB; }

.chat-input-area { padding: 14px; background: white; border-top: 1px solid #E5E7EB; display: flex; gap: 10px; align-items: center; }
.chat-input-area input { flex: 1; padding: 12px 16px; border: 1px solid #D1D5DB; border-radius: 50px; font-family: var(--font-body); font-size: 0.95rem; outline: none; transition: border-color 0.2s; }
.chat-input-area input:focus { border-color: #262940; }
#chatSendBtn { width: 44px; height: 44px; border-radius: 50%; background: #D93838; color: white; border: none; cursor: pointer; display: flex; justify-content: center; align-items: center; font-size: 1rem; flex-shrink: 0; transition: transform 0.2s; }
#chatSendBtn:hover { transform: scale(1.05); background: #c22f2f; }

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }

/* ════════════════════════════════════════════
   MOBILE-FIRST RESPONSIVE SYSTEM
   ════════════════════════════════════════════ */

/* ── Mobile Nav Drawer ── */
.mobile-menu-btn {
  display: none;
  background: none; border: none;
  font-size: 1.6rem; cursor: pointer;
  color: var(--text-dark); padding: 8px;
  border-radius: 8px; transition: var(--transition);
}
.mobile-menu-btn:hover { background: var(--primary-color); }

/* Overlay */
.nav-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1001; backdrop-filter: blur(2px);
}
.nav-overlay.open { display: block; }

/* Slide-in drawer */
.mobile-drawer {
  position: fixed; top: 0; right: -100%;
  width: 80%; max-width: 320px; height: 100%;
  background: #fff; z-index: 1002;
  box-shadow: -10px 0 40px rgba(0,0,0,0.15);
  transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex; flex-direction: column;
  padding: 0;
  overflow-y: auto;
}
.mobile-drawer.open { right: 0; }

.drawer-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #F3F4F6;
  background: var(--primary-color);
}
.drawer-logo { font-family: var(--font-heading); font-size: 1.2rem; font-weight: 700; color: var(--text-dark); }
.drawer-logo span { color: var(--secondary-color); }
.drawer-close { background: none; border: none; font-size: 1.4rem; cursor: pointer; color: var(--text-muted); padding: 4px; }

.drawer-links { list-style: none; padding: 16px 0; flex: 1; }
.drawer-links li a {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 24px;
  text-decoration: none; color: var(--text-dark);
  font-size: 1rem; font-weight: 500;
  border-bottom: 1px solid #F9FAFB;
  transition: var(--transition);
}
.drawer-links li a i { width: 20px; text-align: center; color: var(--secondary-color); }
.drawer-links li a:hover { background: var(--primary-color); color: var(--secondary-color); }
.drawer-links li:last-child a {
  margin: 16px 24px 0;
  background: var(--secondary-color); color: #fff;
  border-radius: 50px; justify-content: center;
  padding: 14px 24px; border: none;
}
.drawer-links li:last-child a:hover { background: #d16b50; }

.drawer-footer { padding: 20px 24px; border-top: 1px solid #F3F4F6; }
.drawer-footer p { font-size: 0.82rem; color: var(--text-muted); margin-bottom: 10px; }
.drawer-wa-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px; background: #25D366; color: #fff;
  border-radius: 12px; text-decoration: none; font-weight: 600; font-size: 0.95rem;
}

/* ── Tablet (992px) ── */
@media (max-width: 992px) {
  .hero h1 { font-size: 3rem; }
  .about-grid { grid-template-columns: 1fr; }
  .welcome-grid { grid-template-columns: 1fr; gap: 40px; }
  .welcome-image { order: 2; }
  .welcome-content { order: 1; }
  .contact-grid { grid-template-columns: 1fr; }
  .booking-container { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .ba-teaser-inner { grid-template-columns: 1fr; gap: 40px; }
  .ba-teaser-previews { grid-template-columns: repeat(3, 1fr); }
  .hero-stats { gap: 0; }
  .hero-stat-divider { margin: 0 24px; }
}

/* ── Mobile (768px) ── */
@media (max-width: 768px) {
  /* Nav */
  .nav-links { display: none; }
  .mobile-menu-btn { display: flex; align-items: center; justify-content: center; }
  .nav-container { height: 68px; }

  /* Hero */
  .hero { min-height: 100svh; padding-top: 68px; }
  .hero h1 { font-size: 2.4rem; }
  .hero-badge { font-size: 0.8rem; padding: 6px 14px; }
  .hero p { font-size: 1rem; }
  .hero-buttons { flex-direction: column; gap: 12px; }
  .hero-buttons .btn { width: 100%; justify-content: center; padding: 16px; font-size: 1rem; }
  .btn-hero-outline { width: 100%; justify-content: center; padding: 16px; }
  .hero-stats { flex-wrap: wrap; gap: 20px; padding-top: 24px; margin-top: 40px; }
  .hero-stat-divider { display: none; }
  .hero-stat-item { min-width: 80px; }
  .hero-stat-item h3 { font-size: 1.8rem; }

  /* Sections */
  .section { padding: 60px 0; }
  .section-title { font-size: 2rem; }
  .section-subtitle { font-size: 1rem; margin-bottom: 40px; }

  /* Services */
  .services-grid { grid-template-columns: 1fr; gap: 16px; }
  .service-card { padding: 24px 20px; flex-direction: row; text-align: left; align-items: flex-start; gap: 16px; }
  .service-icon { flex-shrink: 0; width: 52px; height: 52px; font-size: 1.4rem; margin-bottom: 0; }
  .service-card h3 { font-size: 1.15rem; margin-bottom: 6px; }
  .service-card p { font-size: 0.9rem; margin-bottom: 12px; }

  /* About */
  .about-grid { gap: 30px; }
  .about-images { grid-template-columns: 1fr 1fr; }
  .dr-img.img-2 { transform: translateY(20px); }
  .about-text h2 { font-size: 2rem; }
  .stats-container { gap: 20px; flex-wrap: wrap; }

  /* Why Choose */
  .why-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }

  /* Before & After Teaser */
  .ba-teaser-inner { grid-template-columns: 1fr; gap: 32px; }
  .ba-teaser-text h2 { font-size: 2rem; }
  .ba-teaser-previews { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .ba-preview-card img { height: 110px; }

  /* Booking */
  .booking-container { grid-template-columns: 1fr; border-radius: 16px; }
  .booking-info { padding: 30px 24px; }
  .booking-interactive { padding: 24px; }
  .booking-info h2 { font-size: 1.8rem; }
  .selection-display { flex-direction: row; gap: 12px; }
  .time-slots { grid-template-columns: repeat(2, 1fr); }
  .calendar-grid { gap: 3px; }
  .date-btn { font-size: 0.85rem; }

  /* Contact */
  .contact-grid { grid-template-columns: 1fr; gap: 30px; }
  .map-container { height: 260px; }

  /* Footer */
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  footer { padding: 44px 0 20px; }

  /* Floating Buttons - bigger for touch */
  .floating-actions { bottom: 24px; right: 18px; gap: 12px; }
  .action-btn { width: 56px; height: 56px; font-size: 1.6rem; }

  /* Chatbot */
  .chatbot-popup { width: calc(100% - 32px); right: 16px; bottom: 88px; border-radius: 16px; }
  .chat-messages { height: 240px; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns: 1fr; }
}

/* ── Small Mobile (480px) ── */
@media (max-width: 480px) {
  /* Layout */
  .container { padding: 0 16px; }

  /* Hero */
  .hero h1 { font-size: 2rem; }
  .hero-content { max-width: 100%; }
  .hero-badge { font-size: 0.76rem; }

  /* Services - single col, vertical */
  .service-card { flex-direction: column; align-items: center; text-align: center; }
  .service-icon { margin-bottom: 12px; }

  /* Stats */
  .stats-container { flex-direction: column; gap: 16px; }
  .stat-item h4 { font-size: 2rem; }

  /* Why */
  .why-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .why-icon { width: 56px; height: 56px; font-size: 1.6rem; }
  .why-item h4 { font-size: 1rem; }

  /* BA Teaser */
  .ba-teaser-previews { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ba-preview-card img { height: 100px; }
  .ba-preview-card:last-child { display: none; }

  /* Booking */
  .time-slots { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .selection-display { flex-direction: column; gap: 10px; }
  .booking-info { padding: 24px 16px; }
  .booking-interactive { padding: 20px 16px; }
  .calendar-grid { gap: 2px; }
  .day-name { font-size: 0.75rem; padding-bottom: 6px; }
  .date-btn { font-size: 0.8rem; height: 38px; width: 100%; aspect-ratio: auto; border-radius: 8px; }
  .time-btn { font-size: 0.85rem; padding: 10px 0; }
  .calendar-header h4 { font-size: 1.1rem; }
  .selected-box { padding: 12px 16px; }
  .selected-box strong { font-size: 1rem; }

  /* Section titles */
  .section-title { font-size: 1.8rem; }
  .section-subtitle { font-size: 0.95rem; }

  /* About */
  .about-text h2 { font-size: 1.7rem; }
  .about-images { grid-template-columns: 1fr; }
  .dr-img.img-2 { transform: none; }

  /* Footer */
  .footer-logo { font-size: 1.2rem; }
}


 / *   B o o k i n g   U X   U p g r a d e s   * / 
 
 / *   B r a n c h   C a r d s   * / 
 . b r a n c h - c a r d s   {   d i s p l a y :   g r i d ;   g r i d - t e m p l a t e - c o l u m n s :   1 f r   1 f r ;   g a p :   1 2 p x ;   } 
 . b r a n c h - c a r d   {   c u r s o r :   p o i n t e r ;   d i s p l a y :   b l o c k ;   p o s i t i o n :   r e l a t i v e ;   m a r g i n :   0 ;   } 
 . b r a n c h - c a r d   i n p u t   {   p o s i t i o n :   a b s o l u t e ;   o p a c i t y :   0 ;   c u r s o r :   p o i n t e r ;   h e i g h t :   0 ;   w i d t h :   0 ;   } 
 . b c - c o n t e n t   { 
         b a c k g r o u n d :   v a r ( - - w h i t e ) ;   b o r d e r :   2 p x   s o l i d   # E 5 E 7 E B ;   b o r d e r - r a d i u s :   1 2 p x ;   p a d d i n g :   1 6 p x   1 2 p x ; 
         t e x t - a l i g n :   c e n t e r ;   t r a n s i t i o n :   a l l   0 . 3 s   c u b i c - b e z i e r ( 0 . 4 ,   0 ,   0 . 2 ,   1 ) ; 
         d i s p l a y :   f l e x ;   f l e x - d i r e c t i o n :   c o l u m n ;   a l i g n - i t e m s :   c e n t e r ;   g a p :   8 p x ; 
 } 
 . b c - c o n t e n t   i   {   f o n t - s i z e :   1 . 4 r e m ;   c o l o r :   v a r ( - - t e x t - m u t e d ) ;   t r a n s i t i o n :   c o l o r   0 . 3 s ;   } 
 . b c - c o n t e n t   s p a n   {   f o n t - s i z e :   0 . 9 5 r e m ;   f o n t - w e i g h t :   6 0 0 ;   c o l o r :   v a r ( - - t e x t - d a r k ) ;   l i n e - h e i g h t :   1 . 2 ;   } 
 . b r a n c h - c a r d : h o v e r   . b c - c o n t e n t   {   b o r d e r - c o l o r :   # D 1 D 5 D B ;   b a c k g r o u n d :   # F 9 F A F B ;   t r a n s f o r m :   t r a n s l a t e Y ( - 2 p x ) ;   } 
 . b r a n c h - c a r d . a c t i v e   . b c - c o n t e n t   { 
         b o r d e r - c o l o r :   v a r ( - - s e c o n d a r y - c o l o r ) ;   b a c k g r o u n d :   r g b a ( 2 2 4 ,   1 2 2 ,   9 5 ,   0 . 0 5 ) ; 
         b o x - s h a d o w :   0   4 p x   1 2 p x   r g b a ( 2 2 4 ,   1 2 2 ,   9 5 ,   0 . 1 5 ) ;   t r a n s f o r m :   s c a l e ( 1 . 0 2 ) ; 
 } 
 . b r a n c h - c a r d . a c t i v e   . b c - c o n t e n t   i   {   c o l o r :   v a r ( - - s e c o n d a r y - c o l o r ) ;   } 
 
 / *   F l o a t i n g   L a b e l s   * / 
 . f o r m - f l o a t i n g   {   p o s i t i o n :   r e l a t i v e ;   m a r g i n - b o t t o m :   2 0 p x ;   } 
 . f o r m - f l o a t i n g   . f o r m - c o n t r o l   { 
         h e i g h t :   5 6 p x ;   p a d d i n g :   2 4 p x   1 6 p x   8 p x ;   f o n t - s i z e :   1 r e m ; 
         b o r d e r :   1 p x   s o l i d   # D 1 D 5 D B ;   b o r d e r - r a d i u s :   8 p x ;   b a c k g r o u n d - c o l o r :   v a r ( - - w h i t e ) ; 
         t r a n s i t i o n :   b o r d e r - c o l o r   0 . 2 s ,   b o x - s h a d o w   0 . 2 s ; 
 } 
 . f o r m - f l o a t i n g   l a b e l   { 
         p o s i t i o n :   a b s o l u t e ;   t o p :   0 ;   l e f t :   0 ;   h e i g h t :   1 0 0 % ;   p a d d i n g :   1 6 p x ; 
         p o i n t e r - e v e n t s :   n o n e ;   b o r d e r :   1 p x   s o l i d   t r a n s p a r e n t ; 
         t r a n s f o r m - o r i g i n :   0   0 ;   t r a n s i t i o n :   o p a c i t y   . 1 s   e a s e - i n - o u t ,   t r a n s f o r m   . 1 s   e a s e - i n - o u t ; 
         c o l o r :   v a r ( - - t e x t - m u t e d ) ;   f o n t - s i z e :   1 r e m ;   m a r g i n :   0 ; 
 } 
 . f o r m - f l o a t i n g   . f o r m - c o n t r o l : f o c u s ,   . f o r m - f l o a t i n g   . f o r m - c o n t r o l : n o t ( : p l a c e h o l d e r - s h o w n )   { 
         p a d d i n g - t o p :   2 4 p x ;   p a d d i n g - b o t t o m :   8 p x ; 
 } 
 . f o r m - f l o a t i n g   . f o r m - c o n t r o l : f o c u s   ~   l a b e l ,   . f o r m - f l o a t i n g   . f o r m - c o n t r o l : n o t ( : p l a c e h o l d e r - s h o w n )   ~   l a b e l   { 
         t r a n s f o r m :   s c a l e ( . 8 )   t r a n s l a t e Y ( - 0 . 7 r e m )   t r a n s l a t e X ( 0 . 1 5 r e m ) ;   c o l o r :   v a r ( - - s e c o n d a r y - c o l o r ) ;   o p a c i t y :   0 . 9 ; 
 } 
 . f o r m - f l o a t i n g   t e x t a r e a . f o r m - c o n t r o l   {   h e i g h t :   1 2 0 p x ;   p a d d i n g - t o p :   3 0 p x ;   } 
 
 / *   P o p   A n i m a t i o n s   * / 
 @ k e y f r a m e s   p o p I n   { 
         0 %   {   t r a n s f o r m :   s c a l e ( 0 . 9 5 ) ;   o p a c i t y :   0 ;   } 
         5 0 %   {   t r a n s f o r m :   s c a l e ( 1 . 0 5 ) ;   } 
         1 0 0 %   {   t r a n s f o r m :   s c a l e ( 1 ) ;   o p a c i t y :   1 ;   } 
 } 
 . t i m e - b t n . a c t i v e ,   . d a t e - b t n . a c t i v e   {   a n i m a t i o n :   p o p I n   0 . 3 s   c u b i c - b e z i e r ( 0 . 1 7 5 ,   0 . 8 8 5 ,   0 . 3 2 ,   1 . 2 7 5 )   f o r w a r d s ;   } 
 . t i m e - b t n   {   t r a n s i t i o n :   t r a n s f o r m   0 . 2 s ,   b a c k g r o u n d   0 . 2 s ,   b o r d e r - c o l o r   0 . 2 s ;   } 
 . t i m e - b t n : a c t i v e   {   t r a n s f o r m :   s c a l e ( 0 . 9 5 ) ;   } 
 
 / *   S l i d i n g   T r a n s i t i o n s   * / 
 . b o o k i n g - i n t e r a c t i v e   {   p o s i t i o n :   r e l a t i v e ;   o v e r f l o w :   h i d d e n ;   m i n - h e i g h t :   4 0 0 p x ;   d i s p l a y :   f l e x ;   a l i g n - i t e m s :   f l e x - s t a r t ;   } 
 # c a l e n d a r S e c t i o n ,   # b o o k i n g F o r m S e c t i o n   { 
         w i d t h :   1 0 0 % ;   f l e x - s h r i n k :   0 ;   t r a n s i t i o n :   t r a n s f o r m   0 . 5 s   c u b i c - b e z i e r ( 0 . 4 ,   0 ,   0 . 2 ,   1 ) ,   o p a c i t y   0 . 3 s ; 
 } 
 # c a l e n d a r S e c t i o n   {   t r a n s f o r m :   t r a n s l a t e X ( 0 ) ;   o p a c i t y :   1 ;   } 
 # c a l e n d a r S e c t i o n . s l i d e - o u t   {   t r a n s f o r m :   t r a n s l a t e X ( - 1 2 0 % ) ;   o p a c i t y :   0 ;   p o s i t i o n :   a b s o l u t e ;   } 
 
 # b o o k i n g F o r m S e c t i o n   {   t r a n s f o r m :   t r a n s l a t e X ( 1 2 0 % ) ;   o p a c i t y :   0 ;   d i s p l a y :   n o n e ;   } 
 # b o o k i n g F o r m S e c t i o n . a c t i v e   {   d i s p l a y :   b l o c k ;   t r a n s f o r m :   t r a n s l a t e X ( 0 ) ;   o p a c i t y :   1 ;   p o s i t i o n :   r e l a t i v e ;   } 
 
 / *   S u c c e s s   A n i m a t i o n   * / 
 . s u c c e s s - a n i m a t i o n   { 
         d i s p l a y :   f l e x ;   f l e x - d i r e c t i o n :   c o l u m n ;   a l i g n - i t e m s :   c e n t e r ;   j u s t i f y - c o n t e n t :   c e n t e r ; 
         p a d d i n g :   6 0 p x   2 0 p x ;   t e x t - a l i g n :   c e n t e r ;   a n i m a t i o n :   p o p I n   0 . 5 s   c u b i c - b e z i e r ( 0 . 1 7 5 ,   0 . 8 8 5 ,   0 . 3 2 ,   1 . 2 7 5 )   f o r w a r d s ; 
 } 
 . c h e c k m a r k - c i r c l e   { 
         w i d t h :   8 0 p x ;   h e i g h t :   8 0 p x ;   p o s i t i o n :   r e l a t i v e ;   d i s p l a y :   i n l i n e - b l o c k ;   v e r t i c a l - a l i g n :   t o p ;   m a r g i n - b o t t o m :   2 0 p x ; 
 } 
 . c h e c k m a r k - c i r c l e   . b a c k g r o u n d   { 
         w i d t h :   8 0 p x ;   h e i g h t :   8 0 p x ;   b o r d e r - r a d i u s :   5 0 % ;   b a c k g r o u n d :   # 2 2 C 5 5 E ;   p o s i t i o n :   a b s o l u t e ; 
 } 
 . c h e c k m a r k - c i r c l e   . c h e c k m a r k   {   b o r d e r - r a d i u s :   5 p x ;   } 
 . c h e c k m a r k - c i r c l e   . c h e c k m a r k . d r a w : a f t e r   { 
         a n i m a t i o n - d u r a t i o n :   8 0 0 m s ;   a n i m a t i o n - t i m i n g - f u n c t i o n :   e a s e ;   a n i m a t i o n - n a m e :   c h e c k m a r k ; 
         t r a n s f o r m :   s c a l e X ( - 1 )   r o t a t e ( 1 3 5 d e g ) ;   a n i m a t i o n - f i l l - m o d e :   f o r w a r d s ; 
 } 
 . c h e c k m a r k - c i r c l e   . c h e c k m a r k : a f t e r   { 
         o p a c i t y :   1 ;   h e i g h t :   4 0 p x ;   w i d t h :   2 0 p x ;   t r a n s f o r m - o r i g i n :   l e f t   t o p ;   b o r d e r - r i g h t :   4 p x   s o l i d   w h i t e ; 
         b o r d e r - t o p :   4 p x   s o l i d   w h i t e ;   c o n t e n t :   ' ' ;   l e f t :   2 0 p x ;   t o p :   4 0 p x ;   p o s i t i o n :   a b s o l u t e ; 
 } 
 @ k e y f r a m e s   c h e c k m a r k   { 
         0 %   {   h e i g h t :   0 ;   w i d t h :   0 ;   o p a c i t y :   1 ;   } 
         2 0 %   {   h e i g h t :   0 ;   w i d t h :   2 0 p x ;   o p a c i t y :   1 ;   } 
         4 0 %   {   h e i g h t :   4 0 p x ;   w i d t h :   2 0 p x ;   o p a c i t y :   1 ;   } 
         1 0 0 %   {   h e i g h t :   4 0 p x ;   w i d t h :   2 0 p x ;   o p a c i t y :   1 ;   } 
 } 
 . s u c c e s s - a n i m a t i o n   h 3   {   f o n t - s i z e :   1 . 8 r e m ;   c o l o r :   v a r ( - - t e x t - d a r k ) ;   m a r g i n - b o t t o m :   8 p x ;   } 
 . s u c c e s s - a n i m a t i o n   p   {   f o n t - s i z e :   1 r e m ;   c o l o r :   v a r ( - - t e x t - m u t e d ) ;   } 
  
 