/* V9: the complete, explicitly demonstrative conversion path. */
.hero-film .hero-copy { padding-bottom: 0; }
.hero-film .hero-actions { gap: 16px; flex-wrap: wrap; }
.reviews-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:34px; }
.reviews-heading > p { color:var(--muted); font-size:13px; max-width:320px; }
.review-feature { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; border-radius:10px; background:var(--surface); }
.review-feature > img { width:100%; height:100%; object-fit:cover; object-position:65% center; min-height:460px; }
.review-feature-copy { padding:46px; display:flex; flex-direction:column; justify-content:center; }
.reviews-section blockquote { margin:0; letter-spacing:-.02em; }
.review-feature blockquote { font-size:29px; line-height:1.4; font-weight:500; }
.review-context { font-size:15px; color:var(--muted); margin-top:23px; }
.review-person { margin-top:30px; display:flex; flex-direction:column; gap:3px; }
.review-person strong { font-size:15px; font-weight:550; }
.review-person span { color:var(--muted); font-size:12px; }
.review-pair { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:38px; }
.review-pair article { padding-top:26px; border-top:1px solid var(--line); }
.review-pair blockquote { font-size:21px; line-height:1.55; }
.review-pair .review-person { margin-top:20px; }
.pricing-v9 { grid-template-columns:1fr 1.05fr; gap:100px; align-items:center; }
.pricing-v9 .pricing-copy .text-link { margin-top:28px; font-size:15px; }
.promotion { min-width:0; padding:38px; background:#102947; color:white; border-radius:12px; }
.promotion-top { display:flex; justify-content:space-between; align-items:start; gap:24px; }
.promotion-top h3 { color:white; font-size:27px; font-weight:500; }
.offer-saving { font-size:24px; font-weight:550; color:#102947; background:#a7d0ff; border-radius:6px; padding:7px 11px; white-space:nowrap; }
.promotion-demo { font-size:12px; line-height:1.6; color:#c4d7ed; margin-top:18px; max-width:350px; }
.promo-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:20px; margin-top:27px; }
.promo-price strong { font-size:53px; line-height:1.15; letter-spacing:-.04em; font-weight:550; font-variant-numeric:tabular-nums; }
.promo-price strong span { font-size:28px; }
.promo-price s { color:#c4d7ed; font-size:19px; }
.offer-countdown { border-top:1px solid #48617e; margin-top:28px; padding-top:22px; }
.offer-countdown > p { font-size:13px; color:#c4d7ed; }
.countdown-digits { display:flex; align-items:start; gap:12px; margin:15px 0; }
.countdown-digits span { min-width:48px; display:flex; flex-direction:column; align-items:center; }
.countdown-digits b { font-size:34px; line-height:1.1; font-weight:500; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.countdown-digits small { font-size:11px; color:#c4d7ed; margin-top:7px; }
.countdown-digits i { font-size:25px; line-height:1.3; font-style:normal; color:#88a5c8; }
.offer-countdown .offer-until { font-size:12px; }
.promotion > .button { width:100%; justify-content:center; margin-top:28px; min-height:54px; }
.promotion-terms { margin-top:8px; }
.promotion-terms summary { display:flex; justify-content:space-between; padding:16px 0 4px; gap:16px; min-height:44px; font-size:12px; color:#c4d7ed; }
.promotion-terms svg { width:15px; height:15px; }
.promotion-terms p { font-size:12px; color:#c4d7ed; margin-top:12px; }
.offer-result { margin-top:22px; padding-top:22px; border-top:1px solid #48617e; }
.offer-result h4 { margin:0; color:white; font-size:18px; font-weight:500; }
.offer-result p { color:#c4d7ed; font-size:14px; margin-top:12px; }
.offer-result a { display:flex; align-items:center; gap:12px; color:#a7d0ff; font-size:14px; margin-top:18px; text-decoration:underline; }
.promotion a:focus-visible,.promotion button:focus-visible,.promotion summary:focus-visible { outline-color:#a7d0ff; }
.offer-result:focus-visible { outline:3px solid var(--blue); outline-offset:6px; }
@media(max-width:1100px) {

 .review-feature-copy { padding:30px; } .review-feature blockquote { font-size:25px; } .review-pair { gap:42px; }
 .pricing-v9 { gap:44px; } .promotion { padding:30px; } .promotion-top h3 { font-size:24px; }
}
@media(max-width:800px) {
 .reviews-heading { display:block; } .reviews-heading > p { margin-top:20px; max-width:none; }

 .review-feature > img { min-height:420px; } .review-feature-copy { padding:26px; } .review-feature blockquote { font-size:23px; }
 .review-context { font-size:14px; } .review-pair blockquote { font-size:19px; }
 .pricing-v9 { grid-template-columns:1fr 1fr; gap:30px; } .promotion { padding:24px; } .promotion-top { display:block; } .offer-saving { display:inline-block; margin-top:14px; font-size:20px; } .promo-price strong { font-size:44px; } .countdown-digits { gap:7px; } .countdown-digits span { min-width:35px; } .countdown-digits b { font-size:28px; }
}
@media(max-width:600px) {
 .reviews-heading h2,.pricing-v9 h2 { font-size:36px; }

 .review-feature { grid-template-columns:1fr; } .review-feature > img { min-height:0; aspect-ratio:1.4; height:auto; object-position:center; } .review-feature-copy { padding:28px 24px; } .review-feature blockquote { font-size:24px; } .review-pair { grid-template-columns:1fr; gap:28px; margin-top:30px; } .review-pair blockquote { font-size:20px; }
 .pricing-v9 { grid-template-columns:1fr; gap:34px; } .promotion { padding:28px 24px; } .promotion-top { display:flex; gap:14px; } .promotion-top h3 { font-size:23px; } .offer-saving { margin-top:0; padding:7px 9px; font-size:20px; } .promo-price strong { font-size:48px; } .countdown-digits { gap:12px; } .countdown-digits span { min-width:42px; } .countdown-digits b { font-size:32px; }
}
@media(max-width:360px) { .promotion { padding:22px 18px; } .promotion-top { display:block; } .offer-saving { margin-top:15px; } .countdown-digits { gap:7px; } .countdown-digits span { min-width:36px; } .countdown-digits b { font-size:30px; } }

/* Show what the subscription pays for, alongside its price. */
.pricing-analysis { gap:42px 64px; grid-template-columns:1.15fr 1fr; align-items:start; }
.pricing-heading { grid-column:1/-1; display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:end; margin-bottom:8px; }
.pricing-eyebrow { display:block; font-size:14px; font-weight:500; color:var(--blue-dark); margin-bottom:18px; }
.pricing-heading h2 { font-size:48px; }
.pricing-heading > p { color:var(--muted); font-size:17px; line-height:1.7; max-width:480px; }
.pricing-analysis .pricing-copy > h3 { font-size:23px; font-weight:550; margin-bottom:8px; }
.analysis-included { list-style:none; padding:0; margin:0; }
.analysis-included li { display:flex; align-items:start; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.analysis-included li::before { content:none; }
.analysis-number { flex:none; color:#71839c; font-size:12px; line-height:24px; font-variant-numeric:tabular-nums; }
.analysis-included h4 { font-size:18px; font-weight:550; line-height:1.4; margin:0; }
.analysis-included p { color:var(--muted); font-size:14px; line-height:1.65; margin-top:8px; max-width:480px; }
.pricing-analysis .pricing-copy > .analysis-scope { font-size:14px; line-height:1.65; margin-top:25px; }
.pricing-analysis .pricing-copy .text-link { margin-top:18px; }
.pricing-connect { grid-column:1/-1; display:grid; grid-template-columns:1.15fr 1fr; gap:64px; border-radius:12px; padding:30px; background:#f2f5fa; }
.connect-protocols { display:flex; gap:10px; align-items:center; font-size:12px; font-weight:550; letter-spacing:.06em; color:var(--blue-dark); margin-bottom:12px; }
.connect-protocols span { color:#91a3bd; font-weight:400; }
.pricing-connect h3 { font-size:28px; font-weight:550; line-height:1.3; }
.pricing-connect p { font-size:14px; color:var(--muted); line-height:1.7; }
.pricing-connect .connect-setup { font-size:12px; margin-top:12px; }
.pricing-connect .text-link { font-size:14px; margin-top:16px; }
.pricing-analysis-note { grid-column:1/-1; color:var(--muted); font-size:12px; line-height:1.7; margin-top:-24px; max-width:900px; }
@media(max-width:1000px) {
 .pricing-analysis { grid-template-columns:1fr 1fr; gap:34px 30px; }
 .pricing-heading { gap:30px; }
 .pricing-heading h2 { font-size:40px; }
 .pricing-heading > p { font-size:15px; }
 .pricing-connect { gap:30px; padding:26px; }
}
@media(max-width:700px) {
 .pricing-analysis { grid-template-columns:1fr; gap:30px; }
 .pricing-heading { grid-template-columns:1fr; gap:20px; }
 .pricing-heading h2 { font-size:36px; }
 .pricing-connect { grid-template-columns:1fr; gap:20px; padding:24px; }
 .pricing-analysis-note { margin-top:-10px; }

}
