@font-face{font-family:Outfit;src:url('assets/Outfit-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Inter;src:url('assets/Inter-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--canvas:#FAFAF7;--surface:#FFF;--ink:#20212B;--violet:#7160F5;--action:#5B45D6;--hover:#4A35B8;--lilac:#EEEAFE;--muted:#666574;--line:#DDDAE7;--control:#858290;--dark:#171720;--dark-surface:#23232F;--dark-line:#5C586C;--dark-control:#9691AB;--dark-muted:#BCB8CC;--light-violet:#B5AAFF;--gutter:48px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--canvas);color:var(--ink);font:400 16px/1.6 Inter,Arial,sans-serif}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--action);outline-offset:4px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:Outfit,Arial,sans-serif;font-weight:400;text-wrap:balance}h2{font-size:clamp(2rem,3.7vw,3rem);line-height:1.12;letter-spacing:-.025em}h3{font-size:28px;line-height:1.2;letter-spacing:-.015em}p{text-wrap:pretty}svg{flex-shrink:0}.wrap{width:min(1280px,calc(100% - var(--gutter)*2));margin-inline:auto}.skip{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:20;background:var(--surface);padding:12px}.skip:focus{transform:none}.header{min-height:112px;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{flex-shrink:0;padding:8px 0}.brand img{width:200px}.header nav{display:flex;gap:32px;margin-left:auto}.header nav a{text-decoration:none;font-size:14px;font-weight:500;padding-block:12px}.header nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:16px 24px;min-height:56px;text-decoration:none;border-radius:12px;font-weight:500;line-height:1.5;border:1px solid transparent;transition:background 140ms var(--ease)}.primary{background:var(--action);color:white}.primary:hover{background:var(--hover)}.button span{font-size:20px}.header-cta{font-size:14px;min-height:48px;padding:12px 16px}.menu-toggle,.mobile-menu{display:none}.hero{display:grid;grid-template-columns:7fr 5fr;gap:48px;padding-block:96px}.eyebrow{font-size:14px;font-weight:500;margin-bottom:24px}.hero h1{font-size:clamp(40px,5.83vw,84px);line-height:1.04;letter-spacing:-.035em}.hero h1 span{color:var(--action)}.lead{font-size:18px;line-height:1.6;max-width:52ch}.hero .lead{margin-top:32px;max-width:48ch}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:48px;font-size:14px;font-weight:500}.text-link span{transition:transform 140ms var(--ease)}.text-link:hover span{transform:translateX(4px)}.hero-footnote{font-size:14px;color:var(--muted);margin-top:24px}.hero-system{align-self:center;background:var(--lilac);padding:32px;border-radius:20px}.system-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;font-weight:500;letter-spacing:.055em;margin-bottom:32px}.system-heading>span:last-child{font-size:28px;color:var(--action)}.system-row{display:flex;gap:16px;align-items:start}.node{font-size:12px;border:1px solid var(--control);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex-shrink:0;background:var(--canvas)}.system-row strong{font-weight:500;font-size:16px;display:block}.system-row div>span{font-size:14px;display:block;color:var(--muted);margin-top:4px}.broken-connection,.solid-connection{height:56px;margin-left:15px;position:relative;border-left:1px dashed var(--action)}.leak-tag{position:absolute;left:31px;top:12px;color:var(--action);font-size:12px;background:var(--canvas);padding:4px 12px;border-radius:999px}.solid-connection{border-left:1px solid var(--action);height:32px}.repaired .node{background:var(--action);border-color:var(--action);color:white}.system-bottom{display:flex;justify-content:space-between;margin-top:32px;border-top:1px solid #C5BDEE;padding-top:16px;min-height:48px;font-size:14px;text-decoration:none}.system-bottom:hover{text-decoration:underline}
@media(max-width:1100px){.header nav{gap:16px}.header{gap:24px}.hero{gap:32px}.hero-system{padding:24px}.actions{gap:12px}}
@media(max-width:1023px){:root{--gutter:32px}.header{min-height:96px}.header nav,.header-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;min-height:48px;background:transparent;border:1px solid var(--control);border-radius:12px;padding:8px 16px}.mobile-menu:not([hidden]){display:grid;padding-block:16px;border-bottom:1px solid var(--line)}.mobile-menu a{padding-block:12px;text-decoration:none}.hero{padding-block:64px;grid-template-columns:1.2fr 1fr}.hero h1{font-size:clamp(40px,5.7vw,64px)}}
@media(max-width:767px){:root{--gutter:24px}.header{min-height:88px;gap:12px}.brand img{width:160px}.menu-toggle{padding-inline:12px;font-size:14px}.hero{grid-template-columns:1fr;padding-block:48px;gap:40px}.hero h1{font-size:clamp(40px,8.5vw,64px)}.hero .lead{margin-top:24px}.actions{align-items:stretch;flex-direction:column;gap:12px}.actions .text-link{justify-content:center}.hero-system{padding:24px}.hero-footnote{margin-top:16px}.eyebrow{font-size:12px}.system-heading{gap:8px}.system-row strong{font-size:16px}.header .brand{padding:12px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}.skip:not(:focus){top:-100px}}
/* Editorial sections */
.section{padding-block:96px}.split-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:48px}.split-intro .lead{max-width:49ch}.problem{padding-top:32px}.problem .split-intro{padding-top:64px;border-top:1px solid var(--line)}.problem-rows{border-top:1px solid var(--line)}.problem-rows p{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:24px;border-bottom:1px solid var(--line);font-size:22px}.problem-rows p>span{color:var(--muted)}.problem-rows strong{font-weight:400}.problem-close{margin-top:32px;font-size:18px}.problem-close span{color:var(--muted)}.dark{background:var(--dark);color:white}.dark .lead,.dark p{color:var(--dark-muted)}.dark .eyebrow{color:var(--light-violet)}.dark a:focus-visible,.dark button:focus-visible{outline-color:var(--light-violet)}.dark .text-link{color:var(--light-violet)}.journey{padding-block:96px}.journey-controls{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:64px}.stage{position:relative;border:1px solid var(--dark-control);border-radius:12px;background:transparent;color:white;text-align:left;padding:24px 16px;min-width:0;transition:background 140ms var(--ease),border-color 140ms var(--ease)}.stage:hover{background:var(--dark-surface)}.stage[aria-pressed=true]{background:var(--lilac);border-color:var(--lilac);color:var(--ink)}.stage-number{font-size:12px;display:block;color:var(--dark-muted);margin-bottom:24px}.stage[aria-pressed=true] .stage-number{color:var(--action)}.stage strong{display:block;font:400 24px/1.2 Outfit,sans-serif;letter-spacing:-.02em}.stage>span:last-child{font-size:12px;line-height:1.5;color:var(--dark-muted);display:block;margin-top:12px;min-height:36px}.stage[aria-pressed=true]>span:last-child{color:var(--muted)}.stage:not(:last-child):after{content:'→';position:absolute;right:-12px;top:50%;z-index:1;font-size:16px;color:var(--light-violet);background:var(--dark);line-height:1}.journey-detail{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:32px;padding:32px;border-top:1px solid var(--dark-line);background:var(--dark-surface);border-radius:20px;min-height:244px}.detail-label{color:var(--dark-muted);font-size:14px;display:block;margin-bottom:16px}.journey-detail h3{font-size:28px;max-width:26ch}.journey-detail p{max-width:52ch}.journey-detail .text-link{margin-top:12px}.journey-hint{font-size:12px;margin-top:16px}.outcomes article{display:grid;grid-template-columns:32px 1fr 1.45fr;gap:24px;padding:28px 0;border-top:1px solid var(--line);align-items:start}.outcome-number{font-size:12px;color:var(--muted);padding-top:7px}.outcomes p{max-width:49ch}.outcome-scope{grid-column:3;color:var(--muted);font-size:14px;margin-top:-16px}.outcomes article:last-child{border-bottom:1px solid var(--line)}.section-tail{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.section-tail .text-link{color:var(--action)}.example{background:var(--lilac)}.example-disclaimer{font-size:12px;color:var(--muted);margin-top:16px;max-width:60ch}.demo{display:grid;grid-template-columns:5fr 7fr;gap:48px;background:var(--surface);padding:32px;border-radius:20px}.demo-controls{display:flex;flex-direction:column;justify-content:space-between}.demo-controls ol{list-style:none;padding:0;margin:0}.demo-controls li{border-bottom:1px solid var(--line)}.demo-controls li:first-child{border-top:1px solid var(--line)}.demo-controls li button{display:flex;align-items:center;gap:16px;width:100%;padding:16px 12px;border:0;background:transparent;text-align:left;min-height:60px;font-size:14px}.demo-controls li button span{font-size:12px;color:var(--muted)}.demo-controls li button[aria-current=step]{background:var(--lilac);color:var(--action);font-weight:500}.demo-controls li button:hover{background:var(--canvas)}.demo-controls li button[aria-current=step]:hover{background:var(--lilac)}.demo-playback{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px}.secondary{background:transparent;border:1px solid var(--control);color:var(--ink)}.secondary:hover{background:var(--lilac)}#demo-progress{font-size:14px;color:var(--muted);white-space:nowrap}.demo-display{background:var(--canvas);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-width:0}.demo-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:1px solid var(--line);font-size:12px}.sample-tag{color:var(--action)}.demo-scene{padding:32px;min-height:390px;flex:1}.scene-kicker{font-size:14px;color:var(--muted);margin-bottom:24px}.call-symbol{font-size:32px;color:var(--action);margin-bottom:16px}.demo-scene h3{max-width:24ch;margin-bottom:24px}.event-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-block:1px solid var(--line);padding-block:16px;font-size:14px}.event-row strong{font-weight:500;color:var(--action)}.scene-note{font-size:14px;color:var(--muted);margin-top:24px}.message{font-size:16px;background:var(--lilac);padding:24px;border-radius:12px;max-width:36ch;margin-left:auto}.message.incoming{background:var(--surface);border:1px solid var(--control);margin-left:0}.message-label{font-size:12px;display:block;margin-bottom:12px;color:var(--muted)}.crm-record{display:grid;grid-template-columns:auto 1fr;column-gap:24px;font-size:14px;margin:0}.crm-record dt,.crm-record dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.crm-record dt{color:var(--muted)}.crm-record dd{font-weight:500}.demo-bottomline{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}.demo-footnote{font-size:14px;margin-top:24px;color:var(--muted);max-width:90ch}.work .split-intro{margin-bottom:64px}.project-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.proof-label{font-size:12px;letter-spacing:.06em;font-weight:500;color:var(--action)}.project-heading>p:last-child{font-weight:500}.project-heading>p:last-child span{font-size:12px;display:inline-block;color:var(--muted);font-weight:400;margin-left:16px}.project-image{display:block;border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid var(--line);text-decoration:none}.browser-strip{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);min-height:48px}.browser-strip>span:first-child{font-size:9px;letter-spacing:3px}.project-image img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;transition:transform 220ms var(--ease)}.project-image:hover img{transform:scale(1.01)}.project-description{display:grid;grid-template-columns:5fr 7fr;gap:64px;margin-top:32px}.project-description h3{font-size:36px;max-width:20ch}.project-description p{max-width:62ch}.capabilities{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:24px 0 12px;font-size:12px;color:var(--muted)}.capabilities li{border-bottom:1px solid var(--line);padding-bottom:4px}.text-button{background:none;border:0;padding:12px 0;color:var(--action);font-weight:500;text-decoration:underline;text-underline-offset:5px;min-height:48px}.platform{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center;margin-top:64px;padding-top:64px;border-top:1px solid var(--line)}.platform-map{background:var(--dark);color:white;border-radius:20px;padding:32px}.map-label{font-size:12px;letter-spacing:.045em;color:var(--dark-muted)}.map-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--dark-line);padding:20px 0;font-family:Outfit,sans-serif;font-size:24px}.map-item>span{color:var(--light-violet);margin-left:12px}.map-item:nth-last-child(2){border:0}.map-note{font-size:12px;color:var(--dark-muted);display:block;margin-top:24px;max-width:36ch}.platform-copy h3{font-size:36px;max-width:22ch;margin-top:24px;margin-bottom:24px}.platform-scope{font-size:14px;color:var(--muted);margin-top:16px}.platform-copy .text-link{color:var(--action);margin-top:16px}.process{background:var(--surface);border-block:1px solid var(--line)}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;list-style:none;padding:0;margin:0}.process-steps li{padding-top:24px;border-top:1px solid var(--control)}.process-steps li>span{font-size:14px;color:var(--action)}.process-steps h3{margin-top:32px;margin-bottom:16px}.process-steps p{font-size:14px;color:var(--muted)}.fit-note{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:64px;padding-block:32px;border-top:1px solid var(--line)}.fit-note h3{max-width:26ch}.fit-note p{font-size:14px;color:var(--muted)}.experience{display:grid;grid-template-columns:4fr 8fr;gap:64px}.experience-mark{padding-right:32px;border-right:1px solid var(--line);display:flex;flex-direction:column}.experience-mark .proof-label{color:var(--muted)}.since{font-family:Outfit,sans-serif;font-size:32px;line-height:1.08;margin-top:40px;display:block}.since strong{font-size:84px;font-weight:400;letter-spacing:-.035em}.experience-mark>p:last-child{font-size:14px;margin-top:32px}.experience h2{margin-bottom:24px}.experience p{max-width:65ch}.scope-note{font-size:14px;color:var(--muted);margin-top:24px}.experience .text-link{color:var(--action);margin-top:16px}.measurement{display:grid;grid-template-columns:4fr 8fr;gap:16px 64px;border-block:1px solid var(--line);padding-block:32px;margin-top:64px}.measurement p{font-size:14px;max-width:65ch}.measurement>span{grid-column:2;font-size:12px;color:var(--muted)}.faq{padding-top:0;display:grid;grid-template-columns:5fr 7fr;gap:64px}.faq-intro p{color:var(--muted);margin-top:24px}.faq-list{border-top:1px solid var(--control)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;font-weight:500;list-style:none;min-height:72px}summary::-webkit-details-marker{display:none}summary>span{font-size:24px;font-weight:400;color:var(--action);flex-shrink:0}details[open] summary>span{transform:rotate(45deg)}details>p{padding:0 32px 24px 0;color:var(--muted);max-width:64ch}.closing{padding-block:96px;text-align:center}.closing h2{font-size:clamp(36px,4.4vw,64px);line-height:1.14;letter-spacing:-.03em}.closing .lead{margin:24px auto 32px;max-width:51ch}.closing-note{font-size:12px;margin-top:16px}.footer{padding-block:48px 24px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start}.footer-top p{font-size:14px;color:var(--muted)}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.footer nav a{font-size:14px;text-decoration:none;min-height:48px;display:flex;align-items:center}.footer nav a:hover{text-decoration:underline}.footer-bottom{margin-top:40px;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:12px;color:var(--muted)}.footer-bottom button{color:var(--muted);font-size:12px}.dialog{border:1px solid var(--line);border-radius:20px;padding:48px;max-width:640px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);background:var(--canvas);color:var(--ink);overscroll-behavior:contain}.dialog::backdrop{background:rgba(23,23,32,.75)}.dialog-close{position:absolute;right:16px;top:12px;width:48px;height:48px;background:none;border:0;font-size:32px;color:var(--ink)}.dialog .eyebrow{color:var(--action);padding-right:24px}.dialog h2{font-size:36px}.dialog-lead{margin:24px 0}.dialog h3{font-size:24px}.availability{background:var(--lilac);padding:24px;border-radius:12px;margin:24px 0}.availability strong{font-weight:500}.availability p{font-size:14px;margin-top:8px}.plain-list{padding-left:20px;font-size:14px;line-height:1.8}.small-copy{font-size:14px;color:var(--muted);margin-top:24px}.dialog>.button{margin-top:24px}.dialog .text-link{margin-top:12px}.build-detail h3{margin-top:24px}.build-detail p{margin-top:12px}.project-dialog{max-width:800px}.noscript{padding:24px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:1100px){.stage{padding:20px 12px}.stage strong{font-size:22px}.journey-controls{gap:8px}.stage:not(:last-child):after{right:-9px}.demo{gap:24px}.split-intro,.project-description,.platform,.fit-note,.experience,.measurement,.faq{gap:32px}.footer-top{gap:24px}.process-steps{gap:24px}.process-steps h3{font-size:24px}}
@media(max-width:1023px){.section{padding-block:64px}.problem{padding-top:0}.problem .split-intro{padding-top:48px}.journey-controls{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}.stage:not(:last-child):after{right:-16px}.stage:nth-child(3):after{display:none}.stage-number{margin-bottom:16px}.stage>span:last-child{min-height:0}.journey-detail{gap:32px}.demo{grid-template-columns:1fr 1.15fr;gap:24px;padding:24px}.demo-scene{padding:24px;min-height:430px}.demo-topline{padding:16px;flex-wrap:wrap;gap:4px}.demo-bottomline{padding:16px;flex-direction:column;gap:4px}.project-description h3,.platform-copy h3{font-size:32px}.platform{margin-top:48px;padding-top:48px}.process-steps{grid-template-columns:1fr 1fr;gap:32px}.process-steps h3{margin-top:24px}.fit-note{margin-top:48px}.experience{grid-template-columns:1fr 2fr}.since strong{font-size:64px}.experience-mark{padding-right:24px}.faq{padding-top:0}.closing{padding-block:64px}.footer-top{grid-template-columns:1fr 1fr}.footer-top nav{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.footer-bottom{gap:16px}.footer-bottom>span:nth-child(2){max-width:33ch}.outcomes article{grid-template-columns:24px 1fr 1.2fr;gap:16px}.outcome-scope{margin-top:-8px}.measurement{grid-template-columns:1fr 2fr}.journey-detail{min-height:270px}}
@media(max-width:767px){.section{padding-block:48px}.split-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.problem{padding-top:0}.problem .split-intro{padding-top:32px}.problem-rows p{grid-template-columns:1fr;gap:8px;font-size:18px;padding-block:24px}.problem-close{font-size:16px}.problem-close span{display:block;margin-top:8px}.journey-controls{grid-template-columns:1fr;gap:12px;margin-top:32px}.stage{display:grid;grid-template-columns:24px 1fr;gap:4px 16px;padding:16px 20px;min-height:80px}.stage-number{grid-row:1/3;margin:0;padding-top:4px}.stage strong{font-size:24px}.stage>span:last-child{font-size:14px;margin-top:0;grid-column:2}.stage:not(:last-child):after{content:'↓';top:auto;bottom:-13px;right:auto;left:30px}.stage:nth-child(3):after{display:block}.journey-detail{grid-template-columns:1fr;padding:24px;gap:24px;min-height:0;margin-top:24px}.journey-detail h3{font-size:28px}.detail-label{font-size:12px;margin-bottom:12px}.journey-hint{font-size:12px}.outcomes article{grid-template-columns:24px 1fr;gap:12px 16px;padding:24px 0}.outcomes h3{font-size:26px}.outcomes p,.outcome-scope{grid-column:2}.outcome-scope{margin-top:0;font-size:12px}.section-tail{align-items:flex-start;flex-direction:column;gap:8px}.section-tail p{font-size:14px}.example-disclaimer{font-size:12px}.demo{grid-template-columns:1fr;padding:16px;gap:24px}.demo-controls li button{padding:12px 8px;min-height:48px;font-size:14px}.demo-controls li button span{font-size:12px}.demo-playback{margin-top:16px}.demo-playback .button{min-height:48px;padding:12px 16px}.demo-scene{padding:20px;min-height:390px}.demo-scene h3{font-size:26px}.demo-topline{font-size:12px;padding:16px}.demo-topline>span:first-child{font-size:10px}.message{padding:20px;font-size:14px}.crm-record{column-gap:12px;font-size:12px}.demo-bottomline{padding:16px;font-size:12px}.demo-footnote{font-size:12px;margin-top:16px}.work .split-intro{margin-bottom:32px}.project-heading{display:block;margin-bottom:16px}.project-heading>p:last-child{margin-top:12px}.project-heading>p:last-child span{display:block;margin-left:0;margin-top:4px}.browser-strip{padding:12px 16px;min-height:48px}.project-image img{aspect-ratio:4/3;object-fit:cover;object-position:top left}.project-description{grid-template-columns:1fr;gap:24px;margin-top:24px}.project-description h3{font-size:32px}.capabilities{gap:8px 12px;margin-top:16px}.platform{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:32px}.platform-map{padding:24px}.map-item{font-size:22px;padding:16px 0}.platform-copy h3{margin-top:16px;font-size:32px}.platform-copy p{font-size:16px}.platform-copy .proof-label{font-size:12px}.platform-copy .platform-scope{font-size:14px}.process-steps{grid-template-columns:1fr;gap:24px}.process-steps li{display:grid;grid-template-columns:24px 1fr;gap:12px 16px;padding-top:24px}.process-steps li>span{padding-top:4px}.process-steps h3{font-size:26px;margin:0}.process-steps p{grid-column:2;font-size:16px}.fit-note{grid-template-columns:1fr;gap:16px;margin-top:32px;padding-block:24px}.process .button{width:100%}.experience{grid-template-columns:1fr;gap:32px}.experience-mark{border-right:0;padding:0 0 24px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end}.experience-mark .proof-label{grid-column:1/-1}.since{margin-top:0;font-size:24px}.since strong{font-size:64px}.experience-mark>p:last-child{margin:0;font-size:12px}.experience h2{margin-bottom:24px}.measurement{grid-template-columns:1fr;gap:16px;margin-top:32px;padding-block:24px}.measurement>span{grid-column:1}.faq{grid-template-columns:1fr;gap:32px;padding-top:0}.faq-intro p{margin-top:16px}.faq-list summary{font-size:16px;gap:16px}.faq-list details>p{padding-right:0;font-size:14px}.closing{padding-block:64px;text-align:left}.closing h2{font-size:40px}.closing .lead{margin:24px 0 32px}.closing .button{width:100%}.closing-note{text-align:center}.footer{padding-block:32px 16px}.footer-top{grid-template-columns:1fr;gap:24px}.footer-top nav{grid-template-columns:1fr 1fr}.footer-bottom{align-items:flex-start;flex-wrap:wrap;margin-top:24px;gap:8px 24px}.footer-bottom>span:nth-child(2){order:3;flex-basis:100%;max-width:none}.footer-bottom .text-button{margin-left:auto;margin-top:-12px}.dialog{padding:56px 24px 24px;max-height:calc(100dvh - 24px)}.dialog h2{font-size:32px}.dialog>.button{width:100%}.availability{padding:20px}.dialog .eyebrow{font-size:12px}.dialog h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project-image:hover img,.text-link:hover span{transform:none}}
.demo-controls li button .step-name{font-size:14px;color:inherit}
@media(max-width:767px){.demo-controls ol{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.demo-controls li{border:0}.demo-controls li:first-child{border:0}.demo-controls li button{justify-content:center;min-height:48px;border:1px solid var(--control);border-radius:12px;padding:8px}.demo-controls li button[aria-current=step]{border-color:var(--action)}.demo-controls li button>span:first-child{font-size:14px;color:inherit}.demo-controls li button .step-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.journey-controls .journey-detail{margin-top:0;margin-bottom:8px}}
.footer-bottom .text-button{min-width:48px}

/* Homepage refinement: open editorial layout, with evidence carrying the page. */
.hero{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;padding:88px 0 40px;align-items:end}
.hero-heading .eyebrow{margin-bottom:40px;font-size:14px;font-weight:400;color:var(--muted)}
.hero h1{font-size:clamp(48px,6.15vw,84px);line-height:1.06;letter-spacing:-.035em}
.hero-brief{padding-bottom:4px}
.hero-statement{font:400 28px/1.2 Outfit,sans-serif;letter-spacing:-.015em}
.hero .lead{font-size:16px;line-height:1.65;margin-top:24px;max-width:40ch}
.hero .actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px}
.hero-footnote{font-size:12px;margin-top:16px}
.hero-index{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;align-items:start;margin-top:32px;border-block:1px solid var(--line);padding:24px 0}
.hero-index>span{font-size:14px;color:var(--muted);max-width:23ch}
.hero-index a{font-family:Outfit,sans-serif;font-size:24px;line-height:1.3;text-decoration:none;padding-bottom:4px}
.hero-index a:hover{text-decoration:underline}
.hero-index small{display:block;font:400 12px/1.5 Inter,sans-serif;color:var(--muted);margin-top:8px}
.problem{padding-top:56px;padding-bottom:80px}.problem .split-intro{border:0;padding-top:0}.problem-rows p{font-size:20px;padding:20px 0}.problem-close{font-size:16px;max-width:70ch}
.journey{background:var(--surface);border-block:1px solid var(--line);padding-block:80px}.journey .split-intro{align-items:start}.journey-controls{gap:24px;margin-top:48px}.stage{border:0;border-bottom:1px solid var(--control);border-radius:0;background:transparent;color:var(--ink);padding:16px 0 24px}.stage:hover{background:var(--canvas)}.stage[aria-pressed=true]{background:transparent;border-bottom:3px solid var(--action);color:var(--action)}.stage-number,.stage>span:last-child{color:var(--muted)}.stage strong{font-size:24px}.stage-number{margin-bottom:16px}.stage:not(:last-child):after{right:-19px;background:var(--surface);color:var(--muted)}.journey-detail{border-radius:0;background:transparent;border-top:0;padding:32px 0 0;min-height:0;gap:64px}.detail-label{color:var(--muted)}.journey-detail h3{font-size:32px}.journey-detail p{color:var(--ink)}.journey-detail .text-link{color:var(--action)}.journey-hint{color:var(--muted);margin-top:24px}
.outcomes article{grid-template-columns:1fr 1.15fr;gap:12px 64px;padding:24px 0}.outcome-scope{grid-column:2;margin:0}.outcomes h3{font-size:32px}.fixes .split-intro{align-items:start}.section-tail p{font-size:14px}.example{background:var(--surface);border-block:1px solid var(--line)}.example .eyebrow{font-size:14px;color:var(--muted);font-weight:400}.demo{background:transparent;border-radius:0;padding:0;gap:64px;grid-template-columns:4fr 8fr}.demo-controls li button{padding:16px 0;gap:12px}.demo-controls li button[aria-current=step]{background:transparent;color:var(--action)}.demo-controls li button[aria-current=step]:hover{background:var(--canvas)}.demo-controls li button[aria-current=step] .step-name{font-weight:600}.demo-controls li button:hover{color:var(--action)}.demo-display{border-radius:20px;border:0;background:var(--lilac)}.demo-topline{border-color:#D4CDED}.demo-scene{padding:32px 40px;min-height:380px}.demo-bottomline{border-color:#D4CDED}.message{background:var(--surface)}.scene-note{max-width:52ch}.event-row{border-color:#C5BDEE}.example-disclaimer{max-width:55ch}.demo-footnote{margin-left:calc((100% - 64px)/3 + 64px)}
.work{padding-top:112px;padding-bottom:0}.work .split-intro{margin-bottom:64px;align-items:start}.project-heading{align-items:end}.project-heading h3{font-size:48px;margin-top:16px;letter-spacing:-.025em}.project-heading>p:last-child{font-size:14px;color:var(--muted);font-weight:400}.proof-label{font-size:14px;letter-spacing:0;font-weight:400;color:var(--muted)}.project-image{border:0}.project-image img{aspect-ratio:16/9;object-position:top}.project-description{grid-template-columns:5fr 7fr;gap:64px;margin-top:32px}.project-description h4{font-size:32px;font-weight:400;line-height:1.2;max-width:26ch}.capabilities{gap:8px 16px;font-size:12px}.capabilities li{border:0;padding:0}.capabilities li:not(:last-child):after{content:' /';padding-left:12px;color:var(--muted)}
.vespa-feature{background:var(--dark);color:white;display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:64px;margin-top:80px}.vespa-feature .proof-label{color:var(--dark-muted)}.vespa-identity{display:flex;flex-direction:column;justify-content:space-between;gap:40px}.vespa-identity h3{font-size:clamp(40px,4.5vw,64px);line-height:1.08;letter-spacing:-.03em}.vespa-place{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--dark-line);padding-top:24px;font-size:14px;color:var(--dark-muted)}.vespa-story h4{font-size:32px;font-weight:400;line-height:1.2;margin-bottom:24px}.vespa-story>p{font-size:16px;line-height:1.65;color:var(--dark-muted);max-width:51ch}.vespa-story>p+p{margin-top:16px}.vespa-story .text-link{color:var(--light-violet);margin-top:16px}.vespa-story .vespa-scope{font-size:12px;max-width:54ch;margin-top:16px}.vespa-feature a:focus-visible{outline-color:var(--light-violet)}
.creator-feature{display:grid;grid-template-columns:5fr 7fr;gap:80px;padding-block:80px 64px;border-bottom:1px solid var(--line)}.creator-intro h3{font-size:40px;letter-spacing:-.025em;margin-top:24px;margin-bottom:24px;max-width:21ch}.creator-intro>p:last-child{font-size:16px;max-width:45ch}.creator-details dl{margin:0}.creator-details dl>div{display:grid;grid-template-columns:1fr 1.65fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.creator-details dl>div:first-child{padding-top:0}.creator-details dt{font-weight:500;font-size:16px}.creator-details dd{margin:0;font-size:14px;color:var(--muted)}.creator-evidence{font-size:14px;color:var(--muted);margin-top:24px}.creator-evidence a{color:var(--action);display:inline-flex;align-items:center;gap:8px;min-height:48px}.creator-evidence>span{display:block;font-size:12px}
.process{border:0;background:var(--canvas)}.process .split-intro{align-items:start}.process-steps li{border-top-color:var(--line)}.fit-note{grid-template-columns:1fr 1fr}.fit-note h3{font-size:24px}.measurement-section{padding-top:0;padding-bottom:80px}.measurement{margin-top:0;border:0;border-top:1px solid var(--line);padding-top:32px;grid-template-columns:5fr 7fr}.measurement h2{font-size:32px}.measurement p{font-size:16px}.measurement>span{font-size:12px}.faq{padding-bottom:96px}.faq-list{border-color:var(--line)}.closing{text-align:left;padding-block:96px}.closing>.wrap{display:grid;grid-template-columns:7fr 5fr;gap:24px 80px;align-items:start}.closing h2{font-size:64px;grid-row:1/4}.closing .lead{font-size:18px;margin:0;max-width:42ch}.closing .button{justify-self:start}.closing-note{margin:0}.footer-top{padding-top:16px}
@media(max-width:1100px){.hero{gap:32px}.hero h1{font-size:clamp(48px,6.1vw,84px)}.hero-statement{font-size:24px}.hero-index{gap:32px}.journey-controls{gap:16px}.stage:not(:last-child):after{right:-14px}.demo{gap:32px}.vespa-feature{gap:40px;padding:40px}.creator-feature{gap:48px}.closing>.wrap{gap:24px 48px}}
@media(max-width:1023px){.hero{grid-template-columns:1fr;padding-top:64px;gap:32px}.hero h1{font-size:72px}.hero-brief{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.hero-statement{display:none}.hero .lead{margin:0;font-size:18px;grid-row:1/3;max-width:44ch}.hero .actions{margin:0}.hero-footnote{grid-column:2}.hero-index{margin-top:16px;gap:24px}.hero-index a{font-size:22px}.journey-controls{grid-template-columns:repeat(3,1fr);gap:16px}.stage:nth-child(3):after{display:none}.outcomes article{gap:12px 32px}.demo{grid-template-columns:1fr 1.4fr;gap:32px}.demo-scene{padding:24px;min-height:420px}.demo-footnote{margin-left:0}.work{padding-top:80px}.project-heading h3{font-size:40px}.project-description{gap:32px}.project-description h4{font-size:28px}.vespa-feature{margin-top:64px;padding:32px;gap:32px}.vespa-identity h3{font-size:48px}.vespa-story h4{font-size:28px}.vespa-place{flex-direction:column;gap:4px}.creator-feature{padding-block:64px;gap:40px}.creator-intro h3{font-size:32px}.creator-details dl>div{grid-template-columns:1fr;gap:8px}.measurement-section{padding-bottom:64px}.measurement{gap:24px 32px}.closing h2{font-size:48px}.closing>.wrap{gap:24px 40px;grid-template-columns:1fr 1fr}.closing-note{font-size:12px}}
@media(max-width:767px){.hero{padding-top:40px;padding-bottom:0;gap:24px}.hero-heading .eyebrow{font-size:12px;max-width:30ch;margin-bottom:24px}.hero h1{font-size:clamp(40px,8.5vw,64px);line-height:1.07}.hero-brief{display:block}.hero .lead{font-size:16px;max-width:42ch;line-height:1.65}.hero .actions{margin-top:24px;align-items:stretch}.hero .actions .text-link{justify-content:flex-start}.hero-footnote{font-size:12px;margin-top:16px}.hero-index{grid-template-columns:1fr;gap:16px;margin-top:8px;padding-block:24px}.hero-index>span{max-width:none;font-size:12px}.hero-index a{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;font-size:22px;min-height:48px;padding:4px 0}.hero-index small{font-size:12px;margin:0}.problem{padding-top:48px;padding-bottom:48px}.problem .split-intro{padding:0}.problem-rows p{font-size:18px;gap:4px}.journey{padding-block:48px}.journey-controls{grid-template-columns:1fr;gap:0;margin-top:32px}.stage{padding:16px 0;grid-template-columns:24px 1fr;min-height:80px;border-bottom:1px solid var(--control)}.stage strong{font-size:24px}.stage-number{padding-top:4px;margin:0}.stage[aria-pressed=true]{border-bottom:2px solid var(--action)}.stage:not(:last-child):after,.stage:nth-child(3):after{display:none}.journey-controls .journey-detail{padding:24px 0 32px;gap:24px;margin:0;border-bottom:1px solid var(--line)}.journey-detail h3{font-size:28px}.outcomes article{grid-template-columns:1fr;gap:12px;padding:24px 0}.outcomes h3{font-size:28px}.outcomes p,.outcome-scope{grid-column:1}.outcome-scope{font-size:12px}.demo{grid-template-columns:1fr;gap:24px}.demo-controls li button{padding:8px;min-height:48px}.demo-controls li button[aria-current=step]{background:var(--lilac)}.demo-controls ol{grid-template-columns:repeat(6,1fr);gap:4px}.demo-controls li button{border:0;border-bottom:1px solid var(--control);border-radius:0}.demo-controls li button[aria-current=step]{border-bottom:2px solid var(--action)}.demo-playback{margin-top:16px}.demo-display{border-radius:20px}.demo-scene{padding:24px;min-height:370px}.demo-topline,.demo-bottomline{padding:16px 24px}.demo-footnote{font-size:12px}.work{padding-top:64px}.work .split-intro{margin-bottom:40px}.project-heading{display:flex;align-items:end;gap:16px}.project-heading .proof-label{font-size:12px}.project-heading h3{font-size:32px;margin-top:12px}.project-heading>p:last-child{display:none}.project-image img{aspect-ratio:4/3}.project-description{grid-template-columns:1fr;gap:16px;margin-top:24px}.project-description h4{font-size:28px}.capabilities{margin-top:16px}.vespa-feature{grid-template-columns:1fr;margin-top:40px;padding:32px 24px;gap:32px}.vespa-identity{gap:24px}.vespa-identity h3{font-size:48px}.vespa-place{flex-direction:row;font-size:12px;padding-top:16px}.vespa-story h4{font-size:28px}.vespa-story>p{font-size:16px}.vespa-story .vespa-scope{font-size:12px}.creator-feature{grid-template-columns:1fr;gap:32px;padding-block:48px}.creator-intro h3{font-size:32px;margin-top:16px;margin-bottom:16px}.creator-intro .proof-label{font-size:12px}.creator-details dl>div{grid-template-columns:1fr;gap:8px;padding-block:16px}.creator-evidence{margin-top:16px}.process{padding-top:48px}.process-steps h3{font-size:26px}.fit-note{grid-template-columns:1fr}.measurement-section{padding-bottom:48px}.measurement{grid-template-columns:1fr;gap:16px}.measurement h2{font-size:28px}.measurement>span{grid-column:1}.faq{padding-bottom:48px}.closing{padding-block:64px}.closing>.wrap{display:block}.closing h2{font-size:40px}.closing .lead{font-size:16px;margin:24px 0}.closing .button{width:100%}.closing-note{margin-top:16px;text-align:left}}
@media(max-width:374px){.demo-controls ol{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:40px}.vespa-identity h3{font-size:40px}}
@media(prefers-reduced-motion:reduce){.project-image img{transition:none}.project-image:hover img{transform:none}}
@media(max-width:767px){.project-image picture img{aspect-ratio:375/812;object-fit:contain;object-position:top;background:var(--surface)}}
.vespa-identity{justify-content:flex-start}.vespa-place{margin-top:auto}

/* Finished launch films: contained media, independent of headings and CTAs. */
.hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:40px}
.hero-copy{min-width:0}.hero-copy .hero-heading .eyebrow{margin-bottom:32px}.hero-copy .hero-statement{display:none}.hero-copy .hero-brief{margin-top:24px}.hero-copy .lead{max-width:54ch;margin:0}.hero-copy .actions{flex-direction:row;align-items:center;gap:12px 24px}.hero-copy .hero-footnote{margin-top:12px}
.site-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--dark);border-radius:20px}
.feature-film{margin:0}.film-player{position:relative}.film-play{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:24px 24px 56px;border:0;border-radius:20px;background:transparent;color:white;text-align:left}.film-play>span{display:inline-flex;align-items:center;gap:16px;min-height:56px;padding:16px 24px;background:var(--action);border-radius:12px;font-weight:500}.film-play:hover>span{background:var(--hover)}.film-play small{font-size:12px;opacity:.9}.film-play:focus-visible{outline:3px solid var(--action);outline-offset:4px}.feature-film figcaption{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:14px}.feature-film figcaption>span:last-child{font-size:12px;color:var(--muted)}.media-error{margin-top:16px;font-size:14px;color:var(--muted)}.media-error a{color:var(--action)}
.demo-film{max-width:1040px;margin-left:auto}.video-summary{margin-top:16px;border-bottom:1px solid var(--line)}.video-summary summary{min-height:56px;padding:12px 0;font-size:14px;font-weight:500}.video-summary>div{max-width:75ch;padding:0 0 24px;font-size:14px;color:var(--muted)}.video-summary ol{padding-left:24px;margin:0 0 16px}.video-summary li+li{margin-top:12px}.example .video-summary{max-width:1040px;margin-left:auto}.work-reel{display:grid;grid-template-columns:4fr 8fr;gap:64px;padding-block:64px;border-bottom:1px solid var(--line)}.work-reel h3{font-size:36px;margin:24px 0;max-width:20ch}.work-reel>div:first-child>p:last-child{font-size:16px;max-width:35ch}.work-reel .film-play{padding:16px 16px 48px}.work-reel .film-play>span{min-height:48px;padding:12px 16px;font-size:14px}
@media(max-width:1100px){.hero{gap:32px}.hero h1{font-size:clamp(48px,5.9vw,84px)}.work-reel{gap:32px}}
@media(max-width:1023px){.hero{grid-template-columns:1fr 1fr;gap:32px}.hero h1{font-size:clamp(40px,5.5vw,64px)}.hero-copy .hero-brief{display:block}.hero-copy .lead{font-size:16px}.hero-copy .actions{flex-direction:column;align-items:flex-start;margin-top:24px;gap:8px}.hero-copy .hero-footnote{grid-column:auto;font-size:12px}.work-reel{grid-template-columns:1fr 1.5fr}.work-reel h3{font-size:32px}.hero-index{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:767px){.hero{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(40px,8.5vw,64px)}.hero-copy .hero-heading .eyebrow{margin-bottom:24px}.hero-copy .actions{align-items:stretch;gap:8px}.hero-copy .hero-footnote{margin-top:12px}.hero-index{grid-template-columns:1fr;margin-top:0}.film-play{padding:12px 12px 44px}.film-play>span{min-height:48px;padding:12px 16px;gap:12px;font-size:14px}.film-play small{font-size:12px}.site-video{border-radius:12px}.feature-film figcaption{gap:8px;font-size:14px}.feature-film figcaption>span:last-child{font-size:12px}.work-reel{grid-template-columns:1fr;gap:24px;padding-block:48px}.work-reel h3{font-size:32px;margin:16px 0}.work-reel .film-play{padding:12px 12px 44px}.video-summary>div{font-size:14px}.work-reel .proof-label{font-size:12px}}

.site-video:focus-visible{outline:3px solid var(--action);outline-offset:4px}

/* Hero: a legible connection diagram, with motion only after interaction. */
.hero-flow{margin:64px 0 0;padding:0;min-width:0;align-self:start}
.hero-flow figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:14px;font-weight:500}
.flow-example{font-size:12px;font-weight:400;color:var(--muted);white-space:nowrap}
.flow-diagram{padding:32px 0;--flow-spine:var(--line)}
.flow-stop{display:grid;grid-template-columns:24px minmax(0,1fr);gap:24px;align-items:start}
.flow-point{display:block;width:12px;height:12px;border:1px solid var(--control);border-radius:50%;margin:10px 6px 0;background:var(--canvas);position:relative;z-index:1}
.flow-start .flow-point{background:var(--ink);border-color:var(--ink)}
.flow-stop h2,.flow-stop h3{font-family:Outfit,Arial,sans-serif;font-size:28px;line-height:1.15;letter-spacing:-.02em;text-wrap:balance;font-weight:400}
.flow-stop p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:8px;max-width:40ch}
.flow-bridge{height:40px;margin-left:11px;position:relative;width:1px;background:var(--line)}
.flow-bridge span{display:block;position:absolute;inset:0;background:var(--action);transform:scaleY(0);transform-origin:top;transition:transform 300ms var(--ease)}
.flow-gap{padding-block:16px}.flow-gap .flow-point{margin-top:36px;border:2px solid var(--action);background:var(--canvas)}
.flow-state{display:block;font-size:12px;color:var(--action);margin-bottom:8px}
.flow-gap h3{color:var(--action)}
.flow-bridge-last{background:none;margin-block:0 16px}.flow-bridge-last:before{content:"";position:absolute;inset:0;border-left:1px dashed var(--control)}
.flow-finish{min-height:88px}.flow-finish h3{color:var(--muted)}
.flow-diagram[data-connected="true"] .flow-bridge span{transform:scaleY(1)}
.flow-diagram[data-connected="true"] .flow-bridge-last span{transition-delay:100ms}
.flow-diagram[data-connected="true"] .flow-gap .flow-point,.flow-diagram[data-connected="true"] .flow-finish .flow-point{background:var(--action);border-color:var(--action)}
.flow-diagram[data-connected="true"] .flow-finish h3{color:var(--ink)}
.flow-footer{border-top:1px solid var(--line);padding-top:12px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.flow-toggle{display:inline-flex;align-items:center;gap:16px;min-height:48px;padding:8px 0;font-size:14px;color:var(--action);text-decoration:underline;text-underline-offset:5px}
.flow-toggle:hover{color:var(--hover)}

.flow-note{font-size:12px;color:var(--muted)}
.journey-film-disclosure{margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.journey-film-disclosure summary{display:flex;align-items:center;gap:16px;min-height:64px;padding-block:16px;font-size:14px;font-weight:500;cursor:pointer}
.journey-film-disclosure summary>span:first-child{font-size:12px;font-weight:400;color:var(--muted);margin-left:auto}
.journey-film-disclosure .feature-film{max-width:800px;padding-bottom:24px}
@media(min-width:1024px){.hero-flow{margin-left:24px}}
@media(max-width:1023px){.hero-flow{margin-top:56px}.flow-stop{gap:16px}.flow-stop h2,.flow-stop h3{font-size:24px}.hero-flow figcaption{flex-wrap:wrap;gap:4px}.flow-diagram{padding-block:24px}.flow-bridge{height:32px}}
@media(max-width:767px){.hero-flow{margin:8px 0 0}.hero-flow figcaption{flex-wrap:nowrap;padding-bottom:20px}.flow-stop h2,.flow-stop h3{font-size:26px}.flow-diagram{padding-block:24px}.flow-bridge{height:24px}.flow-finish{min-height:80px}.flow-note{display:none}.flow-footer{padding-top:8px}.flow-toggle{font-size:14px}.journey-film-disclosure summary{flex-wrap:wrap;gap:8px}.journey-film-disclosure summary>span:first-child{margin-left:0}.journey-film-disclosure summary>span:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.flow-bridge span{transition:none!important}}

/* Purple-led, light-first presentation. Identity violet remains #7160F5. */
:root{--purple-panel:#6F5EF2;--purple-wash:#F5F2FF;--purple-ink:#3B286D;--purple-rule:#CBBEF1;--citrus:#E2F49C;--citrus-wash:#F1F8DC;--citrus-rule:#A9BC7C}
body{background:var(--surface)}
.header{border-bottom:0}.header nav a:hover{color:var(--action)}
.hero-shell{background:var(--purple-wash)}
.hero{padding-top:64px;padding-bottom:40px;gap:32px 40px}
.hero h1 span{color:var(--violet)}
.hero-heading .eyebrow{color:var(--purple-ink)}
.hero-flow{background:var(--purple-panel);color:var(--surface);padding:32px;border-radius:16px;margin:0;align-self:center}
.hero-flow figcaption{border-color:var(--light-violet);color:var(--surface)}
.hero-flow .flow-example{color:var(--surface)}
.hero-flow .flow-diagram{padding-block:24px}
.hero-flow .flow-stop h2,.hero-flow .flow-stop h3,.hero-flow .flow-stop p{color:var(--surface)}
.hero-flow .flow-stop{gap:16px}
.hero-flow .flow-state{color:var(--surface)}
.hero-flow .flow-gap h3{color:var(--citrus)}
.hero-flow .flow-point{border-color:var(--surface);background:var(--purple-panel)}
.hero-flow .flow-start .flow-point{background:var(--surface)}
.hero-flow .flow-gap .flow-point{border-color:var(--citrus)}
.hero-flow .flow-bridge{background:var(--light-violet);height:24px}
.hero-flow .flow-bridge-last{background:none}
.hero-flow .flow-bridge-last:before{border-color:var(--light-violet)}
.hero-flow .flow-bridge span{background:var(--citrus)}
.hero-flow .flow-diagram[data-connected="true"] .flow-gap .flow-point,.hero-flow .flow-diagram[data-connected="true"] .flow-finish .flow-point{background:var(--citrus);border-color:var(--citrus)}
.hero-flow .flow-finish{min-height:88px}
.hero-flow .flow-footer{border-color:var(--light-violet)}
.hero-flow .flow-toggle,.hero-flow .flow-note{color:var(--surface)}
.hero-flow .flow-toggle:hover{text-decoration-thickness:2px}
.hero-flow button:focus-visible{outline-color:var(--citrus)}
.hero-index{background:var(--lilac);border:0;border-radius:12px;padding:24px 32px;margin-top:16px;gap:32px}
.hero-index>span,.hero-index small{color:var(--purple-ink)}
.hero-index a{color:var(--action)}
.problem{padding-top:80px}.problem h2{color:var(--action)}
.problem-rows{border-top-color:var(--purple-rule)}
.problem-rows p{border-color:var(--purple-rule)}
.problem-rows strong{color:var(--action)}
.problem-close span{color:var(--purple-ink)}
.journey{background:var(--lilac);border:0}
.journey h2{color:var(--action)}
.journey .lead,.journey-hint,.journey .detail-label,.stage-number,.stage>span:last-child{color:var(--purple-ink)}
.stage{border-color:var(--purple-rule)}
.stage:hover{background:var(--purple-wash)}
.stage[aria-pressed="true"]{color:var(--action);background:transparent;border-color:var(--action)}
.stage:not(:last-child):after{background:var(--lilac);color:var(--action)}
.journey-detail{background:var(--surface);padding:32px;border-radius:12px;margin-top:24px}
.journey-film-disclosure{border-color:var(--purple-rule)}
.journey-film-disclosure summary{color:var(--purple-ink)}
.journey-film-disclosure summary>span:first-child{color:var(--purple-ink)}
.fixes h2{color:var(--action)}
.outcomes article{border-color:var(--purple-rule)}
.outcomes h3{color:var(--action)}
.outcome-scope{color:var(--purple-ink)}
.outcomes article:nth-child(2) h3,.outcomes article:nth-child(4) h3{color:var(--purple-ink)}
.example{background:var(--purple-wash);border:0}
.example h2{color:var(--action)}
.example .eyebrow{color:var(--purple-ink)}
.work h2{color:var(--action)}
.project-heading h3{color:var(--action)}
.project-heading .proof-label{color:var(--purple-ink)}
.project-image{background:var(--lilac);padding:24px;border-radius:16px}
.project-image img{border-radius:8px}
.capabilities li{background:var(--lilac);color:var(--purple-ink);border-radius:4px;padding:6px 10px}
.capabilities li:not(:last-child):after{content:none}
.vespa-feature{background:var(--citrus-wash);color:var(--ink);border-radius:16px}
.vespa-identity h3{color:var(--action)}
.vespa-feature .proof-label,.vespa-place,.vespa-story>p{color:var(--ink)}
.vespa-place{border-color:var(--citrus-rule)}
.vespa-story .text-link{color:var(--action)}
.vespa-feature a:focus-visible{outline-color:var(--action)}
.creator-intro h3,.creator-details dt{color:var(--action)}
.creator-feature,.creator-details dl>div,.work-reel{border-color:var(--purple-rule)}
.creator-intro .proof-label{color:var(--purple-ink)}
.work-reel h3{color:var(--action)}
.process{background:var(--lilac);margin-top:64px}
.process h2,.process-steps h3{color:var(--action)}
.process-steps li{border-color:var(--purple-rule)}
.process-steps li>span{font-family:Outfit,Arial,sans-serif;font-size:40px;line-height:1;color:var(--violet)}
.fit-note{border-color:var(--purple-rule)}
.measurement-section{background:var(--surface);padding-top:64px}
.measurement{border-color:var(--purple-rule)}
.measurement h2,.faq h2{color:var(--action)}
.faq-list,.faq-list details{border-color:var(--purple-rule)}
.faq-list details[open]{background:var(--purple-wash)}
.faq-list details[open] summary,.faq-list summary:hover{color:var(--action)}
.faq-list details[open]>p{padding-inline:16px;padding-bottom:24px}
.faq-list details[open] summary{padding-inline:16px}
.closing{background:var(--purple-panel);color:var(--surface)}
.closing .lead,.closing-note{color:var(--surface)}
.closing .primary{background:var(--citrus);color:var(--purple-ink)}
.closing .primary:hover{background:var(--surface);color:var(--action)}
.closing .primary:focus-visible{outline-color:var(--surface)}
.footer{background:var(--surface)}
.footer-top nav a:hover{color:var(--action)}
@media(max-width:1100px){.hero-flow{padding:24px}.hero{gap:32px}.hero-flow .flow-stop h2,.hero-flow .flow-stop h3{font-size:26px}.hero-index{padding:24px}}
@media(max-width:1023px){.hero{padding-top:48px}.hero-flow{align-self:start;margin-top:48px}.hero-flow .flow-stop{gap:12px;grid-template-columns:16px minmax(0,1fr)}.hero-flow .flow-point{margin-left:2px}.hero-flow .flow-bridge{margin-left:7px}.hero-flow .flow-stop h2,.hero-flow .flow-stop h3{font-size:24px}.hero-flow .flow-note{display:none}.hero-index{gap:24px}.project-image{padding:16px}.process-steps li>span{font-size:32px}}
@media(max-width:767px){.hero{padding-top:40px;padding-bottom:24px}.hero-flow{margin:0;padding:24px;border-radius:12px}.hero-flow .flow-stop h2,.hero-flow .flow-stop h3{font-size:26px}.hero-flow figcaption{flex-wrap:wrap;gap:4px}.hero-index{padding:20px 24px;gap:8px;margin-top:0}.hero-index a{font-size:22px}.problem{padding-top:48px}.journey-controls .journey-detail{background:var(--surface);padding:24px;margin-top:12px;margin-bottom:12px;border:0;border-radius:12px}.project-image{padding:12px}.vespa-feature{border-radius:12px}.process{margin-top:32px}.process-steps li{grid-template-columns:40px 1fr}.process-steps li>span{padding:0}.measurement-section{padding-top:40px}.closing{padding-block:64px}}

.vespa-logo-panel{background:#002238;padding:24px;border-radius:8px;align-self:flex-start;width:min(100%,300px)}.vespa-logo-panel img{width:100%;height:auto}.vespa-identity{gap:24px}.vespa-place{margin-top:auto}
@media(max-width:767px){.vespa-logo-panel{width:min(100%,280px);padding:20px}}

/* Connected launch film: preserve the approved frame at every screen width. */
.launch-film-section{padding-block:48px 40px;scroll-margin-top:104px}
.launch-film-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}
.launch-film-heading .eyebrow{margin-bottom:12px}
.launch-film-heading h2{font-family:var(--font-display,'Outfit',sans-serif);font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0}
.launch-film-heading>p{font-size:14px;color:var(--muted);margin:0;max-width:260px}
.launch-film .film-player{border-radius:16px;box-shadow:0 14px 32px rgba(59,40,109,.12)}
.launch-film .site-video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:16px;background:#20212B}
.launch-film .film-play{inset:50% auto auto 50%;width:80px;height:80px;transform:translate(-50%,-50%);align-items:center;justify-content:center;padding:0;border-radius:50%}
.launch-film .film-play>span{width:80px;height:80px;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 6px 20px rgba(32,33,43,.2);transition:background .15s ease,transform .15s ease}
.launch-film .film-play:hover>span{transform:scale(1.06)}
.launch-film .film-play svg{margin-left:3px}
@media(max-width:640px){.launch-film-section{padding-block:32px}.launch-film-heading{display:block;margin-bottom:20px}.launch-film-heading>p{max-width:none;margin-top:12px}.launch-film .film-player,.launch-film .site-video,.launch-film .film-play{border-radius:12px}.launch-film .film-play{width:56px;height:56px}.launch-film .film-play>span{width:56px;height:56px}.launch-film .film-play svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.launch-film .film-play>span{transition:none}.launch-film .film-play:hover>span{transform:none}}

/* Client words: a single, readable review at a time. */
.review-band{background:var(--purple-panel);color:var(--surface);padding:clamp(48px,6vw,88px) 0}
.review-band-inner{display:grid;grid-template-columns:minmax(220px,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);align-items:center}
.review-band-intro h2{font-family:Outfit,Arial,sans-serif;font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.03em;font-weight:500;text-wrap:balance}
.review-band-intro p{font-size:16px;line-height:1.6;margin-top:20px;max-width:26ch;color:var(--surface)}
.review-carousel{min-width:0}
.review-slides{display:grid}
.review-slide{grid-area:1/1;display:flex;min-width:0;visibility:hidden;opacity:0;transform:translateX(14px);pointer-events:none;transition:opacity 360ms cubic-bezier(.16,1,.3,1),transform 360ms cubic-bezier(.16,1,.3,1),visibility 360ms}
.review-slide[data-active="true"]{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.review-card{width:100%;min-width:0;display:flex;flex-direction:column;gap:24px;background:var(--surface);color:var(--ink);border-radius:16px;padding:clamp(24px,3vw,40px);box-shadow:0 5px 8px rgba(35,25,83,.16)}
.review-stars{color:#9A5B12;font-size:21px;letter-spacing:3px;line-height:1;display:block;margin-bottom:24px}
.review-card blockquote{font-family:Outfit,Arial,sans-serif;font-size:clamp(21px,1.8vw,27px);font-weight:400;line-height:1.45;letter-spacing:-.015em;text-wrap:pretty;max-width:54ch;margin:0}
.review-byline{display:flex;gap:14px;align-items:center;margin:0}
.review-avatar{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:10px;background:var(--lilac);color:var(--action);font-family:Outfit,Arial,sans-serif;font-size:17px;font-weight:500;line-height:1;letter-spacing:.01em;align-self:center}
.review-credit{min-width:0}.review-credit strong,.review-credit span{display:block;line-height:1.45;overflow-wrap:anywhere}.review-credit strong{font-size:16px}.review-credit span{font-size:14px;margin-top:2px}
.review-credit strong{font-weight:600}.review-credit span{color:var(--muted)}
.review-byline a{color:var(--action);text-decoration:underline;text-underline-offset:3px}
.review-controls{display:flex;align-items:center;justify-content:space-between;margin-top:16px;color:var(--surface)}
.review-count{font-size:14px;min-width:5ch}
.review-controls>div{display:flex;gap:8px}
.review-controls button{width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid var(--surface);border-radius:10px;background:transparent;color:var(--surface);cursor:pointer}.review-controls button svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.review-controls[hidden]{display:none}
.review-controls button:hover{background:var(--surface);color:var(--action)}
.review-controls button:focus-visible{outline:3px solid var(--citrus);outline-offset:3px}
.work .split-intro{margin-bottom:28px}
.work-jump{display:flex;gap:8px 36px;flex-wrap:wrap;margin:0 0 48px;padding-block:16px;border-block:1px solid var(--purple-rule)}
.work-jump a{display:flex;align-items:baseline;gap:8px 14px;flex-wrap:wrap;color:var(--action);font-size:17px;font-weight:500;line-height:1.5;text-decoration:none}
.work-jump a:hover{text-decoration:underline;text-underline-offset:4px}
.work-jump a span{font-size:13px;color:var(--purple-ink);font-weight:400}
.work-jump a:focus-visible{outline:3px solid var(--action);outline-offset:3px}
@media(max-width:767px){.review-band-inner{grid-template-columns:1fr;gap:28px}.review-band-intro p{margin-top:12px;max-width:none}.review-card{border-radius:12px}.review-card blockquote{font-size:21px}.review-card{gap:22px}.review-byline{gap:12px}.review-credit strong{font-size:15px}.review-credit span{font-size:13px}.work-jump{margin-bottom:36px;gap:16px}.work-jump a{display:block;width:100%}.work-jump a span{display:block}}
@media(prefers-reduced-motion:reduce){.review-slide{transition:none;transform:none}}

.review-demo-label{align-self:flex-start;display:block;padding:7px 10px;border-radius:4px;background:var(--lilac);color:var(--purple-ink);font-size:13px;line-height:1.4;font-weight:600}
