.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-701665e:#E8644A;--e-global-color-f278c6d:#2196C4;--e-global-color-af39f85:#4CAF7D;--e-global-color-027f177:#F9A825;--e-global-color-549e1df:#1C2B3A;--e-global-color-708b3a3:#7A8EA0;--e-global-color-c4a7f6b:#F7FAFC;--e-global-typography-primary-font-family:"Nunito";--e-global-typography-primary-font-weight:900;--e-global-typography-secondary-font-family:"Nunito";--e-global-typography-secondary-font-weight:800;--e-global-typography-text-font-family:"Lato";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"DM Mono";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}/* Start custom CSS *//* ═══════════════════════════════════════════════════════════════════
   CMCC GLOBAL CSS — v4.0
   Creative Minds Child Care | Washington D.C.
   Paragraph: 14px desktop / 12px mobile
═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@700;800;900&family=Lato:ital,wght@0,400;0,700;1,400&family=DM+Mono:wght@400;500&display=swap');

/* ─────────────────────────────────────────────────────
   DESIGN TOKENS
───────────────────────────────────────────────────── */
:root {
  --cmcc-coral:        #C0392B;
  --cmcc-coral-btn:    #E8644A;
  --cmcc-coral-hover:  #C0392B;
  --cmcc-coral-light:  #FFF0EE;
  --cmcc-sky:          #1565C0;
  --cmcc-sky-mid:      #1976D2;
  --cmcc-sky-light:    #E3F2FD;
  --cmcc-leaf:         #2E7D32;
  --cmcc-leaf-mid:     #388E3C;
  --cmcc-leaf-light:   #E8F5E9;
  --cmcc-sun:          #F9A825;
  --cmcc-sun-light:    #FFF8E1;
  --cmcc-ink:          #1A2332;
  --cmcc-ink-mid:      #2D3F52;
  --cmcc-body:         #374151;
  --cmcc-muted:        #4B5563;
  --on-dark:           rgba(255,255,255,0.93);
  --on-dark-muted:     rgba(255,255,255,0.72);
  --cmcc-white:        #FFFFFF;
  --cmcc-bg:           #F5F8FA;
  --cmcc-dark:         #0F1C2B;
  --cmcc-dark-mid:     #1C2B3A;
  --cmcc-border:       #D1D9E0;
  --cmcc-border-light: #E8EEF3;
  --r-sm:  8px;
  --r-md:  14px;
  --r-lg:  20px;
  --r-xl:  26px;
  --sh-xs: 0 2px 8px  rgba(15,28,43,0.07);
  --sh-sm: 0 4px 16px rgba(15,28,43,0.10);
  --sh-md: 0 8px 32px rgba(15,28,43,0.13);
  --sh-lg: 0 16px 56px rgba(15,28,43,0.16);
  --t:     0.26s cubic-bezier(0.4,0,0.2,1);
  --tf:    0.16s ease;
}

/* ─────────────────────────────────────────────────────
   BASE
───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  line-height: 1.2;
  color: var(--cmcc-body);
  background: var(--cmcc-bg);
  -webkit-font-smoothing: antialiased;
}

.hello-elementor .site-content,
.elementor-page .entry-content,
.hello-elementor-header-footer-copyright { padding: 0 !important; margin: 0 !important; }

h1,h2,h3,h4,h5,h6 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  color: var(--cmcc-ink);
  line-height: 1.2;
  letter-spacing: -0.2px;
}

p { margin: 0 0 0.8em; color: var(--cmcc-body); font-size: 18px; }
p:last-child { margin-bottom: 0; }

a { color: var(--cmcc-sky); transition: color var(--tf); }
a:hover { color: var(--cmcc-sky-mid); }

img { max-width: 100%; height: auto; display: block; }

/* ─────────────────────────────────────────────────────
   TYPOGRAPHY SCALE
───────────────────────────────────────────────────── */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor * {
  font-size: clamp(18px, 2.2vw, 20px) !important;
  line-height: 1.5 !important;
  color: var(--cmcc-body) !important;
}

.elementor-widget-heading h1,
.elementor-widget-heading .elementor-heading-title:is(h1) {
  font-size: clamp(48px, 4.5vw, 72px) !important;
  line-height: 1.1 !important;
}

.elementor-widget-heading h2,
.elementor-widget-heading .elementor-heading-title:is(h2) {
  font-size: clamp(24px, 3.2vw, 42px) !important;
  line-height: 1.16 !important;
}

.elementor-widget-heading h3,
.elementor-widget-heading .elementor-heading-title:is(h3) {
  font-size: clamp(18px, 2.2vw, 26px) !important;
  line-height: 1.22 !important;
}

.elementor-widget-heading h4,
.elementor-widget-heading .elementor-heading-title:is(h4) {
  font-size: clamp(18px, 1.8vw, 22px) !important;
  line-height: 1.3 !important;
}

/* ─────────────────────────────────────────────────────
   ANIMATIONS
───────────────────────────────────────────────────── */
@keyframes cmcc-float {
  0%,100% { transform: translateY(0px); }
  50%     { transform: translateY(-12px); }
}

.cmcc-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.55s cubic-bezier(0.4,0,0.2,1),
              transform 0.55s cubic-bezier(0.4,0,0.2,1);
}

.cmcc-reveal.cmcc-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ─────────────────────────────────────────────────────
   RESPONSIVE CONTAINER OVERRIDES
───────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .e-con[style*="flex-direction: row"],
  .e-con[style*="flex-direction:row"] {
    flex-direction: column !important;
  }

  .e-con > .e-con[style*="flex: 1 1 50"],
  .e-con > .e-con[style*="flex: 1 1 45"],
  .e-con > .e-con[style*="flex: 1 1 55"],
  .e-con > .e-con[style*="flex: 1 1 60"],
  .e-con > .e-con[style*="flex: 1 1 40"] {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .e-con { max-width: 100% !important; overflow: hidden; }
}

@media (max-width: 1024px) {
  .e-con { padding-left: 32px !important; padding-right: 32px !important; }
}

@media (max-width: 640px) {
  .e-con { padding-left: 16px !important; padding-right: 16px !important; }
  .e-con > .e-con { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ─────────────────────────────────────────────────────
   EYEBROW
───────────────────────────────────────────────────── */
.cmcc-eyebrow {
  font-family: 'DM Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--cmcc-coral) !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}

.cmcc-eyebrow::before,
.cmcc-eyebrow::after {
  content: '';
  display: block;
  width: 16px;
  height: 1.5px;
  background: currentColor;
  border-radius: 2px;
  flex-shrink: 0;
}

/* ─────────────────────────────────────────────────────
   BADGE
───────────────────────────────────────────────────── */
.cmcc-badge-green {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: var(--cmcc-white) !important;
  border: 2px solid var(--cmcc-leaf) !important;
  border-radius: 50px !important;
  padding: 6px 14px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--cmcc-leaf) !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  box-shadow: var(--sh-sm) !important;
  width: fit-content !important;
}

/* ─────────────────────────────────────────────────────
   FLOATING CARDS
───────────────────────────────────────────────────── */
.cmcc-float-card {
  position: absolute;
  background: var(--cmcc-white);
  border-radius: var(--r-md);
  padding: 10px 14px;
  box-shadow: var(--sh-md);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--cmcc-ink);
  white-space: nowrap;
  animation: cmcc-float 3.5s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
  border: 1.5px solid var(--cmcc-border-light);
}

.cmcc-float-card small {
  display: block;
  font-weight: 400;
  color: var(--cmcc-muted);
  font-size: 10px;
  margin-top: 2px;
}

.cmcc-fc1 { top: 10%; left: -15px; animation-delay: 0s; }
.cmcc-fc2 { bottom: 12%; right: -15px; animation-delay: 1.2s; }
.cmcc-fc3 { bottom: 28%; left: 200px; animation-delay: 0.6s; }

/* ─────────────────────────────────────────────────────
   STAT BADGE
───────────────────────────────────────────────────── */
.cmcc-stat-badge {
  display: none;
  position: absolute;
  bottom: 20px;
  right: 20px;
  background: var(--cmcc-white);
  border-radius: var(--r-xl);
  padding: 16px 20px;
  box-shadow: var(--sh-md);
  text-align: center;
  min-width: 110px;
  border: 1.5px solid var(--cmcc-border-light);
  animation: cmcc-float 4s ease-in-out infinite;
}

.cmcc-stat-badge .num {
  font-family: 'Nunito', sans-serif;
  font-size: 32px;
  font-weight: 900;
  color: var(--cmcc-coral-btn);
  line-height: 1;
  display: block;
}

.cmcc-stat-badge .lbl {
  font-size: 14px;
  color: var(--cmcc-muted);
  font-weight: 700;
  margin-top: 4px;
  display: block;
}

/* ─────────────────────────────────────────────────────
   TRUST BAR
───────────────────────────────────────────────────── */
.cmcc-trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}

.cmcc-ti {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  color: var(--on-dark);
  font-size: 15px;
  font-weight: 700;
}

.cmcc-ti strong { color: var(--cmcc-sun); font-size: 16px; }

.cmcc-ti-sep {
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,0.16);
  flex-shrink: 0;
}

/* ─────────────────────────────────────────────────────
   GRIDS
───────────────────────────────────────────────────── */
.cmcc-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; width: 100%; }
.cmcc-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; width: 100%; }
.cmcc-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; width: 100%; }

/* ─────────────────────────────────────────────────────
   PROGRAM CARDS
───────────────────────────────────────────────────── */
.cmcc-prog-card {
  background: var(--cmcc-white);
  border-radius: var(--r-xl);
  padding: 24px 20px;
  text-align: center;
  border: 1.5px solid var(--cmcc-border);
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}

.cmcc-prog-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--sh-lg);
  border-color: transparent;
}

.cmcc-prog-icon {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin: 0 auto 14px;
  transition: transform var(--t);
}

.cmcc-prog-card:hover .cmcc-prog-icon { transform: scale(1.08) rotate(-3deg); }

.cmcc-prog-card h3 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 16px;
  color: var(--cmcc-ink) !important;
  margin-bottom: 5px;
}

.cmcc-age {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--cmcc-muted) !important;
  margin-bottom: 10px;
  display: block;
}

.cmcc-prog-card > p {
  font-size: 15px !important;
  color: var(--cmcc-body) !important;
  line-height: 1.72;
  margin-bottom: 16px;
  flex: 1;
}

.cmcc-prog-card a {
  font-weight: 700;
  font-size: 12px;
  text-decoration: none;
  color: var(--cmcc-sky) !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  transition: gap var(--tf), color var(--tf);
}

.cmcc-prog-card a:hover { gap: 8px; color: var(--cmcc-sky-mid) !important; }

/* ─────────────────────────────────────────────────────
   FEATURES
───────────────────────────────────────────────────── */
.cmcc-features-list { display: flex; flex-direction: column; gap: 10px; }

.cmcc-feature {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: var(--cmcc-white);
  border-radius: var(--r-md);
  padding: 16px;
  border: 1.5px solid var(--cmcc-border);
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}

.cmcc-feature:hover {
  border-color: var(--cmcc-sky-mid);
  box-shadow: var(--sh-sm);
  transform: translateX(4px);
}

.cmcc-feat-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.cmcc-feature h4 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 14px;
  color: var(--cmcc-ink) !important;
  margin-bottom: 3px;
}

.cmcc-feature p {
  font-size: 13px !important;
  color: var(--cmcc-body) !important;
  line-height: 1.68;
  margin: 0;
}

/* ─────────────────────────────────────────────────────
   LOCATION CARDS (dark bg)
───────────────────────────────────────────────────── */
.cmcc-loc-card {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--r-xl);
  padding: 24px;
  transition: background var(--t), transform var(--t), border-color var(--t);
  height: 100%;
}

.cmcc-loc-card:hover {
  background: rgba(255,255,255,0.12);
  transform: translateY(-4px);
  border-color: rgba(249,168,37,0.45);
}

.cmcc-loc-num {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--cmcc-sun);
  margin-bottom: 10px;
  display: block;
  font-weight: 500;
}

.cmcc-loc-card h3 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 18px;
  color: var(--cmcc-white) !important;
  margin-bottom: 14px;
}

.cmcc-loc-row {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
  font-size: 15px;
  color: var(--on-dark-muted);
  line-height: 1.55;
}

.cmcc-loc-row a {
  color: var(--cmcc-sun) !important;
  font-weight: 700;
  text-decoration: none;
}

.cmcc-loc-row a:hover { color: var(--cmcc-white) !important; }

/* Phone icon visibility fix on dark background */
.cmcc-loc-row img[alt="📞"] {
  filter: brightness(0) invert(1);
  opacity: 0.72;
}

.cmcc-loc-tag {
  display: inline-block;
  margin-top: 12px;
  background: rgba(249,168,37,0.15);
  border: 1px solid rgba(249,168,37,0.3);
  color: var(--cmcc-sun);
  border-radius: 50px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ─────────────────────────────────────────────────────
   TESTIMONIAL CARDS
───────────────────────────────────────────────────── */
.cmcc-tcard {
  background: var(--cmcc-white);
  border-radius: var(--r-xl);
  padding: 22px 20px;
  border: 1.5px solid var(--cmcc-border);
  transition: transform var(--t), box-shadow var(--t);
  height: 100%;
  display: flex;
  flex-direction: column;
}

.cmcc-tcard:hover { transform: translateY(-5px); box-shadow: var(--sh-md); }

.cmcc-stars { font-size: 13px; letter-spacing: 2px; margin-bottom: 12px; display: block; }

.cmcc-quote {
  font-size: 13px !important;
  color: var(--cmcc-body) !important;
  line-height: 1.75;
  margin-bottom: 16px;
  font-style: italic;
  flex: 1;
}

.cmcc-tauthor { display: flex; align-items: center; gap: 10px; margin-top: auto; }

.cmcc-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #E3F2FD, #E8F5E9);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 13px;
  color: var(--cmcc-ink-mid);
  flex-shrink: 0;
  border: 2px solid var(--cmcc-border);
}

.cmcc-tauthor strong {
  display: block;
  font-weight: 700;
  font-size: 13px;
  color: var(--cmcc-ink) !important;
}

.cmcc-tauthor small {
  font-size: 11px;
  color: var(--cmcc-muted) !important;
}

/* ─────────────────────────────────────────────────────
   RATING BANNER
───────────────────────────────────────────────────── */
.cmcc-rating-banner {
  background: var(--cmcc-sun-light);
  border: 1.5px solid rgba(249,168,37,0.3);
  border-radius: var(--r-xl);
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.cmcc-rating-num {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: clamp(36px,5vw,52px);
  color: var(--cmcc-ink);
  line-height: 1;
}

.cmcc-rating-stars { font-size: 20px; }

.cmcc-rating-label {
  font-size: 12px;
  color: var(--cmcc-muted) !important;
  font-weight: 700;
}

.cmcc-rating-sep {
  width: 1px;
  height: 60px;
  background: rgba(249,168,37,0.28);
}

.cmcc-rating-stat strong {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: clamp(30px,4vw,44px);
  color: var(--cmcc-ink);
  line-height: 1;
}

.cmcc-rating-stat span {
  font-size: 12px;
  color: var(--cmcc-muted) !important;
  font-weight: 700;
}

.cmcc-rating-quote {
  font-size: 13px !important;
  color: var(--cmcc-body) !important;
  line-height: 1.75;
  font-style: italic;
  flex: 1;
  min-width: 180px;
}

/* ─────────────────────────────────────────────────────
   VALUES GRID
───────────────────────────────────────────────────── */
.cmcc-values-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
}

.cmcc-val {
  background: var(--cmcc-bg);
  border-radius: var(--r-md);
  padding: 16px;
  border: 1.5px solid var(--cmcc-border);
  transition: all var(--t);
}

.cmcc-val:hover {
  border-color: var(--cmcc-sky-mid);
  background: var(--cmcc-sky-light);
  transform: translateY(-3px);
}

.cmcc-val span { font-size: 22px; display: block; margin-bottom: 7px; }

.cmcc-val h4 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 13px;
  margin-bottom: 4px;
  color: var(--cmcc-ink) !important;
}

.cmcc-val p {
  font-size: 12px !important;
  color: var(--cmcc-body) !important;
  line-height: 1.65;
  margin: 0;
}

/* ─────────────────────────────────────────────────────
   PROMISE CARDS
───────────────────────────────────────────────────── */
.cmcc-promise-card {
  background: var(--cmcc-white);
  border-radius: var(--r-xl);
  padding: 22px 18px;
  border: 1.5px solid var(--cmcc-border);
  text-align: center;
  transition: transform var(--t), box-shadow var(--t), border-color var(--t);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cmcc-promise-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--sh-lg);
  border-color: transparent;
}

.cmcc-promise-icon {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin: 0 auto 14px;
  transition: transform var(--t);
  flex-shrink: 0;
}

.cmcc-promise-card:hover .cmcc-promise-icon { transform: scale(1.1) rotate(3deg); }

.cmcc-promise-card h3 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 15px;
  color: var(--cmcc-ink) !important;
  margin-bottom: 7px;
}

.cmcc-promise-card p {
  font-size: 13px !important;
  color: var(--cmcc-body) !important;
  line-height: 1.7;
  margin: 0;
}

/* ─────────────────────────────────────────────────────
   STAFF
───────────────────────────────────────────────────── */
.cmcc-staff-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--cmcc-bg);
  border-radius: var(--r-md);
  padding: 16px;
  border: 1.5px solid var(--cmcc-border);
  margin-bottom: 10px;
  transition: border-color var(--t), transform var(--t);
}

.cmcc-staff-item:hover { border-color: var(--cmcc-sky-mid); transform: translateX(4px); }

.cmcc-staff-icon {
  width: 48px;
  height: 48px;
  border-radius: 13px;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--cmcc-sky-light), var(--cmcc-leaf-light));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.cmcc-staff-item h4 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 14px;
  margin-bottom: 4px;
  color: var(--cmcc-ink) !important;
}

.cmcc-staff-item p {
  font-size: 13px !important;
  color: var(--cmcc-body) !important;
  line-height: 1.68;
  margin: 0;
}

/* ─────────────────────────────────────────────────────
   STEAM GRID
───────────────────────────────────────────────────── */
.cmcc-steam-grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 14px;
  width: 100%;
}

.cmcc-steam-card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: var(--r-xl);
  padding: 22px 12px;
  text-align: center;
  transition: background var(--t), transform var(--t), border-color var(--t);
}

.cmcc-steam-card:hover {
  background: rgba(255,255,255,0.14);
  transform: translateY(-5px);
  border-color: rgba(255,255,255,0.26);
}

.cmcc-steam-icon { font-size: 30px; margin-bottom: 10px; display: block; }

.cmcc-steam-card h4 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 13px;
  color: var(--cmcc-white) !important;
  margin-bottom: 6px;
}

.cmcc-steam-card p {
  font-size: 11px !important;
  color: var(--on-dark-muted) !important;
  line-height: 1.6;
  margin: 0;
}

/* ─────────────────────────────────────────────────────
   AGE TAGS
───────────────────────────────────────────────────── */
.cmcc-age-badge {
  display: inline-block;
  border-radius: 50px;
  padding: 5px 14px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  margin-bottom: 7px;
}

.cmcc-pd-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }

.cmcc-pd-tag {
  background: var(--cmcc-bg);
  border: 1.5px solid var(--cmcc-border);
  border-radius: 50px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  color: var(--cmcc-body) !important;
  transition: all var(--tf);
}

.cmcc-pd-tag:hover {
  border-color: var(--cmcc-sky-mid);
  color: var(--cmcc-sky) !important;
  background: var(--cmcc-sky-light);
}

/* ─────────────────────────────────────────────────────
   CONTACT CARDS
───────────────────────────────────────────────────── */
.cmcc-contact-loc {
  background: var(--cmcc-white);
  border-radius: var(--r-xl);
  padding: 22px;
  border: 1.5px solid var(--cmcc-border);
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
  margin-bottom: 14px;
}

.cmcc-contact-loc:last-child { margin-bottom: 0; }

.cmcc-contact-loc:hover {
  border-color: var(--cmcc-sky-mid);
  box-shadow: var(--sh-sm);
  transform: translateX(4px);
}

.cmcc-contact-loc h3 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 15px;
  color: var(--cmcc-ink) !important;
  margin-bottom: 12px;
}

.cmcc-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 9px;
  font-size: 15px;
  color: var(--cmcc-body) !important;
  line-height: 1.55;
}

.cmcc-contact-row a {
  color: var(--cmcc-sky) !important;
  font-weight: 700;
  text-decoration: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.cmcc-contact-row a:hover { color: var(--cmcc-sky-mid) !important; text-decoration: underline; }

.cmcc-hours-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--cmcc-leaf-light);
  color: var(--cmcc-leaf) !important;
  border: 1.5px solid rgba(46,125,50,0.25);
  border-radius: 50px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  margin-top: 10px;
}

/* ─────────────────────────────────────────────────────
   ENROLLMENT STEPS
───────────────────────────────────────────────────── */
.cmcc-step {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--cmcc-border);
  margin-bottom: 18px;
}

.cmcc-step:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.cmcc-step-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  flex-shrink: 0;
  color: var(--cmcc-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 14px;
  box-shadow: var(--sh-sm);
  min-width: 36px;
}

.cmcc-step h4 {
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 14px;
  color: var(--cmcc-ink) !important;
  margin-bottom: 3px;
}

.cmcc-step p {
  font-size: 13px !important;
  color: var(--cmcc-body) !important;
  line-height: 1.65;
  margin: 0;
}

.cmcc-subsidy-note {
  background: var(--cmcc-leaf-light);
  border: 1.5px solid rgba(46,125,50,0.22);
  border-radius: var(--r-md);
  padding: 14px 18px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  color: var(--cmcc-body) !important;
  line-height: 1.65;
  margin-top: 18px;
}

.cmcc-subsidy-note > span { font-size: 20px; flex-shrink: 0; margin-top: 2px; }

.cmcc-subsidy-note strong {
  display: block;
  margin-bottom: 3px;
  color: var(--cmcc-ink);
}

.cmcc-subsidy-note p { margin: 0; }

/* ─────────────────────────────────────────────────────
   ACCORDION
───────────────────────────────────────────────────── */
.elementor-accordion .elementor-accordion-item {
  border-radius: var(--r-md) !important;
  border: 1.5px solid var(--cmcc-border) !important;
  margin-bottom: 8px !important;
  overflow: hidden !important;
  transition: border-color var(--t) !important;
}

.elementor-accordion .elementor-accordion-item:hover {
  border-color: var(--cmcc-sky-mid) !important;
}

.elementor-accordion .elementor-tab-title {
  padding: 16px 20px !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: var(--cmcc-ink) !important;
  cursor: pointer !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  line-height: 1.5 !important;
}

.elementor-accordion .elementor-tab-title.elementor-active {
  background: var(--cmcc-sky-light) !important;
  color: var(--cmcc-sky) !important;
}

.elementor-accordion .elementor-tab-content {
  padding: 14px 20px 18px !important;
  border-top: 1px solid var(--cmcc-border) !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  color: var(--cmcc-body) !important;
}

.elementor-accordion .elementor-accordion-icon { color: var(--cmcc-sky) !important; }

/* ─────────────────────────────────────────────────────
   FORMS
───────────────────────────────────────────────────── */
.elementor-form .elementor-field-label {
  font-family: 'Lato', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--cmcc-ink) !important;
  margin-bottom: 5px !important;
  display: block !important;
}

.elementor-form .elementor-field {
  border-radius: var(--r-sm) !important;
  border: 1.5px solid var(--cmcc-border) !important;
  font-family: 'Lato', sans-serif !important;
  font-size: 14px !important;
  color: var(--cmcc-ink) !important;
  padding: 11px 13px !important;
  background: var(--cmcc-white) !important;
  width: 100% !important;
  min-height: 46px !important;
  transition: border-color var(--tf), box-shadow var(--tf) !important;
}

.elementor-form .elementor-field:focus {
  border-color: var(--cmcc-sky-mid) !important;
  box-shadow: 0 0 0 3px rgba(25,118,210,0.12) !important;
  outline: none !important;
}

.elementor-form .elementor-field::placeholder { color: var(--cmcc-muted) !important; }

.elementor-form textarea.elementor-field {
  resize: vertical !important;
  min-height: 110px !important;
}

.elementor-form select.elementor-field {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  padding-right: 38px !important;
}

.elementor-form .elementor-button {
  border-radius: 50px !important;
  font-family: 'Lato', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 13px 28px !important;
  min-height: 48px !important;
  width: 100% !important;
  transition: transform var(--tf), box-shadow var(--tf) !important;
}

.elementor-form .elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(198,40,40,0.28) !important;
}

.elementor-button {
  min-height: 46px !important;
  font-size: 14px !important;
  transition: transform var(--tf), box-shadow var(--tf) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--sh-md) !important;
  color: #ffffff !important;
}

/* ─────────────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────────────── */
.cmcc-footer-logo { display: flex; align-items: center; gap: 9px; text-decoration: none; }

.cmcc-footer-icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: none !important;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.cmcc-footer-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.cmcc-footer-logo strong {
  display: block;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  font-size: 13px;
  color: var(--cmcc-white) !important;
}

.cmcc-footer-logo span {
  font-size: 9px;
  color: rgba(255,255,255,0.4);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.cmcc-footer-brand p {
  font-size: 13px !important;
  color: var(--on-dark-muted) !important;
  line-height: 1.72;
  max-width: 260px;
  margin: 12px 0 16px;
}

.cmcc-social-row { display: flex; gap: 8px; }

.cmcc-soc {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  text-decoration: none;
  min-width: 44px;
  min-height: 44px;
  transition: background var(--tf), transform var(--tf);
}

.cmcc-soc:hover {
  background: var(--cmcc-coral-btn);
  border-color: var(--cmcc-coral-btn);
  transform: translateY(-3px);
}

.cmcc-footer-col { flex: 1; min-width: 130px; }

.cmcc-footer-col h4 {
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--cmcc-sun) !important;
  margin-bottom: 16px;
  font-weight: 500;
}

.cmcc-footer-col ul { list-style: none; padding: 0; margin: 0; }
.cmcc-footer-col ul li { margin-bottom: 7px; }

.cmcc-footer-col ul li a {
  font-size: 13px;
  color: var(--on-dark-muted) !important;
  text-decoration: none;
  min-height: 36px;
  display: flex;
  align-items: center;
  transition: color var(--tf), padding-left var(--tf);
}

.cmcc-footer-col ul li a:hover {
  color: var(--cmcc-white) !important;
  padding-left: 4px;
}

.cmcc-fci {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 12px;
  color: var(--on-dark-muted) !important;
  margin-bottom: 9px;
  line-height: 1.6;
}

.cmcc-fci a { color: rgba(255,255,255,0.82) !important; text-decoration: none; }
.cmcc-fci a:hover { color: var(--cmcc-white) !important; }

.cmcc-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 20px;
}

.cmcc-footer-bottom p {
  font-size: 11px;
  color: rgba(255,255,255,0.3) !important;
  margin: 0;
}

.cmcc-footer-badges { display: flex; gap: 7px; flex-wrap: wrap; }

.cmcc-footer-badges span {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50px;
  padding: 3px 11px;
  font-size: 10px;
  color: rgba(255,255,255,0.4);
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
═══════════════════════════════════════════════════ */

/* ── 1024px — iPad landscape ── */
@media (max-width: 1024px) {
  .cmcc-grid-4 { grid-template-columns: repeat(2,1fr); }
  .cmcc-grid-3 { grid-template-columns: repeat(2,1fr); }
  .cmcc-steam-grid { grid-template-columns: repeat(3,1fr); }
  .cmcc-footer-brand, .cmcc-footer-col { flex: 1 1 45%; }
  .cmcc-footer-bottom { flex-direction: column; text-align: center; }
  .cmcc-footer-badges { justify-content: center; }
}

/* ── 768px — iPad portrait ── */
@media (max-width: 768px) {
  .cmcc-float-card { display: none !important; }
  .cmcc-stat-badge { display: none !important; }
  .cmcc-trust-bar { flex-direction: column; }
  .cmcc-ti-sep { display: none; }
  .cmcc-ti { justify-content: center; text-align: center; }
  .cmcc-grid-4, .cmcc-grid-3 { grid-template-columns: 1fr; }
  .cmcc-steam-grid { grid-template-columns: repeat(2,1fr); }
  .cmcc-values-grid { grid-template-columns: 1fr; }

  .cmcc-rating-banner {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 14px;
  }

  .cmcc-rating-sep { width: 50px; height: 1px; }

  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-text-editor * { font-size: 12px !important; }

  p { font-size: 12px; }
  .elementor-accordion .elementor-tab-title { font-size: 13px !important; }
  .elementor-accordion .elementor-tab-content { font-size: 12px !important; }

  .elementor-button-wrapper,
  .elementor-widget-button,
  .elementor-widget-button .elementor-widget-container {
    width: 100% !important;
    display: block !important;
  }

  .elementor-button-wrapper a.elementor-button,
  .elementor-widget-button a.elementor-button,
  .elementor-button {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
}

/* ── 640px — large phones ── */
@media (max-width: 640px) {
  .cmcc-grid-2 { grid-template-columns: 1fr; }
  .cmcc-footer-brand, .cmcc-footer-col { flex: 1 1 100%; }
  .cmcc-prog-card,
  .cmcc-promise-card,
  .cmcc-tcard,
  .cmcc-loc-card { padding: 18px 14px; }
  .cmcc-subsidy-note { padding: 12px 14px; }
  .elementor-accordion .elementor-tab-title { min-height: 56px !important; }
  .elementor-form .elementor-field { font-size: 14px !important; }
}

/* ── 480px — standard phones ── */
@media (max-width: 480px) {
  .cmcc-steam-grid { grid-template-columns: repeat(2,1fr); }
  .cmcc-staff-item { flex-direction: column; gap: 10px; }
  .cmcc-feature { flex-direction: column; gap: 8px; }
  .cmcc-prog-card h3 { font-size: 14px; }
  .cmcc-feature h4,
  .cmcc-step h4 { font-size: 13px; }
}

/* ── 360px — small phones ── */
@media (max-width: 360px) {
  .cmcc-steam-grid { grid-template-columns: 1fr; }
}

/* ─────────────────────────────────────────────────────
   ACCESSIBILITY
───────────────────────────────────────────────────── */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--cmcc-sky-mid) !important;
  outline-offset: 3px !important;
  border-radius: 4px !important;
}

@media (prefers-reduced-motion: reduce) {
  .cmcc-float-card,
  .cmcc-stat-badge { animation: none !important; }

  .cmcc-reveal {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ─────────────────────────────────────────────────────
   PRINT
───────────────────────────────────────────────────── */
@media print {
  .cmcc-float-card,
  .cmcc-stat-badge,
  .elementor-location-footer { display: none !important; }

  body { background: white !important; }
}








/* Fix Elementor Pro full-width mobile dropdown menu */
.elementor-location-header,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-widget-container,
.elementor-location-header .elementor-nav-menu--dropdown {
  overflow: visible !important;
}

.elementor-location-header .elementor-nav-menu--dropdown {
  z-index: 99999 !important;
}/* End custom CSS */