/* Teacher Training Portal — native Elementor (matches teacher-training-portal.html) */

body.elementor-page-293 .site-main,
body.elementor-page-293 .content-area,
body.elementor-page-293 .page-content,
body.elementor-page-293 #content,
body.elementor-page .site-main,
body.elementor-page .content-area,
body.elementor-page .page-content,
body.elementor-page #content {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
body.elementor-page-293 .entry-title,
body.elementor-page-293 .page-header,
body.elementor-page .entry-title,
body.elementor-page .page-header {
  display: none !important;
}
body.elementor-page-293:has(.cc-ttp-sec),
body.elementor-page-293:has(.cc-ttp-hero),
body.elementor-page:has(.cc-ttp-sec),
body.elementor-page:has(.cc-ttp-hero) {
  background: #F4F7F8 !important;
}

/* Stridr template — hide site header/footer when page has its own chrome */
body.elementor-page:has(.cc-ttp-pagehead) .elementor-location-header,
body.elementor-page:has(.cc-ttp-pagehead) .elementor-location-footer,
body.elementor-page:has(.cc-ttp-pagehead) header.site-header,
body.elementor-page:has(.cc-ttp-pagehead) .site-header {
  display: none !important;
}

.elementor .cc-ttp-sec.e-con {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  --navy:#0A2A3F; --navy-deep:#08202f; --teal:#12A19A; --teal-deep:#0E7C7B;
  --green:#0F9D8F; --green-ink:#0b7c71; --amber:#E39A3B; --amber-ink:#9a6512;
  --paper:#F4F7F8; --ink:#152530; --muted:#5A6C75; --line:#E2E9EB;
  --shadow:0 1px 2px rgba(10,42,63,.04),0 12px 32px rgba(10,42,63,.08);
  --shadow-lg:0 2px 6px rgba(10,42,63,.06),0 24px 60px rgba(10,42,63,.14);
  font-family: Inter, system-ui, sans-serif;
  color: var(--ink);
}

.elementor .cc-ttp-sec:not(.cc-ttp-hero):not(.cc-ttp-cta) .elementor-widget-heading .elementor-heading-title {
  color: var(--ink);
}

/* Beat Elementor kit teal on buttons */
.elementor .cc-ttp-sec .cc-ttp-btn-primary .elementor-button,
.elementor .cc-ttp-sec .cc-ttp-btn-primary .elementor-button-link {
  background-color: #0F9D8F !important;
  background-image: none !important;
}

/* ===== Utility + page header + nav submenus ===== */
.elementor .cc-ttp-utility {
  background: #08202f !important;
  color: #cfe3e6 !important;
}
.elementor .cc-ttp-utility-wrap,
.elementor .cc-ttp-utility-wrap > .e-con-inner {
  min-height: 40px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-direction: row !important;
  width: 100% !important;
}
.elementor .cc-ttp-util-brand-wrap,
.elementor .cc-ttp-util-brand-wrap > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-logo-dot,
.elementor .cc-ttp-logo-dot.e-con {
  width: 13px !important;
  min-width: 13px !important;
  height: 13px !important;
  min-height: 13px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: conic-gradient(from 200deg, #12A19A, #0F9D8F, #E39A3B) !important;
  flex: none !important;
}
.elementor .cc-ttp-util-dot { width: 12px !important; min-width: 12px !important; height: 12px !important; min-height: 12px !important; }
.elementor .cc-ttp-logo-dot > .e-con-inner { display: none !important; padding: 0 !important; }
.elementor .cc-ttp-util-brand .elementor-heading-title {
  color: #eaf4f5 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}
.elementor .cc-ttp-badge .elementor-heading-title {
  display: inline-flex !important;
  background: rgba(227,154,59,.16) !important;
  color: #f0c483 !important;
  border: 1px solid rgba(227,154,59,.4) !important;
  padding: 3px 11px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.elementor .cc-ttp-pagehead {
  background: #fff !important;
  border-bottom: 1px solid #E2E9EB !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}
.elementor .cc-ttp-pagehead-wrap,
.elementor .cc-ttp-pagehead-wrap > .e-con-inner {
  min-height: 66px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 16px !important;
  width: 100% !important;
}
.elementor .cc-ttp-logo,
.elementor .cc-ttp-logo > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-logo-mark .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: #0A2A3F !important;
}
.elementor .cc-ttp-logo-sub .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding-left: 12px !important;
  border-left: 1px solid #E2E9EB !important;
  line-height: 1.1 !important;
}
.elementor .cc-ttp-logo-sub small,
.elementor .cc-ttp-logo-sub .elementor-heading-title small {
  display: block !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 11.5px !important;
  color: #5A6C75 !important;
  font-weight: 500 !important;
}
.elementor .cc-ttp-nav,
.elementor .cc-ttp-nav > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px 14px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-nav-item {
  position: relative !important;
}
.elementor .cc-ttp-nav-trigger,
.elementor .cc-ttp-nav-trigger > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 4px !important;
  cursor: pointer !important;
}
.elementor .cc-ttp-nav-parent .elementor-button,
.elementor .cc-ttp-nav-link .elementor-button {
  background: transparent !important;
  color: #3a4c55 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 8px 4px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
.elementor .cc-ttp-nav-parent .elementor-button:hover,
.elementor .cc-ttp-nav-link .elementor-button:hover {
  color: #0b7c71 !important;
}
.elementor .cc-ttp-nav-caret .elementor-icon {
  font-size: 10px !important;
  color: #3a4c55 !important;
}
.elementor .cc-ttp-submenu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 220px !important;
  background: #fff !important;
  border: 1px solid #E2E9EB !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(10,42,63,.12) !important;
  padding: 8px !important;
  z-index: 200 !important;
  margin-top: 4px !important;
}
.elementor .cc-ttp-nav-item.has-submenu:hover .cc-ttp-submenu,
.elementor .cc-ttp-nav-item.has-submenu:focus-within .cc-ttp-submenu {
  display: flex !important;
  flex-direction: column !important;
}
.elementor .cc-ttp-nav-sublink .elementor-button {
  background: transparent !important;
  color: #3a4c55 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 8px 12px !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  width: 100% !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.elementor .cc-ttp-nav-sublink .elementor-button:hover {
  background: #f2fbfa !important;
  color: #0b7c71 !important;
}

/* ===== Hero ===== */
.elementor .cc-ttp-hero.e-con,
.elementor .cc-ttp-hero {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  color: #eaf4f5 !important;
  background-color: #08202f !important;
  background-image: none !important;
  min-height: 420px;
}
.elementor .cc-ttp-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(1100px 460px at 82% -10%, rgba(227,154,59,.2), transparent 60%),
    linear-gradient(120deg, #08202f, #0A2A3F 45%, #0E7C7B) !important;
}
.elementor .cc-ttp-hero > .e-con-inner,
.elementor .cc-ttp-hero .e-con-inner,
.elementor .cc-ttp-hero .e-con,
.elementor .cc-ttp-hero .elementor-element {
  position: relative;
  z-index: 2;
}
.elementor .cc-ttp-hero-wrap {
  width: 100% !important;
  max-width: 1140px !important;
  margin: 0 auto !important;
}
.elementor .cc-ttp-hero-grid.e-con,
.elementor .cc-ttp-hero-grid,
.elementor .cc-ttp-hero-grid.e-flex {
  display: grid !important;
  grid-template-columns: 1.15fr .85fr !important;
  gap: 44px !important;
  align-items: center !important;
  --display: grid !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-trust-grid.e-con,
.elementor .cc-ttp-trust-grid,
.elementor .cc-ttp-trust-grid.e-flex {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  --display: grid !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-benefits-grid.e-con,
.elementor .cc-ttp-benefits-grid,
.elementor .cc-ttp-benefits-grid.e-flex {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  --display: grid !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-cards.e-con,
.elementor .cc-ttp-cards,
.elementor .cc-ttp-cards.e-flex {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  --display: grid !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-cert-grid.e-con,
.elementor .cc-ttp-cert-grid,
.elementor .cc-ttp-cert-grid.e-flex {
  display: grid !important;
  grid-template-columns: .9fr 1.1fr !important;
  gap: 44px !important;
  align-items: center !important;
  --display: grid !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-steps.e-con,
.elementor .cc-ttp-steps,
.elementor .cc-ttp-steps.e-flex {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  --display: grid !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-subs.e-con,
.elementor .cc-ttp-subs,
.elementor .cc-ttp-subs.e-flex {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  --display: grid !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-trust-grid.e-con,
.elementor .cc-ttp-trust-grid,
.elementor .cc-ttp-benefits-grid.e-con,
.elementor .cc-ttp-benefits-grid,
.elementor .cc-ttp-cards.e-con,
.elementor .cc-ttp-cards,
.elementor .cc-ttp-cert-grid.e-con,
.elementor .cc-ttp-cert-grid,
.elementor .cc-ttp-steps.e-con,
.elementor .cc-ttp-steps,
.elementor .cc-ttp-subs.e-con,
.elementor .cc-ttp-subs {
  --display: grid !important;
  flex-direction: unset !important;
}
.elementor .cc-ttp-hero-grid > .e-con-inner {
  display: contents !important;
}
/* Elementor 4: grid children are direct .e-con siblings */
.elementor .cc-ttp-hero-grid > .e-con,
.elementor .cc-ttp-trust-grid > .e-con,
.elementor .cc-ttp-benefits-grid > .e-con,
.elementor .cc-ttp-cards > .e-con,
.elementor .cc-ttp-cert-grid > .e-con,
.elementor .cc-ttp-steps > .e-con,
.elementor .cc-ttp-subs > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.elementor .cc-ttp-pill-item.e-con {
  width: auto !important;
  max-width: fit-content !important;
  flex: 0 0 auto !important;
}
.elementor .cc-ttp-pills.e-flex {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  width: auto !important;
}
/* Beat Elementor kit teal on ALL page headings */
.elementor-page-293 .elementor-widget-heading .elementor-heading-title {
  color: inherit;
}
.elementor .cc-ttp-hero .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
}
.elementor .cc-ttp-hero .cc-ttp-eyebrow .elementor-heading-title {
  color: #8fd7cf !important;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px !important;
  font-weight: 600 !important;
}
.elementor .cc-ttp-hero-title .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  font-size: clamp(32px, 4.6vw, 50px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.01em;
  margin: 14px 0 16px !important;
}
.elementor .cc-ttp-hero-title .elementor-heading-title em,
.elementor .cc-ttp-hero-title .elementor-heading-title i {
  font-style: italic !important;
  color: #f2c98a !important;
}
.elementor .cc-ttp-hero-lede,
.elementor .cc-ttp-hero-lede .elementor-widget-container,
.elementor .cc-ttp-hero-lede .elementor-widget-container p {
  font-size: 18px !important;
  color: #cfe3e6 !important;
  max-width: 34em;
  line-height: 1.6 !important;
}
.elementor .cc-ttp-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 12px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-pills > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-pill-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 999px !important;
  padding: 7px 14px !important;
  width: auto !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-pill-item > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-pill-icon .elementor-icon,
.elementor .cc-ttp-pill-icon .elementor-icon-wrapper {
  font-size: 14px !important;
  color: #8fd7cf !important;
  width: auto !important;
  height: auto !important;
}
.elementor .cc-ttp-pill-text .elementor-heading-title {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #eaf4f5 !important;
  font-family: Inter, system-ui, sans-serif !important;
}
.elementor .cc-ttp-pill .elementor-heading-title {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 999px !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #eaf4f5 !important;
  font-family: Inter, system-ui, sans-serif !important;
}
.elementor .cc-ttp-hero-cta > .e-con-inner,
.elementor .cc-ttp-hero-cta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 13px !important;
  margin-top: 14px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-hero-cta > .elementor-widget,
.elementor .cc-ttp-hero-cta > .e-con {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}
.elementor .cc-ttp-pills > .e-con,
.elementor .cc-ttp-pills > .elementor-widget {
  width: auto !important;
  max-width: fit-content !important;
  flex: 0 0 auto !important;
}
.elementor .cc-ttp-cat-head > .e-con,
.elementor .cc-ttp-cat-head > .elementor-widget {
  width: auto !important;
  flex: 0 0 auto !important;
}
.elementor .cc-ttp-pcard .cc-ttp-go {
  margin-top: auto !important;
}
.elementor .cc-ttp-hero-cta > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 13px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-hero-note,
.elementor .cc-ttp-hero-note .elementor-widget-container p {
  font-size: 13px !important;
  color: #9fc3c6 !important;
  margin-top: 8px !important;
}

/* Factcard */
.elementor .cc-ttp-factcard.e-con,
.elementor .cc-ttp-factcard {
  background: rgba(255,255,255,.97) !important;
  color: #152530 !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 6px rgba(10,42,63,.06), 0 24px 60px rgba(10,42,63,.14) !important;
  padding: 24px !important;
  width: 100% !important;
  align-self: center !important;
}
.elementor .cc-ttp-factcard .cc-ttp-fact-title .elementor-heading-title {
  font-size: 12.5px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #0E7C7B !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
.elementor .cc-ttp-frow.e-con,
.elementor .cc-ttp-frow {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: baseline !important;
  padding: 10px 0 !important;
  border-bottom: 1px dashed #E2E9EB !important;
  flex-direction: row !important;
  --display: flex !important;
  width: 100% !important;
}
.elementor .cc-ttp-frow:last-of-type,
.elementor .cc-ttp-frow.cc-ttp-frow-last {
  border-bottom: none !important;
}
.elementor .cc-ttp-frow > .e-con-inner {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-fk .elementor-heading-title {
  font-size: 13px !important;
  color: #5A6C75 !important;
  font-weight: 400 !important;
}
.elementor .cc-ttp-fv .elementor-heading-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #152530 !important;
  text-align: right !important;
}
.elementor .cc-ttp-factcard .cc-ttp-btn-primary .elementor-button {
  width: 100% !important;
  margin-top: 8px !important;
}

/* Buttons */
.elementor .cc-ttp-sec .cc-ttp-btn-primary .elementor-button,
.elementor .cc-ttp-sec .cc-ttp-btn-primary .elementor-button-link {
  background: #0F9D8F !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(15,157,143,.28) !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  border: 1.5px solid transparent !important;
}
.elementor .cc-ttp-sec .cc-ttp-btn-primary .elementor-button:hover {
  background: #0b7c71 !important;
  color: #ffffff !important;
}
.elementor .cc-ttp-sec .cc-ttp-btn-ghost .elementor-button,
.elementor .cc-ttp-sec .cc-ttp-btn-ghost .elementor-button-link {
  background: rgba(255,255,255,.08) !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255,255,255,.55) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.elementor .cc-ttp-sec .cc-ttp-btn-ghost .elementor-button:hover {
  background: rgba(255,255,255,.16) !important;
  color: #ffffff !important;
}

/* Section heads */
.elementor .cc-ttp-eyebrow .elementor-heading-title {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #0E7C7B !important;
}
.elementor .cc-ttp-display .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-weight: 600 !important;
  font-size: clamp(25px, 3.3vw, 36px) !important;
  line-height: 1.08 !important;
  color: #152530 !important;
}
.elementor .cc-ttp-sec-head-text,
.elementor .cc-ttp-sec-head-text .elementor-widget-container p {
  color: #5A6C75 !important;
  font-size: 16.5px !important;
}
.elementor .cc-ttp-pcard-meta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-bottom: 10px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-pcard-meta-row > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-meta-ibox .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-meta-ibox .elementor-icon-box-icon {
  margin: 0 !important;
}
.elementor .cc-ttp-meta-ibox .elementor-icon {
  font-size: 13px !important;
  color: #0F9D8F !important;
}
.elementor .cc-ttp-meta-ibox .elementor-icon-box-title {
  font-size: 12px !important;
  color: #5A6C75 !important;
  font-weight: 400 !important;
  margin: 0 !important;
}
.elementor .cc-ttp-meta-ibox .elementor-icon-box-description {
  display: none !important;
}
.elementor .cc-ttp-sec-head {
  max-width: 54em !important;
  margin-bottom: 30px !important;
}
.elementor .cc-ttp-sec-head.center,
.elementor .cc-ttp-sec-head.cc-ttp-center {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== Trust bar ===== */
.elementor .cc-ttp-trust {
  background: #fff !important;
  border-bottom: 1px solid #E2E9EB !important;
}
.elementor .cc-ttp-trust-grid > .e-con-inner {
  display: contents !important;
}
.elementor .cc-ttp-trust-grid.e-con,
.elementor .cc-ttp-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  --display: grid !important;
  flex-direction: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-trust-grid > .e-con-inner {
  display: contents !important;
}
.elementor .cc-ttp-titem.e-con,
.elementor .cc-ttp-titem {
  padding: 20px 22px !important;
  border-left: 1px solid #E2E9EB !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-direction: row !important;
  width: 100% !important;
}
.elementor .cc-ttp-titem:first-child,
.elementor .cc-ttp-titem.cc-ttp-tfirst {
  border-left: none !important;
  padding-left: 0 !important;
}
.elementor .cc-ttp-titem > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-direction: row !important;
  width: 100% !important;
}
.elementor .cc-ttp-trust-ibox .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
}
.elementor .cc-ttp-trust-ibox .elementor-icon-box-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  background: #F4F7F8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  flex: none !important;
}
.elementor .cc-ttp-trust-ibox .elementor-icon {
  font-size: 16px !important;
  color: #0E7C7B !important;
}
.elementor .cc-ttp-trust-ibox .elementor-icon-box-title {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  color: #152530 !important;
}
.elementor .cc-ttp-trust-ibox .elementor-icon-box-description {
  font-size: 12.5px !important;
  color: #5A6C75 !important;
  margin: 0 !important;
}

/* ===== Benefits ===== */
.elementor .cc-ttp-benefits-grid.e-con,
.elementor .cc-ttp-benefits-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  --display: grid !important;
  flex-direction: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-benefits-grid > .e-con-inner {
  display: contents !important;
}
.elementor .cc-ttp-benefit.e-con,
.elementor .cc-ttp-benefit {
  background: #fff !important;
  border: 1px solid #E2E9EB !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: var(--shadow);
  width: 100% !important;
  min-width: 0 !important;
}
.elementor .cc-ttp-benefit-ibox .elementor-icon-box-wrapper {
  text-align: left !important;
}
.elementor .cc-ttp-benefit-ibox .elementor-icon-box-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 11px !important;
  background: #eef7f5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 14px !important;
}
.elementor .cc-ttp-benefit-ibox .elementor-icon {
  font-size: 18px !important;
  color: #0F9D8F !important;
}
.elementor .cc-ttp-benefit-ibox .elementor-icon-box-title {
  font-family: Fraunces, Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  color: #152530 !important;
}
.elementor .cc-ttp-benefit-ibox .elementor-icon-box-description {
  font-size: 14.5px !important;
  color: #5A6C75 !important;
}

/* ===== Programs ===== */
.elementor .cc-ttp-programs {
  background: #fff !important;
  border-top: 1px solid #E2E9EB !important;
  border-bottom: 1px solid #E2E9EB !important;
}
.elementor .cc-ttp-cat {
  margin-bottom: 34px !important;
  width: 100% !important;
}
.elementor .cc-ttp-cat-last {
  margin-bottom: 0 !important;
}
.elementor .cc-ttp-cat-head {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  margin-bottom: 16px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-cat-head > .e-con-inner {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-cic.elementor-widget-icon,
.elementor .cc-ttp-cic {
  width: 42px !important;
  height: 42px !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: none !important;
  margin: 0 !important;
}
.elementor .cc-ttp-cic .elementor-icon,
.elementor .cc-ttp-cic .elementor-icon-wrapper {
  width: 42px !important;
  height: 42px !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 16px !important;
  margin: 0 !important;
}
.elementor .cc-ttp-cic.teal .elementor-icon,
.elementor .cc-ttp-cic.teal .elementor-icon-wrapper { background: #12A19A !important; }
.elementor .cc-ttp-cic.amber .elementor-icon,
.elementor .cc-ttp-cic.amber .elementor-icon-wrapper { background: #E39A3B !important; }
.elementor .cc-ttp-cic.green .elementor-icon,
.elementor .cc-ttp-cic.green .elementor-icon-wrapper { background: #0F9D8F !important; }
.elementor .cc-ttp-cic.navy .elementor-icon,
.elementor .cc-ttp-cic.navy .elementor-icon-wrapper { background: #0A2A3F !important; }
.elementor .cc-ttp-cat-title .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #152530 !important;
}
.elementor .cc-ttp-cat-cnt,
.elementor .cc-ttp-cat-cnt .elementor-widget-container p {
  font-size: 12.5px !important;
  color: #5A6C75 !important;
}
.elementor .cc-ttp-cards.e-con,
.elementor .cc-ttp-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  --display: grid !important;
  flex-direction: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-cards > .e-con-inner {
  display: contents !important;
}
.elementor .cc-ttp-pcard.e-con,
.elementor .cc-ttp-pcard {
  background: #fff !important;
  border: 1px solid #E2E9EB !important;
  border-radius: 14px !important;
  padding: 20px !important;
  box-shadow: var(--shadow);
  display: flex !important;
  flex-direction: column !important;
  border-top: 3px solid #12A19A !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100%;
}
.elementor .cc-ttp-pcard.teal { border-top-color: #12A19A !important; }
.elementor .cc-ttp-pcard.amber { border-top-color: #E39A3B !important; }
.elementor .cc-ttp-pcard.green { border-top-color: #0F9D8F !important; }
.elementor .cc-ttp-pcard.navy { border-top-color: #0A2A3F !important; }
.elementor .cc-ttp-pcard-title .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
  color: #152530 !important;
}
.elementor .cc-ttp-pcard-text,
.elementor .cc-ttp-pcard-text .elementor-widget-container p {
  font-size: 13.5px !important;
  color: #5A6C75 !important;
  margin-bottom: 8px !important;
  flex: 1;
}
.elementor .cc-ttp-pcard-meta,
.elementor .cc-ttp-pcard-meta .elementor-widget-container p {
  font-size: 12px !important;
  color: #5A6C75 !important;
  margin-bottom: 10px !important;
}
.elementor .cc-ttp-go .elementor-button,
.elementor .cc-ttp-go .elementor-button-link {
  background: transparent !important;
  color: #0b7c71 !important;
  border: none !important;
  padding: 0 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  margin-top: auto !important;
}

/* ===== Certificate ===== */
.elementor .cc-ttp-cert-grid.e-con,
.elementor .cc-ttp-cert-grid {
  display: grid !important;
  grid-template-columns: .9fr 1.1fr !important;
  gap: 44px !important;
  align-items: center !important;
  --display: grid !important;
  flex-direction: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-cert-grid > .e-con-inner {
  display: contents !important;
}
.elementor .cc-ttp-cert-art.e-con,
.elementor .cc-ttp-cert-art {
  background: #fff !important;
  border: 1px solid #E2E9EB !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow-lg);
  padding: 26px !important;
  width: 100% !important;
}
.elementor .cc-ttp-cert-doc.e-con,
.elementor .cc-ttp-cert-doc {
  border: 2px solid #E2E9EB !important;
  border-radius: 12px !important;
  padding: 24px !important;
  text-align: center !important;
  background: linear-gradient(180deg, #fff, #fbfdfd) !important;
  width: 100% !important;
}
.elementor .cc-ttp-seal .elementor-heading-title,
.elementor .cc-ttp-seal-icon .elementor-icon,
.elementor .cc-ttp-seal-icon .elementor-icon-wrapper {
  width: 54px !important;
  height: 54px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 40% 35%, #12A19A, #0b7c71) !important;
  margin: 0 auto 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 22px !important;
}
.elementor .cc-ttp-seal-icon {
  text-align: center !important;
  margin-bottom: 12px !important;
}
.elementor .cc-ttp-cert-lbl .elementor-heading-title {
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #0E7C7B !important;
  font-weight: 700 !important;
}
.elementor .cc-ttp-cert-name .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  margin: 6px 0 !important;
  color: #152530 !important;
}
.elementor .cc-ttp-cert-rule {
  height: 1px !important;
  background: #E2E9EB !important;
  margin: 14px 0 !important;
  padding: 0 !important;
  min-height: 1px !important;
  width: 100% !important;
}
.elementor .cc-ttp-cert-awarded .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-size: 18px !important;
  color: #0A2A3F !important;
}
.elementor .cc-ttp-cert-sm,
.elementor .cc-ttp-cert-sm .elementor-widget-container p {
  font-size: 12px !important;
  color: #5A6C75 !important;
  margin-top: 8px !important;
  text-align: center !important;
}

/* ===== Steps ===== */
.elementor .cc-ttp-how {
  background: #fff !important;
  border-top: 1px solid #E2E9EB !important;
  border-bottom: 1px solid #E2E9EB !important;
}
.elementor .cc-ttp-steps.e-con,
.elementor .cc-ttp-steps {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  --display: grid !important;
  flex-direction: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-steps > .e-con-inner {
  display: contents !important;
}
.elementor .cc-ttp-step.e-con,
.elementor .cc-ttp-step {
  background: #fff !important;
  border: 1px solid #E2E9EB !important;
  border-radius: 14px !important;
  padding: 22px !important;
  box-shadow: var(--shadow);
  width: 100% !important;
  min-width: 0 !important;
}
.elementor .cc-ttp-step-n .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #fff !important;
  background: #0A2A3F !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 32px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
  text-align: center !important;
}
.elementor .cc-ttp-step-title .elementor-heading-title {
  font-size: 15.5px !important;
  font-weight: 600 !important;
  margin-bottom: 6px !important;
  color: #152530 !important;
}
.elementor .cc-ttp-step-text,
.elementor .cc-ttp-step-text .elementor-widget-container p {
  font-size: 13.5px !important;
  color: #5A6C75 !important;
}

/* ===== Pricing ===== */
.elementor .cc-ttp-subs.e-con,
.elementor .cc-ttp-subs {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  --display: grid !important;
  flex-direction: unset !important;
  width: 100% !important;
}
.elementor .cc-ttp-subs > .e-con-inner {
  display: contents !important;
}
.elementor .cc-ttp-plan.e-con,
.elementor .cc-ttp-plan {
  background: #fff !important;
  border: 1px solid #E2E9EB !important;
  border-radius: 18px !important;
  padding: 28px !important;
  box-shadow: var(--shadow);
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
}
.elementor .cc-ttp-plan.featured {
  border-color: #0F9D8F !important;
  box-shadow: 0 0 0 3px rgba(15,157,143,.35), var(--shadow-lg) !important;
}
.elementor .cc-ttp-flag .elementor-heading-title {
  position: absolute !important;
  top: -11px !important;
  right: 20px !important;
  background: #0F9D8F !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
}
.elementor .cc-ttp-plan-title .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
  color: #152530 !important;
}
.elementor .cc-ttp-plan-who,
.elementor .cc-ttp-plan-who .elementor-widget-container p {
  font-size: 13.5px !important;
  color: #5A6C75 !important;
  margin-bottom: 10px !important;
}
.elementor .cc-ttp-price .elementor-heading-title {
  display: inline-block !important;
  font-size: 14px !important;
  color: #9a6512 !important;
  background: #fdf3e5 !important;
  border: 1px solid rgba(227,154,59,.4) !important;
  border-radius: 6px !important;
  padding: 1px 7px !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-weight: 600 !important;
}
.elementor .cc-ttp-plan-list,
.elementor .cc-ttp-plan-list .elementor-widget-container,
.elementor .cc-ttp-plan-list .elementor-widget-container ul,
.elementor .cc-ttp-plan-list .elementor-widget-container li {
  list-style: none !important;
  margin: 16px 0 20px !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: #152530 !important;
}
.elementor .cc-ttp-plan-list .elementor-widget-container li {
  display: flex !important;
  gap: 9px !important;
  align-items: flex-start !important;
  margin-bottom: 10px !important;
}
.elementor .cc-ttp-plan-list .elementor-widget-container li::before {
  content: "✓" !important;
  color: #0F9D8F !important;
  font-weight: 700 !important;
  flex: none !important;
}
.elementor .cc-ttp-plan .cc-ttp-btn-primary .elementor-button {
  width: 100% !important;
}

/* ===== CTA ===== */
.elementor .cc-ttp-cta.e-con,
.elementor .cc-ttp-cta {
  background-color: #0A2A3F !important;
  background-image: none !important;
  color: #fff !important;
  text-align: center !important;
  position: relative !important;
  isolation: isolate;
}
.elementor .cc-ttp-cta::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(700px 320px at 15% 0%, rgba(227,154,59,.18), transparent 60%),
    linear-gradient(120deg, #0A2A3F, #0E7C7B) !important;
}
.elementor .cc-ttp-cta > .e-con-inner,
.elementor .cc-ttp-cta .e-con-inner,
.elementor .cc-ttp-cta .elementor-element {
  position: relative;
  z-index: 2;
}
.elementor .cc-ttp-cta .elementor-widget-heading .elementor-heading-title {
  color: #ffffff !important;
}
.elementor .cc-ttp-cta-title .elementor-heading-title {
  font-family: Fraunces, Georgia, serif !important;
  font-size: clamp(25px, 3.4vw, 36px) !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  margin-bottom: 12px !important;
}
.elementor .cc-ttp-cta-text,
.elementor .cc-ttp-cta-text .elementor-widget-container,
.elementor .cc-ttp-cta-text .elementor-widget-container p {
  color: #cfe3e6 !important;
  max-width: 44em;
  margin: 0 auto 26px !important;
  font-size: 16px !important;
}
.elementor .cc-ttp-cta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 13px !important;
  justify-content: center !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-cta-row > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 13px !important;
  justify-content: center !important;
  flex-direction: row !important;
}

/* ===== Footer ===== */
.elementor .cc-ttp-footer { background: #08202f !important; }
.elementor .cc-ttp-footer-wrap,
.elementor .cc-ttp-footer-wrap > .e-con-inner {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  flex-direction: row !important;
  width: 100% !important;
}
.elementor .cc-ttp-footer-copy,
.elementor .cc-ttp-footer-copy .elementor-widget-container p {
  font-size: 13.5px !important;
  color: #8fb0b4 !important;
  margin: 0 !important;
}
.elementor .cc-ttp-footer-links,
.elementor .cc-ttp-footer-links > .e-con-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 22px !important;
  flex-direction: row !important;
}
.elementor .cc-ttp-footer-link .elementor-button {
  background: transparent !important;
  color: #8fb0b4 !important;
  border: none !important;
  padding: 0 !important;
  font-size: 13.5px !important;
}
.elementor .cc-ttp-footer-link .elementor-button:hover { color: #cfe3e6 !important; }

.elementor .cc-ttp-hero-grid > .e-con-inner > .cc-ttp-hero-copy,
.elementor .cc-ttp-hero-grid > .e-con-inner > .cc-ttp-factcard,
.elementor .cc-ttp-hero-grid > .cc-ttp-hero-copy,
.elementor .cc-ttp-hero-grid > .cc-ttp-factcard,
.elementor .cc-ttp-benefits-grid > .e-con-inner > .cc-ttp-benefit,
.elementor .cc-ttp-benefits-grid > .cc-ttp-benefit,
.elementor .cc-ttp-cards > .e-con-inner > .cc-ttp-pcard,
.elementor .cc-ttp-cards > .cc-ttp-pcard,
.elementor .cc-ttp-steps > .e-con-inner > .cc-ttp-step,
.elementor .cc-ttp-steps > .cc-ttp-step,
.elementor .cc-ttp-subs > .e-con-inner > .cc-ttp-plan,
.elementor .cc-ttp-subs > .cc-ttp-plan,
.elementor .cc-ttp-trust-grid > .e-con-inner > .cc-ttp-titem,
.elementor .cc-ttp-trust-grid > .cc-ttp-titem {
  min-width: 0 !important;
}

@media (max-width: 960px) {
  .elementor .cc-ttp-pagehead-wrap > .e-con-inner { flex-wrap: wrap !important; }
  .elementor .cc-ttp-nav { width: 100% !important; justify-content: flex-end !important; }
  .elementor .cc-ttp-nav-item.has-submenu,
  .elementor .cc-ttp-nav-link { display: none !important; }
  .elementor .cc-ttp-nav .cc-ttp-btn-primary { display: inline-flex !important; }
  .elementor .cc-ttp-nav-item.has-submenu .cc-ttp-submenu {
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    padding-left: 12px !important;
    margin-top: 0 !important;
  }
  .elementor .cc-ttp-hero-grid,
  .elementor .cc-ttp-hero-grid.e-flex { grid-template-columns: 1fr !important; gap: 40px !important; }
  .elementor .cc-ttp-trust-grid,
  .elementor .cc-ttp-trust-grid.e-flex { grid-template-columns: 1fr 1fr !important; }
  .elementor .cc-ttp-benefits-grid,
  .elementor .cc-ttp-benefits-grid.e-flex { grid-template-columns: 1fr 1fr !important; }
  .elementor .cc-ttp-cards,
  .elementor .cc-ttp-cards.e-flex { grid-template-columns: 1fr 1fr !important; }
  .elementor .cc-ttp-cert-grid,
  .elementor .cc-ttp-cert-grid.e-flex { grid-template-columns: 1fr !important; }
  .elementor .cc-ttp-subs,
  .elementor .cc-ttp-subs.e-flex { grid-template-columns: 1fr !important; }
  .elementor .cc-ttp-steps,
  .elementor .cc-ttp-steps.e-flex { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
  .elementor .cc-ttp-trust-grid,
  .elementor .cc-ttp-trust-grid.e-flex { grid-template-columns: 1fr !important; }
  .elementor .cc-ttp-titem { border-left: none !important; padding-left: 0 !important; }
  .elementor .cc-ttp-benefits-grid,
  .elementor .cc-ttp-benefits-grid.e-flex { grid-template-columns: 1fr !important; }
  .elementor .cc-ttp-cards,
  .elementor .cc-ttp-cards.e-flex { grid-template-columns: 1fr !important; }
  .elementor .cc-ttp-steps,
  .elementor .cc-ttp-steps.e-flex { grid-template-columns: 1fr !important; }
}
