/* Homepage editorial layout: the hub explains the idea; large recordings show the work. */
body:has(.home-story) { background: #fff; }
.home-story { max-width: 1180px; margin: 0 auto; }
.home-story > section { margin-bottom: 0; }
.home-story .home-conversion-hero { padding: 40px 0 66px; border: 0; border-radius: 0; background: none; overflow: visible; }
.home-story .home-conversion-hero::after { content: none; }
.home-story .hero-bee { display: none; }
.home-story .home-conversion-hero h1 { font-size: clamp(2.8rem, 4vw, 4.1rem); font-weight: 700; line-height: 1.06; }
.home-story .home-conversion-hero .tagline { color: #59665d; font-size: 1.06rem; line-height: 1.7; }
.home-story .home-hub-promise { font-size: .88rem; }
.home-story .home-conversion-hero .hero-actions { gap: 12px; }
.home-story .home-conversion-hero .button { font-size: .86rem; padding: 13px 17px; }
.home-story .home-watch-link { flex-basis: 100%; font-size: .88rem; padding: 9px 0 0; }
.home-story .home-conversion-hero__availability { font-size: .73rem; color: #68736c; line-height: 1.7; }
.home-story .data-hub-hero { box-shadow: 0 12px 40px #253c2910; border: 1px solid #e0e6dd; border-radius: 20px; }
.home-story .data-hub-hero--graphic { box-shadow: none; border: 0; }
.home-story .home-demo,
.home-story .home-trust,
.home-story .hub-examples { display: block; border: 0; border-top: 1px solid #e5ebe1; border-radius: 0; background: none; padding: 65px 0; }
.home-story .home-demo__copy { max-width: 800px; margin-bottom: 30px; }
.home-story .home-demo h2,
.home-story .home-trust h2 { color: #2e4134; font-size: clamp(1.9rem, 3.3vw, 2.9rem); font-weight: 650; line-height: 1.12; letter-spacing: -.035em; margin: 12px 0 18px; }
.home-story .home-demo__copy > p { margin: 0; font-size: 1.02rem; line-height: 1.75; color: #5a695e; }
.home-story .home-demo__links { margin-top: 18px; font-size: .87rem; }
.home-story .home-demo__frame { width: 100%; border: 1px solid #dce3d9; border-radius: 14px; box-shadow: 0 16px 40px #2335290c; overflow: hidden; }
.home-story .home-demo__frame img { border-radius: 8px; }
.home-story .home-demo__frame video { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 0; background: #fff; }
.home-story .home-demo__frame figcaption { padding: 14px 18px 4px; color: #647067; font-size: .74rem; }
.home-story .home-demo__frame:not(.product-film) { padding: 8px 8px 12px; }
.home-story .home-demo--flip .home-demo__frame { order: initial; }
.product-film { padding: 0; }
.product-film__header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 15px 20px; background: #f5f8f2; border-bottom: 1px solid #e0e7da; color: #43583e; font-size: .76rem; }
.product-film__header span:first-child { font-weight: 600; }
.product-film__header span:last-child { color: #63755b; }
.product-film__controls { display: flex; align-items: center; gap: 12px; padding: 8px 16px; border-top: 1px solid #e5ebe0; background: #fff; }
.product-film__controls[hidden] { display: none !important; }
.product-film__controls button { min-height: 44px; border: 0; border-radius: 6px; background: transparent; padding: 9px 8px; color: #40593b; font: inherit; font-size: .76rem; cursor: pointer; white-space: nowrap; }
.product-film__controls button:first-child { min-width: 120px; text-align: left; font-weight: 600; }
.product-film__controls button:hover { background: #edf3e8; }
.product-film__controls button:focus-visible { outline: 2px solid #667e54; outline-offset: 2px; }
.product-film__controls progress { display: block; flex: 1; width: 80px; min-width: 20px; height: 4px; border: 0; border-radius: 2px; accent-color: #6c855c; }
.product-film__controls progress::-webkit-progress-bar { background: #e7ede1; border-radius: 2px; }
.product-film__controls progress::-webkit-progress-value { background: #6c855c; border-radius: 2px; }
.product-film__controls > span { color: #697560; font-size: .7rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.product-film__note { margin: 0; padding: 0 18px 15px; text-align: center; color: #6a7564; font-size: .69rem; line-height: 1.6; }
.product-film__chapters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px 18px; border-top: 1px solid #e5ebe0; background: #f8faf6; }
.product-film__chapters[hidden] { display: none; }
.product-film__chapters button { display: flex; align-items: center; gap: 9px; min-height: 44px; border: 1px solid transparent; border-radius: 7px; padding: 8px 10px; background: transparent; color: #65705f; text-align: left; font: inherit; font-size: .78rem; cursor: pointer; }
.product-film__chapters button span { font-size: .67rem; opacity: .75; }
.product-film__chapters button[aria-current], .product-film__chapters button:hover { color: #31462d; background: #e8efdf; border-color: #d4dfca; }
.product-film__chapters button:focus-visible { outline: 2px solid #667e54; outline-offset: 2px; }
.home-story .home-hub-positioning { max-width: 760px; font-size: 1rem; }
.home-story .hub-ownership { margin-top: 30px; }
.home-story .home-trust__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.home-story .home-trust__grid article { padding: 0; background: none; border: 0; }
.home-story .home-trust__grid h3 { color: #344b37; font-size: 1.06rem; }
.home-story .home-trust__grid p { font-size: .9rem; line-height: 1.75; }
.home-story .home-crm-band { padding: 30px; box-shadow: none; border: 1px solid #e0e8db; background: #f8faf6; }
.home-story .home-final-cta { margin-top: 45px; padding: 40px; background: #eaf0e3; border: 0; border-radius: 16px; }
.home-story .home-final-cta h2 { color: #30452c; }
.home-story .home-final-cta p, .home-story .home-final-cta .eyebrow { color: #53654a; }
.home-story .home-final-cta .button-primary { color: #fff; background: #405c34; }
.home-story .home-final-cta .button-secondary { color: #405c34; background: #fff; border-color: #cedbc4; }
#ask { scroll-margin-top: 115px; }
@media (min-width: 1100px) {
    .home-story .home-conversion-hero { gap: 44px; grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .home-story .home-conversion-hero { padding: 25px 0 45px; }
    .home-story .home-demo, .home-story .home-trust, .home-story .hub-examples { padding: 42px 0; }
    .home-story .home-trust__grid { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; overflow: visible; }
    .home-story .home-final-cta { padding: 25px; }
    .product-film__controls { flex-wrap: wrap; gap: 2px; padding: 5px 7px; }
    .product-film__controls button:first-child { min-width: 109px; }
    .product-film__controls progress { order: 5; flex-basis: 100%; margin: 3px 6px 7px; }
    .product-film__controls > span { margin-left: auto; margin-right: 5px; }
    .product-film__header { padding: 12px; font-size: .7rem; }
    .home-story .home-demo__frame figcaption { font-size: .7rem; }
}
@media (max-width: 480px) {
    .product-film__chapters { grid-template-columns: 1fr; padding: 8px; gap: 2px; }
    .home-story .home-conversion-hero h1 { font-size: clamp(2rem, 8.6vw, 2.8rem); }
    .home-story .home-watch-link { padding: 7px 0; }
    .product-film__controls button { font-size: .69rem; padding: 8px 5px; }
    .product-film__controls button:first-child { min-width: 101px; }
}
