/* =====================================================================
   Pozul mobile layer: phones only.
   Loaded after every other stylesheet with media="(max-width: 767px)",
   so nothing here can touch tablet or desktop.
   Rules of the layer:
     1. One idea per screen: headline, short copy, one visual.
     2. Body text 16px; nothing a visitor needs to read goes under 12px.
     3. Every tap target is at least 44px tall.
     4. Repeated cards become swipe rails; secondary panels are trimmed.
   ===================================================================== */

:root{--m-g:18px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* ---------- header: slimmer, hides while reading down, returns on scroll up ---------- */
.hdr{padding-top:8px;transition:transform .35s cubic-bezier(.22,.8,.2,1)}
.hdr.pzm-hide{transform:translateY(-120%)}
.hdr__bar{height:58px}

/* ---------- section rhythm + type ---------- */
.sec{padding-top:68px;padding-bottom:68px}
.sec__head{margin-bottom:0}
.sec__title{font-size:clamp(38px,11vw,46px);line-height:.95}
.sec__lede{margin-top:14px;font-size:17px;line-height:1.5}
.tag{font-size:13px}

/* standalone text links become real tap targets */
.hero__ctas .link-u,.faq-more .link-u,.jb-foot__a,.ft-cta,.tf-note a,.ind-more__all{display:inline-flex;align-items:center;min-height:44px}

/* ---------- swipe rails (dots built by mobile.js) ---------- */
.pzm-rail{display:flex!important;gap:12px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-inline:var(--m-g);margin-inline:calc(-1 * var(--m-g));padding:6px var(--m-g) 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pzm-rail::-webkit-scrollbar{display:none}
.pzm-rail>*{flex:0 0 86%;min-width:0;scroll-snap-align:center}
.pzm-dots{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:4px}
.pzm-dots button{display:grid;place-items:center;width:32px;height:44px;padding:0;border:0;background:none;cursor:pointer}
.pzm-dots button::before{content:"";width:9px;height:9px;border-radius:999px;background:currentColor;opacity:.28;transition:width .3s,opacity .3s}
.pzm-dots button[aria-current="true"]::before{width:26px;opacity:1}
.pzm-dots__n{min-width:44px;margin-left:6px;font:700 13px/1 var(--text);opacity:.7;font-variant-numeric:tabular-nums}

/* ---------- segmented switch (built by mobile.js) ---------- */
.pzm-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:26px 0 14px;padding:4px;border-radius:999px;border:2px solid var(--ink);background:var(--paper)}
.pzm-seg button{height:44px;border:0;border-radius:999px;background:none;color:var(--ink);font:800 15px/1 var(--display);letter-spacing:-.01em;cursor:pointer}
.pzm-seg button[aria-pressed="true"]{background:var(--ink);color:var(--cream)}

/* =====================================================================
   HOMEPAGE
   ===================================================================== */

/* ---------- hero ---------- */
.hero__sub{font-size:17px}
.picker{margin-top:44px;gap:6px 10px}
.picker__label{font-size:13px}
.pdot{height:44px}
.pdot__t{font-size:14px}
.picker__pause{width:44px;height:44px}
.hero__visual{margin-top:40px}
.scard__map{height:64px}
.stk-r{display:none}
.seal{width:72px}
.hero__foot{display:none}

/* ---------- jobs: four cards become one swipe rail ---------- */
.jb-bento{margin-top:28px}
.jb-card{display:flex}
.jb-card__in{padding:22px 20px 20px;border-radius:28px}
.jb-card__t{font-size:32px}
.jb-card__d{font-size:16px}
.jb-card__a{min-height:44px}
.jb-ui{--jb-pt:22px}
.jb-ui--req .jb-side{display:none}
.jb-ui--inbox .jb-inbox{display:none}
.jb-ui--inbox .jb-draft{margin:0;rotate:0deg}
.jb-ui--turf .jb-grid{display:none}
.jb-lb__list li:nth-child(n+4){display:none}
.jb-ui .sample{font-size:11.5px}
.jb-foot{margin-top:18px;font-size:15px}
.sec--ink .pzm-dots{color:var(--cream)}

/* ---------- how it works: tighter steps, phone fits one screen ---------- */
.story{padding-top:68px;padding-bottom:56px}
.story__title{font-size:clamp(38px,11vw,46px);line-height:.95}
.story__lede{font-size:17px}
/* the lede already tells the four steps, so the list becomes a stepper that follows the story */
.steps{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px;margin-top:24px}
.step,.step.is-on{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px 12px;border-radius:18px;text-align:center;transform:none}
.step__n{width:38px;height:38px;font-size:14px}
.step h3{font-size:14px;line-height:1.12;letter-spacing:-.01em}
.step p{display:none}
.story__ctas{display:none}
.story__panel{margin-top:22px}
.phone{zoom:.7}
.wall{margin-top:-215px}
.rv-text,.rp-body{font-size:14px}
/* channel chips keep their second line; WhatsApp must always say "Coming soon" */
.chns{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px}
.chn{height:50px;padding:0 8px 0 5px;gap:6px;justify-content:flex-start;min-width:0}
.chn-ic{display:none}
.chn{justify-content:center;padding:0 6px;text-align:center}
.chn-l{align-items:center}
.chn-l{min-width:0}
.chn-l b{font-size:14px}
.chn-l small{display:block!important;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- widgets ---------- */
.wg-grid{margin-top:26px}
.wg-ssvc,.wg-sfoot{display:none}
.wg-cap{font-size:15px}
.wg-aside{display:none}
.wg-switch__btn{min-height:44px}

/* ---------- competitors: one card at a time ---------- */
.tf-seal{display:none}
.tf-grid[data-pzm-show]{margin-top:0}
.tf-grid[data-pzm-show="lb"] .tf-map,.tf-grid[data-pzm-show="map"] .tf-lb{display:none}
.tf-rows .tf-row:nth-child(n+4){display:none}
.tf-thead,.tf-vs{display:none}
.tf-seg button{min-height:40px}
.tf-kw{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-4px;padding-inline:4px}
.tf-kw::-webkit-scrollbar{display:none}
.tf-kw__b{flex:none;min-height:40px}
.tf-card__sub{font-size:13px}
.tf-note{font-size:14px}

/* ---------- multi-location ---------- */
.mx-stk{display:none}
.mx-stage{margin-top:26px}
.mx-tbl--loc .mx-tr:nth-child(n+5),.mx-tbl--team .mx-tr:nth-child(n+5){display:none}
.mx-tab{min-height:44px}
.mx-th,.mx-cl,.mx-kpi__l{font-size:12px}
.mx-kpi__d{font-size:12.5px}
/* four features become a 2x2 grid of icon + name; the dashboard above shows the detail */
.mx-feats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;margin-top:22px}
.mx-feat{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border:1.5px solid rgba(255,244,226,.22);border-radius:20px}
.mx-feat::before,.mx-feat::after{display:none}
.mx-feat .mx-feat__ic{margin:0}
.mx-feat h3{margin:0;font-size:16.5px;line-height:1.15}
.mx-feat p{display:none}

/* ---------- industries ---------- */
.ind-stage{margin-top:26px}
.ind-cloud li:nth-child(n+13):not(:last-child){display:none}
.ind-kinds{display:none}
.ind-more{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:30px}
.ind-more__l{grid-column:1 / -1;margin-bottom:4px}
.ind-more a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:6px 10px;text-align:center;font-size:14.5px;line-height:1.15}
.ind-more .ind-more__all{grid-column:1 / -1}

/* ---------- honesty: compact numbered list ---------- */
.hon-stickers{display:none}
.hon-grid{margin-top:26px}
/* five promises live on one sticker card as a numbered checklist */
.hon-list{display:block!important;padding:4px 18px;border:2px solid var(--ink);border-radius:28px;background:var(--paper);box-shadow:0 18px 34px -22px rgba(18,18,18,.5)}
.hon-card{display:grid!important;grid-template-columns:40px minmax(0,1fr);column-gap:12px;padding:16px 0;border:0;border-radius:0;background:none;box-shadow:none;rotate:0deg;transform:none;opacity:1!important;animation:none!important}
.hon-card+.hon-card{border-top:1.5px dashed rgba(18,18,18,.3)}
.hon-card__top{grid-row:span 2;display:block}
.hon-card__n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--pink);font-size:15px;letter-spacing:0}
.hon-card__doo{display:none}
.hon-card__t{margin:0;font-size:19px;line-height:1.15}
.hon-card__p{margin-top:5px;font-size:15px;line-height:1.45}

/* ---------- FAQ: first six, then "show all" (button built by mobile.js) ---------- */
.faq-stk{display:none}
.faq-list{margin-top:26px}
.faq-list:not(.pzm-all) .faq-item:nth-child(n+7){display:none}
.faq-q{min-height:56px}
.faq-q__t{font-size:17.5px}
.faq-a__in{font-size:16px}
.pzm-more{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;margin-top:16px;border-radius:999px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font:800 16px/1 var(--display);letter-spacing:-.01em;cursor:pointer}

/* ---------- snapshot ---------- */
.snap-grid{margin-top:26px}
.snap-tile--map,.snap-tile--pace,.snap-tile--comp{display:none}
.snap-tile__l{font-size:12px}
.snap-tile__s{font-size:13px}
.snap-field input{height:52px;font-size:16px}

/* ---------- footer: link groups fold up (toggles built by mobile.js) ---------- */
.ft-top{gap:28px}
.ft-tag{font-size:24px}
.ft-nav{display:block!important;border-top:2px solid var(--ink)}
.ft-col{border-bottom:1px solid rgba(18,18,18,.18)}
.ft-col .ft-h{margin:0}
.pzm-acc{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:56px;padding:0;border:0;background:none;color:var(--ink);font:800 18px/1 var(--display);letter-spacing:-.02em;text-transform:none;cursor:pointer}
.pzm-acc::after{content:"+";font:700 24px/1 var(--text);transition:transform .3s}
.pzm-acc[aria-expanded="true"]::after{transform:rotate(45deg)}
.ft-col.pzm-fold ul{display:none}
.ft-col.pzm-fold.is-open ul{display:block;padding-bottom:10px}
.ft-col ul a{display:flex;align-items:center;min-height:44px;font-size:16px}
.ft-bottom{gap:14px}
.ft-toplink{min-height:44px}

/* =====================================================================
   INNER PAGES (pg-* / ui-* kit). "html" lifts these above page-level <style> blocks.
   ===================================================================== */
html .pg-hero{padding-top:96px;padding-bottom:52px}
html .pg-hero__grid{gap:30px}
html .pg-hero__title{font-size:clamp(38px,11.5vw,50px)}
html .pg-hero__sub{margin-top:18px;font-size:17px}
html .pg-hero__ctas{margin-top:24px;gap:6px 20px}
html .pg-hero__points{margin-top:20px;gap:8px 18px;font-size:14.5px}
html .pg-sec{padding:60px 0}
html .pg-sec--tight{padding:8px 0}
html .pg-head{margin-bottom:26px}
html .pg-split{gap:26px}
html .pg-list{gap:8px}

/* numbered steps: compact rows instead of tall cards */
html .pg-steps{gap:10px}
html .pg-step{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;align-items:start;padding:16px;border-radius:24px;box-shadow:none;rotate:0deg}
html .pg-step::before{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--cream);font:800 15px/1 var(--display);letter-spacing:0}
html .pg-step__ic{display:none}
html .pg-step h3{margin:0;align-self:center;font-size:19px}
html .pg-step p{margin-top:4px;font-size:15px}

html .pg-cards{gap:10px}
html .pg-card{gap:8px;padding:20px;border-radius:24px}
html .pg-card__ic{width:42px;height:42px;border-radius:13px}
html .pg-card h3{font-size:20px}
html .pg-card p{font-size:15px}
html .pg-note{padding:20px;border-radius:26px}
html .pg-note__ic{width:46px;height:46px}

/* product visuals: the main sample only, no floating extras stacked underneath */
html .pg-visual .ui-float,html .pg-split__vis .ui-float,html .pg-hero .ui-card--float{display:none}
html .ui-phone{zoom:.86}
html .ui-sticker{display:none}

/* standalone links as real tap targets */
html .pg-hero__ctas .link-u,html .pg-note .link-u,html .pg-card>.link-u,html .pg-cta__alt,html .pg-split__copy>p>.link-u:only-child{display:inline-flex;align-items:center;min-height:44px}
html .pg-link{min-height:64px}

html .pg-cta{padding:64px 0}
html .pg-cta__title{font-size:clamp(38px,11vw,48px)}

/* ---------- last small controls up to finger size ---------- */
.story-bar .pp{width:44px;height:44px;flex:none}
.wg-arr{width:42px;height:42px}
.ind-stk{min-height:42px}

/* ---------- battery + speed: hold still the decoration nobody can see moving ----------
   Starbursts that turn once every 40-180s and the tiny twinkling sparks are SVG shapes, which the
   browser repaints on every frame; on a phone that kept the whole page redrawing while idle. */
.hero__star,.hero__spark,.hon-bg__burst,.hon-bg__burst2,.hon-sp,.faq-stk__b,.faq-sp,.jb-deco--burst,
.mx-burst--a,.mx-burst--b,.mx-deco__sp,.snap-bg__b1,.snap-bg__b2,.snap-sp,.story.in .sburst--a,.story.in .sburst--b,
.story.in .ssp,.tf-rank svg,.tf-deco__spark,.ind-deco__sp,.mega__panel.is-active .mega-feat__burst{animation:none!important}

/* ---------- speed: skip rendering sections that are off screen ----------
   Sizes are remembered after a section has rendered once ("auto"), so scrolling back does not jump. */
main>section:not(.hero),main>.pg-sec,main>.pg-cta,.ft{content-visibility:auto;contain-intrinsic-size:auto 900px}
