/* September client review: allow the full approved copy to determine height. */
html { overflow-x: clip; }
body { min-width: 0; }
.hero--cinematic { height: auto; min-height: min(85svh, 800px); overflow: clip; }
.hero--cinematic .hero-overlay { height: auto; min-height: inherit; padding: clamp(52px, 7vw, 100px) 24px 56px; justify-content: center; }
.hero--cinematic h1 { max-width: none; font-size: clamp(2rem, 4.6vw, 4rem); line-height: 1.12; }
.hero-title-line { display: block; }
.hero--cinematic .hero-sub { max-width: 68ch; }
.hero--cinematic .hero-trust-pill { max-width: 100%; margin-bottom: 10px; border-radius: 16px; white-space: normal; line-height: 1.6; }
.hero--cinematic .hero-trust-pill svg { flex-shrink: 0; }
.hero--cinematic .hero-scrim { background: linear-gradient(90deg,rgba(11,15,21,.78),rgba(11,15,21,.38)); }
.grid > *, .hero-grid > *, .stats > *, .footer-grid > * { min-width: 0; }
.mobile-menu { visibility: hidden; overflow-y: auto; transition: transform .4s var(--ease), visibility .4s; }
.mobile-menu.is-open { visibility: visible; }
.training-home-callout { margin-top: 32px; border-left: 4px solid var(--blue); }
.training-home-callout p { max-width: 72ch; margin-bottom: 20px; }
.faq-a-inner p + p { margin-top: 16px; }
.faq-a-inner a, .content-copy a:not(.btn) { color: var(--blue-700); text-decoration: underline; text-underline-offset: 3px; }
.stats-band .stat { grid-template-rows: minmax(70px, auto) auto; }
@media (max-width: 620px) {
  .hero--cinematic .hero-overlay { padding: 42px 22px; }
  .hero--cinematic h1 { font-size: clamp(1.8rem, 7.2vw, 2.5rem); }
  .hero--cinematic .hero-sub { font-size: 1rem; }
  .hero--cinematic .hero-trust-pill { display: inline-flex; font-size: .75rem; }
  .hero-title-line { text-wrap: balance; }
  .stats-band .stat .num { font-size: clamp(1.15rem, 4.7vw, 1.6rem); }
  .stats-band .stat .label { font-size: .67rem; letter-spacing: .035em; }
  .btn { white-space: normal; text-align: center; }
}

/* Priscilla's 29 September PDF review. Stable carousel space prevents the
   common-questions section moving as testimonials change. All slides share
   one grid cell, so the tallest one sets the height at every viewport width. */
.tslides { display:grid; min-height:0; }
.tslide, .tslide.is-active { position:relative; inset:auto; grid-area:1 / 1; margin:0; transform:none; align-self:start; }
.tslide { visibility:hidden; transition:opacity .45s ease, visibility .45s; }
.tslide.is-active { visibility:visible; }
.tperson { justify-content:center; }
.tperson > div { text-align:center !important; }
.carousel-pause { display:block; margin:16px auto 0; border:1px solid var(--gray-300); border-radius:999px; padding:7px 16px; background:transparent; color:var(--gray-600); font:inherit; font-size:.85rem; cursor:pointer; }
.carousel-pause:focus-visible, .tdot:focus-visible, summary:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.hero--cinematic .hero-overlay { align-items:flex-start; text-align:left; width:min(1200px,100%); margin-inline:auto; padding-inline:24px; }
.hero--cinematic .hero-title-accent { color:#70b9e6; font-size:.78em; margin-top:16px; }
.hero--cinematic .hero-sub { max-width:58ch; margin-left:0; }
.hero--cinematic .hero-actions { justify-content:flex-start; }
.hero--cinematic .hero-assurances { border:0; background:none; padding:0; gap:18px; font-size:.85rem; }
.hero-assurances span + span { border-left:1px solid #ffffff60; padding-left:18px; }
.hero--cinematic .hero-benefits { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; width:100%; background:#eef8ff; color:#13314c; padding:24px 12px; margin-top:24px; font-size:.76rem; font-weight:700; text-transform:uppercase; }
.hero-benefits span { padding:0 14px; text-align:center; }
.hero-benefits span + span { border-left:1px solid #163a5a30; }
.section-head, .matching-copy { text-align:center; }
.section-head { max-width:1100px; margin-inline:auto; }
.section-head .h1, .section-head .h2 { max-width:none; margin-inline:auto; }
.matching-copy .eyebrow, .stats-band .eyebrow { justify-content:center; }
.cta .h1 { margin-inline:auto; text-align:center; }
.stats-band { padding-block:36px; }
.stats-band .stat { grid-template-rows:auto auto; gap:10px; }
.stats-band .stat .num { font-size:clamp(1rem,1.65vw,1.4rem); white-space:nowrap; }
.stats-band .stat .label { max-width:30ch; font-size:.76rem; line-height:1.5; letter-spacing:.035em; }
.training-home-callout p { max-width:none; }
.footnote, .card .footnote, .faq-a-inner .footnote { font-size:.82rem; font-style:italic; line-height:1.6; margin-top:20px; color:var(--gray-500); }
.replacement-promise { padding:36px clamp(20px,4vw,52px); }
.replacement-promise p { max-width:none; margin:12px auto; }
.replacement-promise h3 { margin-top:24px; color:inherit; }
.faq-q { justify-content:flex-start; gap:14px; }
.faq-symbol { flex:0 0 24px; display:inline-flex; align-items:center; justify-content:center; color:var(--blue-700); font-size:1.5rem; font-weight:500; line-height:1; transition:transform .2s; }
.faq-item.is-open .faq-symbol { transform:rotate(45deg); }
.faq-a-inner ul { padding-left:22px; margin:16px 0; list-style:disc; }
.faq-a-inner li + li { margin-top:10px; }
.about-title { max-width:34ch; }
.about-who-copy .lead { margin-top:16px; }
.about-who .article { padding:0; margin-top:20px; }
.about-who .article .language-line { color:var(--blue-700); }
.section-head .credentials-title { font-size:clamp(1.5rem,2.3vw,2.1rem); }
.credentials-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:32px !important; border:1px solid var(--gray-200); border-radius:16px; overflow:hidden; }
.credentials-grid article { padding:24px 18px; text-align:center; }
.credentials-grid article + article { border-left:1px solid var(--gray-200); }
.credentials-grid h3 { font-size:1rem; margin-bottom:10px; }
.credentials-grid p, .credentials-grid ul { font-size:.92rem; line-height:1.6; }
.credentials-grid ul { list-style:none; padding:0; }
.step .n.journey-label { color:var(--gray-500); font-size:1.1rem; letter-spacing:.05em; }
.value-grid { align-items:start; }
.value-card details { margin-top:18px; }
.value-card summary { cursor:pointer; color:var(--blue-700); font-weight:600; list-style:none; }
.value-card summary::-webkit-details-marker { display:none; }
.value-card summary span { display:inline-block; margin-left:10px; }
.value-card details[open] summary span { transform:rotate(45deg); }
.value-detail { margin-top:16px; }
.value-detail p + p { margin-top:12px; }
.value-detail ul, .service-detail-grid ul { list-style:disc; padding-left:20px; margin-block:12px; }
.value-detail li, .service-detail-grid li { font-size:inherit; line-height:inherit; color:var(--gray-600); }
.service-detail-grid .card p, .service-detail-grid .card ul { font-size:.95rem; line-height:1.7; }
.pricing-grid { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
.pricing-grid h2 { font-size:clamp(1.5rem,2.3vw,2rem); margin-bottom:22px; }
.pricing-grid p + p { margin-top:16px; }
.eldercare-page .page-hero h1 { font-size:clamp(1.7rem,3.2vw,2.8rem); max-width:none; }
.eldercare-page .card h2 { color:var(--blue-700); margin-bottom:20px; font-size:1.7rem; }
main .article a:not(.btn), main .card a:not(.btn), .credentials-grid a, .eldercare-page main p a, .hiring-guides a { color:var(--blue-700); text-decoration:underline; text-underline-offset:3px; }
.footer-grid { grid-template-columns:1.5fr 1fr 1.2fr; }
.hiring-guides { padding-bottom:48px; }
.hiring-guides h2 { text-align:center; margin-bottom:18px; }
.hiring-guides ul { display:flex; flex-wrap:wrap; justify-content:center; gap:14px 28px; list-style:none; padding:0; }
@media (max-width: 900px) {
  .credentials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .credentials-grid article { border-bottom:1px solid var(--gray-200); }
  .pricing-grid { grid-template-columns:1fr; }
  .hero--cinematic .hero-benefits { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:18px; }
}
@media (max-width: 620px) {
  .hero--cinematic .hero-assurances { flex-direction:column; align-items:flex-start; gap:6px; }
  .hero-assurances span + span { border:0; padding-left:0; }
  .hero--cinematic .hero-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); font-size:.68rem; }
  .hero-benefits span:nth-child(odd) { border-left:0; }
  .stats-band .stat .num { font-size:clamp(.85rem,3.6vw,1.25rem); white-space:normal; }
  .stats-band .stat .label { font-size:.65rem; }
  .credentials-grid { grid-template-columns:1fr; }
  .credentials-grid article + article { border-left:0; }
  .footer-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .tslide, .faq-symbol { transition:none; } }

/* Approved 30 September feedback */
.hero-sub .support-phrase { white-space:nowrap; }
.value-card .value-detail p, .value-card .value-detail p a { font-size:.95rem; line-height:1.7; }

/* 7 October: sponsor training bullets match the surrounding card copy. */
.value-card .value-detail ul, .value-card .value-detail li { font-family:inherit; font-size:.95rem; line-height:1.7; font-weight:400; }
.revu-reviews { min-width:0; width:100%; }
