/* Mobile composition and scroll chapters, shared with the desktop narratives. */
.pf-mobile-journey{display:none}
@media(max-width:650px){
 .home-page .work{padding-top:80px;padding-bottom:70px}
 .home-page .expertise .section-heading>p{padding-right:24px;max-width:100%}
 .home-page .service-content{padding-right:28px}
 .home-page .service-teaser{padding-right:24px}
 .home-page .industry-card{min-height:0;padding:17px 19px}
 .home-page .industry-card h3{font-size:22px;margin:10px 0 8px}
 .home-page .industry-card p{font-size:12px;max-width:none;line-height:1.5}
 .home-page .industry-card-bottom{padding-top:13px;font-size:9px}
 .home-page .industry-intro{margin-bottom:24px}
}
@media(max-width:360px){
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 .home-page .promotion-story .pf-track{height:calc(100svh + 1800px)}
 .home-page .promotion-story .pf-sticky{position:sticky;top:var(--pf-top)!important;height:calc(100svh - var(--pf-top) - 12px);display:flex;flex-direction:column}
 .home-page .promotion-story .pf-explanation{margin-bottom:10px;padding:14px 16px;row-gap:7px;flex-shrink:0}
 .home-page .promotion-story .pf-explanation [data-pf-caption]{font-size:17px;line-height:1.35;min-height:4.05em}
 .home-page .promotion-story .pf-explanation>a{grid-column:2;grid-row:1;justify-self:end;padding:0;font-size:10px}
 .home-page .promotion-story .pf-caption-stage{grid-column:1;grid-row:1}
 .home-page .promotion-story [data-pf-caption]{grid-column:1 / -1}
 .home-page .promotion-story .pf-canvas{flex:1;min-height:0;padding:8px 0 0}
 .home-page .promotion-story .pf-columns{display:block;height:100%;position:relative}
 .home-page .promotion-story .pf-column{position:absolute;inset:0;max-width:none;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .35s;display:flex;flex-direction:column}
 .home-page .promotion-story .pf-column.is-current{visibility:visible;pointer-events:auto;opacity:1}
 .home-page .promotion-story .pf-column:after{display:none}
 .home-page .promotion-story .pf-column-head{margin-bottom:10px}
 .home-page .promotion-story .pf-column-head>span{display:none}
 .home-page .promotion-story .pf-column-head h3{font-size:25px}
 .home-page .promotion-story .pf-column-head p{font-size:12px;margin-top:5px}
 .home-page .promotion-story .pf-visual{flex:1;min-height:130px;max-height:240px;width:100%;padding-bottom:22px}
 .home-page .promotion-story .pf-sources{gap:10px}
 .home-page .promotion-story .pf-source{min-height:43px}
 .home-page .promotion-story .pf-converter{min-height:65px}
 .home-page .promotion-story .pf-bottom{margin-top:12px;min-height:56px}
 .home-page .promotion-story .pf-bottom strong{font-size:42px}
 .home-page .promotion-story .pf-bottom>span{font-size:11px;margin-top:6px}
 .home-page .promotion-story .pf-return{display:none}
 .home-page .promotion-story .pf-controls{margin-top:10px;flex-shrink:0}
 .home-page .promotion-story .pf-controls button{padding:11px 0}
 .home-page .promotion-story .pf-model-note{font-size:9px;line-height:1.4;margin-top:10px;flex-shrink:0}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .home-page .growth-story .bm-track{height:calc(100svh + 2000px)}
 .home-page .growth-story .bm-sticky{position:sticky}
 .home-page .growth-story .bm-board-bottom{display:none}
 .home-page .growth-story .growth-lever h3{font-size:22px;min-height:51px}
 .home-page .growth-story .growth-lever p{font-size:14px;line-height:20px;min-height:100px;margin:8px 0 12px}
 .home-page .growth-story .client-population{display:none}
 .home-page .growth-story .growth-output{padding:12px 16px}
 .home-page .growth-story .growth-assumptions{margin-top:4px}
 .home-page .growth-story .growth-flow{padding:8px 0}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .home-page .meaning-ready .mi-track{height:calc(100svh + 1600px)}
 .home-page .meaning-ready .mi-sticky{position:sticky;top:var(--mi-top);height:calc(100svh - var(--mi-top) - 16px);min-height:0;max-height:none;padding-top:18px}
 .home-page .mi-top h2{font-size:25px;max-width:245px}
 .home-page .mi-stage{margin:16px 0;flex:1;min-height:0}
 .home-page .meaning-ready .mi-panel{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;padding:0;border:0;visibility:hidden;pointer-events:none}
 .home-page .meaning-ready .mi-panel.is-active{visibility:visible;pointer-events:auto}
 .home-page .mi-panel .mi-art-stage,.home-page .mi-panel[data-mi-panel="0"] .mi-art-stage{min-height:0}
 .home-page .mi-panel canvas,.home-page .mi-panel[data-mi-panel="0"] canvas{height:180px}
 .home-page .mi-visual{width:100%}
 .home-page .mi-visual-label{display:none}
 .home-page .mi-art-labels{font-size:10px;margin-top:0}
 .home-page .mi-copy{padding-right:16px}
 .home-page .mi-index{margin-bottom:10px}
 .home-page .mi-copy h3{font-size:25px}
 .home-page .mi-copy>p{font-size:12px;line-height:1.6;margin-top:12px}
 .home-page .mi-result{margin-top:12px;padding-top:10px}
 .home-page .mi-result p{font-size:11px;line-height:1.5}
 .home-page .mi-controls{gap:18px;margin-top:auto;flex-shrink:0}
}
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .home-page .technology-card{transform:rotateY(calc(var(--card-index)*360deg/7)) translateZ(310px);width:220px;left:-110px}
 .home-page .technology-carousel .robot-visual{top:43%;transform:translate(-50%,-50%) translateY(calc(var(--robot-settle)*222px)) scale(calc(1 - var(--robot-settle)*.48))}
 .home-page .technology-carousel .robot-copy{padding-right:22px}
}
@media(max-width:700px) and (max-height:750px) and (prefers-reduced-motion:no-preference){
 .home-page .mi-panel canvas,.home-page .mi-panel[data-mi-panel="0"] canvas{height:140px}
 .home-page .mi-copy h3{font-size:23px}
 .home-page .growth-story .growth-assumptions{display:none}
 .home-page .growth-story .bm-cue{font-size:8px}
 .home-page .promotion-story .pf-visual{max-height:170px}
}

@media(max-width:700px) and (max-height:750px) and (prefers-reduced-motion:no-preference){
 .home-page .growth-story .growth-lever h3{font-size:20px;min-height:46px}
 .home-page .growth-story .growth-lever p{font-size:13px;line-height:18px;min-height:90px;margin:7px 0 10px}
 .home-page .growth-story .growth-output{padding:10px 14px}
 .home-page .growth-story .bm-controls{margin-top:10px}
 .home-page .growth-story .bm-controls button{padding-top:8px;padding-bottom:8px}
 .home-page .growth-story .bm-cue{font-size:7px;line-height:1.3;margin-top:8px}
}

/* A persistent route makes every handoff visible during mobile scrolling. */
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 .home-page .pf-mobile-journey{display:block;flex-shrink:0;margin:2px 0 12px}
 .pf-mobile-journey svg{display:block;width:100%;height:84px;overflow:visible}
 .pf-mobile-journey .pf-journey-base{fill:none;stroke:#d8d2c9;stroke-width:1}
 .pf-mobile-journey [data-journey-wire]{fill:none;stroke:#ff5a2b;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
 .pf-mobile-journey [data-journey-packet]{fill:#ff5a2b}
 .pf-mobile-journey rect{fill:#f8f6f2;stroke:#d8d2c9;stroke-width:1}
 .pf-mobile-journey text{font:22px Onest;fill:#9c9288}
 .pf-mobile-journey .pf-journey-name{font-size:10px}
 .pf-mobile-journey .is-active rect{stroke:#ff5a2b;fill:#fff6f0}
 .pf-mobile-journey .is-active text{fill:#cc5029}
 .pf-journey-handoff{display:block;text-align:center;font-size:11px;line-height:1.4;color:#756c64}
 .home-page .promotion-story .pf-explanation [data-pf-caption]{font-size:15px;min-height:4.05em}
 .home-page .promotion-story .pf-column-head h3{font-size:23px}
 .home-page .promotion-story .pf-visual{max-height:190px;min-height:105px}
 .home-page .promotion-story .pf-crm{justify-content:center;gap:16px;padding-bottom:24px}
 .home-page .promotion-story .pf-lead-dots{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;width:100%;max-width:310px;padding:0;flex-shrink:0}
 .home-page .promotion-story .pf-lead-dots i{width:100%;height:auto;aspect-ratio:1;max-height:24px}
 .home-page .promotion-story .pf-crm-route{width:100%;margin-top:0;font-size:12px;flex-shrink:0}
 .home-page .promotion-story .pf-bottom{margin-top:10px;min-height:50px}
 .home-page .promotion-story .pf-converter-caption{font-size:10px}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .home-page .growth-story .growth-lever p{min-height:60px}
 .home-page .growth-story .growth-assumptions{display:none}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
 .home-page .mi-panel canvas,.home-page .mi-panel[data-mi-panel="0"] canvas{height:240px}
 .home-page .mi-stage{margin-top:10px}
 .home-page .mi-panel{gap:10px}
 .home-page .mi-art-labels{font-size:12px}
}
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .home-page .technology-card{height:245px;top:-55px}
 .home-page .technology-card-face{padding:20px 18px}
 .home-page .technology-card h3{font-size:20px;line-height:1.2;margin-top:12px}
 .home-page .technology-card p{font-size:10px;line-height:1.6;margin-top:12px}
 .home-page .technology-card a{margin-top:auto;min-height:32px;padding-top:12px;gap:10px;align-items:center}
 .home-page .technology-card a>span:first-child{flex:1;min-width:0}
 .home-page .technology-card a>span:last-child{display:flex;align-items:center;justify-content:center;flex:0 0 20px}
 .home-page .technology-card a .ui-arrow{width:20px;height:20px;min-width:20px;flex-basis:20px}
 .home-page .technology-carousel .robot-visual{transform:translate(-50%,-50%) translateY(calc(var(--robot-settle)*158px)) scale(calc(1 - var(--robot-settle)*.24))}
}
@media(max-width:700px) and (max-height:750px) and (prefers-reduced-motion:no-preference){
 .home-page .mi-panel canvas,.home-page .mi-panel[data-mi-panel="0"] canvas{height:190px}
 .home-page .promotion-story .pf-explanation{padding:10px 13px;row-gap:5px}
 .home-page .promotion-story .pf-explanation [data-pf-caption]{font-size:14px}
 .home-page .pf-mobile-journey{margin-bottom:8px}
 .pf-mobile-journey svg{height:72px}
 .pf-journey-handoff{font-size:10px}
 .home-page .promotion-story .pf-column-head{margin-bottom:5px}
 .home-page .promotion-story .pf-column-head h3{font-size:21px}
 .home-page .promotion-story .pf-bottom strong{font-size:36px}
}

@media(max-width:360px) and (max-height:750px) and (prefers-reduced-motion:no-preference){
 .home-page .mi-panel canvas,.home-page .mi-panel[data-mi-panel="0"] canvas{height:170px}
}

@media(max-width:760px) and (prefers-reduced-motion:no-preference){.home-page .growth-story .bm-sticky{top:var(--growth-top,76px)!important}}
@media(max-width:360px) and (max-height:750px) and (prefers-reduced-motion:no-preference){.home-page .growth-story .growth-output{padding-top:8px;padding-bottom:8px}.home-page .growth-story .bm-cue{margin-top:6px}}

/* One continuous branched diagram: vertical scrolling pans the mobile viewport. */
.pf-viewport{display:contents}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 .home-page .promotion-story .pf-track{height:calc(100svh + 2400px)}
 .home-page .promotion-story .pf-viewport{display:block;position:relative;flex:1;min-height:0;overflow:hidden;margin:0 -20px;padding:0 20px;--pf-column-width:calc((100vw - 40px)*.78)}
 .home-page .promotion-story .pf-canvas{width:max-content;height:100%;min-height:0;padding:18px 0 0;transform:translateX(var(--pf-pan,0px));will-change:transform;flex:none}
 .home-page .promotion-story .pf-columns{display:grid;grid-template-columns:repeat(4,var(--pf-column-width));gap:64px;height:100%;width:max-content}
 .home-page .promotion-story .pf-column{position:relative;inset:auto;visibility:visible;pointer-events:auto;opacity:.32;max-width:none;width:100%;margin:0;height:100%;transition:opacity .3s}
 .home-page .promotion-story .pf-column.is-reached{opacity:.65}
 .home-page .promotion-story .pf-column.is-current{opacity:1}
 .home-page .promotion-story .pf-column-head{min-height:66px;margin-bottom:12px;flex-shrink:0}
 .home-page .promotion-story .pf-column-head h3{font-size:23px}
 .home-page .promotion-story .pf-column-head p{font-size:12px;line-height:1.4}
 .home-page .promotion-story .pf-visual{flex:1;max-height:270px;min-height:150px}
 .home-page .promotion-story .pf-links{display:block;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
 .home-page .promotion-story .pf-source{padding:0 12px;min-height:48px}
 .home-page .promotion-story .pf-source strong{font-size:19px}
 .home-page .promotion-story .pf-converter strong{font-size:20px}
 .home-page .promotion-story .pf-converter{min-height:70px}
 .home-page .promotion-story .pf-crm{gap:16px}
 .home-page .promotion-story .pf-lead-dots{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:230px}
 .home-page .promotion-story .pf-lead-dots i{max-width:26px;max-height:none;justify-self:center}
 .home-page .promotion-story .pf-bottom{margin-top:18px;flex-shrink:0;min-height:82px}
 .home-page .promotion-story .pf-bottom strong{font-size:40px}
 .home-page .promotion-story .pf-sales{gap:9px}
 .home-page .promotion-story .pf-sales strong{font-size:38px}
 .home-page .promotion-story .pf-sales div>span{font-size:11px;margin-top:8px}
 .home-page .promotion-story .pf-model-note{font-size:9px}
}
@media(max-width:700px) and (max-height:750px) and (prefers-reduced-motion:no-preference){
 .home-page .promotion-story .pf-column-head{min-height:56px;margin-bottom:8px}
 .home-page .promotion-story .pf-column-head h3{font-size:21px}
 .home-page .promotion-story .pf-visual{max-height:210px;min-height:140px}
 .home-page .promotion-story .pf-bottom{min-height:68px;margin-top:12px}
 .home-page .promotion-story .pf-lead-dots{gap:6px;max-width:200px}
 .home-page .promotion-story .pf-lead-dots i{max-width:22px;max-height:none;justify-self:center}
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
 .home-page .promotion-story .pf-explanation [data-pf-caption]{grid-column:1 / -1;max-width:none;width:100%}
}

/* Keep the mobile finale inside the viewport, below its complete text. */
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .home-page .technology-carousel .robot-stage{min-height:0;height:calc(100svh - var(--header-height))}
 .home-page .technology-carousel .technology-space{min-height:0}
 .home-page .technology-carousel .robot-copy{top:var(--robot-copy-top,0px)}
 .home-page .technology-carousel .robot-visual{top:43%;transform:translate(-50%,-50%) translateY(calc(var(--robot-settle)*var(--robot-final-y,158px))) scale(calc(1 - var(--robot-settle)*(1 - var(--robot-final-scale,.76))))}
}
/* Prevent iOS from zooming the page when a contact field receives focus. */
@media(max-width:767px){
 .home-page .contact input,.home-page .contact textarea{font-size:16px}
}

@media(max-width:600px) and (max-height:650px) and (prefers-reduced-motion:no-preference){
 .home-page .technology-carousel .robot-copy{padding-right:0}
 .home-page .technology-carousel .robot-copy h2{font-size:28px;line-height:1.15}
}

/* Compact the pinned growth model on short phones without hiding its figures. */
@media(max-width:700px) and (max-height:650px) and (prefers-reduced-motion:no-preference){
 .home-page .growth-story .revenue-chart,.home-page .growth-story .growth-lever .bm-eyebrow{display:none}
 .home-page .growth-story .growth-lever{padding:8px 14px}
 .home-page .growth-story .conversion-meter{margin-bottom:4px}
 .home-page .growth-story .growth-kpis strong{font-size:32px}
 .home-page .growth-story .bm-controls{margin-top:8px}
 .home-page .growth-story .bm-controls button{padding:6px 0;min-height:44px}
}

/* Reserve the complete narrative and result before sizing the short-screen art. */
@media(max-width:700px) and (max-height:650px) and (prefers-reduced-motion:no-preference){
 .home-page .mi-panel canvas,.home-page .mi-panel[data-mi-panel="0"] canvas{height:clamp(70px,calc(100svh - 490px),125px)}
 .home-page .mi-art-labels{display:none}
 .home-page .mi-copy{padding-right:0;flex-shrink:0}
 .home-page .mi-copy h3{font-size:20px;line-height:1.15}
 .home-page .mi-index{margin-bottom:8px;font-size:10px}
 .home-page .mi-copy>p{font-size:11px;line-height:1.5;margin-top:8px}
 .home-page .mi-result{margin-top:10px;padding-top:8px}
 .home-page .mi-result p{font-size:10.5px;line-height:1.45;margin-top:6px}
}
