/* The opening is the film itself. Supporting sections begin after this journey. */
@font-face{font-family:Inter;src:url('/assets/fonts/Inter-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:optional}
:root{--paper:#fff;--line:#e0e3e7;--muted:#525963}
html[data-video-ready='true'][data-motion='on'] .hero-film video{opacity:var(--film-reveal,0)}
html[data-video-ready='true'][data-motion='on'] .hero-film .film-fallback{visibility:visible}
.hero-film .film-fallback{visibility:visible}
.header{background:#fff}
.hero-journey{margin:0;max-height:none;min-height:0;height:auto;display:block;background:#fff;isolation:auto;scroll-margin-top:80px}
.hero-journey .hero-stage{width:100%;height:calc(100svh - 80px);min-height:620px;position:relative;background:#fff;overflow:hidden}
.hero-journey .hero-film{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;background:#fff}
.hero-journey .hero-film video,.hero-journey .hero-film .film-fallback{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-journey .hero-copy{position:absolute;left:0;top:0;width:55%;padding:clamp(38px,5vh,70px) 0 85px var(--gutter);z-index:1}
.hero-journey h1{font-size:clamp(42px,5.3vw,84px);margin-top:28px}
.hero-journey .hero-description{max-width:550px;font-size:clamp(18px,1.5vw,22px)}
.hero-journey .hero-actions{flex-direction:row;align-items:center;gap:25px;margin-top:30px}
.hero-journey .hero-controls{position:absolute;left:var(--gutter);right:var(--gutter);bottom:25px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px}
.hero-controls #media-status,html[data-video-ready='true'][data-motion='on'] .hero-controls #media-status{display:block;position:static;margin:0;padding:7px 10px;background:#fff;color:var(--muted);font-size:11px;max-width:370px}
.hero-controls button{padding:10px 13px;background:#fff;color:var(--ink);border:1px solid #b9b9b4;border-radius:3px;min-height:40px;cursor:pointer;font-size:12px}
.hero-controls button:disabled{cursor:default;color:var(--muted)}
.journey-cue{padding:8px 12px;background:#fff}.journey-cue>span{margin-left:20px}
.hero-journey .film-caption{position:absolute;left:var(--gutter);bottom:90px;max-width:480px;width:calc(100% - 2 * var(--gutter));min-height:0;display:block;background:#fff;padding:25px 28px;opacity:0;z-index:2}
.hero-journey .film-caption h3{font-size:32px;line-height:1.08}.hero-journey .film-caption>p{font-size:16px;margin-top:13px;max-width:420px;justify-self:start;text-align:left}
.hero-journey .film-progress{position:absolute;bottom:0;left:0;right:0;background:#e5e5df;height:2px;z-index:3}
.hero-invitation{position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);width:315px;background:#fff;padding:27px;z-index:2;opacity:0}
.hero-invitation>p{font-size:15px}.hero-invitation>div{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0;padding:25px 0;display:flex;align-items:center;gap:18px}.hero-invitation strong{font-size:70px;line-height:1;color:var(--blue)}.hero-invitation span{font-size:25px;line-height:1.1;max-width:130px}
html[data-motion='on'] .hero-journey{height:600svh}
html[data-motion='on'] .hero-journey .hero-stage{position:sticky;top:80px}
html:not([data-motion='on']) .hero-journey .hero-stage{min-height:780px}
html:not([data-motion='on']) .hero-invitation,html:not([data-motion='on']) .hero-journey .film-caption,html:not([data-motion='on']) .journey-cue{display:none}
@media(min-width:761px) and (max-width:1100px){.hero-journey h1{font-size:4.9vw}.hero-journey .hero-copy{width:52%;padding-top:50px}.hero-journey .hero-actions{flex-direction:column;align-items:flex-start;gap:12px}.hero-journey .supporting{max-width:350px}.hero-journey .hero-description{max-width:400px;font-size:17px}.hero-journey .eyebrow{font-size:10px;max-width:360px}}
@media(max-height:800px) and (min-width:1101px){.hero-journey .hero-copy{padding-top:28px}.hero-journey h1{font-size:clamp(48px,4.8vw,72px);margin-top:20px;margin-bottom:18px}.hero-journey .hero-description{font-size:18px;max-width:510px}.hero-journey .hero-actions{margin-top:22px}.hero-journey .supporting{margin-top:18px}}
@media(max-width:760px){.hero-journey{scroll-margin-top:76px}.hero-journey .hero-stage{display:flex;flex-direction:column;min-height:0;height:auto}.hero-journey .hero-copy{position:relative;width:100%;padding:33px var(--gutter) 0}.hero-journey h1{font-size:clamp(39px,9vw,65px);margin-top:25px}.hero-journey .hero-actions{flex-direction:column;align-items:flex-start;gap:14px}.hero-journey .hero-film{position:relative;inset:auto;order:2;height:460px;margin-top:24px;flex-shrink:0}.hero-journey .hero-film .film-fallback{object-position:90% center}.hero-journey .hero-controls{position:relative;inset:auto;order:3;padding:12px var(--gutter) 22px;font-size:10px;gap:12px}.hero-controls #media-status{max-width:200px;padding:0;font-size:10px}.hero-controls button{font-size:10px;white-space:nowrap}html:not([data-motion='on']) .hero-journey .hero-stage{min-height:0}.hero-journey .film-caption{padding:18px 20px;bottom:78px}.hero-journey .film-caption h3{font-size:26px}.hero-journey .film-caption>p{font-size:14px}.hero-invitation{width:270px}.journey-cue{display:none}html[data-motion='on'] .hero-journey .hero-stage{top:76px;height:calc(100svh - 76px);min-height:0;display:block}html[data-motion='on'] .hero-journey .hero-film{position:absolute;inset:0;margin:0;height:100%}html[data-motion='on'] .hero-journey .hero-copy{position:absolute;padding-top:25px;background:#ffffffed}html[data-motion='on'] .hero-journey .hero-controls{position:absolute;left:0;right:0;bottom:0;top:auto}html[data-motion='on'] .hero-journey .hero-film video{object-fit:cover}.hero-journey .hero-invitation{top:40%}}
@media(max-height:699px) and (min-width:761px){.hero-journey .hero-stage{min-height:700px;height:700px}.hero-journey .hero-copy{padding-top:35px}.hero-journey h1{font-size:clamp(42px,4.6vw,64px)}}
/* Preserve the complete wide composition on portrait tablets. */
@media(min-width:761px) and (max-width:1100px){
  .hero-journey .hero-film video,.hero-journey .hero-film .film-fallback{object-fit:contain;object-position:center bottom}
  .hero-journey .hero-copy{width:100%;padding-right:var(--gutter);padding-top:28px}
  .hero-journey h1{font-size:clamp(38px,5vw,55px);margin:18px 0}
  .hero-journey h1 span{display:inline}
  .hero-journey h1 span::after{content:' '}
  .hero-journey .hero-description{max-width:590px}
  .hero-journey .hero-actions{flex-direction:row;margin-top:18px}
  .hero-journey .supporting{margin-top:14px;max-width:none}
  html:not([data-motion='on']) .hero-journey .hero-stage{min-height:950px}
}
/* Words belong to the scene; no floating card surfaces. */
.hero-journey .film-caption{background:transparent;padding:0;color:#fff;text-shadow:0 2px 18px #000b,0 1px 3px #0008;transform:translateY(var(--caption-drift,0px));max-width:400px}
.hero-journey .film-caption h3{font-size:clamp(30px,3vw,44px);letter-spacing:-.035em}
.hero-journey .film-caption>p{color:inherit;max-width:340px}
.hero-journey .film-caption #chapter-label{color:inherit}
.hero-journey[data-caption-tone='ink'] .film-caption{color:var(--ink);text-shadow:none}
.hero-invitation{background:transparent;padding:0;color:var(--ink)}
.hero-invitation>div{border:0;margin:20px 0;padding:0}
.hero-invitation h3{font-size:clamp(30px,3vw,44px);font-weight:550;letter-spacing:-.035em;line-height:1.08;margin:0 0 14px;max-width:315px}
@media(max-width:760px){.hero-invitation h3{font-size:28px}}
.film-caption #chapter-label:empty{display:none}
.header .brand img{scale:.8;transform-origin:left center}
.hero-journey .hero-controls #media-status,html[data-video-ready='true'][data-motion='on'] .hero-controls #media-status,.journey-cue{background:transparent}
html[data-motion='on'] .hero-journey[data-caption-tone='light'] .hero-controls{color:#fff;text-shadow:0 1px 7px #0008}
html[data-motion='on'] .hero-journey[data-caption-tone='light'] .hero-controls #media-status{color:inherit}
.hero-journey .hero-controls button{background:#ffffffb3;backdrop-filter:blur(12px);border-color:#aaa6}
@media(max-width:760px){.hero-journey .film-caption{padding:0}.hero-journey .film-caption h3{font-size:28px}}
.hero-journey .film-progress{background:transparent;height:1px}
.hero-journey .film-progress span{background:#dde2eb}
.about-section{padding:100px var(--gutter) 70px;display:grid;grid-template-columns:1fr 1fr;gap:9%;scroll-margin-top:100px;background:#fff}
.about-section h2{margin-top:25px;max-width:560px}
.about-copy>p{max-width:570px;font-size:17px;color:var(--muted);margin-top:22px}
.about-copy>.section-lead{font-size:23px;color:var(--ink);margin-top:0}
.about-copy .text-link{margin-top:24px}
.phone-study{background:#f6f8fb}
.phone{background:#fff}
.phone-brand{font-size:29px;color:var(--ink);letter-spacing:-.035em;line-height:1.1}
.phone-brand>span{font-size:10px;color:var(--muted);margin-top:9px;line-height:1.5}
.phone-screen p,.phone-powered{color:var(--muted)}
.scan-symbol>span{font-size:25px;letter-spacing:-.04em;color:var(--blue)}
.scan-symbol i{border-color:var(--blue)}
.phone-hello,.phone-hello span{color:var(--blue)}
.play-tokens span{color:var(--blue);border-color:#c5d1ff}
.phone-next{background:var(--ink)}.phone-next:hover{background:#303946}
.phone-screen .consent-example{border-color:var(--line)}
.machine-image{background:#f7f8fa}
@media(max-width:760px){.about-section{display:block;padding:65px var(--gutter) 30px}.about-section h2{font-size:38px}.about-copy{margin-top:30px}.about-copy>.section-lead{font-size:20px}.about-copy>p{font-size:16px}.phone-brand{font-size:28px}}
/* A quieter type system across the full customer and retailer journey. */
:root{font-family:Inter,Arial,sans-serif;font-optical-sizing:auto}
h1,h2,h3{font-family:inherit;font-weight:600;letter-spacing:-.035em;text-wrap:balance}
.hero-journey h1{font-family:Inter,Arial,sans-serif;font-weight:650;letter-spacing:-.035em;line-height:1.04;font-size:clamp(44px,5vw,76px)}
.hero-journey .hero-description{font-size:clamp(17px,1.3vw,20px);line-height:1.55;max-width:530px}
.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:600}
.header nav{font-size:13px;gap:32px}.button{font-weight:550;border-radius:3px}.text-link{font-size:14px}
.hero-journey .film-caption h3{font-weight:550;text-shadow:inherit}
.section-lead{line-height:1.6}.results-heading h2{max-width:520px}
.results-section{padding-top:85px}.cost-example{border-top-color:var(--line)}
.report-metrics dd{font-weight:550;font-variant-numeric:tabular-nums}.cost-output output{font-weight:550;font-variant-numeric:tabular-nums}
.phone-brand{font-weight:600}.phone-hello{font-weight:550}.machine-description h3,.scope-list h3{font-weight:550}
.repeat-section{padding-top:110px;padding-bottom:110px}.repeat-section h2{font-weight:500;line-height:1.12}
.faq-list summary{font-weight:450}.pilot{border-top-color:var(--line)}
@media(min-width:761px) and (max-width:1100px){.hero-journey h1{font-size:clamp(40px,4.8vw,52px)}.hero-journey .hero-copy{padding-top:25px}}
@media(max-width:760px){.hero-journey h1{font-size:clamp(36px,8.8vw,59px);line-height:1.08}.hero-journey .hero-description{font-size:17px}.header nav{gap:12px}.eyebrow{font-size:9px}.repeat-section{padding-top:64px;padding-bottom:64px}.about-section h2{font-size:35px}.results-section{padding-top:65px}}
/* Start with breathing room, then let the scroll move us into the picture. */
.hero-journey .hero-film video,.hero-journey .hero-film .film-fallback{object-fit:contain;transform:scale(var(--film-scale,.94));transform-origin:var(--film-origin-x,75%) 50%}
.header{background:transparent;backdrop-filter:none;transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
html[data-navigation='scrolled'] .header{background:#ffffffb8;backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 1px 0 #1520340c}
@media(min-width:761px) and (max-height:780px){.hero-journey .hero-copy{padding-top:22px;padding-bottom:70px}.hero-journey h1{font-size:clamp(40px,4.5vw,62px);margin-top:18px;margin-bottom:18px}.hero-journey .hero-description{font-size:16px;line-height:1.5;max-width:470px}.hero-journey .hero-actions{margin-top:22px}.hero-journey .supporting{font-size:12px;margin-top:18px}}
@media(min-width:1000px) and (max-width:1100px){.hero-journey .hero-copy{width:49%;padding-right:0}.hero-journey h1{font-size:42px}.hero-journey h1 span{display:block}.hero-journey .hero-description{max-width:400px}.hero-journey .hero-actions{gap:16px}.hero-journey .hero-actions .button{padding:15px 17px;font-size:13px}.hero-journey .hero-actions .text-link{font-size:12px}}
@media(min-width:761px) and (max-width:999px){.hero-journey .hero-film video,.hero-journey .hero-film .film-fallback{object-position:center bottom;transform-origin:50% 100%}}
@media(max-width:760px){.header{padding:0 16px}.brand,.brand img{width:104px;height:52px}.brand{margin-left:0}.experience-link{display:inline;font-size:10px;white-space:nowrap}.header nav{gap:12px}.nav-cta{font-size:11px;padding:10px 12px;gap:8px}.nav-cta span{font-size:16px}.hero-journey .hero-film .film-fallback{object-fit:cover;transform:none}html[data-motion='on'] .hero-journey .hero-film .film-fallback{object-fit:contain;transform:scale(var(--film-scale,.94))}}
.header{color:var(--ink)}.header .brand{display:grid}.header .brand img{grid-area:1/1;transition:opacity .25s ease;filter:none}.header .brand-light{opacity:0}.header a{transition:color .25s ease,background .25s ease,border-color .25s ease}
html[data-navigation-tone='light'] .header{background:#111d2ee8;color:#fff;box-shadow:0 1px 0 #ffffff12}
html[data-navigation-tone='light'] .header .brand-dark{opacity:0}
html[data-navigation-tone='light'] .header .brand-light{opacity:1}
html[data-navigation-tone='light'] .header .nav-cta{background:#fff;color:var(--ink);border-color:#fff}
html[data-navigation-tone='light'] .header a:focus-visible{outline-color:#fff}
.text-link span,.button span{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){.text-link:hover span,.button:hover span{transform:translate(3px,-2px)}}
.chart-bars span{transform-origin:center bottom}
@media(prefers-reduced-motion:reduce){.header,.header a,.header .brand img,.text-link span,.button span{transition:none}.text-link:hover span,.button:hover span{transform:none}}

/* Bookend the film with a sharp still and a full-size closing statement. */
.hero-journey .hero-film .film-landing{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:scale(var(--film-scale,.94));transform-origin:var(--film-origin-x,75%) 50%;opacity:0;pointer-events:none}
html[data-motion='on'] .hero-journey[data-landing-ready='true'] .film-landing{opacity:var(--landing-reveal,0)}
.hero-journey[data-landing='true'] .film-caption{top:50%;bottom:auto;transform:translateY(-50%);max-width:42%;width:42%;color:#111;text-shadow:none}
.hero-journey[data-landing='true'] .film-caption h3{font-size:clamp(42px,5vw,76px);line-height:1.04;font-weight:650;margin-top:24px}
.hero-journey[data-landing='true'] .film-caption>p{font-size:clamp(17px,1.3vw,20px);line-height:1.55;max-width:460px;margin-top:24px}
.hero-journey[data-landing='true'] #chapter-label{font-size:11px;font-weight:550}
@media(min-width:761px) and (max-width:999px){.hero-journey .hero-film .film-landing{object-position:center bottom;transform-origin:50% 100%}.hero-journey[data-landing='true'] .film-caption{top:12%;transform:none;max-width:70%;width:70%}.hero-journey[data-landing='true'] .film-caption h3{font-size:44px}}
@media(max-width:760px){.hero-journey[data-landing='true'] .film-caption{top:8%;transform:none;max-width:85%;width:85%}.hero-journey[data-landing='true'] .film-caption h3{font-size:36px;margin-top:12px}.hero-journey[data-landing='true'] .film-caption>p{font-size:15px;margin-top:16px}}
@media(max-width:999px){.hero-journey[data-landing='true'] .hero-film video,.hero-journey[data-landing='true'] .hero-film .film-landing{object-position:center bottom;transform-origin:right bottom}.hero-journey[data-landing='true'] .film-caption{top:7%;max-width:85%;width:85%}}
/* Keep the complete landing above the controls, including on optional mobile motion. */
.hero-journey[data-landing='true'] .hero-film .film-landing{background:#fff}
html[data-motion='on'] .hero-journey[data-landing='true'] .hero-film video{object-fit:contain}
@media(min-width:1000px){.hero-journey[data-landing='true'] .hero-film .film-landing{transform-origin:var(--film-origin-x,75%) 50%}}
@media(max-width:999px){.hero-journey[data-landing='true'] .hero-film video,.hero-journey[data-landing='true'] .hero-film .film-landing{object-position:center calc(100% - 65px);transform-origin:center bottom}.hero-journey[data-landing='true'] .hero-film{background:#fff}}
html[data-motion='on'] .hero-journey .hero-film{max-height:none}
html[data-motion='on'][data-video-ready='true'] .hero-journey[data-landing-ready='true'] .hero-film video{opacity:calc(var(--film-reveal,0) * (1 - var(--landing-reveal,0)))}
html[data-motion='on'] .hero-journey[data-landing-ready='true'] .film-fallback{opacity:calc(1 - var(--landing-reveal,0))}
@media(max-width:760px){.hero-journey[data-landing='true'] .hero-film video,.hero-journey[data-landing='true'] .hero-film .film-landing{transform-origin:right bottom}}
/* A matched still zoom keeps the printed panel readable during the approach. */
.hero-journey .hero-film .film-approach{position:absolute;inset:0;width:100%;height:100%;background:#fff;transform:scale(var(--film-scale,.94));transform-origin:var(--film-origin-x,75%) 50%;opacity:0;pointer-events:none;overflow:hidden}
html[data-motion='on'] .hero-journey[data-approach-ready='true'] .film-approach{opacity:var(--approach-reveal,0)}
@media(min-width:761px) and (max-width:999px){.hero-journey .hero-film .film-approach{transform-origin:50% 100%}}
/* Retailer story: larger headlines and a blue marker treatment. */
.hero-journey .hero-actions .button,.header .nav-cta{background:#111;color:#fff;border:0}
.hero-journey .hero-actions .button:hover,.header .nav-cta:hover{background:#303030}
.hero-journey .hero-invitation{width:350px}
.hero-journey .hero-invitation h3,.hero-journey .film-caption h3{font-size:clamp(34px,3.4vw,50px);line-height:1.18;font-weight:600;max-width:none}
.hero-journey .film-caption{max-width:450px}
.hero-journey .scene-highlight{background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath fill='%23164bff' d='M2 13 L102 9 L218 5 L396 1 L398 7 L395 14 L400 87 L304 91 L192 93 L3 99 L5 90 L0 84 Z'/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat;color:#fff;text-shadow:none;padding:.09em .15em .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-journey .scene-highlight-pink{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath fill='%23c90091' d='M2 13 L102 9 L218 5 L396 1 L398 7 L395 14 L400 87 L304 91 L192 93 L3 99 L5 90 L0 84 Z'/%3E%3C/svg%3E")}
.hero-journey[data-landing=true] .film-caption{width:49%;max-width:49%}
.hero-journey[data-landing=true] .film-caption h3{font-size:clamp(46px,5.4vw,82px);line-height:1.18}
@media(max-width:999px){.hero-journey[data-landing=true] .film-caption{width:85%;max-width:85%}.hero-journey[data-landing=true] .film-caption h3{font-size:clamp(34px,6vw,50px)}}
@media(max-width:760px){.hero-journey .hero-invitation{width:min(320px,calc(100% - 48px))}.hero-journey .hero-invitation h3,.hero-journey .film-caption h3{font-size:32px}.hero-journey .film-caption{max-width:calc(100% - 48px)}.hero-journey[data-landing=true] .film-caption h3{font-size:clamp(28px,7.3vw,40px)}}
/* The closing scene returns to the opening invitation to act. */
.hero-journey .landing-actions{display:flex;flex-wrap:wrap;gap:18px 25px;margin-top:28px;text-shadow:none}
.hero-journey .landing-actions[hidden]{display:none}
.hero-journey .landing-actions .text-link{color:#111}
@media(max-width:760px){.hero-journey .landing-actions{flex-direction:row;align-items:center;gap:12px 18px;margin-top:18px}.hero-journey .landing-actions .button{padding:13px 15px;font-size:13px}.hero-journey .landing-actions .text-link{font-size:12px}}
