/* Homepage finish. Keep shared pages and the existing content structure intact. */
.home-page {
  --corporate-navy: #071f35;
  --corporate-navy-2: #0d2b45;
  --corporate-ink: #173341;
  --corporate-text: #526570;
  --corporate-muted: #647981;
  --corporate-surface: #f5f7f6;
  --corporate-border: #dce4e2;
  --navy: var(--corporate-navy);
  --text: var(--corporate-text);
  --muted: var(--corporate-muted);
  color: var(--corporate-ink);
}

/* Type and controls */
.home-page :is(h1, h2, h3) {
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.home-page :is(.section-head h2, .faq-section h2, .modules-intro h2) {
  font-weight: 500;
  line-height: 1.14;
}

.home-page :is(.section-kicker, .section-pill, .eyebrow, .module-phase,
  .role, .insight-category, .case-study-label, .faq-pill) {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.home-page :is(.section-head p, .feature-copy p, .founder-grid p,
  .challenge-card p, .security-grid p) {
  line-height: 1.7;
}

.home-page .button {
  min-height: 52px;
  border-radius: 0;
  font-size: 14px;
  font-weight: 600;
  transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.home-page .button .arrow-icon {
  transition: transform 180ms ease;
}

.home-page .button:hover .arrow-icon {
  transform: translate(2px, -2px);
}

.home-page :is(a, button, summary):focus-visible {
  outline: 3px solid #009c82;
  outline-offset: 5px;
}

.home-page :is(.hero, .security-section, .cta-panel, .site-footer) :focus-visible {
  outline-color: #84e4d1;
}

.home-page .button-outline {
  border-color: #bdceca;
  color: var(--corporate-ink);
}

/* An understated, fixed navigation bar */
.home-page .site-header,
.home-page .site-header.is-scrolled {
  background: #fff;
  border-bottom-color: rgb(8 31 46 / 8%);
  backdrop-filter: none;
}

.home-page .site-header.is-scrolled {
  box-shadow: none;
}

.home-page .header-inner {
  min-height: 84px;
}

.home-page .header-nav a {
  color: #425a65;
  font-size: 12px;
  font-weight: 500;
}

.home-page .button-header,
.home-page .site-header.is-scrolled .button-header {
  min-height: 46px;
  height: 46px;
  min-width: 210px;
  background: var(--corporate-navy);
  border-color: var(--corporate-navy);
  color: #fff;
  border-radius: 0;
  font-size: 13px;
}

.home-page .button-header:hover,
.home-page .button-header:focus-visible {
  background: #007d69;
  border-color: #007d69;
}

/* Solid navy, square photography, and an opaque product surface. */
.home-page .hero { padding: 150px 0 86px; background: var(--corporate-navy); }
.home-page .hero-content { gap: 64px; }
.home-page .hero-kicker { max-width: 450px; margin-bottom: 24px; color: #8ed6c9; font-size: 10px; font-weight: 500; letter-spacing: 0.13em; line-height: 1.7; }
.home-page .hero-kicker::before { display: block; width: 38px; height: 2px; margin-bottom: 22px; background: #00bb9b; content: ""; }
.home-page .hero h1 { font-size: clamp(42px, 4.05vw, 54px); font-weight: 600; line-height: 1.1; letter-spacing: -0.035em; }
.home-page .hero-copy .hero-lead { margin-top: 26px; color: #bcccd2; font-size: 17px; line-height: 1.75; }
.home-page .hero-actions { margin-top: 34px; }
.home-page .hero .button-primary { min-height: 54px; padding-inline: 25px; background: #00bb9b; box-shadow: none; }
.home-page .hero .button-primary:hover { background: #29c9ac; box-shadow: none; }
.home-page .hero-funding { min-height: 70px; gap: 16px; margin-top: 34px; padding: 8px 16px; border: 1px solid rgb(255 255 255 / 16%); border-radius: 0; box-shadow: none; }
.home-page .hero-funding span { font-size: 10px; font-weight: 500; }
.home-page .hero-funding img { height: 52px; }
.home-page .hero-funding img:first-of-type { width: 124px; }
.home-page .hero-funding img:last-of-type { width: 64px; }
.home-page .hero-media { padding: 14px 14px 20px; }
.home-page .hero-media::before { inset: 0 0 6px 28%; border: 1px solid rgb(111 211 187 / 38%); border-radius: 0; background: none; display: none; }
.home-page .hero-photo-frame { border: 1px solid rgb(255 255 255 / 16%); border-radius: 0; box-shadow: none; }
.home-page .hero-photo-frame::after { background: none; }
.home-page .hero-photo-frame img { filter: saturate(0.84) contrast(1.02); }
.home-page .hero-capability-panel { bottom: 44px; left: -22px; border: 1px solid rgb(255 255 255 / 80%); border-top: 2px solid #00bb9b; border-radius: 0; background: #fff; box-shadow: none; backdrop-filter: none; }
.home-page .hero-worklist-head { padding: 15px 17px; background: #102d3b; }
.home-page .hero-worklist-head small { color: #b0c2ca; }
.home-page .hero-worklist-row { padding: 12px 17px; border-bottom: 1px solid #e1e8e5; background: transparent; }
.home-page .hero-worklist-row:last-child { border-bottom: 0; }
.home-page .hero-worklist-row.is-prioritized { background: #fbf5e6; }

/* Evidence and testimonial */
.home-page .facts-section { padding: 76px 0 64px; }
.home-page .facts-head h2 { font-size: 32px; }
.home-page .coding-proof { margin-top: 30px; padding: 22px 26px; border-color: #d7e8e2; border-radius: 0; background: #f3f7f5; }
.home-page .coding-proof-seal { border: 1px solid #cee2d9; border-radius: 0; background: #e7f2eb; color: #007d69; }
.home-page .coding-proof h3 { font-size: 19px; font-weight: 500; }
.home-page .coding-proof-message p { margin-top: 7px; }
.home-page .facts-grid { margin-top: 44px; }
.home-page .fact-metric { padding-top: 4px; border-top: 1px solid var(--corporate-border); }
.home-page .fact-metric strong { margin-top: 26px; font-size: clamp(38px, 4.2vw, 56px); font-weight: 500; letter-spacing: -0.055em; font-variant-numeric: lining-nums; }
.home-page .fact-metric span { margin-top: 12px; font-size: 13px; }
.home-page .kis-panel { margin-top: 52px; }
.home-page .kis-panel h3 { font-size: 10px; letter-spacing: 0.13em; }
.home-page .kis-track { animation-duration: 45s; }
.home-page .kis-carousel:hover .kis-track { animation-play-state: paused; }

.home-page .success-section {
  padding: 100px 0 112px;
  border-top: 1px solid #e7ece9;
  background: #f7f8f5;
}

.home-page .video-frame {
  border-color: rgb(8 31 46 / 10%);
  border-radius: 0;
  box-shadow: none;
}

.home-page .video-placeholder img { opacity: 1; }

.home-page .play-button {
  width: 68px;
  height: 68px;
  background: var(--corporate-navy);
  box-shadow: none;
  backdrop-filter: none;
}

.home-page .success-copy blockquote,
.home-page .success-section-compact .success-copy blockquote {
  margin-top: 22px;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.5;
}

.home-page .success-copy p { margin-top: 24px; font-size: 12px; }
.home-page .success-copy .button { margin-top: 26px; }

/* Existing challenge and product layouts, with quieter surfaces */
.home-page .challenges-section {
  padding: 104px 0;
  background: var(--corporate-navy);
}

.home-page .challenges-section::before { height: 2px; width: 76px; }
.home-page .challenge-content .section-head h2 { font-weight: 500; }
.home-page .challenge-content .section-head,
.home-page .insights-toolbar .section-head { width: 100%; margin: 0; }
.home-page .challenge-content .challenge-grid { margin-top: 44px; }
.home-page .challenge-content .challenge-card { background: transparent; }
.home-page .challenge-content .challenge-card::before { font-size: 38px; color: #4a6974; }
.home-page .challenge-content .challenge-card h3 { font-size: 20px; font-weight: 500; }
.home-page .challenge-content .challenge-card p { color: #b8c9cf; line-height: 1.7; }

.home-page .product-section { padding: 112px 0; }
.home-page .product-intro h2 { font-size: 48px; }
.home-page .product-intro p { max-width: 810px; font-size: 17px; line-height: 1.8; }
.home-page .feature-list { margin-top: 76px; }
.home-page .feature-row { gap: 88px; margin-bottom: 88px; }
.home-page .feature-row:last-child { margin-bottom: 0; }
.home-page .feature-copy h3 { font-size: 38px; font-weight: 500; line-height: 1.2; }
.home-page .feature-copy p { font-size: 16px; }

.home-page .feature-visual {
  padding: 28px;
  border: 1px solid #dce7e3;
  border-radius: 0;
  background: #f3f5f5;
  box-shadow: none;
}

.home-page :is(.mock-window, .scenario-card, .audit-card, .stay-card) {
  border-color: #d8e2df;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.home-page .gain-row { border-radius: 0; }
.home-page .audit-warning { border-color: #ead8ae; background: #fffbf1; }
.home-page .code-grid-highlight { background: #fcf7e9; }

/* Platform extensions */
.home-page .modules-section {
  padding: 76px 0 56px;
  background: #f4f7f5;
}

.home-page .modules-inner { border-top: 1px solid #bdcfc7; }
.home-page .modules-intro { padding: 26px 0 34px; }
.home-page .modules-intro p { font-size: 14px; line-height: 1.7; }
.home-page .modules-showcase { gap: 24px; }

.home-page .module-card,
.home-page .module-card + .module-card {
  padding: 28px;
  border-color: #dce5e0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.home-page .module-copy h3 { margin: 10px 0; font-weight: 500; }
.home-page .module-copy p { line-height: 1.65; }
.home-page .module-visual { border-color: #dce5e0; border-radius: 0; box-shadow: none; }
.home-page .compact-toolbar { background: #133441; }
.home-page .compact-toolbar span { letter-spacing: 0.07em; }
.home-page .modules-outlook { gap: 18px; margin-top: 22px; padding-top: 14px; opacity: 1; }
.home-page .modules-outlook > span { color: #5b7068; font-size: 9px; letter-spacing: 0.07em; }
.home-page .modules-outlook-list > span { color: #607369; }

/* Security, people and editorial content */
.home-page .security-section {
  padding: 100px 0;
  background: var(--corporate-navy);
}

.home-page .security-grid h3 { font-size: 24px; font-weight: 500; }
.home-page .security-grid article:hover { background: transparent; }

.home-page .round-icon {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #88dbc9;
}

.home-page .founders-section { padding: 108px 0 90px; }
.home-page .founder-grid { gap: 56px; margin-top: 56px; }
.home-page .founder-grid img { border-radius: 0; filter: saturate(0.8); }
.home-page .founder-grid h3 { font-size: 23px; font-weight: 500; line-height: 1.25; }
.home-page .founder-grid p { font-size: 14px; }
.home-page .partner-row { margin-top: 66px; padding-top: 34px; border-top: 1px solid #e5ebe8; opacity: 0.58; }
.home-page .insights-section { padding: 100px 0; background: #f5f7f6; }
.home-page .insight-controls { gap: 10px; }
.home-page .section-pill { padding: 0; min-height: 0; border-radius: 0; background: transparent; color: #007d69; }
.home-page .insight-controls button { border-radius: 0; background: transparent; }
.home-page .insight-card img { border: 0; border-radius: 0; }
.home-page .insight-card h3 { margin-top: 12px; font-size: 21px; font-weight: 500; line-height: 1.4; }
.home-page .insight-card a:focus-visible { display: block; outline-offset: -3px; border-radius: 0; }
.home-page .insight-card a:hover h3 { color: #007d69; }

/* Closing invitation and quiet FAQ rows */
.home-page .cta-section { padding: 88px 0 24px; }
.home-page .cta-panel { padding: 64px 54px; border: 1px solid #294b4d; border-radius: 0; background: var(--corporate-navy); box-shadow: none; }
.home-page .cta-panel::before { width: 2px; background: #00bb9b; }
.home-page .cta-panel h2 { font-size: 40px; font-weight: 500; line-height: 1.15; }
.home-page .cta-panel p { font-size: 15px; line-height: 1.75; }
.home-page .cta-panel .button-light { background: #f4faf7; color: #102d35; }
.home-page .cta-panel .button-light:hover { background: #dcefe7; }
.home-page .faq-section { padding: 84px 0 108px; }
.home-page .faq-list summary { min-height: 80px; padding-inline: 0 36px; font-size: 16px; font-weight: 500; }
.home-page .faq-list summary::after { border-color: #007d69; }
.home-page .faq-list details[open] { background: #f6f9f7; }
.home-page .faq-list details[open] summary { padding-inline: 18px 36px; }
.home-page .faq-list p { padding-inline: 18px; line-height: 1.75; }
.home-page .site-footer { padding-block: 38px; background: #081b28; }
.home-page .site-footer nav { font-size: 12px; }

/* Flatten the inherited decorative treatments in the product illustrations. */
.home-page .care-path-option.is-aop { background: #eef5f8; }
.home-page .care-path-option.is-recommended { background: #e4f3ed; }
.home-page .care-path-option.is-inpatient { background: #f0f2f6; }
.home-page .care-path-option,
.home-page .care-path-option.is-recommended,
.home-page .letter-document {
  border-radius: 0;
  box-shadow: none;
}

.home-page .security-grid article:hover .round-icon {
  transform: none;
  background: transparent;
}

/* Keep tablet grids comfortable without changing their reading order. */
@media (min-width: 901px) and (max-width: 1120px) {
  .home-page .hero-content { grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 44px; }
  .home-page .hero h1 { font-size: 42px; }
  .home-page .hero-copy .hero-lead { font-size: 16px; }
  .home-page .feature-row { gap: 40px; }
}

@media (max-width: 1000px) {
  .home-page .faq-section { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 14px 36px; }
  .home-page .cta-panel { gap: 26px; padding: 44px 32px; }
  .home-page .cta-panel h2 { font-size: 32px; }
}

@media (max-width: 900px) {
  .home-page .hero { padding: 126px 0 70px; }
  .home-page .hero-content { gap: 44px; }
  .home-page .hero h1 { font-size: 48px; }
  .home-page .hero-media { max-width: 620px; }
  .home-page .module-card,
  .home-page .module-card + .module-card { gap: 22px; padding: 24px; }
}

@media (max-width: 760px) {
  .home-page .fact-metric,
  .home-page .fact-metric:first-child { padding: 24px 0; }
  .home-page .fact-metric strong { margin-top: 0; }
  .home-page .success-copy blockquote,
  .home-page .success-section-compact .success-copy blockquote { max-width: 580px; }
  .home-page .feature-row { gap: 30px; }
  .home-page .faq-section { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .home-page .cta-panel { gap: 26px; }
  .home-page .security-grid h3 { font-size: 24px; }
}

@media (max-width: 640px) {
  .home-page .hero { padding: 100px 0 54px; }
  .home-page .hero-content { gap: 28px; }
  .home-page .hero-media { width: calc(100% - 8px); padding: 7px 8px 10px; }
  .home-page .hero-media::before { border-radius: 0; }
  .home-page .hero-photo-frame { border-radius: 0; }
  .home-page .hero-kicker { margin-bottom: 17px; font-size: 9px; line-height: 1.65; letter-spacing: 0.1em; }
  .home-page .hero-kicker::before { display: none; }
  .home-page .hero h1 { max-width: 100%; font-size: clamp(29px, 8.6vw, 44px); line-height: 1.12; }
  .home-page .hero-copy .hero-lead { margin-top: 22px; font-size: 15px; line-height: 1.75; }
  .home-page .hero-actions { margin-top: 26px; }
  .home-page .hero-funding { min-height: 0; gap: 8px; padding: 8px 11px; margin-top: 26px; }
  .home-page .hero-funding img { height: 44px; }
  .home-page .hero-funding img:first-of-type { width: 100px; }
  .home-page .hero-funding img:last-of-type { width: 48px; }
  .home-page .header-inner { min-height: 74px; }
  .home-page .button-header,
  .home-page .site-header.is-scrolled .button-header { width: 150px; min-width: 150px; font-size: 12px; }
  .home-page :is(.facts-section, .success-section, .challenges-section, .product-section,
    .security-section, .founders-section, .insights-section) { padding: 66px 0; }
  .home-page :is(.section-head h2, .product-intro h2, .faq-section h2,
    .success-section-compact .section-head h2, .challenge-content .section-head h2,
    .insights-toolbar .section-head h2) { font-size: 30px; line-height: 1.16; }
  .home-page .facts-head h2 { font-size: 27px; }
  .home-page .coding-proof { padding: 18px 16px; align-items: flex-start; }
  .home-page .coding-proof h3 { font-size: 16px; line-height: 1.4; }
  .home-page .coding-proof-message p { font-size: 12px; line-height: 1.6; }
  .home-page .facts-grid { margin-top: 30px; }
  .home-page .fact-metric strong { font-size: 44px; }
  .home-page .fact-metric span { margin-top: 8px; }
  .home-page .kis-panel { margin-top: 28px; }
  .home-page .success-layout { margin-top: 30px; gap: 30px; }
  .home-page .success-copy blockquote,
  .home-page .success-section-compact .success-copy blockquote { font-size: 23px; }
  .home-page .challenge-content .challenge-card h3 { font-size: 20px; }
  .home-page .product-intro p { margin-top: 20px; font-size: 15px; line-height: 1.75; }
  .home-page .feature-list { margin-top: 48px; }
  .home-page .feature-row { margin-bottom: 54px; gap: 26px; }
  .home-page .feature-copy h3 { margin-top: 12px; font-size: 29px; overflow-wrap: anywhere; }
  .home-page .feature-copy p { font-size: 15px; }
  .home-page .feature-visual { padding: 14px; border-radius: 0; }
  .home-page .modules-section { padding: 40px 0 32px; }
  .home-page .modules-intro { padding: 20px 0 24px; }
  .home-page .modules-intro h2 { font-size: 28px; line-height: 1.16; }
  .home-page .modules-intro p { font-size: 13px; }
  .home-page .modules-showcase { gap: 16px; }
  .home-page .module-card,
  .home-page .module-card + .module-card { padding: 18px; gap: 18px; border-radius: 0; }
  .home-page .module-copy h3 { font-size: 22px; }
  .home-page .module-copy p { font-size: 12px; line-height: 1.6; }
  .home-page .modules-outlook { margin-top: 18px; }
  .home-page .modules-outlook-list { gap: 8px 0; margin-top: 10px; }
  .home-page .founder-grid { gap: 42px; margin-top: 38px; }
  .home-page .founder-grid h3 { font-size: 24px; }
  .home-page .founder-grid p { font-size: 15px; }
  .home-page .partner-row { margin-top: 46px; padding-top: 28px; }
  .home-page .insights-toolbar { gap: 12px; }
  .home-page .insight-controls { gap: 6px; }
  .home-page .insight-controls button { width: 38px; height: 38px; }
  .home-page .insight-card h3 { font-size: 20px; }
  .home-page .insights-more { width: calc(100% - 40px); margin-inline: 20px; }
  .home-page .cta-section { padding: 54px 0 12px; }
  .home-page .cta-panel { padding: 34px 22px; gap: 22px; border-radius: 0; }
  .home-page .cta-panel h2 { font-size: 30px; }
  .home-page .cta-panel p { font-size: 14px; }
  .home-page .cta-panel .button { min-width: 0; padding-inline: 16px; font-size: 12px; }
  .home-page .faq-section { padding: 54px 0 66px; }
  .home-page .faq-list summary { min-height: 74px; font-size: 15px; }
  .home-page .site-footer { padding: 30px 20px; }
}

@media (max-width: 350px) {
  .home-page .button-header,
  .home-page .site-header.is-scrolled .button-header { min-width: 136px; width: 136px; font-size: 11px; }
  .home-page .cta-panel { gap: 16px; padding-inline: 16px; }
  .home-page .module-card,
  .home-page .module-card + .module-card { padding-inline: 12px; }
  .home-page .care-path-option > span::before,
  .home-page .care-path-option > strong::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page *,
  .home-page *::before,
  .home-page *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
