@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(assets/brand/Rubik-Variable.woff2) format('woff2')}
:root{--blue:#243cb8;--paper:#f7f7f2;--yellow:#f2e85c;--line:#f7f7f24d;--inkline:#243cb82b;--text:22px;--heading:52px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--blue);color:var(--paper);font:500 var(--text)/1.5 Rubik,Arial,sans-serif;text-align:center;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
h1,h2,h3{letter-spacing:0;text-wrap:balance}
p{text-wrap:pretty}
ol{list-style:none;margin:0;padding:0}
bdi{unicode-bidi:isolate}
[hidden]{display:none!important}
::selection{background:var(--yellow);color:var(--blue)}
:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}
.paper-story :focus-visible{outline-color:var(--blue)}
.case-panel :focus-visible{outline-color:var(--yellow)}
.shell{width:calc(100% - 112px);max-width:1200px;margin-inline:auto}
.section-pad{padding-block:76px}
.skip{position:fixed;top:12px;right:16px;z-index:100;padding:12px 20px;background:var(--yellow);color:var(--blue);transform:translateY(-180%)}
.skip:focus{transform:none}
.header{display:flex;flex-direction:column;align-items:center;gap:14px;padding-block:30px 20px;border-bottom:1px solid var(--line)}
.logo{display:block;width:fit-content;padding:10px 0;flex-shrink:0;margin-inline:auto}
.logo img{width:218px;height:auto}
.header nav{display:flex;justify-content:center;gap:36px;font-size:22px;font-weight:500}
.header nav a{display:inline-flex;align-items:center;min-height:44px}
.header nav a:hover{text-decoration:underline;text-underline-offset:7px}
.arrow-icon{display:block;width:1em;height:1em;flex-shrink:0;overflow:visible}
.button{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:10px;background:var(--yellow);color:var(--blue);border-radius:4px;min-height:68px;padding:16px 20px;font-size:var(--text);font-weight:650;line-height:1.4;position:relative;isolation:isolate;overflow:hidden;transition:box-shadow .2s}
.button>span:first-child{grid-column:2;grid-row:1}
.button:active{background:#e7dc49}
.cta-arrow{grid-column:3;grid-row:1;width:36px;height:36px;display:grid;place-items:center;overflow:hidden}
.button .arrow-icon{width:30px;height:30px}
.paper-story{display:flow-root;background:var(--paper) url('assets/brand/print-grain.svg');color:var(--blue)}
h2{font-size:var(--heading);font-weight:700;line-height:1.2}
.section-heading{max-width:800px;margin-inline:auto}
.service-list{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:40px;max-width:760px;margin:44px auto 0}
.service-list::before{content:'';position:absolute;inset:auto 3% 62px;height:100px;border-radius:999px;background:var(--yellow);opacity:.55;pointer-events:none}
.service{position:relative;flex:1 1 0;min-width:min-content;max-width:220px}
.service-scene{display:block;width:100%;max-width:200px;height:auto;margin-inline:auto;overflow:visible}
.service h3{font-size:30px;font-weight:650;line-height:1.3;margin-top:16px}
.screen-frame{fill:var(--paper);stroke:var(--blue);stroke-width:2.5}
.scene-line,.scene-soft-line{fill:none;stroke:var(--blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.scene-soft-line{opacity:.3}
.scene-blue{fill:var(--blue)}
.scene-yellow{fill:var(--yellow)}
.scene-paper{fill:var(--paper)}
.scene-faint{fill:var(--blue);fill-opacity:.12}
.work.shell{width:100%;max-width:none;background:var(--blue);color:var(--paper)}
.case-panel{position:relative;max-width:800px;margin-inline:auto;padding:64px 24px;isolation:isolate}
.case-heading .case-label{color:var(--paper);font-size:22px;font-weight:600;margin-bottom:14px}
.case-heading h2{color:var(--yellow);font-size:76px;font-weight:650;line-height:1.08;letter-spacing:-.035em;text-wrap:wrap;overflow-wrap:anywhere}
.case-heading p{font-size:22px;line-height:1.5;margin:20px auto 0}
.work-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px auto 0;max-width:660px}
.work-links a{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;padding:18px 16px;min-height:68px;font-size:22px;font-weight:600;border:1px solid var(--line);border-radius:4px;transition:background .2s,color .2s}
.work-links a:first-child{border-color:var(--paper);background:var(--paper);color:var(--blue)}
.work-links a:last-child{border-color:var(--yellow);background:var(--yellow);color:var(--blue)}
.work-links .arrow-icon{width:26px;height:26px;transition:transform .2s}
.faq-grid{max-width:760px;margin-inline:auto}
.faq-list{margin-top:36px;overflow-anchor:none}
.faq-list details{border-bottom:1px solid var(--inkline)}
.faq-list details:first-child{border-top:1px solid var(--inkline)}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.faq-list summary{display:grid;grid-template-columns:minmax(0,1fr);justify-content:center;align-items:center;gap:10px;font-size:22px;font-weight:600;line-height:1.45;padding:24px 8px;min-height:76px}
.question-text{grid-column:1;grid-row:1;text-wrap:balance}
.toggle{grid-column:1;grid-row:2;width:24px;height:24px;position:relative;justify-self:center}
.toggle::before{content:'';position:absolute;width:9px;height:9px;top:5px;left:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s,top .2s}
.faq-list details[open] .toggle::before{transform:rotate(225deg);top:10px}
.faq-list details[open] summary{padding-bottom:14px}
.faq-list details[open]{border-bottom-color:var(--blue)}
.faq-list details>p{font-size:22px;font-weight:500;line-height:1.55;max-width:40ch;padding:0 0 26px;margin-inline:auto}
.contact h2{font-size:58px}
.contact-action{width:380px;max-width:100%;margin:30px auto 0}
.footer{padding-bottom:24px}
.footer-top{display:flex;flex-direction:column;align-items:center;gap:12px;padding-block:24px;border-top:1px solid var(--line)}
.footer .logo img{width:150px}
.back-top{display:flex;justify-content:center;align-items:center;gap:12px;font-size:22px;min-height:48px}
.back-top .arrow-icon{transform:rotate(-45deg);font-size:24px}
.footer-base{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);font-size:14px;padding-top:8px}
.footer-base a{min-height:44px;display:flex;align-items:center}
.privacy{border-top:1px solid var(--line);font-size:14px;margin-top:8px}
.privacy summary{padding-block:16px;min-height:48px}
.privacy>div{max-width:850px;margin-inline:auto}
.privacy p{font-size:14px;font-weight:400;line-height:1.65;margin-bottom:16px}
.privacy a{text-decoration:underline;text-underline-offset:3px}
.measurement-settings{min-height:44px;padding:10px 16px;color:var(--paper);background:transparent;border:1px solid var(--line);border-radius:4px;margin-bottom:12px;font-size:14px}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:40;background:var(--yellow);transform:scaleX(0);transform-origin:right;pointer-events:none}
@media(hover:hover){
.button:hover{box-shadow:0 0 0 2px var(--paper)}
.work-links a:first-child:hover{background:var(--paper);box-shadow:0 0 0 2px var(--paper)}
.work-links a:last-child:hover{background:var(--yellow);border-color:var(--yellow);box-shadow:0 0 0 2px var(--yellow)}
.work-links a:hover .arrow-icon{transform:translate(3px,-3px)}
}
@media(max-width:1000px){
.shell{width:calc(100% - 64px)}
}
@media(max-width:820px){
:root{--heading:34px}
.shell{width:calc(100% - 48px);max-width:540px}
.section-pad{padding-block:48px}
.header{min-height:94px;padding-block:22px;gap:0}
.logo{padding:8px 0}
.logo img{width:190px}
.header nav{display:none}
.button{padding:15px 16px;min-height:66px}
.service-list{gap:10px;margin-top:30px}
.service-list::before{bottom:48px;height:64px}
.service h3{font-size:24px;margin-top:12px}
.service-scene{max-width:150px}
.case-panel{width:calc(100% - 48px);max-width:540px;padding:44px 0 46px}
.case-heading h2{font-size:58px}
.case-heading p{margin-top:18px}
.work-links{gap:12px;margin-top:28px}
.work-links a{gap:10px;padding:16px 10px;min-height:66px}
.work-links .arrow-icon{display:none}
.faq-list{margin-top:28px}
.faq-list summary{padding:21px 0;gap:8px}
.faq-list details>p{padding-bottom:24px}
.contact h2{font-size:38px}
.contact-action{margin-top:28px;width:100%}
.footer{padding-bottom:24px}
.footer .logo img{width:150px}
}
@media(max-width:370px){
.shell,.case-panel{width:calc(100% - 40px)}
.header{min-height:84px;padding-block:18px}
.section-heading h2{font-size:30px}
.service h3{font-size:22px}
.service-list{gap:8px}
.button{grid-template-columns:28px minmax(0,1fr) 28px;gap:6px;padding-inline:12px}
.cta-arrow{width:28px;height:30px}
.button .arrow-icon{width:26px;height:26px}
.case-heading h2{font-size:52px}
.contact h2{font-size:34px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.reading-progress{display:none}
.cta-arrow .arrow-icon{transform:none!important;opacity:1!important}
}
.header{border-bottom:0;padding-block:28px 12px}
.button{border-radius:7px;font-weight:650}
.services.section-pad{padding-block:0 76px}
.service-list{margin:-88px auto 0;max-width:680px;gap:42px;padding-top:0;isolation:isolate}
.service-list::before{inset:auto -5% 63px;height:115px;opacity:1;z-index:-1}
.service-scene{max-width:166px}
.service{max-width:185px}
.service h3{font-size:26px;margin-top:14px}
.services .section-heading{margin-top:56px}
.service-explainer{max-width:32ch;margin:28px auto 0;font-size:32px;line-height:1.45;font-weight:500}
.service-explainer-lead,.service-explainer-result{display:block;text-wrap:balance}
.service-explainer-lead{font-weight:650}
.service-explainer-result{margin-top:16px}
.contact h2{font-size:60px}
.contact h2>.motion-window:last-child{color:var(--yellow)}
.contact-intro{font-size:22px;line-height:1.5;margin:24px auto 0}
@media(max-width:820px){
.header{min-height:82px;padding-block:18px 10px}
.header .logo img{width:172px}
.service-list{gap:10px;margin-top:-64px}
.service-list::before{inset:auto -5% 49px;height:65px}
.service-scene{max-width:128px}
.service h3{font-size:22px;margin-top:12px}
.services.section-pad{padding-bottom:48px}
.services .section-heading{margin-top:44px}
.service-explainer{font-size:26px;line-height:1.45;margin-top:24px;max-width:25ch}
.service-explainer-result{margin-top:14px}
.contact h2{font-size:36px}
}
@media(max-width:370px){
.service-list{gap:5px}
.service h3{font-size:22px}
.contact h2{font-size:31px}
}
.services{display:flex;flex-direction:column;align-items:center}
.service-list{order:-1;width:100%}
.service-list::before{inset-inline:0}
.service-explainer{text-wrap:balance}
.proof-action{margin:34px auto 0;max-width:380px}
.process-list{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;margin:36px auto 0;max-width:960px}
.process-list li{flex:1 1 220px;font-size:22px;line-height:1.5}
.step-number{display:block;margin:0 auto 12px;width:48px;height:48px;line-height:48px;border:1px solid var(--line);border-radius:50%;color:var(--yellow);font-size:22px;font-weight:500}
.contact-intro{max-width:36ch;text-wrap:balance}
@media(max-width:820px){
.service-list::before{inset-inline:0}
.case-heading p{max-width:25ch}
.proof-action{margin-top:32px}
.proof-action .button{grid-template-columns:20px minmax(0,1fr) 20px;gap:6px}
.proof-action .cta-arrow{width:20px}
.proof-action .arrow-icon{width:22px;height:22px}
.process-list{gap:0;margin-top:28px;max-width:400px}
.process-list li{flex:0 0 100%;padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:28px minmax(0,max-content) 28px;justify-content:center;align-items:center;gap:10px}
.process-list li>span:last-child{grid-column:2;grid-row:1;text-wrap:balance}
.step-number{grid-column:1;grid-row:1;margin:0;width:auto;height:auto;line-height:1.5;border:0;font-size:22px}
}
.case-heading p{max-width:32ch;text-wrap:balance}
.case-heading .case-label{margin-bottom:18px}
.faq-list summary{font-weight:600}
@media(max-width:820px){
.case-heading p{max-width:27ch;margin-top:22px}
.case-panel{padding-block:48px}
.work-links{margin-top:26px}
}
.connection-illustration{margin:30px auto 0;width:min(100%,640px)}
.connection-illustration svg,.case-illustration svg{display:block;width:100%;height:auto;overflow:visible}
.case-illustration{width:min(100%,600px);margin:28px auto 0}
.case-illustration + .case-comparison .work-links{margin-top:24px}
@media(max-width:820px){
.connection-illustration{width:100%;margin-top:26px}
.case-illustration{width:calc(100% + 24px);max-width:none;margin:24px -12px 0}
}
.case-heading .case-story{max-width:none;font-size:28px;line-height:1.4;font-weight:500}
.case-story>span,.case-story>strong{display:block}
.case-story>strong{margin-top:6px;color:var(--yellow);font-size:42px;line-height:1.25;font-weight:750;text-wrap:balance}
@media(max-width:820px){
.work-links{grid-template-columns:1fr}
.case-heading .case-story{font-size:26px}
.case-story>strong{font-size:32px}
}
#faq-title>span{display:block}
.proof-action .button{background:var(--paper);color:var(--blue)}
.proof-action .button:active{background:#e8e8e1}
.motion-window{display:block;padding-block:.15em;margin-block:-.15em}
.motion-line{display:block;line-height:inherit}
.button>span:first-child,.work-links a>span:first-child{transition:transform .16s cubic-bezier(.22,1,.36,1)}
.button:active>span:first-child,.work-links a:active>span:first-child{transform:scale(.97);transition-duration:.09s}
.work-links a .arrow-icon{overflow:visible}
.faq-list details{transition:background-color .24s}
.faq-list details[open]{background-color:#243cb805}
.faq-list .toggle::before{transition:transform .24s cubic-bezier(.22,1,.36,1),top .24s}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
.button:hover>span:first-child,.work-links a:hover>span:first-child{transform:translateY(-2px)}
.button:active>span:first-child,.work-links a:active>span:first-child{transform:scale(.97)}
}
@media(prefers-reduced-motion:reduce){
.button>span:first-child,.work-links a>span:first-child{transform:none!important}
}
.faq-list details[data-expanded="false"] .toggle::before{transform:rotate(45deg);top:5px}
.faq-list summary:focus-visible{outline:2px solid var(--blue);outline-offset:-4px;border-radius:5px}
:root{
 --type-body:22px;
 --type-support:28px;
 --type-emphasis:40px;
 --type-section:52px;
 --weight-copy:500;
 --weight-label:600;
 --weight-heading:700;
 --section-space:72px;
 --group-space:32px;
 --action-space:24px;
 --control-radius:8px;
}
.section-pad{padding-block:var(--section-space)}
.services.section-pad{padding-top:0;padding-bottom:var(--section-space)}
h2,.section-heading h2,.contact h2{font-size:var(--type-section);font-weight:var(--weight-heading);line-height:1.25}
.services .section-heading{margin-top:40px}
.connection-illustration{margin-top:var(--group-space)}
.case-panel{padding-block:var(--section-space)}
.case-heading .case-label{font-size:var(--type-body);font-weight:var(--weight-label);margin:0 auto 16px;line-height:1.45}
.case-heading h2{font-size:72px;font-weight:var(--weight-heading);line-height:1.15;letter-spacing:-.025em}
.case-heading .case-story{font-size:var(--type-support);font-weight:var(--weight-label);line-height:1.4;margin-top:var(--action-space)}
.case-story>strong{font-size:var(--type-emphasis);font-weight:var(--weight-heading);line-height:1.25;margin-top:8px}
.case-illustration,.work-links,.faq-list,.process-list{margin-top:var(--group-space)}
.proof-action,.contact-action,.case-illustration + .case-comparison .work-links{margin-top:var(--action-space)}
.button,.work-links a{border-radius:var(--control-radius);font-size:var(--type-body);font-weight:var(--weight-label);min-height:68px;line-height:1.4}
.proof-action .button{grid-template-columns:36px minmax(0,1fr) 36px;gap:10px}
.proof-action .cta-arrow{width:36px}
.proof-action .arrow-icon{width:30px;height:30px}
.faq-list summary{font-size:var(--type-body);font-weight:var(--weight-label);line-height:1.45;padding-block:24px;gap:8px}
.faq-list details>p{font-size:var(--type-body);font-weight:var(--weight-copy);line-height:1.6;max-width:38ch;padding-inline:12px;padding-bottom:24px}
.contact-intro{font-size:var(--type-body);line-height:1.5;margin-top:var(--action-space)}
.work-links a:hover .arrow-icon{transform:none}
@media(max-width:820px){
:root{--type-support:24px;--type-emphasis:32px;--type-section:34px;--section-space:56px;--group-space:28px}
.services .section-heading{margin-top:36px}
.service h3{font-size:var(--type-body);font-weight:var(--weight-label)}
.case-heading h2{font-size:56px}
.case-illustration{margin-top:var(--group-space)}
.button,.work-links a{min-height:66px}
.process-list li{padding-block:20px}
}
@media(max-width:370px){
:root{--type-section:30px;--section-space:48px}
.case-heading h2{font-size:52px}
.proof-action .button{grid-template-columns:28px minmax(0,1fr) 28px;gap:6px}
.proof-action .cta-arrow{width:28px}
.proof-action .arrow-icon{width:26px;height:26px}
}

/* One typographic definition for the two-line headline and its invitation. */
.hero{padding-block:48px 138px}
.hero-copy{max-width:1080px;margin-inline:auto}
.hero h1.hero-statement{font-size:clamp(52px,5.2vw,76px);font-weight:800;line-height:1.22;letter-spacing:0}
.hero h1>span{display:block}
.hero-statement .hero-kicker,.hero-statement .hero-accent{font-size:1em;font-weight:inherit;line-height:inherit}
.hero-statement .hero-kicker{margin-bottom:8px}
.hero-accent{color:var(--yellow)}
.hero-sales{margin-top:32px}
.hero-offer{display:flex;flex-direction:column;align-items:center;gap:24px}
.hero-offer .hero-intro{font-size:28px;font-weight:500;line-height:1.45;margin:0;max-width:30ch;text-wrap:balance}
.hero-offer .intro-lead,.hero-offer .intro-punch{display:block;font-size:1em;line-height:inherit}
.hero-offer .intro-punch{font-weight:600;color:var(--yellow);margin-top:0}
.hero-offer .button{width:380px;max-width:100%}
.hero-word-window{display:inline-block;overflow:hidden;vertical-align:bottom;line-height:inherit;padding-block:.12em;margin-block:-.12em}
.hero-reveal-word{display:inline-block;line-height:inherit}
/* Keep the proof caption and its benefit at the same readable supporting scale. */
.case-heading .case-story,.case-story>strong{font-size:var(--type-support);line-height:1.45}
.case-story>strong{font-weight:650;margin-top:4px}
.case-water,.case-ripple{transform-box:fill-box;transform-origin:center}
@media(max-width:820px){
 .hero{padding-block:40px 112px}
 .hero h1.hero-statement{font-size:clamp(32px,9.7vw,46px)}
 .hero-offer .hero-intro{font-size:24px}
 .hero-offer .button{width:100%}
 .footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
@media(max-width:370px){.hero{padding-top:32px}}

/* Version 47: one readable, finite demonstration in place of duplicate illustrations. */
.hero{padding-bottom:64px}
.services.section-pad{padding-top:56px}
.services .section-heading{margin-top:0}
.journey{width:100%;max-width:620px;margin:32px auto 0}
.journey-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--inkline)}
.journey-tabs button{position:relative;min-height:64px;border:0;background:transparent;color:var(--blue);font:600 var(--type-body)/1.4 Rubik,Arial,sans-serif;cursor:pointer;padding:12px 4px 20px}
.journey-marker{position:absolute;bottom:-2px;inset-inline:10%;height:3px;background:var(--blue);transform:scaleX(0);transition:transform .25s ease}
.journey-tabs button[aria-selected="true"] .journey-marker{transform:scaleX(1)}
.journey-tabs button[aria-selected="true"]{font-weight:750}
.journey-tabs button:focus-visible,.journey-panel:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.journey-stage{position:relative;margin-top:24px;border:1px solid var(--inkline);border-radius:16px;background:linear-gradient(155deg,#fff9,#fff0);overflow:hidden}
.journey-panel{min-height:326px;padding:28px 20px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.journey-panel .service-scene{width:144px;max-width:100%;height:202px;margin:0;flex:none}
.journey-panel p{font-size:var(--type-body);font-weight:600;line-height:1.45;text-wrap:balance}
.service-promise{font-size:var(--type-body);line-height:1.5;font-weight:500;margin:28px auto 0;text-wrap:balance}
.case-scope{font-size:var(--type-body);font-weight:500;line-height:1.5;margin:24px auto 0;max-width:32ch;text-wrap:balance}
.case-illustration{max-width:500px}
.case-comparison .work-links{margin-top:28px}
.faq-list summary{padding-block:20px}
.contact-intro{max-width:26ch}
@media(max-width:820px){
 .hero{padding-bottom:48px}
 .services.section-pad{padding-top:48px}
 .journey{margin-top:24px}
 .journey-panel{min-height:316px;padding:24px 12px;gap:16px}
 .journey-stage{margin-top:20px}
 .service-promise{margin-top:24px}
 .case-illustration{width:100%;margin-inline:auto}
 .case-scope{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.journey-marker{transition:none}}
