:root {
  --flow-navy: #082743;
  --flow-blue: #176fbd;
  --flow-coral: #ff684e;
  --flow-gold: #f3b947;
  --flow-mist: #eef7ff;
  --flow-ink: #10243a;
  --flow-shadow: 0 24px 60px rgba(8, 39, 67, .12);
}

/* Decorative pre-headings repeat the real heading and are intentionally hidden. */
.eyebrow, .badge, .hero-badge, .page-label, .topic-label, .offering-label { display: none !important; }

html { scroll-behavior: smooth; }
body { background: linear-gradient(180deg, #fff 0, #f7fbff 72%, #fff 100%) !important; color: var(--flow-ink) !important; overflow-x: hidden; }
body::before { height: 0 !important; }

header, .commerce-header, .course-player-header {
  background: rgba(255,255,255,.97) !important;
  color: var(--flow-navy) !important;
  border: 0 !important;
  box-shadow: 0 10px 35px rgba(8,39,67,.09) !important;
}

.nav, .commerce-nav {
  max-width: 1320px !important;
  min-height: 88px;
}

nav, .commerce-links {
  padding: 8px 20px;
  border-radius: 999px;
  background: #fff;
}

nav a, .nav-dropdown summary, .commerce-links a, .commerce-links .link-button {
  color: var(--flow-navy) !important;
  border-radius: 999px;
}

nav a:hover, .nav-dropdown summary:hover, .commerce-links a:hover,
nav a[aria-current="page"], nav a.active-link, .commerce-links .link-button:hover,
.commerce-links .link-button:focus-visible {
  color: var(--flow-blue) !important;
  background: var(--flow-mist) !important;
  text-decoration: none !important;
}

.dropdown-menu { border: 0 !important; border-radius: 28px 46px 30px 42px !important; box-shadow: var(--flow-shadow) !important; }

.hero, .landing-hero, .commerce-main > section:first-child, .topic-top {
  position: relative;
  isolation: isolate;
}

.hero::before, .landing-hero::before, .topic-top::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -34px -8vw -55px;
  background: linear-gradient(125deg, var(--flow-navy), #0e4779 62%, var(--flow-blue));
  border-radius: 0 0 47% 53% / 0 0 24% 21%;
}

.hero h1, .landing-hero h1, .topic-top h1 { color: #fff !important; letter-spacing: -.045em !important; }
.hero p, .landing-hero p, .topic-top p, .hero .lead { color: #dceeff !important; }
.hero .eyebrow, .landing-hero .eyebrow, .topic-label { color: #ffd37a !important; }
.hero.about-hero {
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr) !important;
  align-items: center;
}
.about-hero-visual {
  min-width: 0;
  height: clamp(360px, 38vw, 500px);
  overflow: hidden;
  border-radius: 72px 150px 82px 126px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .22);
}
.about-hero-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 42%;
}

.about-principles-grid {
  width: min(1180px, calc(100% - 48px));
  margin: 72px auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  background: linear-gradient(135deg, #edf6fd 0%, #f8fbfe 72%, #fff 100%);
  border-radius: 70px 150px 78px 126px;
  box-shadow: 0 24px 60px rgba(8,39,67,.11);
}
.about-principles-grid > .about-principle {
  width: auto;
  max-width: none;
  height: 100%;
  margin: 0;
  padding: 52px;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.about-principles-grid > .about-principle + .about-principle { border-left: 1px solid rgba(23,105,170,.2); }
.about-principles-grid .story-grid,
.about-principles-grid .values-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}

.hero-card, .logo-card, .panel, .commerce-panel, .cta-box, .offering-panel,
.story-card, .value-card, .industry-card, .setting-card, .seo-panel-inner,
.summary-item, .faq-item, .model-item, .crosswalk-item {
  border: 0 !important;
  box-shadow: var(--flow-shadow) !important;
  background: #fff !important;
  box-sizing: border-box;
  min-width: 0;
  height: auto !important;
  overflow-wrap: anywhere;
}

.hero-card, .logo-card, .commerce-panel { border-radius: 40px 70px 44px 62px !important; }
.panel, .cta-box, .offering-panel, .story-card { border-radius: 48px 32px 54px 36px !important; }
.value-card:nth-child(odd), .industry-card:nth-child(odd), .setting-card:nth-child(odd),
.seo-panel:nth-child(odd) .seo-panel-inner, .faq-item:nth-child(odd) { border-radius: 32px 54px 38px 48px !important; }
.value-card:nth-child(even), .industry-card:nth-child(even), .setting-card:nth-child(even),
.seo-panel:nth-child(even) .seo-panel-inner, .faq-item:nth-child(even) { border-radius: 54px 32px 48px 38px !important; }

.about-principles-grid .section-header { margin-bottom: 24px; }
.about-principles-grid .section-header h2 { max-width: 520px; font-size: clamp(30px, 3vw, 44px); line-height: 1.06; }
.about-principles-grid .section-header p { max-width: 560px; font-size: 18px; line-height: 1.6; }
.about-principles-grid .story-grid,
.about-principles-grid .values-grid { gap: 0 !important; }
.about-principles-grid .story-card,
.about-principles-grid .value-card {
  padding: 24px 0 !important;
  border-top: 1px solid rgba(8,39,67,.16) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.about-principles-grid .story-card h3,
.about-principles-grid .value-card h3 { margin-bottom: 10px; color: var(--flow-navy); font-size: 20px; }
.about-principles-grid .story-card p,
.about-principles-grid .value-card p { color: #4f6275; font-size: 16px; line-height: 1.65; }

.section, .catalog-section, .topic-section { position: relative; }
.section:nth-of-type(even), .catalog-section:nth-of-type(even), .topic-section:nth-of-type(even) {
  background: var(--flow-mist) !important;
  border-radius: 9vw 4vw 11vw 5vw / 4vw 8vw 5vw 9vw !important;
}

.quick-links, .course-grid, .stat-grid, .faq-grid, .seo-keyword-grid { gap: 24px !important; }
.quick-link, .topic-card, .seo-keyword-card {
  border: 0 !important;
  box-shadow: var(--flow-shadow) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
  box-sizing: border-box;
  min-width: 0;
  height: auto !important;
  overflow-wrap: anywhere;
}
.quick-link:nth-child(3n+1), .topic-card:nth-child(3n+1), .seo-keyword-card:nth-child(3n+1) { border-radius: 30px 52px 36px 46px !important; }
.quick-link:nth-child(3n+2), .topic-card:nth-child(3n+2), .seo-keyword-card:nth-child(3n+2) { border-radius: 50px 30px 46px 38px !important; }
.quick-link:nth-child(3n), .topic-card:nth-child(3n), .seo-keyword-card:nth-child(3n) { border-radius: 38px 48px 30px 52px !important; }
.quick-link:hover, .topic-card:hover, .seo-keyword-card:hover { transform: translateY(-7px) !important; }

.btn, .cta-button, .commerce-button, button[type="submit"], .purchase-course, .table-launch {
  border-radius: 999px !important;
  border: 0 !important;
  box-shadow: 0 12px 28px rgba(23,111,189,.2) !important;
}
.btn.primary, .cta-button, .commerce-button.primary, button[type="submit"] { background: var(--flow-blue) !important; color: #fff !important; }
.btn.secondary, .commerce-button.secondary { background: #fff !important; color: var(--flow-blue) !important; }

.tag, .pill, .badge, .hero-badge, .page-label, .course-count { border-radius: 999px !important; }
.course-table-wrap { border: 0 !important; border-radius: 38px 68px 42px 62px !important; box-shadow: var(--flow-shadow) !important; overflow: hidden; }
.course-catalog-table { min-width: 0 !important; }
.course-catalog-table .course-number { display: none !important; }

@media (max-width: 820px) {
  .course-table-wrap { overflow: visible !important; contain: none !important; background: transparent !important; box-shadow: none !important; }
  .catalog-section, .course-table-wrap, .course-catalog-table, .course-catalog-table tbody, .course-catalog-table tr { min-width: 0 !important; max-width: 100% !important; }
  .course-catalog-table { display: block; border-collapse: separate !important; }
  .course-catalog-table colgroup { display: none; }
  .course-catalog-table thead { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .course-catalog-table tbody, .course-catalog-table tr, .course-catalog-table th, .course-catalog-table td { display: block; width: 100% !important; }
  .course-catalog-table tbody { display: grid; gap: 18px; }
  .course-catalog-table tbody tr { overflow: hidden; border: 1px solid #cbd8e5; border-radius: 28px 44px 30px 40px; background: #fff; box-shadow: 0 10px 24px rgba(16,42,67,.08); }
  .course-catalog-table tbody th, .course-catalog-table tbody td { padding: 16px 18px !important; border-right: 0 !important; border-bottom: 1px solid #d9e2ec !important; background: #fff !important; overflow-wrap: anywhere !important; }
  .course-catalog-table tbody td:last-child { border-bottom: 0 !important; }
  .course-catalog-table tbody th::before, .course-catalog-table tbody td::before { display: block; margin-bottom: 5px; color: var(--flow-blue); font: 700 12px/1.3 Arial,Helvetica,sans-serif; letter-spacing: .04em; text-transform: uppercase; }
  .course-catalog-table tbody th::before { content: "Course"; }
  .course-catalog-table .course-name { max-width: 100%; white-space: normal !important; overflow-wrap: anywhere !important; word-break: normal !important; }
  #behavioral-health-courses .course-catalog-table td:nth-child(2)::before { content: "Category"; }
  #behavioral-health-courses .course-catalog-table td:nth-child(3)::before { content: "Availability"; }
  #free-dementia-courses .course-catalog-table td:nth-child(2)::before,
  .dementia-resources-page .course-catalog-table td:nth-child(2)::before { content: "Course overview"; }
  #free-dementia-courses .course-catalog-table td:nth-child(3)::before,
  .dementia-resources-page .course-catalog-table td:nth-child(3)::before { content: "Course link"; }
  #professional-dementia-courses .course-catalog-table td:nth-child(2)::before { content: "Course overview"; }
  #professional-dementia-courses .course-catalog-table td:nth-child(3)::before { content: "Availability"; }
}
.course-catalog-table tr:nth-child(even) { background: #f4f9fd !important; }

input, select, textarea { border-radius: 18px !important; border-color: #c8d9e8 !important; }
input:focus, select:focus, textarea:focus { border-color: var(--flow-blue) !important; box-shadow: 0 0 0 4px rgba(23,111,189,.14) !important; }

/* Local My Courses preview */
body[data-commerce-page="account"] .commerce-main { max-width: 1120px; padding-top: 64px; }
body[data-commerce-page="account"] .commerce-main:focus { outline: none; }
body[data-commerce-page="account"] .commerce-main h1 { margin-bottom: 24px; }
body[data-commerce-page="account"] .account-toolbar { margin: 0 0 34px; }
body[data-commerce-page="account"] .account-email { margin: 0; font-size: 18px; }
body[data-commerce-page="account"] .account-courses[hidden] { display: none !important; }
body[data-commerce-page="account"] .commerce-panel { margin-top: 0; padding: clamp(28px, 4vw, 46px); border: 0; border-radius: 54px 86px 58px 76px !important; }
body[data-commerce-page="account"] .commerce-panel h2 { margin: 0 0 12px; font-size: 28px; }
body[data-commerce-page="account"] .commerce-panel > p { max-width: 760px; margin: 0 0 28px; line-height: 1.6; }
body[data-commerce-page="account"] .commerce-form { display: grid; gap: 10px; }
body[data-commerce-page="account"] .commerce-form input { min-height: 54px; }
body[data-commerce-page="account"] .commerce-form .commerce-button { justify-self: start; margin-top: 12px; }
body[data-commerce-page="account"] .empty-state { margin-top: 28px; padding: 34px; border: 0; border-radius: 44px 70px 48px 62px; box-shadow: var(--flow-shadow); }
body[data-commerce-page="account"] .empty-state h2 { margin-top: 0; }

/* One header geometry for the site's shared navigation. */
header > .nav,
header > .commerce-nav {
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
  min-height: 112px !important;
  margin: 0 !important;
  padding: 10px clamp(20px, 5vw, 80px) !important;
  gap: 32px !important;
}
header > .nav > nav,
header > .commerce-nav > nav {
  margin-left: auto !important;
  padding: 13px 30px !important;
  gap: clamp(16px, 2.2vw, 38px) !important;
  flex-wrap: nowrap !important;
  box-shadow: 0 10px 35px rgba(8,39,67,.09) !important;
}
header > .nav > nav a,
header > .commerce-nav > nav a {
  min-width: 0 !important;
  padding: 0 !important;
  font-size: .94rem !important;
}

@media (max-width: 900px) {
  header > .nav,
  header > .commerce-nav { gap: 18px !important; }
  header > .nav > nav,
  header > .commerce-nav > nav { flex-wrap: wrap !important; }
}

@media (min-width: 701px) and (max-width: 1120px) {
  body[data-commerce-page="account"] header > .commerce-nav {
    flex-direction: row;
    align-items: center;
  }
  body[data-commerce-page="account"] header > .commerce-nav > nav {
    width: auto;
    min-width: 0;
    flex-wrap: wrap !important;
    justify-content: center;
    gap: 8px clamp(10px, 1.4vw, 16px) !important;
    padding: 13px 14px !important;
  }
}

@media (max-width: 700px) {
  header > .nav,
  header > .commerce-nav { padding: 12px 18px !important; }
  body[data-commerce-page="account"] header > .commerce-nav {
    align-items: center;
  }
  header > .nav > nav,
  header > .commerce-nav > nav {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    padding: 8px 12px !important;
    gap: 4px 12px !important;
  }
  body[data-commerce-page="account"] .commerce-main { padding: 38px 18px 64px; }
  body[data-commerce-page="account"] .account-toolbar { gap: 18px; margin-bottom: 28px; }
  body[data-commerce-page="account"] .commerce-panel { padding: 26px 22px; border-radius: 34px 48px 38px 44px !important; }
  body[data-commerce-page="account"] .empty-state { padding: 28px 22px; }
}

footer, .commerce-footer {
  position: relative;
  background: var(--flow-navy) !important;
  color: #fff !important;
  border-radius: 50% 50% 0 0 / 18% 18% 0 0 !important;
  padding-top: 74px !important;
}
footer p, footer a, .commerce-footer p, .commerce-footer a { color: #dceeff !important; }

@media (max-width: 800px) {
  .hero::before, .landing-hero::before, .topic-top::before { border-radius: 0 0 70px 70px !important; }
  .quick-link, .topic-card, .seo-keyword-card,
  .hero-card, .logo-card, .panel, .commerce-panel, .cta-box,
  .offering-panel, .story-card, .value-card, .industry-card,
  .setting-card, .seo-panel-inner, .faq-item { border-radius: 34px 58px 38px 52px !important; }
  footer, .commerce-footer { border-radius: 60px 60px 0 0 !important; }
  .hero.about-hero { grid-template-columns: minmax(0, 1fr) !important; }
  .about-hero-visual { height: 340px; border-radius: 40px 66px 46px 58px; }
  .about-principles-grid { width: min(100% - 32px, 680px); margin: 48px auto; grid-template-columns: minmax(0, 1fr); gap: 0; border-radius: 42px 68px 48px 58px; }
  .about-principles-grid > .about-principle { padding: 28px 24px; }
  .about-principles-grid > .about-principle + .about-principle { border-left: 0; border-top: 1px solid rgba(23,105,170,.2); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* Complete-site homepage treatment: retain every original content block. */
body:not(.commerce-page) .hero {
  max-width: none !important;
  min-height: 640px;
  padding: 58px max(5vw, 28px) 100px !important;
  grid-template-columns: minmax(410px, 1fr) minmax(450px, 1fr) !important;
  background: var(--flow-navy) !important;
  overflow: hidden;
}
body:not(.commerce-page) .hero::before {
  inset: auto -8% -80px -8% !important;
  height: 170px;
  background: #fff !important;
  border-radius: 50% 46% 0 0 / 100% 100% 0 0 !important;
  transform: rotate(-1deg);
  z-index: 4;
}
body:not(.commerce-page) .hero > div:first-child { position: relative; z-index: 6; }
body:not(.commerce-page) .hero .badge { color: #ffd37a !important; background: rgba(255,255,255,.1) !important; border-color: rgba(255,255,255,.25) !important; border-radius: 999px !important; }
body:not(.commerce-page) .hero h1 { max-width: 700px; font-size: clamp(3rem, 4.5vw, 4.8rem) !important; line-height: 1 !important; }
body:not(.commerce-page) .hero h1 span { color: #ffd06c !important; }
body:not(.commerce-page) .hero > div:first-child > p { font-size: 1.08rem !important; line-height: 1.55 !important; margin-bottom: 18px !important; }
body:not(.commerce-page) .hero .metrics { gap: 12px !important; }
body:not(.commerce-page) .hero .metric { padding: 14px !important; border: 1px solid rgba(255,255,255,.2) !important; background: rgba(255,255,255,.1) !important; border-radius: 30px 48px 34px 44px !important; }
body:not(.commerce-page) .hero .metric strong { font-size: 1.5rem !important; }
body:not(.commerce-page) .hero .metric span { font-size: .8rem !important; }
body:not(.commerce-page) .hero .metric strong, body:not(.commerce-page) .hero .metric span { color: #fff !important; }
body:not(.commerce-page) .dashboard {
  min-height: 520px;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  padding: 28px 30px 34px !important;
  border-radius: 110px 210px 125px 185px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.25);
  background: url('caregiver-hero.png') center / cover no-repeat;
}
body:not(.commerce-page) .dashboard::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 30%, rgba(8,39,67,.82)); }
body:not(.commerce-page) .dashboard .orbit { display: block !important; position: absolute; inset: 20px; border: 8px solid var(--flow-gold); border-radius: 110px 190px 120px 170px; pointer-events: none; }
body:not(.commerce-page) .dashboard .panel { width: 88%; margin: 0 !important; padding: 13px 18px !important; background: rgba(255,255,255,.94) !important; backdrop-filter: blur(10px); border-radius: 22px 40px 24px 36px !important; box-shadow: 0 14px 34px rgba(8,39,67,.18) !important; }
body:not(.commerce-page) .dashboard .panel:nth-of-type(even) { align-self: flex-end; }
body:not(.commerce-page) .dashboard .panel h3 { color: var(--flow-navy) !important; }
body:not(.commerce-page) .dashboard .panel p { margin: 0 0 5px !important; color: #536579 !important; font-size: .78rem !important; line-height: 1.4 !important; }
body:not(.commerce-page) .dashboard .pill { padding: 4px 7px !important; font-size: .65rem !important; }
body:not(.commerce-page) .dashboard .logo-panel { display: none !important; }

header .logo, header .commerce-logo, header .brand {
  width: 230px !important;
  height: auto !important;
  overflow: visible !important;
}
header .logo img, header .commerce-logo img, header .brand img,
body[data-commerce-page="account"] header .commerce-logo img {
  display: block;
  width: 230px !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain;
  transform: none !important;
}

@media (max-width: 700px) {
  header .logo, header .commerce-logo, header .brand { width: 210px !important; }
  header .logo img, header .commerce-logo img, header .brand img,
  body[data-commerce-page="account"] header .commerce-logo img { width: 210px !important; }
}

.offering-grid, .cards, .course-grid, .seo-keyword-grid { gap: 28px !important; }
.offering-panel:nth-child(odd), .course-card:nth-child(odd), .card:nth-child(odd) { border-radius: 42px 88px 48px 76px !important; }
.offering-panel:nth-child(even), .course-card:nth-child(even), .card:nth-child(even) { border-radius: 86px 42px 74px 50px !important; }
.cta, .trust, .crosswalk, .care-model, .environment-section { border: 0 !important; border-radius: 72px 150px 78px 130px !important; box-shadow: var(--flow-shadow) !important; }

@media (max-width: 900px) {
  body:not(.commerce-page) .hero { grid-template-columns: 1fr !important; }
  body:not(.commerce-page) .dashboard { min-height: 560px; border-radius: 70px 110px 76px 96px; }
}
