/* Shared type roles across the complete customer journey. */
html body.cyber-awake{--type-display:clamp(2.125rem,4.2vw,4rem);--type-lead:clamp(1.25rem,2.1vw,2rem);--type-body:clamp(1rem,1.2vw,1.125rem);--type-card:clamp(1.125rem,1.65vw,1.5rem);--type-label:.875rem}
html body.cyber-awake #main :is(h1,h2,h3){text-wrap:balance;letter-spacing:-.03em!important}
html body.cyber-awake #main :is(.breath-lead,.demand-anchor-lead,.demand-heading .statement-line){font-size:var(--type-lead)!important;font-weight:550!important;line-height:1.3!important;letter-spacing:-.025em!important}
html body.cyber-awake #main :is(.demand-anchor>strong,.locked-story-intro .search-word-wrap>em,.demand-story .demand-heading .statement-focus){font-size:var(--type-display)!important;line-height:1.15!important;font-weight:700!important;letter-spacing:-.035em!important;margin-block:12px!important;white-space:normal!important}
html body.cyber-awake #main .demand-story .demand-heading .statement-focus em{font:inherit!important;letter-spacing:inherit!important}
html body.cyber-awake #main :is(.demand-anchor-note,.demand-heading>p,.hero-subline,.section-intro,.offer-heading>p:not(.section-label),.bonus-copy>p,.service-copy>p,.close-explanation){font-size:var(--type-body)!important;line-height:1.55!important;font-weight:450!important;letter-spacing:0!important;text-wrap:pretty}
html body.cyber-awake #main .demand-heading>p{position:static!important;inset:auto!important;max-width:48ch!important;margin:12px auto 0!important}
html body.cyber-awake #main .demand-heading{gap:0!important}
html body.cyber-awake #main :is(.section-heading h2,.offer-heading h2,#extras-title){font-size:var(--type-display)!important;line-height:1.18!important;font-weight:650!important}
html body.cyber-awake #main .purpose-heading h2 em{font-size:inherit!important;line-height:inherit!important}
html body.cyber-awake #main :is(.bonus-copy h3,.service-copy h3,.preflight h3){font-size:var(--type-lead)!important;line-height:1.3!important;font-weight:650!important}
html body.cyber-awake #main :is(.purpose-copy strong,.choice-heading,.answer-detail h3,.page-proof strong){font-size:var(--type-card)!important;line-height:1.3!important;font-weight:650!important}
html body.cyber-awake #main :is(.purpose-copy>span,.pick-one>span,.inclusions li,.faq-answer,.faq-answer p,.purpose-outcome,.service-copy p,.close-package>span,.close-bonus>span){font-size:var(--type-body)!important;line-height:1.55!important}
html body.cyber-awake #main :is(.section-label,.close-kicker,.bonus-label,.pick-one>b,.goal-legend,.preview-caption){font-size:var(--type-label)!important;line-height:1.5!important;letter-spacing:.06em!important}
html body.cyber-awake #main :is(.button,.button>span,.package-details-link,.faq-list summary){font-size:1rem!important;line-height:1.45!important;font-weight:650!important}
html body.cyber-awake #main :is(.purchase-note,.payment-next,.next-steps,.hero-secondary,#hero-service-note){font-size:.875rem!important;line-height:1.5!important}
html body.cyber-awake #main .offer-close h3 .closing-rival,html body.cyber-awake #main .offer-close h3 .closing-rival b{font-size:var(--type-display)!important;line-height:1.15!important}
html body.cyber-awake #main .offer-close h3 .closing-lead{font-size:var(--type-lead)!important;line-height:1.3!important}
html body.cyber-awake #main .loss-scene>p{font-size:var(--type-body)!important;line-height:1.5!important;margin:0!important;padding:0!important;bottom:0!important;top:auto!important;max-width:100%!important}
html body.cyber-awake #main .loss-scene>p b{display:block!important;margin-top:4px!important;font-size:inherit!important;line-height:inherit!important}
html body.cyber-awake #main .loss-scene :is(.loss-rival,.loss-yours)>strong{font-size:var(--type-card)!important;line-height:1.25!important;margin:8px 0!important}
html body.cyber-awake #main :is(.loss-description,.loss-arrival,.rival-found-label,.answer-result,.answer-detail p,.answer-action){font-size:.875rem!important;line-height:1.4!important}
html body.cyber-awake #main .loss-query strong{font-size:var(--type-body)!important;line-height:1.35!important}
html body.cyber-awake #main :is(.loss-query small,.rival-online-label,.answer-browser,.answer-progress>span,.missing-eyebrow){font-size:.75rem!important;line-height:1.4!important}
/* Three separate layout zones prevent subtitles entering the illustration or its caption. */
html body.cyber-awake #main .demand-story[data-beat="1"]:not(.is-static) .demand-pin{display:grid!important;grid-template-rows:190px minmax(0,1fr)!important;gap:24px!important;padding:32px 32px 56px!important;box-sizing:border-box!important}
html body.cyber-awake #main .demand-story[data-beat="1"]:not(.is-static) .demand-copy{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;height:190px!important;min-height:0!important;margin:0!important}
html body.cyber-awake #main .demand-story[data-beat="1"] .story-stage{width:min(100%,1000px)!important;height:100%!important;min-height:0!important;margin-inline:auto!important}
html body.cyber-awake #main .demand-story[data-beat="1"] .loss-scene{height:100%!important}
html body.cyber-awake #main .demand-story[data-beat="1"] :is(.loss-rival,.loss-yours){top:88px!important;width:40%!important;height:auto!important;min-height:0!important;padding:12px!important;box-sizing:border-box!important}
html body.cyber-awake #main .demand-story[data-beat="1"] .loss-scene :is(img,video){width:100%!important;height:clamp(100px,19svh,190px)!important;object-fit:cover!important}
html body.cyber-awake #main .demand-story[data-beat="1"] .loss-query{top:0!important;min-height:60px!important}
@media(max-width:600px){
 html body.cyber-awake{--type-display:clamp(1.875rem,8vw,2.5rem);--type-lead:clamp(1.125rem,4.9vw,1.375rem);--type-card:1.125rem;--type-body:1rem;--type-label:.8125rem}
 html body.cyber-awake #main #top[data-original-hero] #hero-title em,html body.cyber-awake #main #top[data-original-hero] #hero-title em b{font-size:clamp(2.125rem,9vw,3rem)!important;line-height:1.12!important}
 html body.cyber-awake #main #hero-title>span{font-size:.8125rem!important;line-height:1.5!important;letter-spacing:.07em!important}
 html body.cyber-awake #main .hero-subline{font-size:1rem!important;line-height:1.6!important}
 html body.cyber-awake #main .demand-story[data-beat="1"]:not(.is-static) .demand-pin{grid-template-rows:148px minmax(0,1fr)!important;padding:24px 18px 64px!important;gap:18px!important}
 html body.cyber-awake #main .demand-story[data-beat="1"]:not(.is-static) .demand-copy{height:148px!important}
 html body.cyber-awake #main .demand-story[data-beat="1"] :is(.loss-rival,.loss-yours){top:84px!important;width:43%!important;padding:8px!important}
 html body.cyber-awake #main .demand-story[data-beat="1"] .loss-scene :is(img,video){height:clamp(100px,17svh,145px)!important}
 html body.cyber-awake #main .loss-arrival{padding:6px 0!important;margin-top:6px!important}
 html body.cyber-awake #main .rival-online-label{font-size:.6875rem!important;white-space:nowrap!important;right:2px!important;padding:4px 6px!important}
 html body.cyber-awake #main .demand-story .statement-focus{overflow:visible!important}
 html body.cyber-awake #main .purpose-row{padding:18px 16px!important;min-height:96px!important}
 html body.cyber-awake #main .answer-detail{padding:10px 12px!important}
 html body.cyber-awake #main .answer-action{margin-top:6px!important;padding:6px 8px!important}
}
@media(max-width:600px) and (max-height:700px){
 html body.cyber-awake #main .demand-story[data-beat="1"]:not(.is-static) .demand-pin{padding-top:12px!important;grid-template-rows:136px minmax(0,1fr)!important;gap:10px!important;padding-bottom:52px!important}
 html body.cyber-awake #main .demand-story[data-beat="1"]:not(.is-static) .demand-copy{height:136px!important}
 html body.cyber-awake #main .demand-story[data-beat="1"] .loss-scene :is(img,video){height:88px!important}
}
html body.cyber-awake #main :is(.owner-photo strong,.missing-competitor strong,.chat-message strong,.story-message-notification strong){font-size:var(--type-card)!important;line-height:1.3!important}
html body.cyber-awake #main :is(.missing-absence .pain-reveal,.owner-photo p,.missing-competitor p,.missing-searchbar,.page-proof p,.purpose-next small,.connections p){font-size:var(--type-body)!important;line-height:1.45!important}
html body.cyber-awake #main :is(.chat-bubble-head small,.chat-bubble-head time,.chat-bubble-head div>span,.chat-delivery,.payment-email-head small,.payment-email-value>span,.page-proof small,.page-ready,.answer-detail small,.business-page-nav>span){font-size:.75rem!important;line-height:1.4!important}
html body.cyber-awake #main :is(.business-page-nav>strong,.payment-email-head>span,.payment-email-value>span b){font-size:.875rem!important;line-height:1.35!important}
html body.cyber-awake #main .payment-email-value>strong{font-size:clamp(2rem,3.6vw,3rem)!important;line-height:1.1!important}
html body.cyber-awake .dialog h2{font-size:var(--type-lead)!important;line-height:1.25!important}
html body.cyber-awake .dialog :is(p,li){font-size:1rem!important;line-height:1.6!important}
html body.cyber-awake .site-header nav :is(a,button){font-size:.875rem!important;line-height:1.4!important}
html body.cyber-awake #main .locked-search-intro .story-breath-copy h2{display:flex!important;flex-direction:column!important;gap:12px!important}

/* The opening message is readable as soon as its scene enters the viewport. */
html body.cyber-awake #main .locked-search-intro.is-current{transition:none!important;visibility:visible!important;opacity:1!important}
html body.cyber-awake #main .locked-search-intro :is(h2,.breath-lead,.search-word-wrap,.search-word-wrap>em){opacity:1!important;visibility:visible!important;animation-delay:0s!important;transition-delay:0s!important;clip-path:none!important}
