/* A368: caregiver homepage and the public partnership overview. */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: inherit; }
body.marketing-page { margin: 0; background: #fff; color: #001c55; font-family: "Segoe UI", Arial, sans-serif; line-height: 1.5; }
body.marketing-page a { color: #075dbf; }
body.marketing-page { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; }
body.marketing-page > main { flex: 1 0 auto; }
body.marketing-page .button { min-height: 52px; padding: 13px 24px; gap: 14px; font-size: 16px; border-radius: 10px; }
body.marketing-page .button svg { width: 20px; height: 20px; }
.home-hero { position: relative; isolation: isolate; overflow: hidden; width: 100%; background: #fff; display: flex; align-items: center; }
.home-hero-inner { width: min(calc(100% - 64px), 1360px); margin: 0 auto; position: relative; z-index: 2; }
.hero-copy { width: 55%; padding: clamp(64px, 8vh, 112px) 0; }
.hero-copy h1 { max-width: 12em; margin: 0 0 24px; font-size: clamp(42px, 4.3vw, 66px); font-weight: 700; line-height: 1.08; letter-spacing: -.045em; color: #001c55; }
.hero-copy h1 span { display: block; }
.hero-copy .hero-lead { margin: 0 0 25px; max-width: 24em; color: #475d7b; font-size: clamp(21px, 1.8vw, 28px); line-height: 1.45; letter-spacing: -.015em; }
.hero-copy .hero-description { max-width: 35em; margin: 0 0 28px; color: #4d627c; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.65; }
/* The homepage outline CTA retains the shared shape, type and focus ring. */
#main-content.home-hero .hero-actions .button-secondary { background: rgba(255,255,255,.72); }
#main-content.home-hero .hero-actions .button-secondary:hover,
#main-content.home-hero .hero-actions .button-secondary:focus-visible { background: rgba(255,255,255,.94); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 32px; }
.hero-development { margin: 0; color: #27466c; font-size: 14px; line-height: 1.6; }
.hero-development strong { font-weight: 650; }
.hero-development > span { padding-inline: 5px; }
.hero-photo figcaption { position: absolute; z-index: 1; right: clamp(16px, 2vw, 32px); bottom: 18px; max-width: calc(100% - 32px); margin: 0; padding: 7px 11px; border-radius: 4px; background: rgba(255,255,255,.94); color: #314967; font-size: 13px; line-height: 1.45; }
.hero-photo figcaption span { white-space: nowrap; }
.hero-photo { position: absolute; z-index: 0; inset: 0; width: 100%; margin: 0; overflow: hidden; background: #e9eef2; }
.hero-photo > picture { display: block; width: 100%; height: 100%; }
.hero-photo > img, .hero-photo > picture > img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 65% 50%; }
/* Smooth, monotone white overlay: a faint scene remains behind the copy.
   Closely sampled easing removes the former abrupt change near the faces. */
.hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(255, 255, 255, 0.98000) 0%,
    rgba(255, 255, 255, 0.97925) 2%,
    rgba(255, 255, 255, 0.97717) 4%,
    rgba(255, 255, 255, 0.97399) 6%,
    rgba(255, 255, 255, 0.96995) 8%,
    rgba(255, 255, 255, 0.96530) 10%,
    rgba(255, 255, 255, 0.96026) 12%,
    rgba(255, 255, 255, 0.95508) 14%,
    rgba(255, 255, 255, 0.95000) 16%,
    rgba(255, 255, 255, 0.94470) 18%,
    rgba(255, 255, 255, 0.93874) 20%,
    rgba(255, 255, 255, 0.93214) 22%,
    rgba(255, 255, 255, 0.92494) 24%,
    rgba(255, 255, 255, 0.91716) 26%,
    rgba(255, 255, 255, 0.90884) 28%,
    rgba(255, 255, 255, 0.90000) 30%,
    rgba(255, 255, 255, 0.89009) 32%,
    rgba(255, 255, 255, 0.87877) 34%,
    rgba(255, 255, 255, 0.86640) 36%,
    rgba(255, 255, 255, 0.85336) 38%,
    rgba(255, 255, 255, 0.84000) 40%,
    rgba(255, 255, 255, 0.82816) 42%,
    rgba(255, 255, 255, 0.81683) 44%,
    rgba(255, 255, 255, 0.80207) 46%,
    rgba(255, 255, 255, 0.78000) 48%,
    rgba(255, 255, 255, 0.71445) 50%,
    rgba(255, 255, 255, 0.60025) 52%,
    rgba(255, 255, 255, 0.48000) 54%,
    rgba(255, 255, 255, 0.35020) 56%,
    rgba(255, 255, 255, 0.21314) 58%,
    rgba(255, 255, 255, 0.12000) 60%,
    rgba(255, 255, 255, 0.06861) 62%,
    rgba(255, 255, 255, 0.02736) 64%,
    rgba(255, 255, 255, 0.00333) 66%,
    rgba(255, 255, 255, 0.00000) 67%,
    rgba(255, 255, 255, 0.00000) 100%
  );
  pointer-events: none;
}
body.home-page .home-hero { max-width: none; margin-inline: 0; min-height: min(790px, max(650px, calc(100svh - 176px))); }
body.home-page .home-hero > .home-hero-inner { position: static; }
.hero-copy { position: relative; z-index: 2; }
.partner-shell { width: min(calc(100% - 64px), 1120px); margin: 0 auto; }
body.partnerships-page > main { display: block !important; padding-bottom: 0 !important; }
.partner-hero { padding: 76px 0 62px; border-bottom: 1px solid #e1e7ee; background: linear-gradient(135deg,#f7faff,#fff 75%); }
.partner-kicker { margin: 0 0 16px; color: #075dbf; font-size: 12px; line-height: 1.5; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.partner-hero h1 { margin: 0 0 22px; max-width: 18ch; font-size: clamp(36px,4.5vw,56px); line-height: 1.1; letter-spacing: -.035em; }
.partner-hero .partner-intro { max-width: 760px; margin: 0 0 28px; color: #4b607c; font-size: 20px; line-height: 1.6; }
.partner-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.partner-section { padding: 54px 0; border-bottom: 1px solid #e1e7ee; }
.partner-section h2, .partner-contact h2 { margin: 0 0 18px; font-size: clamp(27px,3vw,36px); line-height: 1.18; letter-spacing: -.025em; }
.partner-section p, .partner-contact p { color: #4d627c; font-size: 16px; line-height: 1.7; }
.section-intro { max-width: 800px; margin: 0 0 26px; }
.use-grid, .market-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.use-item { border-left: 3px solid #c9dbf0; padding: 4px 0 4px 22px; }
.use-item h3, .development-item h3 { margin: 0 0 10px; font-size: 20px; font-weight: 650; }
.use-item p, .development-item p { margin: 0; }
.development-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.development-item { padding: 24px; border: 1px solid #dce5ef; border-radius: 12px; background: #fbfcfe; }
.development-item .status-label { display: inline-block; margin-bottom: 14px; color: #075dbf; font-size: 12px; font-weight: 650; letter-spacing: .04em; }
.market-stat { padding: 28px; border: 1px solid #d5e2f0; border-radius: 12px; background: #f6f9fe; }
.market-stat .stat-value { color: #075dbf; font-size: 44px; line-height: 1.1; font-weight: 650; letter-spacing: -.035em; }
.market-stat h3 { margin: 12px 0 7px; font-size: 19px; }
.market-stat p { margin: 0 0 10px; font-size: 14px; }
.market-stat a { font-size: 13px; text-underline-offset: 3px; }
.market-note { max-width: 820px; margin: 20px 0 0; font-size: 13px !important; }
.partner-paths { list-style: none; margin: 0; padding: 0; }
.partner-paths li { display: grid; grid-template-columns: minmax(220px, .8fr) 1.6fr; gap: 24px; border-top: 1px solid #e2e9f1; padding: 20px 0; }
.partner-paths h3 { margin: 0; font-size: 18px; font-weight: 650; }
.partner-paths p { margin: 0; }
.partner-contact { padding: 56px 0 64px; background: #f7faff; }
.partner-contact p { max-width: 780px; margin: 0 0 26px; }
.partner-contact .disclosure-note { font-size: 14px; margin-bottom: 22px; }
@media (min-width: 1700px) {
  .hero-copy { width: 52%; }
}
@media (min-width: 960px) and (max-width: 1199px) {
  .hero-copy { width: 58%; }
  .hero-photo::after { background: linear-gradient(90deg,
    rgba(255, 255, 255, 0.98000) 0%,
    rgba(255, 255, 255, 0.97922) 2%,
    rgba(255, 255, 255, 0.97707) 4%,
    rgba(255, 255, 255, 0.97380) 6%,
    rgba(255, 255, 255, 0.96969) 8%,
    rgba(255, 255, 255, 0.96499) 10%,
    rgba(255, 255, 255, 0.95996) 12%,
    rgba(255, 255, 255, 0.95488) 14%,
    rgba(255, 255, 255, 0.95000) 16%,
    rgba(255, 255, 255, 0.94515) 18%,
    rgba(255, 255, 255, 0.93994) 20%,
    rgba(255, 255, 255, 0.93437) 22%,
    rgba(255, 255, 255, 0.92839) 24%,
    rgba(255, 255, 255, 0.92200) 26%,
    rgba(255, 255, 255, 0.91515) 28%,
    rgba(255, 255, 255, 0.90782) 30%,
    rgba(255, 255, 255, 0.90000) 32%,
    rgba(255, 255, 255, 0.89115) 34%,
    rgba(255, 255, 255, 0.88099) 36%,
    rgba(255, 255, 255, 0.86987) 38%,
    rgba(255, 255, 255, 0.85810) 40%,
    rgba(255, 255, 255, 0.84604) 42%,
    rgba(255, 255, 255, 0.84000) 43%,
    rgba(255, 255, 255, 0.83441) 44%,
    rgba(255, 255, 255, 0.82468) 46%,
    rgba(255, 255, 255, 0.81438) 48%,
    rgba(255, 255, 255, 0.80049) 50%,
    rgba(255, 255, 255, 0.78000) 52%,
    rgba(255, 255, 255, 0.71545) 54%,
    rgba(255, 255, 255, 0.60075) 56%,
    rgba(255, 255, 255, 0.48000) 58%,
    rgba(255, 255, 255, 0.35020) 60%,
    rgba(255, 255, 255, 0.21314) 62%,
    rgba(255, 255, 255, 0.12000) 64%,
    rgba(255, 255, 255, 0.06861) 66%,
    rgba(255, 255, 255, 0.02736) 68%,
    rgba(255, 255, 255, 0.00333) 70%,
    rgba(255, 255, 255, 0.00000) 71%,
    rgba(255, 255, 255, 0.00000) 100%
  ); }
  .hero-copy h1 { font-size: clamp(40px,4.2vw,50px); }
  .hero-copy .hero-lead { font-size: 21px; }
  .hero-copy .hero-description { max-width: 31em; font-size: 16px; }
  .hero-actions { gap: 12px; }
  body.marketing-page .hero-actions .button { padding-inline: 18px; font-size: 15px; }
}
@media (max-width: 959px) {
  body.home-page .home-hero { min-height: 0; display: block; }
  .home-hero-inner { display: flex; flex-direction: column; width: 100%; }
  .hero-copy { display: contents; }
  .hero-intro { order: 0; padding: 38px 32px 26px; }
  .hero-copy h1 { max-width: 800px; font-size: clamp(36px,5.4vw,52px); margin-bottom: 18px; }
  .hero-copy h1 span { display: inline; }
  .hero-copy h1 span + span::before { content: " "; }
  .hero-copy .hero-lead { max-width: 700px; margin: 0; font-size: clamp(20px,2.8vw,24px); }
  .hero-photo { order: 1; position: relative; inset: auto; width: 100%; height: clamp(310px,50vw,470px); }
  .hero-photo > img, .hero-photo > picture > img { object-position: 100% 50%; }
  .hero-photo::after { display: none; }
  .hero-details { order: 2; padding: 28px 32px 38px; }
  .hero-copy .hero-description { max-width: 750px; font-size: 17px; margin-bottom: 24px; }
  .hero-actions { margin-bottom: 26px; }
  .development-grid { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px) {
  .hero-intro { padding: 30px 20px 22px; }
  .hero-copy h1 { font-size: clamp(32px,8.8vw,46px); line-height: 1.1; letter-spacing: -.04em; }
  .hero-copy .hero-lead { font-size: 19px; line-height: 1.5; }
  .hero-photo { height: clamp(280px,80vw,400px); }
  .hero-details { padding: 24px 20px 32px; }
  .hero-copy .hero-description { font-size: 16px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: 12px; }
  body.marketing-page .button { width: 100%; min-height: 50px; font-size: 16px; }
  .partner-shell { width: calc(100% - 40px); }
  .partner-hero { padding: 42px 0 36px; }
  .partner-hero h1 { font-size: 38px; }
  .partner-hero .partner-intro { font-size: 18px; }
  .partner-section { padding: 36px 0; }
  .use-grid, .market-grid { grid-template-columns: 1fr; gap: 22px; }
  .partner-paths li { grid-template-columns: 1fr; gap: 10px; }
  .market-stat { padding: 24px; }
  .partner-contact { padding: 36px 0 42px; }
}
@media (prefers-reduced-motion: reduce) { body.marketing-page * { scroll-behavior: auto; } }
