*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}b,strong{font-weight:bolder}small{font-size:80%}button,input,select,optgroup,textarea{font:inherit;letter-spacing:inherit;color:inherit;background:0 0;border-radius:0}button,input:is([type=button],[type=reset],[type=submit]){appearance:button}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}ol,ul,menu{list-style:none}[hidden]{display:none!important}html,body{overflow-x:hidden}:root{--indigo:#252473;--navy:#1a1a2e;--pearl:#f2f4f7;--gray:#6b7280;--blue:#0078fa;--royal:#2e2e93;--line:#dfe2e8;--ink:#1a1a2e}html{scroll-behavior:smooth}body{background:#fff;color:var(--ink);font-family:var(--font-inter),Arial,sans-serif;-webkit-font-smoothing:antialiased}.shell{width:min(1200px,100% - 48px);margin:auto}a{color:inherit;text-decoration:none}.pill{background:var(--blue);border-radius:99px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;font-size:12px;font-weight:800;transition:all .2s;display:inline-flex}.pill:hover{transform:translateY(-2px);box-shadow:0 10px 28px #15162820}.float svg{fill:currentColor;width:17px}header{z-index:30;position:sticky;top:0}.brand img{object-fit:contain;width:100%;height:100%}.links{font-size:13px;font-weight:600;display:flex}.links a:hover{color:#0078fa}.navRight{align-items:center;gap:16px;display:flex}.toggle{border:1px solid var(--line);border-radius:99px;padding:2px}.toggle button{width:38px;color:var(--gray);cursor:pointer;background:0 0;border:0;border-radius:99px;font-size:11px;font-weight:800}.menu{background:0 0;border:0;display:none}.menu i{background:var(--navy);width:22px;height:2px;margin:5px;display:block}.hero{align-items:center;display:grid}.heroCopy{padding:80px 0}.kicker{letter-spacing:.16em;color:#0078fa;margin:0 0 26px;font-size:11px;font-weight:800}.kicker.dot:before{content:"";background:var(--blue);border-radius:50%;width:8px;height:8px;margin-right:10px;display:inline-block;box-shadow:0 0 0 4px #0078fa26}.hero h1,h2{font-family:var(--font-nunito),var(--font-inter),sans-serif;letter-spacing:-.05em;font-weight:600}.hero h1{margin:0;line-height:.91}.hero h1 span{color:#0078fa}.lead{color:#464851;max-width:570px;margin:30px 0;font-size:17px;line-height:1.65}.heroCta{padding:16px 24px}.heroCopy>small{color:var(--gray);margin:11px 0 0 22px;display:block}.services{background:#fff;padding:110px 0}.services h2,.about h2,.reviews h2{max-width:780px;margin:0;font-size:clamp(42px,5.3vw,70px);line-height:1.02}.about{align-items:center;padding:110px 0;display:grid}.aboutBody{color:#4b4d56;margin:30px 0;font-size:17px;line-height:1.75}.mantra{border-top:1px solid var(--line)}.mantra span{border-bottom:1px solid var(--line);font-family:var(--font-nunito);gap:20px;padding:16px 0;font-size:20px;font-weight:600;display:flex}.mantra b{font-family:var(--font-inter);color:#0078fa;font-size:9px}.reviewsSection{background:var(--pearl)}.reviews{padding:110px 0}.reviewsHead{justify-content:space-between;align-items:end;display:flex}.reviewGrid{gap:16px;margin-top:60px;display:grid}.reviewGrid article{border:1px solid var(--line);background:#fff;border-radius:20px;flex-direction:column;padding:30px;display:flex;position:relative;box-shadow:0 14px 34px #1a1a2e08}.quote{color:#0078fa;font-family:Georgia;font-size:64px;line-height:.6}.metric{font-family:var(--font-nunito);color:#0078fa;margin:20px 0 12px;font-size:22px}.reviewGrid blockquote{font-family:var(--font-nunito);margin:0;font-size:21px;line-height:1.45}.person{align-items:center;gap:12px;margin-top:auto;display:flex}.person>span{background:var(--indigo);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:11px;font-weight:800;display:grid}.person b,.person small{display:block}.person b{font-size:12px}.person small{color:var(--gray);font-size:10px}.final{color:#fff;text-align:center;padding:110px 0;position:relative;overflow:hidden}.final .shell{position:relative}.final h2{max-width:990px;margin:0 auto;font-size:clamp(50px,7vw,86px);line-height:.95}.final p{margin:30px 0;font-size:17px}footer{min-height:135px;color:var(--gray);align-items:center;gap:32px;font-size:10px;display:grid}footer img{width:145px}footer button{color:var(--indigo);cursor:pointer;background:0 0;border:0;font-weight:800}.float{z-index:20;background:#25d366;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 34px #122d1d3a}.float svg{width:28px}@media (width<=960px){.links{background:#fff;flex-direction:column;display:none;position:absolute}.links.open{display:flex}.menu{display:block}.navCta{display:none}.hero,.about{grid-template-columns:1fr}}@media (width<=640px){.shell{width:calc(100% - 30px)}.heroCta{padding:15px 18px;font-size:11px}.reviewsHead{flex-direction:column;align-items:flex-start}footer{grid-template-columns:1fr;padding:30px 0}footer p{margin:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pill{transition:none}}.aboutVisual{justify-content:center;align-items:center;display:flex}.aboutVisual img{mix-blend-mode:multiply;width:100%;max-width:624px;height:auto;display:block}.pill,.float{background:var(--indigo);color:#fff}.float svg{fill:#fff}@media (width<=960px){.aboutVisual{max-width:620px;margin:auto}}.final{background:var(--navy);color:#fff}.final h2 span{color:var(--blue)}.final p{color:#c8cad6}.hero{grid-template-columns:1fr .9fr;gap:64px;min-height:680px}.agentDemo{background:var(--pearl);border:1px solid #e1e4eb;border-radius:28px;width:100%;max-width:520px;margin-left:auto;padding:26px;box-shadow:0 28px 70px #25247314}.demoTop{letter-spacing:.14em;color:var(--indigo);align-items:center;gap:9px;font-size:9px;display:flex}.demoTop small{color:var(--gray);letter-spacing:.08em;margin-left:auto}.liveDot{background:#18a65b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #18a65b1c}.agentDemo h2{letter-spacing:-.035em;margin:20px 0;font-size:28px;line-height:1.1}.demoTabs{background:#fff;border-radius:99px;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;display:grid}.demoTabs button{color:var(--gray);font:700 11px var(--font-inter);cursor:pointer;background:0 0;border:0;border-radius:99px;min-height:36px}.demoTabs button.active{background:var(--indigo);color:#fff}.chatFlow{flex-direction:column;gap:12px;min-height:256px;padding-top:22px;display:flex}.bubble{border-radius:16px;max-width:86%;padding:12px 14px;animation:.38s both demoIn}.bubble small{color:var(--gray);font-size:9px;font-weight:800}.bubble p{margin:5px 0 0;font-size:13px;line-height:1.45}.bubble.b0{background:#fff;align-self:flex-start}.bubble.b1{background:var(--indigo);color:#fff;align-self:flex-end;animation-delay:.12s}.bubble.b1 small{color:#bfc6ff}.bubble.b2{text-align:center;color:#16653c;background:#e9f7ee;align-self:stretch;max-width:none;animation-delay:.24s}.bubble.b2 p{font-size:11px;font-weight:700}@keyframes demoIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.proofNote{max-width:240px;color:var(--gray);text-align:right;font-size:12px;line-height:1.5}.reviewGrid{grid-template-columns:repeat(3,1fr)}.reviewGrid article{min-height:340px}.finalMicro{color:#c8cad6;margin-top:13px;font-size:10px;display:block}.mobileAudit,.mobileReviews{display:none}@media (width<=960px){.hero{gap:18px;min-height:auto;padding-top:28px;padding-bottom:64px}.heroCopy{padding:34px 0 24px}.agentDemo{max-width:620px;margin:0 auto}.float{display:none}.mobileAudit{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;background:var(--indigo);color:#fff;text-align:center;opacity:0;pointer-events:none;border-radius:18px;flex-direction:column;padding:10px 16px;transition:all .25s;display:flex;position:fixed;transform:translateY(130%);box-shadow:0 16px 40px #11113c38}.mobileAudit.show{opacity:1;pointer-events:auto;transform:none}.mobileAudit a{font-size:13px;font-weight:800;line-height:1.4}.mobileAudit small{color:#d7d9ec;margin-top:2px;font-size:8px}}@media (width<=640px){body{padding-bottom:82px}.hero{padding-top:12px;padding-bottom:38px}.heroCopy{padding:34px 0 16px}.hero h1{font-size:48px;line-height:.92}.lead{margin:22px 0;font-size:15px}.heroCopy .heroCta{width:100%;min-height:50px;font-size:12px}.heroCopy>small{text-align:center;margin:10px 0 0}.agentDemo{border-radius:22px;padding:18px}.agentDemo h2{margin:16px 0;font-size:23px}.demoTabs button{font-size:10px}.chatFlow{gap:9px;min-height:218px;padding-top:16px}.bubble{padding:10px 12px}.reviewGrid{scroll-snap-type:x mandatory;border:0;gap:14px;margin-right:-15px;padding-right:15px;display:flex;overflow-x:auto}.reviewGrid article{scroll-snap-align:center;border:1px solid var(--line);border-radius:18px;flex:0 0 86%;min-height:310px}.reviews{padding:76px 0}.reviewsHead{gap:18px}.proofNote{text-align:left}.final .heroCta{width:100%;min-height:50px}.final{padding:76px 0}.final h2{font-size:46px}}@media (prefers-reduced-motion:reduce){.bubble{animation:none}.mobileAudit{transition:none}}.formPage{background:var(--pearl);min-height:100vh;padding-bottom:96px}.formNav{justify-content:space-between;align-items:center;min-height:96px;display:flex}.formNav img{width:150px}.formNav>a:last-child{color:var(--indigo);font-size:12px;font-weight:700}.formIntro{max-width:880px;padding:70px 0 52px}.formIntro h1{font:600 clamp(48px,7vw,82px)/.95 var(--font-nunito);letter-spacing:-.055em;max-width:800px}.formIntro>p:not(.kicker){color:#4b4d56;max-width:650px;margin:26px 0 12px;font-size:17px;line-height:1.7}.formIntro small{color:var(--gray)}.qualificationForm{gap:22px;max-width:880px;display:grid}.netlifyHoneypot{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.qualificationForm fieldset{border:1px solid var(--line);background:#fff;border-radius:24px;padding:82px 34px 34px;position:relative}.qualificationForm legend{font:600 25px/1.2 var(--font-nunito);color:var(--navy);max-width:calc(100% - 68px);padding:0;position:absolute;top:28px;left:34px}.qualificationForm legend span{font:800 10px var(--font-inter);color:#0078fa;letter-spacing:.08em;margin-right:12px}.formGrid{grid-template-columns:1fr 1fr;gap:22px;margin-top:22px;display:grid}.formField{color:var(--navy);flex-direction:column;gap:9px;font-size:12px;font-weight:700;display:flex}.formField b{color:#0078fa}.formWide{grid-column:1/-1}.formField input,.formField select,.formField textarea{width:100%;color:var(--navy);font:500 14px/1.5 var(--font-inter);background:#fbfcfe;border:1px solid #cfd4df;border-radius:12px;outline:none;padding:14px 15px}.formField textarea{resize:vertical;min-height:118px}.formField input:focus,.formField select:focus,.formField textarea:focus{background:#fff;border-color:#0078fa;box-shadow:0 0 0 3px #0078fa19}.consent{color:#4b4d56;align-items:flex-start;gap:12px;padding:8px 5px;font-size:12px;line-height:1.55;display:flex}.consent input{width:18px;height:18px;accent-color:var(--indigo);flex:none;margin-top:1px}.consent a{color:#0078fa;font-weight:700;text-decoration:underline}.formSubmit{cursor:pointer;border:0;justify-self:start;min-width:220px;min-height:52px}.formSubmit:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.formError{color:#8f2020;background:#fff1f1;border:1px solid #dc6b6b;border-radius:12px;padding:14px 16px;font-size:13px;font-weight:600}.formSuccess{text-align:center;max-width:880px;padding:110px 0}.formSuccess>span{margin:0 auto 24px;font-size:38px;display:block}.formSuccess h1{font:600 clamp(52px,7vw,82px)/.95 var(--font-nunito);letter-spacing:-.055em}.formSuccess>p:not(.kicker){color:#4b4d56;max-width:620px;margin:26px auto 30px;font-size:17px;line-height:1.7}.formSuccessActions{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.formSecondary{color:var(--indigo);text-underline-offset:4px;font-size:12px;font-weight:800;text-decoration:underline}.formSlogan{font:700 20px var(--font-nunito);color:var(--indigo);margin-top:42px;display:block}.formContact{color:var(--gray);margin-top:12px;font-size:11px;text-decoration:none;display:block}@media (width<=640px){.formPage{padding-bottom:55px}.formNav{min-height:76px}.formNav img{width:124px}.formIntro{padding:42px 0 34px}.formIntro h1{font-size:48px}.formIntro>p:not(.kicker){font-size:15px}.qualificationForm fieldset{border-radius:18px;padding:68px 18px 23px}.qualificationForm legend{max-width:calc(100% - 36px);font-size:21px;top:22px;left:18px}.formGrid{grid-template-columns:1fr;gap:18px}.formWide{grid-column:auto}.formSubmit{width:100%}}.campaignNav{align-items:center;gap:22px;display:flex}.campaignNav>a:first-child{color:var(--gray);font-size:12px;font-weight:700}.campaignHero{grid-template-columns:1.08fr .72fr;align-items:center;gap:90px;min-height:690px;display:grid}.campaignHero h1{font:600 clamp(55px,6.7vw,92px)/.94 var(--font-nunito);letter-spacing:-.055em;max-width:800px;margin:0}.campaignLead{color:#4b4d56;max-width:650px;margin:28px 0;font-size:17px;line-height:1.7}.campaignCta{min-height:50px;padding:15px 24px}.campaignHero>div:first-child>small,.campaignFinal small{color:var(--gray);margin:11px 0 0 20px;font-size:10px;display:block}.campaignDemo{background:var(--pearl);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:0 28px 70px #25247314}.campaignChat{flex-direction:column;gap:12px;padding:28px 0;display:flex}.campaignChat p{background:#fff;border-radius:16px;max-width:88%;margin:0;padding:13px 15px;font-size:13px;line-height:1.45}.campaignChat p:nth-child(2){background:var(--indigo);color:#fff;align-self:flex-end}.campaignChat p:nth-child(3){text-align:center;color:#16653c;background:#e9f7ee;align-self:stretch;max-width:none;font-size:11px;font-weight:700}.campaignMetric{border-top:1px solid var(--line);align-items:end;gap:16px;padding-top:20px;display:flex}.campaignMetric strong{font:600 42px/1 var(--font-nunito);color:var(--indigo)}.campaignMetric span{color:var(--gray);max-width:180px;font-size:10px;line-height:1.4}.campaignBenefits{border:1px solid var(--line);border-radius:22px;grid-template-columns:repeat(3,1fr);margin-bottom:110px;display:grid;overflow:hidden}.campaignBenefits article{border-right:1px solid var(--line);min-height:170px;padding:30px}.campaignBenefits article:last-child{border:0}.campaignBenefits small{color:#0078fa;font-size:9px}.campaignBenefits h2{letter-spacing:-.03em;margin:48px 0 0;font-size:25px;line-height:1.15}.campaignProcess{background:var(--navy);color:#fff;padding:105px 0}.campaignProcess .kicker{color:var(--blue)}.campaignProcess h2,.campaignFit h2,.campaignFinal h2{font:600 clamp(42px,5.5vw,70px)/1 var(--font-nunito);letter-spacing:-.045em;max-width:830px;margin:0}.campaignProcess>.shell>div{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px;display:grid}.campaignProcess article{border-top:1px solid #ffffff36;padding-top:22px}.campaignProcess article strong{font:600 25px var(--font-nunito);color:var(--blue)}.campaignProcess article p{font-size:15px}.campaignFit{padding:115px 0}.campaignFit h2{max-width:950px}.campaignFinal{text-align:center;background:var(--pearl);padding:95px 0}.campaignFinal h2{max-width:900px;margin:0 auto 32px}.campaignFinal small{margin-left:0}.campaignSticky{display:none}@media (width<=960px){.campaignHero{grid-template-columns:1fr;gap:36px;min-height:auto;padding-top:70px;padding-bottom:70px}.campaignHero h1{font-size:64px}.campaignDemo{max-width:620px}.campaignBenefits{margin-bottom:80px}.campaignSticky{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:40;background:var(--indigo);color:#fff;text-align:center;border-radius:18px;flex-direction:column;padding:10px 16px;display:flex;position:fixed;box-shadow:0 16px 40px #11113c38}.campaignSticky a{font-size:13px;font-weight:800}.campaignSticky small{color:#d7d9ec;margin-top:2px;font-size:8px}}@media (width<=640px){.campaignNav>a:first-child,.campaignNav .navCta{display:none}.campaignHero{padding-top:52px;padding-bottom:48px}.campaignHero h1{font-size:48px}.campaignLead{font-size:15px}.campaignHero .campaignCta{width:100%}.campaignHero>div:first-child>small{text-align:center;margin-left:0}.campaignDemo{padding:18px}.campaignBenefits{scroll-snap-type:x mandatory;border:0;border-radius:0;margin-bottom:64px;margin-right:0;display:flex;overflow-x:auto}.campaignBenefits article{border:1px solid var(--line);scroll-snap-align:start;border-radius:16px;flex:0 0 78%;min-height:150px;margin-right:12px}.campaignBenefits h2{margin-top:34px}.campaignProcess{padding:76px 0}.campaignProcess>.shell>div{grid-template-columns:1fr;gap:24px;margin-top:42px}.campaignFit{padding:78px 0}.campaignFit h2,.campaignProcess h2,.campaignFinal h2{font-size:42px}.campaignFinal{padding:76px 0}.campaignFinal .campaignCta{width:100%}}.hero h1{max-width:720px;font-size:clamp(48px,5.2vw,76px)}.intelligence h2{font:600 clamp(42px,5.3vw,68px)/1 var(--font-nunito);letter-spacing:-.05em;margin:0}.intelligence{background:var(--indigo);color:#fff;padding:110px 0}.intelligence .kicker{color:var(--pearl)}.intelligenceGrid{grid-template-columns:1.05fr .95fr;align-items:center;gap:80px;display:grid}.intelligenceCopy>p:not(.kicker){color:#e7e8f3;max-width:620px;margin:28px 0;font-size:16px;line-height:1.75}.intelStages{border-top:1px solid #ffffff2b}.intelStages article{border-bottom:1px solid #ffffff2b;align-items:center;gap:20px;padding:17px 0;display:flex}.intelStages article>span{color:var(--pearl);font-size:9px}.intelStages article b,.intelStages article small{display:block}.intelStages article b{font:600 19px var(--font-nunito)}.intelStages article small{color:#d0d3e4;margin-top:3px;font-size:10px}.analystCard{background:var(--pearl);color:var(--navy);border:1px solid #ffffff70;border-radius:28px;padding:28px;box-shadow:0 30px 70px #10102e52}.analystTop{letter-spacing:.13em;align-items:center;gap:9px;font-size:9px;display:flex}.analystTop small{color:#08783f;margin-left:auto}.analystCard h3{font:600 30px var(--font-nunito);margin:30px 0 18px}.insightRow{border-top:1px solid #d8dbe3;grid-template-columns:32px 1fr auto;align-items:center;padding:16px 0;font-size:13px;display:grid}.insightRow span{color:#0078fa;font-size:8px}.insightRow b{color:#0078fa}.analystCard>p{color:#5e6472;margin:20px 0 0;font-size:10px;line-height:1.55}.campaignCoverage{max-width:780px;color:var(--gray);margin:28px 0 0;font-size:14px;line-height:1.6}@media (width<=960px){.intelligenceGrid{grid-template-columns:1fr;gap:50px}.analystCard{max-width:620px}.hero h1{font-size:58px}.reviewGrid{grid-template-columns:1fr 1fr}.reviewGrid article:last-child{grid-column:1/-1}}@media (width<=640px){.hero h1{font-size:43px;line-height:.94}.intelligence{padding:76px 0}.intelligenceGrid{gap:38px}.intelligence h2{font-size:42px}.intelligenceCopy>p:not(.kicker){font-size:14px}.analystCard{border-radius:22px;padding:22px}.analystCard h3{font-size:26px}.insightRow{font-size:12px}}.toggle .on{background:var(--pearl);color:var(--indigo);box-shadow:inset 0 0 0 1px #d7dae2}.demoTabs button.active{background:var(--pearl);color:var(--indigo);box-shadow:none;position:relative}.demoTabs button.active:after{content:"";background:var(--indigo);border-radius:2px;height:2px;position:absolute;bottom:4px;left:25%;right:25%}footer{grid-template-columns:145px 1fr auto auto}footer p{text-align:right}footer>div{gap:16px;display:flex}.footerLegal{align-items:center;gap:18px;display:flex}.footerLegal a{color:var(--gray);font-weight:700;text-decoration:none}.footerLegal a:hover{color:var(--indigo)}@media (width<=640px){footer{grid-template-columns:1fr}footer p{text-align:left}.footerLegal{flex-wrap:wrap;gap:14px 18px}}.legalPage{color:var(--navy);background:#fff;min-height:100vh}.legalPage header{background:#fff;position:static}.legalNav{justify-content:space-between;align-items:center;min-height:92px;display:flex}.legalNav .brand img{width:150px;display:block}.legalNav>div{align-items:center;gap:28px;display:flex}.legalNav a{color:var(--indigo);font-size:12px;font-weight:800;text-decoration:none}.legalNav .languageLink{border:1px solid var(--line);border-radius:999px;padding:12px 18px}.legalHero{background:var(--pearl);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:92px 0 76px}.legalShell{width:min(820px,100% - 48px);margin:0 auto}.legalHero h1{font:600 clamp(48px,7vw,78px)/.98 var(--font-nunito);letter-spacing:-.04em;color:var(--indigo);margin:0 0 24px}.legalHero>div>p:not(.kicker){color:#555b6b;max-width:690px;margin:0 0 24px;font-size:17px;line-height:1.7}.legalHero small{color:var(--gray);font-size:11px;font-weight:700}.legalContent{padding:82px 0 110px}.legalContent section{border-bottom:1px solid var(--line);margin:0 0 38px;padding:0 0 36px}.legalContent section:last-child{margin-bottom:0}.legalContent h2{font:600 28px/1.15 var(--font-nunito);letter-spacing:-.02em;color:var(--navy);margin:0 0 18px}.legalContent p,.legalContent li{color:#505665;font-size:15px;line-height:1.78}.legalContent p{margin:0 0 14px}.legalContent ul{margin:14px 0 0;padding-left:22px}.legalContent li{margin:0 0 10px;padding-left:7px}.legalFooter{background:var(--pearl);border-top:1px solid var(--line)}.legalFooter>div{grid-template-columns:160px 1fr auto;align-items:center;gap:36px;min-height:150px;display:grid}.legalFooter img{width:145px}.legalFooter nav{justify-content:center;gap:24px;display:flex}.legalFooter a{color:var(--indigo);font-size:11px;font-weight:800;text-decoration:none}.legalFooter p{color:var(--gray);margin:0;font-size:10px}@media (width<=640px){.legalNav{min-height:76px}.legalNav .brand img{width:128px}.legalNav>div{gap:12px}.legalNav>div>a:first-child{display:none}.legalNav .languageLink{padding:10px 14px}.legalHero{padding:64px 0 56px}.legalShell{width:min(100% - 32px,820px)}.legalHero h1{font-size:46px}.legalHero>div>p:not(.kicker){font-size:15px}.legalContent{padding:58px 0 76px}.legalContent section{margin-bottom:30px;padding-bottom:28px}.legalContent h2{font-size:24px}.legalContent p,.legalContent li{font-size:14px;line-height:1.72}.legalFooter>div{grid-template-columns:1fr;gap:22px;padding:34px 0}.legalFooter nav{flex-wrap:wrap;justify-content:flex-start;gap:14px 20px}}.hero{position:relative}.hero:after{content:"";background:var(--line);width:100vw;height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.about{grid-template-columns:1fr 1.1fr;gap:80px}.aboutSection{background:var(--pearl)}.final .pill{background:var(--blue);color:var(--pearl);box-shadow:0 0 0 1px #ffffff45}@media (width<=960px){.about{grid-template-columns:1fr}.aboutVisual img{max-width:624px}}@media (width<=640px){.services,.about,.intelligence,.reviews,.final{padding-top:76px;padding-bottom:76px}.kicker{margin-bottom:18px}.toggle button{width:44px;height:40px}.menu{width:44px;height:44px;padding:0}.hero{gap:12px;padding-bottom:30px}.agentDemo{border-radius:18px;padding:14px;box-shadow:0 18px 44px #25247312}.agentDemo h2{margin:12px 0;font-size:21px}.demoTop{font-size:8px}.demoTabs{padding:3px}.demoTabs button{min-height:44px;font-size:10px}.chatFlow{gap:7px;min-height:164px;padding-top:10px}.bubble{border-radius:13px;padding:8px 10px}.bubble p{margin-top:3px;font-size:12px;line-height:1.35}.bubble small{font-size:8px}.bubble.b2 p{font-size:10px}.about{gap:28px}.about>div:last-child{order:1}.aboutVisual{order:2;margin-top:4px}.aboutVisual img{max-width:520px}.aboutBody{margin:20px 0;font-size:15px;line-height:1.65}.mantra span{padding:12px 0;font-size:18px}.reviewsHead{gap:12px}.reviewGrid{display:none}.mobileReviews{margin-top:28px;display:block}.outcomeTabs{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.outcomeTabs button{border:1px solid var(--line);min-height:64px;color:var(--gray);cursor:pointer;background:#fff;border-radius:12px;padding:8px 5px}.outcomeTabs button b,.outcomeTabs button small{display:block}.outcomeTabs button b{font:600 13px/1.1 var(--font-nunito)}.outcomeTabs button small{margin-top:5px;font-size:8px}.outcomeTabs button.active{border-color:var(--indigo);color:var(--indigo);background:#fff}.mobileReview{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;min-height:220px;margin-top:10px;padding:20px;display:flex}.mobileReview blockquote{font:500 17px/1.45 var(--font-nunito);margin:0}.mobileReview .person{margin-top:auto;padding-top:20px}}@media (width<=370px){.navRight{gap:8px}.outcomeTabs button b{font-size:12px}}header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;height:88px;padding:10px 0}.nav{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;height:68px;padding:0 12px 0 18px;display:grid;position:relative;box-shadow:0 10px 28px #1a1a2e0a}.brand{justify-self:start;width:164px;height:48px}.links{justify-self:center;align-items:center;gap:30px}.links a{align-items:center;min-height:44px;padding:0 3px;display:flex;position:relative}.links a:after{content:"";background:var(--indigo);border-radius:2px;height:2px;transition:transform .2s;position:absolute;bottom:5px;left:3px;right:3px;transform:scaleX(0)}.links a:hover:after,.links a:focus-visible:after{transform:scaleX(1)}.navRight{justify-self:end}.navCta{white-space:nowrap;min-height:46px;padding:0 21px}.toggle button{height:36px}.campaignNav{grid-column:3;justify-self:end}@media (width<=1100px) and (width>=961px){.nav{grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr)}.brand{width:150px}.links{gap:20px}.navRight{gap:10px}.navCta{padding:0 16px;font-size:11px}}@media (width<=960px){header{height:80px;padding:8px 0}.nav{border-radius:16px;grid-template-columns:1fr auto;height:64px;padding:0 8px 0 14px}.brand{grid-column:1;width:148px;height:44px}.navRight,.campaignNav{grid-column:2;justify-self:end}.links{border:1px solid var(--line);border-radius:14px;padding:14px;top:calc(100% + 8px);left:0;right:0;box-shadow:0 16px 34px #1a1a2e18}.links a{min-height:48px;padding:0 10px}.links a:after{display:none}}@media (width<=640px){header{height:76px;padding:6px 0}header .shell{width:calc(100% - 16px)}.nav{border-radius:15px;height:64px;padding-left:12px}.brand{width:140px}.navRight{gap:8px}.toggle{padding:1px}.toggle button{width:40px;height:40px}.menu{width:44px;height:44px}.links{top:calc(100% + 7px)}}@media (width<=370px){.brand{width:126px}.toggle button{width:37px}}@media (width>=961px){.heroAccentEn,.heroAccentEs{display:inline-block;white-space:nowrap}.heroAccentEn{font-size:.78em}.heroAccentEs{font-size:.68em}}.automationShowcase{margin-top:34px;background:var(--pearl);border:1px solid #e1e4eb;border-radius:28px;padding:34px;display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center;box-shadow:0 24px 60px #2524730c}.automationShowcaseCopy h3{font:600 38px/1.05 var(--font-nunito);letter-spacing:-.035em;margin:14px 0 14px;color:var(--navy)}.automationShowcaseCopy>p:not(.kicker){color:#5f6472;font-size:14px;line-height:1.65;margin:0 0 24px}.automationTabs{display:flex;flex-wrap:wrap;gap:8px}.automationTabs button{border:1px solid #dfe3ec;background:var(--pearl);color:#606575;border-radius:99px;padding:10px 14px;font:700 11px var(--font-inter);cursor:pointer}.automationTabs button.active{background:var(--indigo);border-color:var(--indigo);color:#fff}.automationTop{display:flex;align-items:center;gap:9px;color:var(--indigo);font-size:10px;letter-spacing:.12em}@media(max-width:900px){.automationShowcase{grid-template-columns:1fr;gap:28px}.automationCard{min-height:auto}.automationShowcaseCopy h3{font-size:32px}}@media(max-width:600px){.automationTabs{display:grid;grid-template-columns:1fr 1fr 1fr}}.automationCard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 24px;min-height:365px;overflow:hidden}.automationFlow{margin-top:24px;display:flex;flex-direction:column;align-items:stretch;gap:0}.automationTimelineItem{position:relative;display:grid;grid-template-columns:30px 1fr;gap:14px;min-height:72px;padding:0 0 16px}.automationTimelineItem:last-child{min-height:56px;padding-bottom:0}.automationTimelineItem:not(:last-child):before{content:"";position:absolute;left:14px;top:28px;bottom:-2px;width:2px;border-radius:999px;background:#d8dde8;transition:background .35s ease,box-shadow .35s ease}.automationTimelineItem.completed:not(:last-child):before{background:var(--blue);box-shadow:0 0 12px #0078fa30}.automationTimelineItem.active:not(:last-child):before{background:linear-gradient(to bottom,var(--blue) 0 28%,#d8dde8 28% 100%)}.automationTimelineIcon{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;border:2px solid #cfd5e1;background:#fff;color:#8b91a0;display:grid;place-items:center;font:800 9px/1 var(--font-inter);transition:all .3s ease}.automationTimelineItem.completed .automationTimelineIcon{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 6px 16px #0078fa2e}.automationTimelineItem.active .automationTimelineIcon{border-color:var(--blue);background:#fff;color:var(--blue);box-shadow:0 0 0 6px #0078fa12;animation:automationPulse 1.15s ease-in-out infinite}.automationTimelineItem.pending .automationTimelineIcon{border-color:#cfd5e1;background:var(--pearl);color:#8b91a0}.automationTimelineIcon svg{width:13px;height:13px;stroke:currentColor;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.automationTimelineContent{min-width:0;padding-top:2px}.automationTimelineContent b,.automationTimelineContent small{display:block}.automationTimelineContent b{font:700 14px/1.2 var(--font-nunito);color:var(--navy);transition:color .3s ease}.automationTimelineContent small{color:#686e7c;font-size:10px;margin-top:4px;line-height:1.4}.automationTimelineItem.pending .automationTimelineContent{opacity:.6}.automationTimelineItem.active .automationTimelineContent b{color:var(--blue)}.automationTimelineItem{animation:.32s both demoIn}.automationProgress{margin-left:auto;color:#747b8d;font-size:9px;font-weight:800;letter-spacing:.08em}@keyframes automationPulse{0%,100%{box-shadow:0 0 0 4px #0078fa10}50%{box-shadow:0 0 0 8px #0078fa20}}@media(max-width:600px){.automationTimelineItem:not(:last-child):before{left:13px;top:27px}.automationTimelineIcon{width:27px;height:27px}.automationProgress{font-size:8px}}@media(prefers-reduced-motion:reduce){.automationTimelineItem,.automationTimelineItem.active .automationTimelineIcon{animation:none}.automationTimelineIcon,.automationTimelineItem:before,.automationTimelineContent b{transition:none}}
.serviceCardsSection{background:#fff;padding:0 0 110px}.serviceCardsSection>.shell{padding-top:0}.serviceCardsIntro{padding:94px 0 0}.serviceCardsHeader{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:56px;align-items:end}.serviceCardsHeader .kicker{margin-bottom:20px}.serviceCardsHeader h2{max-width:760px;margin:0;font:600 clamp(44px,5.3vw,70px)/1 var(--font-nunito);letter-spacing:-.05em;color:var(--navy)}.serviceCardsHeader>p{max-width:430px;margin:0 0 6px;color:#5f6472;font-size:15px;line-height:1.7}.serviceCarousel{position:relative;margin-top:52px}.serviceCardViewport{overflow:hidden;outline:none;border-radius:28px}.serviceCardTrack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.benefitCard{position:relative;min-width:0;min-height:440px;border-radius:28px;padding:28px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);opacity:0;transform:translateY(26px);transition:opacity .5s ease,transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .25s ease}.benefitCard.is-visible{opacity:1;transform:translateY(0)}.benefitCard:nth-child(2){transition-delay:.08s}.benefitCard:nth-child(3){transition-delay:.16s}.benefitCard:hover{box-shadow:0 22px 54px #1a1a2e14}.benefitCard-primary{background:linear-gradient(145deg,var(--indigo),#2e2e93);border-color:#343397;color:var(--pearl)}.benefitCard-soft{background:linear-gradient(145deg,#f8fbff,#e9f1ff);color:var(--navy)}.benefitCard-light{background:linear-gradient(145deg,var(--pearl),#fff);color:var(--navy)}.benefitCard-light:after,.benefitCard-soft:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-95px;top:-110px;background:radial-gradient(circle,#0078fa12 0,#0078fa00 70%);pointer-events:none}.benefitCardTop{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px}.benefitNumber{font:700 10px/1 var(--font-inter);letter-spacing:.08em;color:#777d8d}.benefitCard-primary .benefitNumber{color:#d9dcf5}.benefitBadge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border-radius:99px;background:var(--blue);color:#071b34;font:900 9px/1 var(--font-inter);letter-spacing:.12em}.benefitIcon{position:relative;z-index:1;width:62px;height:62px;margin-top:46px;border-radius:18px;display:grid;place-items:center;background:#e7eefc;color:var(--blue)}.benefitCard-primary .benefitIcon{background:#ffffff16;color:#fff}.benefitIcon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.benefitCardBody{position:relative;z-index:1;margin-top:auto;padding-top:58px}.benefitCardBody h3{margin:0 0 16px;font:600 30px/1.08 var(--font-nunito);letter-spacing:-.035em}.benefitCardBody p{margin:0;color:#5e6370;font-size:14px;line-height:1.65}.benefitCard-primary .benefitCardBody p{color:#e2e4f4}.serviceCarouselNext{position:absolute;z-index:3;right:14px;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid #d9dde7;border-radius:50%;background:#ffffffed;color:var(--indigo);display:grid;place-items:center;box-shadow:0 12px 28px #1a1a2e18;cursor:pointer;transition:transform .2s,box-shadow .2s}.serviceCarouselNext:hover{transform:translateY(-50%) translateX(2px);box-shadow:0 16px 34px #1a1a2e22}.serviceCarouselNext svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.serviceCardCtas{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.serviceCardCtas a{min-height:52px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;font:800 12px/1 var(--font-inter);transition:transform .2s,box-shadow .2s,border-color .2s}.serviceCardCtas a:hover{transform:translateY(-2px);box-shadow:0 12px 28px #15162814}.animatedSecondaryCta{border:1px solid var(--line);background:#fff;color:var(--indigo)}.animatedSecondaryCta:hover{border-color:var(--indigo)}.animatedPrimaryCta{border:1px solid var(--indigo);background:var(--indigo);color:#fff}.serviceCardCtas svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.animatedSecondaryCta svg{fill:currentColor;stroke:none}.serviceCardsSection .automationShowcase{margin-top:72px}.automationShowcase>*{min-width:0}.automationTimelineContent{min-width:0}
@media(max-width:1000px){.serviceCardsHeader{grid-template-columns:1fr;gap:22px}.serviceCardsHeader>p{max-width:680px}.serviceCardViewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.serviceCardViewport::-webkit-scrollbar{display:none}.serviceCardTrack{display:flex}.benefitCard{flex:0 0 calc((100% - 16px)/2);scroll-snap-align:start}.serviceCarouselNext{display:grid}.serviceCardsSection .automationShowcase{margin-top:54px}}
@media(min-width:1001px){.serviceCarouselNext[hidden]{display:none!important}}
@media(max-width:700px){.serviceCardsSection{padding-bottom:76px}.serviceCardsIntro{padding-top:62px}.serviceCardsHeader .kicker{margin-bottom:16px}.serviceCardsHeader h2{font-size:clamp(38px,11vw,48px);line-height:1.02}.serviceCardsHeader>p{font-size:14px;line-height:1.6}.serviceCarousel{margin-top:34px}.serviceCardViewport{margin-right:-24px;padding-right:24px;border-radius:22px}.serviceCardTrack{gap:12px}.benefitCard{flex-basis:88%;min-height:390px;border-radius:22px;padding:23px;scroll-snap-stop:always}.benefitBadge{min-height:32px;padding:0 11px;font-size:8px}.benefitIcon{width:56px;height:56px;margin-top:36px;border-radius:16px}.benefitIcon svg{width:26px;height:26px}.benefitCardBody{padding-top:46px}.benefitCardBody h3{font-size:27px;margin-bottom:13px}.benefitCardBody p{font-size:13px;line-height:1.58}.serviceCarouselNext{right:6px;width:44px;height:44px}.serviceCardCtas{width:100%;gap:9px;margin-top:24px}.serviceCardCtas a{width:100%;min-height:52px;padding-inline:18px;font-size:11px;touch-action:manipulation}.serviceCardsSection .automationShowcase{margin-top:40px}.automationShowcase{border-radius:18px;padding:18px;gap:20px;box-shadow:none}.automationShowcaseCopy h3{font-size:26px;line-height:1.08}.automationShowcaseCopy>p:not(.kicker){font-size:13px;line-height:1.55;margin-bottom:18px}.automationTabs{gap:6px}.automationTabs button{min-height:44px;padding:8px 5px;font-size:9px;line-height:1.15;touch-action:manipulation}.automationCard{border-radius:16px;padding:16px 14px;min-height:0}.automationTop{font-size:9px;letter-spacing:.09em}.automationFlow{margin-top:20px}.automationTimelineItem{grid-template-columns:28px minmax(0,1fr);gap:11px;min-height:65px;padding-bottom:13px}.automationTimelineContent b{font-size:12px;line-height:1.25}.automationTimelineContent small{font-size:9px;line-height:1.35;overflow-wrap:break-word}}
@media(max-width:370px){.serviceCardsHeader h2{font-size:36px}.benefitCard{flex-basis:91%;min-height:380px;padding:21px}.benefitCardBody h3{font-size:25px}.serviceCardCtas a{font-size:10.5px}.automationShowcase{padding:15px}.automationTabs button{font-size:8.5px;padding-inline:3px}}
@media(prefers-reduced-motion:reduce){.benefitCard,.serviceCarouselNext,.serviceCardCtas a{transition:none}.benefitCard{opacity:1;transform:none}.serviceCardViewport{scroll-behavior:auto}}
/* Homepage floating WhatsApp + footer language placement */
.float{
  background:var(--blue);
  box-shadow:0 14px 34px rgba(0,120,250,.28);
}

#top>footer.shell{
  grid-template-columns:145px auto 1fr auto;
  padding-right:88px;
}
#top>footer.shell .footerLang{
  grid-column:2;
  grid-row:1;
  justify-self:start;
  align-items:center;
  gap:14px;
  display:flex;
}
#top>footer.shell>p{
  grid-column:3;
  grid-row:1;
  text-align:right;
}
#top>footer.shell .footerLegal{
  grid-column:4;
  grid-row:1;
}

@media (width<=960px){
  #top>footer.shell{
    padding-bottom:96px;
  }
}

@media (width<=640px){
  #top>footer.shell{
    grid-template-columns:1fr;
    gap:18px;
    padding:30px 0 calc(112px + env(safe-area-inset-bottom));
  }
  #top>footer.shell>img{
    grid-column:1;
    grid-row:1;
  }
  #top>footer.shell .footerLang{
    grid-column:1;
    grid-row:2;
    justify-self:start;
  }
  #top>footer.shell .footerLegal{
    grid-column:1;
    grid-row:3;
  }
  #top>footer.shell>p{
    grid-column:1;
    grid-row:4;
    text-align:left;
  }
}
#top>footer.shell .footerLang button{
  min-width:44px;
  min-height:44px;
  padding:0 8px;
  border-radius:12px;
  touch-action:manipulation;
}

/* ==========================================================================
   PERFORMANCE + MOBILE OVERRIDES
   Appended deliberately: the rules above are minified build output, so
   corrections live here where they can be read and changed by hand.
   ========================================================================== */

/* --- 1. Sticky header blur -----------------------------------------------
   backdrop-filter forces the browser to re-blur the strip behind the header
   on every single scroll frame. On phones this was the main cause of stutter.
   Desktop keeps the effect; below 960px it becomes a solid bar.             */
@media (max-width: 960px) {
  header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #fff;
  }
}

/* --- 2. Chat bubbles ------------------------------------------------------
   The entrance animation used to run on every bubble on every repaint.
   It now runs only when JS adds .bubbleIn after swapping the text.          */
.bubble { animation: none; }
.bubble.bubbleIn { animation: .38s both demoIn; }

/* --- 3. Automation timeline ----------------------------------------------
   The old pulse animated box-shadow, which cannot be composited and so
   repainted the element every frame, forever, even off screen. This version
   animates transform/opacity on a pseudo-element, which runs on the GPU.    */
.automationTimelineItem { animation: none; }
.automationTimelineItem.active .automationTimelineIcon { animation: none; }

.automationTimelineItem.active .automationTimelineIcon::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: #0078fa1f;
  animation: automationRing 1.15s ease-in-out infinite;
  will-change: transform, opacity;
  pointer-events: none;
}
.automationTimelineIcon { position: relative; }

@keyframes automationRing {
  0%, 100% { transform: scale(.86); opacity: .55; }
  50%      { transform: scale(1);   opacity: 0;   }
}

/* Icon swapping: three children, one shown per state. Avoids rebuilding DOM. */
.automationTimelineIcon .iconCheck,
.automationTimelineIcon .iconClock,
.automationTimelineIcon .iconNum { display: none; }
.automationTimelineItem.completed .automationTimelineIcon .iconCheck { display: block; }
.automationTimelineItem.active    .automationTimelineIcon .iconClock { display: block; }
.automationTimelineItem.pending   .automationTimelineIcon .iconNum   { display: block; }
.automationTimelineIcon .iconNum { font-style: normal; font-weight: 800; }

/* --- 4. Viewport units ----------------------------------------------------
   100vh does not account for the mobile address bar, so these pages were
   always slightly taller than the screen. svh is the visible height.        */
.formPage, .legalPage { min-height: 100vh; min-height: 100svh; }

/* --- 5. Language switch is now links, not buttons ------------------------
   The old <button>s ran location.href, so the Spanish site had no crawlable
   inbound links at all. These are real anchors. The styling below mirrors
   the original .toggle button rules exactly, so it looks unchanged.        */
.toggle { display: flex; align-items: center; }
.toggle a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 34px;
  border-radius: 99px;
  color: var(--gray);
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  touch-action: manipulation;
}
.toggle a.on { background: var(--pearl); color: var(--indigo); box-shadow: inset 0 0 0 1px #d7dae2; }

.footerLang { display: flex; align-items: center; gap: 6px; }
.footerLang a {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 8px;
  border-radius: 12px;
  color: var(--indigo);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  touch-action: manipulation;
}
.footerLang a.on { text-decoration: underline; text-underline-offset: 4px; }

/* Match the responsive sizes the original button rules used. */
@media (min-width: 961px) { .toggle a { height: 36px; } }
@media (max-width: 640px) { .toggle a { width: 44px; height: 40px; } }
@media (max-width: 480px) { .toggle a { width: 40px; height: 40px; } }
@media (max-width: 370px) { .toggle a { width: 37px; } }

/* --- 6. Long-word overflow guard ----------------------------------------
   Real fix for narrow screens, rather than relying on overflow-x:hidden
   to crop whatever happens to stick out.                                    */
h1, h2, h3, p, blockquote, .lead, .aboutBody { overflow-wrap: break-word; }

/* --- 7. Respect reduced motion across the new animations ----------------- */
@media (prefers-reduced-motion: reduce) {
  .bubble.bubbleIn { animation: none; }
  .automationTimelineItem.active .automationTimelineIcon::before { animation: none; opacity: .4; }
}

/* --- 8. Example scenarios (was: testimonials) -----------------------------
   These were <blockquote> elements attributed to specific people, which
   reads as a measured client result. They are illustrative, so they are now
   plain prose with a visible qualifier. Styling matches what was there.     */
.reviewGrid .scenarioBody,
.mobileReview .scenarioBody {
  font-family: var(--font-nunito), var(--font-inter), sans-serif;
  margin: 0;
  font-size: 21px;
  line-height: 1.45;
}
.reviewGrid article > .metric { margin-top: 0; }
.scenarioNote {
  margin: 28px 0 0;
  color: var(--gray);
  font-size: 12px;
  line-height: 1.6;
  max-width: 620px;
}
@media (max-width: 640px) {
  .reviewGrid .scenarioBody, .mobileReview .scenarioBody { font-size: 18px; }
  .scenarioNote { font-size: 11px; margin-top: 20px; }
}

/* --- 9. Footer solutions nav ---------------------------------------------
   /bookings, /quotes and /lead-response previously had no inbound links
   from anywhere on the site. Now every page links to all three.            */
.footerSolutions {
  grid-column: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 13px;
}
.footerSolutions b {
  flex: 0 0 100%;          /* label always sits on its own line */
  margin-bottom: 4px;
  color: var(--gray);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.footerSolutions a {
  color: var(--indigo);
  font-weight: 600;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.footerSolutions a:hover { color: var(--blue); text-decoration: underline; }

@media (min-width: 961px) {
  /* On desktop the footer is a multi-column grid: let this span the row. */
  .footerSolutions { grid-column: 1 / -1; justify-content: center; }
}

/* ==========================================================================
   FAQ — dedicated page and homepage section
   Answers are plain visible text, never collapsed behind an accordion:
   answer engines and crawlers weight visible content, and a question the
   reader has to click to open is a question they often do not read.
   ========================================================================== */
.faqContent { padding-top: 64px; }
.faqGroup { border-bottom: 1px solid var(--line); margin: 0 0 44px; padding: 0 0 8px; }
.faqGroup:last-child { border-bottom: 0; margin-bottom: 0; }
.faqGroup > h2 {
  font: 800 12px/1.2 var(--font-inter), sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 26px;
}
.faqItem { margin: 0 0 34px; }
.faqItem:last-child { margin-bottom: 36px; }
.faqItem h3 {
  font: 600 22px/1.3 var(--font-nunito), var(--font-inter), sans-serif;
  letter-spacing: -.02em;
  color: var(--navy);
  margin: 0 0 12px;
}
.faqItem p { color: #505665; font-size: 15px; line-height: 1.78; margin: 0 0 12px; }
.faqItem p:last-child { margin-bottom: 0; }
.faqItem strong { color: var(--indigo); font-weight: 800; }
.faqItem a { color: var(--blue); font-weight: 600; }

.faqCta { background: var(--pearl); border-top: 1px solid var(--line); padding: 72px 0 88px; }
.faqCta h2 {
  font: 600 clamp(28px, 4vw, 40px)/1.1 var(--font-nunito), var(--font-inter), sans-serif;
  letter-spacing: -.03em; color: var(--indigo); margin: 0 0 14px;
}
.faqCta p { color: #555b6b; font-size: 16px; line-height: 1.7; margin: 0 0 28px; max-width: 560px; }
.faqCtaActions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.faqCtaSecondary {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 22px; border-radius: 99px;
  border: 1px solid var(--line); background: #fff;
  color: var(--indigo); font-size: 12px; font-weight: 800; text-decoration: none;
  touch-action: manipulation;
}
@media (max-width: 640px) {
  .faqContent { padding-top: 44px; }
  .faqItem h3 { font-size: 19px; }
  .faqCta { padding: 56px 0 68px; }
  .faqCtaActions a { width: 100%; min-height: 52px; }
}

/* --- Homepage FAQ block --------------------------------------------------- */
.homeFaq { background: #fff; padding: 104px 0; }
.homeFaqHead { max-width: 680px; margin: 0 0 48px; }
.homeFaqHead h2 {
  font-family: var(--font-nunito), var(--font-inter), sans-serif;
  font-size: clamp(32px, 5vw, 54px); line-height: 1.03;
  letter-spacing: -.04em; color: var(--navy); margin: 0;
}
.homeFaqList {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px 48px;
}
.homeFaq .faqItem { margin: 0; }
.homeFaq .faqItem h3 { font-size: 20px; }
.homeFaqLink {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 48px; margin-top: 44px;
  color: var(--blue); font-size: 13px; font-weight: 800; text-decoration: none;
}
.homeFaqLink:after { content: "\2192"; font-family: var(--font-inter), Arial, sans-serif; }
.homeFaqLink:hover { text-decoration: underline; }
@media (max-width: 960px) {
  .homeFaq { padding: 76px 0; }
  .homeFaqList { grid-template-columns: 1fr; gap: 28px; }
  .homeFaqHead { margin-bottom: 34px; }
}
@media (max-width: 640px) {
  .homeFaq { padding: 60px 0; }
  .homeFaq .faqItem h3 { font-size: 18px; }
  .homeFaq .faqItem p { font-size: 14px; }
}

/* --- 10. Reveal animation must not hide content when JS is unavailable ----
   .benefitCard started at opacity:0 and was only revealed by JavaScript, so
   a blocked or failed script left the three service cards permanently
   invisible. The hidden state now applies only when JS is confirmed running
   (an inline snippet in <head> sets .js before first paint).             */
.benefitCard { opacity: 1; transform: none; }
.js .benefitCard { opacity: 0; transform: translateY(18px); }
.js .benefitCard.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .js .benefitCard { opacity: 1; transform: none; }
}

/* --- 11. Solution / industry landing pages ------------------------------- */
.legalHero .faqCtaActions { margin-top: 34px; }
.painList { margin: 0; padding: 0; list-style: none; }
.painList li {
  position: relative;
  margin: 0 0 16px;
  padding-left: 26px;
  color: #505665;
  font-size: 15px;
  line-height: 1.78;
}
.painList li:last-child { margin-bottom: 0; }
.painList li::before {
  content: "";
  position: absolute;
  left: 2px; top: 11px;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 4px #0078fa1f;
}
.limitBox {
  border-left: 3px solid var(--blue);
  background: var(--pearl);
  border-radius: 0 16px 16px 0;
  padding: 22px 24px;
}
.limitBox p { color: #4b5162; font-size: 15px; line-height: 1.75; margin: 0 0 12px; }
.limitBox p:last-child { margin-bottom: 0; }
.inlineLink { color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .limitBox { padding: 18px 18px; border-radius: 0 12px 12px 0; }
  .painList li { font-size: 14px; padding-left: 22px; }
}

/* ==========================================================================
   DESIGN PASS v3 — hierarchy, rhythm, card blocks, restrained motion
   Scope: polish only. No section was reordered, merged, or cut, and no copy
   changed. Everything below is layout, type, colour and motion.
   ========================================================================== */

/* --- 1. Type hierarchy ----------------------------------------------------
   The hero h1 was 75px and section h2s were 70px at 1440px, so nothing led
   the page. The hero now clearly dominates and section headings step down. */
/* The hero column is the real constraint, not the font size: at the original
   1fr/.9fr split the left column is 598px and "Reply to every lead" breaks to
   three lines above 76px. Widening the split to 1.15fr/.8fr gives 670px, which
   holds two lines up to 86px while the demo card stays a comfortable 466px.
   Measured, not guessed. */
@media (min-width: 961px) {
  .hero { grid-template-columns: 1.15fr .8fr; }
}
.hero h1 { font-size: clamp(46px, 6vw, 86px); line-height: .92; letter-spacing: -.055em; }
.services h2, .about h2, .reviews h2 { font-size: clamp(34px, 4vw, 56px); line-height: 1.04; }
.intelligence h2 { font: 600 clamp(34px, 4vw, 54px)/1.05 var(--font-nunito), sans-serif; letter-spacing: -.045em; }
.final h2 { font-size: clamp(40px, 5.2vw, 74px); line-height: .98; }
.homeFaqHead h2 { font-size: clamp(32px, 3.6vw, 50px); }

/* Lead paragraph carries a little more presence under the bigger headline. */
.hero .lead { font-size: clamp(16px, 1.25vw, 19px); max-width: 540px; }

/* --- 2. Vertical rhythm ---------------------------------------------------
   Six sections all sat at exactly 110px, so every block felt equally
   important. Two tiers now: anchor sections breathe, supporting ones tighten. */
.services      { padding: 128px 0; }
.intelligence  { padding: 124px 0; }
.final         { padding: 132px 0; }
.about         { padding: 96px 0; }
.reviews       { padding: 96px 0; }
.homeFaq       { padding: 96px 0; }

@media (max-width: 960px) {
  .services { padding: 84px 0; }
  .intelligence, .final { padding: 84px 0; }
  .about, .reviews, .homeFaq { padding: 68px 0; }
}

/* --- 3. Kicker gets a blue rule -------------------------------------------
   The brand blue only appeared in 11px labels. This makes it a repeating
   structural mark down the page instead of incidental colour. */
.kicker:not(.dot) { display: flex; align-items: center; gap: 12px; }
.kicker:not(.dot)::before {
  content: "";
  width: 26px; height: 2px;
  background: var(--blue);
  border-radius: 2px;
  flex: 0 0 auto;
}

/* --- 4. Scenario cards ----------------------------------------------------
   These lost their visual anchor when the invented metrics came out. The
   anchor is now a ghosted index numeral plus a stronger blue label — weight
   without claiming a number we cannot stand behind. */
.reviewGrid { counter-reset: scenario; }
.reviewGrid article {
  counter-increment: scenario;
  overflow: hidden;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.reviewGrid article::before {
  content: counter(scenario, decimal-leading-zero);
  position: absolute;
  top: 0; right: 14px;
  font: 800 104px/1 var(--font-nunito), sans-serif;
  color: var(--indigo);
  opacity: .045;
  pointer-events: none;
  letter-spacing: -.06em;
}
.reviewGrid article > * { position: relative; }
.reviewGrid article:hover {
  border-color: #b9c9ff;
  box-shadow: 0 22px 48px #1a1a2e12;
}
.reviewGrid .metric {
  font-family: var(--font-inter), sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
  margin: 0 0 20px;
  display: block;
}
/* A short rule rather than a full-width border: the full-width version ran
   straight through the ghosted numeral and read as a mistake. */
.reviewGrid .metric::after {
  content: "";
  display: block;
  width: 52px; height: 2px;
  margin-top: 14px;
  border-radius: 2px;
  background: var(--blue);
  opacity: .38;
}

/* --- 5. Homepage FAQ blocks ----------------------------------------------- */
.homeFaqList { counter-reset: faq; }
.homeFaq .faqItem {
  counter-increment: faq;
  padding-left: 46px;
  position: relative;
}
.homeFaq .faqItem::before {
  content: counter(faq, decimal-leading-zero);
  position: absolute;
  left: 0; top: 2px;
  font: 800 11px/1 var(--font-inter), sans-serif;
  letter-spacing: .1em;
  color: var(--blue);
  padding-top: 6px;
}
.homeFaq .faqItem::after {
  content: "";
  position: absolute;
  left: 4px; top: 26px; bottom: 4px;
  width: 1px;
  background: linear-gradient(var(--line), transparent);
}
@media (max-width: 640px) {
  .homeFaq .faqItem { padding-left: 34px; }
}

/* --- 6. Press feedback ----------------------------------------------------
   Touch devices get no hover, so the only affordance is the press itself. */
.pill, .faqCtaSecondary, .animatedPrimaryCta, .animatedSecondaryCta,
.serviceCarouselNext, .homeFaqLink { transition: transform .16s ease, box-shadow .25s ease, background-color .2s ease; }
.pill:active, .faqCtaSecondary:active,
.animatedPrimaryCta:active, .animatedSecondaryCta:active { transform: scale(.975); }
.benefitCard, .reviewGrid article { will-change: auto; }

/* --- 7. Scroll reveal -----------------------------------------------------
   Compositor-only (opacity + translate), one-shot, and gated behind .js so
   that a blocked script can never leave content invisible. Stagger is done
   in CSS with nth-child delays rather than JavaScript timers. */
.js .revealable {
  opacity: 0;
  transform: translateY(16px);
}
.js .revealable.is-in {
  opacity: 1;
  transform: none;
  transition: opacity .55s ease, transform .55s cubic-bezier(.2, .7, .2, 1);
}
.js .revealGroup > *:nth-child(2).is-in { transition-delay: .07s; }
.js .revealGroup > *:nth-child(3).is-in { transition-delay: .14s; }
.js .revealGroup > *:nth-child(4).is-in { transition-delay: .21s; }
.js .revealGroup > *:nth-child(5).is-in { transition-delay: .28s; }

@media (prefers-reduced-motion: reduce) {
  .js .revealable { opacity: 1; transform: none; }
  .js .revealable.is-in { transition: none; }
  .pill:active, .faqCtaSecondary:active { transform: none; }
}
