/* CloudyPOS site styles: homepage v2, inner pages, header and footer. Generated; edit the sources. */
/* CloudyPOS homepage v2. Generated from the approved prototype; edit the prototype, not this file. */
.cpv2{
  color-scheme: dark;
  --night:#00111C; --night-2:#031E2E; --navy:#003452; --panel:#062A40; --panel-2:#0A3550;
  --blue:#25A9E1; --ice:#7CD3F5; --deep:#0B74A6;
  --paper:#F3F6F9; --white:#FFFFFF;
  --t-hi:#FFFFFF; --t-mid:#C9D8E2; --t-lo:#8FA7B8; --line-d:rgba(255,255,255,.09);
  --ink:#0B1620; --body:#33424F; --muted:#5B6B78; --line:#DFE6EB;
  --ok:#2FBF71; --ok-ink:#0D7350; --ok-soft:#E3F4EC; --warn:#F5B14C; --warn-ink:#975A00; --warn-soft:#FFF2DC; --bad:#FF8F86;
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --f-body:Figtree,"Segoe UI",system-ui,-apple-system,sans-serif;
  --f-mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}
.cpv2 *{box-sizing:border-box}
html{scroll-behavior:smooth}
.cpv2{background:var(--night);color:var(--t-mid);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
body:has(.cpv2){background:#00111C}
.cpv2 a{color:inherit}
.cpv2 .wrap{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.cpv2 h1, .cpv2 h2, .cpv2 h3{font-family:var(--f-display);color:var(--t-hi);margin:0;text-wrap:balance;letter-spacing:-.03em}
.cpv2 p{margin:0}
.cpv2 .eyebrow{font:600 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}
.cpv2 .grad{background:linear-gradient(100deg,var(--ice) 0%,var(--blue) 55%,#9be1ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.cpv2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:999px;font:600 16px/1 var(--f-body);text-decoration:none;border:1.5px solid transparent;transition:transform .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}
.cpv2 .btn:hover{transform:translateY(-2px)}
.cpv2 .btn:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .btn-primary{background:var(--blue);color:#001B2B;box-shadow:0 10px 30px -10px rgba(37,169,225,.7)}
.cpv2 .btn-primary:hover{background:#5CC2EC;box-shadow:0 14px 36px -10px rgba(37,169,225,.85)}
.cpv2 .btn-ghost{color:var(--t-hi);border-color:rgba(255,255,255,.28)}
.cpv2 .btn-ghost:hover{border-color:var(--t-hi)}
.cpv2 .btn-dark{background:var(--ink);color:#fff}
.cpv2 .btn-line{color:var(--ink);border-color:#7D8E9B}
.cpv2 .btn-line:hover{border-color:var(--ink)}
.cpv2 .link{color:var(--ice);font-weight:600;text-decoration:none}
.cpv2 .link::after{content:" \2192";display:inline-block;transition:transform .2s var(--ease)}
.cpv2 .link:hover::after{transform:translateX(4px)}
.cpv2 .hero{position:relative;padding-block:56px 24px;isolation:isolate}
.cpv2 .hero .pin{position:relative;overflow:hidden}
.cpv2 .aurora{position:absolute;inset:-10% -10% 20%;z-index:-1;pointer-events:none;filter:blur(60px);opacity:.7}
.cpv2 .aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.cpv2 .aurora i:nth-child(1){width:50vw;height:50vw;left:0;top:5%;background:radial-gradient(circle,rgba(37,169,225,.45),transparent 65%);animation:cp-drift1 18s ease-in-out infinite alternate}
.cpv2 .aurora i:nth-child(2){width:45vw;height:45vw;right:0;top:10%;background:radial-gradient(circle,rgba(0,52,82,.95),transparent 65%);animation:cp-drift2 22s ease-in-out infinite alternate}
.cpv2 .aurora i:nth-child(3){width:30vw;height:30vw;left:38%;top:30%;background:radial-gradient(circle,rgba(124,211,245,.22),transparent 65%);animation:cp-drift1 26s ease-in-out infinite alternate-reverse}
@keyframes cp-drift1{to{transform:translate(8vw,6vh) scale(1.15)}}
@keyframes cp-drift2{to{transform:translate(-10vw,4vh) scale(.9)}}
.cpv2 .scene{display:grid;justify-items:center;gap:72px}
.cpv2 .rc-wrap{width:min(540px,100%);display:grid;justify-items:center}
.cpv2 .rc-win{width:calc(100% + 80px);padding:40px 40px 0;overflow:hidden;transform:translateY(var(--wy,0px)) rotate(var(--wr,0deg));transform-origin:50% 100%}
.cpv2 .paper{--pr:1;position:relative;background:#FBFAF6;color:#111418;padding:34px 36px 30px;
  transform:translateY(calc((1 - var(--pr)) * 100%));
  box-shadow:0 1px 0 rgba(0,0,0,.04),0 30px 60px -20px rgba(0,0,0,.7),0 0 80px -10px rgba(37,169,225,.28);
  background-image:linear-gradient(180deg,rgba(0,0,0,.035),transparent 60px),repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.012) 3px 4px);
  -webkit-mask:linear-gradient(#000,#000) top/100% calc(100% - 9px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/18px 9px repeat-x;
  mask:linear-gradient(#000,#000) top/100% calc(100% - 9px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/18px 9px repeat-x;
  padding-bottom:40px}
.cpv2-js .cpv2 .paper{--pr:0}
.cpv2 .printing .paper{animation:cp-buzz .07s steps(2) infinite}
@keyframes cp-buzz{50%{translate:.5px 0}}
.cpv2 .rc{font:500 13.5px/1.55 "IBM Plex Mono",var(--f-mono);letter-spacing:.01em;color:#2A3038}
.cpv2 .rc-logo{text-align:center;font:800 26px/1 var(--f-display);letter-spacing:-.02em;color:#111418}
.cpv2 .rc-logo span{color:#0B74A6}
.cpv2 .rc-c{text-align:center;color:#4A525C;font-size:12.5px;margin-top:6px;text-transform:uppercase;letter-spacing:.12em}
.cpv2 .rc-row{display:flex;justify-content:space-between;gap:12px}
.cpv2 .rc-row span:last-child{text-align:right;white-space:nowrap}
.cpv2 .rc-meta{margin-top:16px;font-size:12px;color:#4A525C}
.cpv2 .rc-hr{border:0;border-top:1.5px dashed #9AA3AD;margin:16px 0}
.cpv2 .paper h1{font:800 clamp(38px,4.6vw,58px)/.96 var(--f-display);letter-spacing:-.045em;color:#0B1620;text-align:center;margin:6px 0 0;text-wrap:balance}
.cpv2 .paper h1 em{font-style:normal;color:#0B74A6;display:block}
.cpv2 .rc-sub{font:400 15px/1.55 var(--f-body);color:#33424F;text-align:center;margin:14px auto 0;max-width:400px}
.cpv2 .rc-items{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.cpv2 .rc-items li{display:flex;justify-content:space-between;gap:12px}
.cpv2 .rc-items li span:last-child{font-weight:600;color:#0D7350}
.cpv2 .rc-total{font-weight:700;font-size:17px;color:#111418;margin-top:4px}
.cpv2 .rc-ctas{display:flex;gap:10px;margin-top:20px}
.cpv2 .rc-ctas .btn{flex:1;height:50px;border-radius:12px}
.cpv2 .btn-ink{background:#0B1620;color:#fff}
.cpv2 .btn-ink:hover{background:#003452}
.cpv2 .btn-paper{color:#0B1620;border-color:#7D8E9B}
.cpv2 .btn-paper:hover{border-color:#0B1620}
.cpv2 .btn-ink:focus-visible, .cpv2 .btn-paper:focus-visible{outline-color:#0B74A6}
.cpv2 .rc-foot{margin-top:20px;display:grid;justify-items:center;gap:6px;font-size:11.5px;color:#4A525C;text-align:center}
.cpv2 .rc-foot svg{width:220px;height:38px}
.cpv2 .printer{position:relative;z-index:2;width:calc(100% + 56px);height:62px;margin-top:-1px;border-radius:8px 8px 22px 22px;
  background:linear-gradient(180deg,#1C3A52 0,#10273A 40%,#0A1B29 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 30px 50px -18px rgba(0,0,0,.9);
  transform:translateY(var(--pty,0px));opacity:var(--po,1)}
.cpv2 .printer::before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:7px;border-radius:0 0 6px 6px;background:#02080D;box-shadow:inset 0 2px 3px #000}
.cpv2 .printer .pb{position:absolute;left:22px;bottom:16px;font:700 12px/1 var(--f-display);letter-spacing:.02em;color:rgba(255,255,255,.35)}
.cpv2 .printer .led{position:absolute;right:24px;bottom:18px;width:8px;height:8px;border-radius:50%;background:#2FBF71;box-shadow:0 0 10px #2FBF71}
.cpv2 .printing .printer .led{animation:cp-blink .25s infinite}
.cpv2 .printer .head{position:absolute;left:24px;right:24px;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(124,211,245,.9),transparent);opacity:0}
.cpv2 .printing .printer .head{opacity:1}
.cpv2 .printer .lcd{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);padding:4px 10px;border-radius:6px;background:#04121C;box-shadow:inset 0 1px 2px #000;font:600 11px/1.2 "IBM Plex Mono",var(--f-mono);color:#7CD3F5;letter-spacing:.04em;white-space:nowrap}
.cpv2 .printer .lcd b{display:inline-block;font-weight:600}
.cpv2 .printed .printer .lcd b{animation:cp-nudge 1.6s var(--ease) infinite}
@keyframes cp-nudge{0%,100%{transform:none}50%{transform:translateY(3px)}}
.cpv2 .printer::after{content:"";position:absolute;left:-12%;right:-12%;bottom:-34px;height:40px;background:radial-gradient(closest-side,rgba(37,169,225,.35),transparent);filter:blur(6px);z-index:-1}
.cpv2 .ghosts{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity 1.2s var(--ease)}
.cpv2 .printed .ghosts, .cpv2 .torn .ghosts{opacity:var(--go,1)}
.cpv2 .ghosts i{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border-radius:2px;
  background:linear-gradient(90deg,rgba(17,20,24,.5),rgba(17,20,24,.5)) 50% 10%/40% 7px no-repeat,repeating-linear-gradient(180deg,transparent 0 12px,rgba(17,20,24,.16) 12px 14px,transparent 14px 20px) 50% 62%/76% 66% no-repeat,#FBFAF6;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.8);
  opacity:var(--o);filter:blur(var(--b));transform:translate3d(0,var(--gy,0px),0) rotate(var(--r));
  animation:cp-float var(--t,16s) ease-in-out infinite alternate}
@keyframes cp-float{to{translate:0 -18px;rotate:1.5deg}}
@media(max-width:899px){.cpv2 .ghosts{display:none}}
.cpv2 .hero.mcine{padding:0}
.cpv2 .hero.mcine .pin{position:sticky;top:var(--cp-head,0px);height:calc(100svh - var(--cp-head,0px))}
.cpv2 .hero.mcine .scene{position:relative;height:100%;display:block}
.cpv2 .hero.mcine .rc-wrap{position:absolute;inset:0 0 max(18px,env(safe-area-inset-bottom,0px)) 0;width:auto;display:flex;flex-direction:column;align-items:center;transform:translateY(var(--my,0px)) rotate(var(--mr,0deg))}
.cpv2 .hero.mcine .rc-win{position:relative;flex:1;min-height:0;width:100%;padding:0;
  -webkit-mask:linear-gradient(transparent,#000 36px);mask:linear-gradient(transparent,#000 36px)}
.cpv2 .hero.mcine .paper{position:absolute;left:0;right:0;bottom:0}
.cpv2 .hero.mcine .printer{flex:none;width:calc(100% + 16px)}
.cpv2 .hero.mcine .tillblock{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%) translateY(var(--ty,60vh));opacity:var(--to,0)}
.cpv2 .hero.mcine .hero-cap{opacity:var(--co,0)}
.cpv2 .tillblock{position:relative;width:min(1040px,100%);display:grid;gap:28px}
.cpv2 .hero-cap{text-align:center;font:700 clamp(26px,3vw,40px)/1.1 var(--f-display);letter-spacing:-.03em;color:var(--t-hi);text-wrap:balance}
.cpv2 .hero-cap span{color:var(--ice)}
.cpv2 .tillblock .device{position:relative}
.cpv2 .hero.cine{height:270vh;padding:0}
.cpv2 .hero.cine .pin{position:sticky;top:var(--cp-head,0px);height:calc(100svh - var(--cp-head,0px))}
.cpv2 .hero.cine .scene{position:relative;height:100%;display:block}
.cpv2 .hero.cine .rc-wrap{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%) translate(var(--rx,0px),var(--ry,0px)) rotate(var(--rr,0deg)) scale(var(--rs,1));will-change:transform}
.cpv2 .hero.cine .tillblock{position:absolute;left:50%;top:50%;width:min(980px,76vw);z-index:2;transform:translate(-50%,-52%) translateY(var(--ty,80vh)) scale(var(--ts,.92));opacity:var(--to,0);will-change:transform}
.cpv2 .hero.cine .hero-cap{opacity:var(--co,0);transform:translateY(calc((1 - var(--co,0)) * 16px))}
.cpv2 .hero.cine .phone{opacity:var(--pho,0);top:8%;width:clamp(140px,13vw,170px)}
.cpv2 .till{border-radius:22px;background:#F7F9FB;color:var(--ink);overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 50px 120px -30px rgba(0,0,0,.85);font-size:13px}
.cpv2 .till-bar{display:flex;align-items:center;gap:12px;height:44px;padding:0 16px;background:#fff;border-bottom:1px solid var(--line)}
.cpv2 .till-bar .dots{display:flex;gap:6px}
.cpv2 .till-bar .dots i{width:10px;height:10px;border-radius:50%;background:#DFE6EB}
.cpv2 .till-bar .where{font-weight:600;color:var(--ink)}
.cpv2 .till-bar .who{color:var(--muted)}
.cpv2 .chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.cpv2 .chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.cpv2 .chip.on{background:var(--ok-soft);color:var(--ok-ink)}
.cpv2 .chip.off{background:var(--warn-soft);color:var(--warn-ink)}
.cpv2 .chip.sync{background:#E6F4FB;color:var(--deep)}
.cpv2 .chip.sync::before{animation:cp-blink 1s infinite}
@keyframes cp-blink{50%{opacity:.25}}
.cpv2 .till-bar .chip{margin-left:auto}
.cpv2 .till-body{display:grid;grid-template-columns:1.55fr 1fr;min-height:360px}
.cpv2 .till-left{padding:16px;display:grid;gap:12px;align-content:start;border-right:1px solid var(--line)}
.cpv2 .search{height:38px;border-radius:10px;border:1.5px solid #CFD8DF;background:#fff;display:flex;align-items:center;padding:0 12px;color:var(--muted)}
.cpv2 .cats{display:flex;gap:8px;flex-wrap:wrap}
.cpv2 .cats span{padding:5px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:12px;color:var(--body)}
.cpv2 .cats span.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cpv2 .prods{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cpv2 .prod{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:4px}
.cpv2 .prod i{display:block;height:44px;border-radius:8px;background:linear-gradient(135deg,#E6F4FB,#d6ebf6)}
.cpv2 .prod:nth-child(3n+2) i{background:linear-gradient(135deg,#FFF2DC,#fbe6c2)}
.cpv2 .prod:nth-child(3n) i{background:linear-gradient(135deg,#E3F4EC,#cdeadc)}
.cpv2 .prod b{font-size:12px;font-weight:600;line-height:1.25;color:var(--ink)}
.cpv2 .prod span{font:600 12px/1 var(--f-mono);color:var(--deep)}
.cpv2 .till-right{padding:16px;display:grid;gap:10px;align-content:start;background:#fff}
.cpv2 .cart-h{display:flex;justify-content:space-between;font-weight:700;color:var(--ink)}
.cpv2 .line{display:flex;justify-content:space-between;gap:10px;color:var(--body)}
.cpv2 .line span:last-child, .cpv2 .tot span:last-child{font-family:var(--f-mono);font-weight:600;color:var(--ink)}
.cpv2 .tot{display:flex;justify-content:space-between;border-top:1px dashed #B9C6CF;padding-top:10px;font-weight:700;color:var(--ink);font-size:15px}
.cpv2 .pay{height:44px;border-radius:12px;background:var(--blue);color:#001B2B;display:grid;place-items:center;font-weight:700}
.cpv2 .hold{height:36px;border-radius:10px;border:1.5px solid #CFD8DF;display:grid;place-items:center;font-weight:600;color:var(--body)}
.cpv2 .illus{position:absolute;right:0;top:-24px;font-size:12px;color:var(--t-lo)}
.cpv2 .phone{position:absolute;right:-3%;top:34%;width:clamp(140px,15vw,190px);border-radius:36px;box-shadow:0 40px 80px -20px rgba(0,0,0,.9);transform:translateY(var(--py,40px));transition:transform .08s linear}
.cpv2 .phone .scr{height:100%;border-radius:29px;background:linear-gradient(180deg,#062A40,#00111C);padding:28px 10px 10px;display:grid;align-content:start;gap:8px;overflow:hidden}
.cpv2 .phone .clock{text-align:center;font:700 32px/1 var(--f-display);color:#fff;letter-spacing:-.02em}
.cpv2 .phone .date{text-align:center;font-size:11px;color:var(--t-lo);margin-top:-2px}
.cpv2 .notif{background:rgba(255,255,255,.92);color:var(--ink);border-radius:14px;padding:9px 10px;font-size:11px;line-height:1.35;display:grid;gap:3px;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.cpv2 .notif .t{display:flex;justify-content:space-between;font-weight:700;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.cpv2 .notif b{font-size:12px}
.cpv2 .notif .acts{display:flex;gap:6px;margin-top:3px}
.cpv2 .notif .acts span{flex:1;text-align:center;padding:4px 0;border-radius:8px;font-weight:700;background:var(--blue);color:#001B2B}
.cpv2 .notif .acts span+span{background:#E6EDF2;color:var(--ink)}
@keyframes cp-notifin{from{opacity:0;transform:translateY(-18px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:899px){.cpv2 .hero .phone{display:none}}
@media(max-width:760px){.cpv2 .till-body{grid-template-columns:1fr}
.cpv2 .till-right{display:none}
.cpv2 .prods{grid-template-columns:repeat(3,1fr)}
.cpv2 .illus{position:static;display:block;margin-bottom:8px}}
@media(max-width:520px){.cpv2 .paper{padding:26px 20px 36px}
.cpv2 .rc{font-size:12.5px}
.cpv2 .rc-win{width:calc(100% + 32px);padding:24px 16px 0}
.cpv2 .printer{width:calc(100% + 24px)}
.cpv2 .rc-ctas{flex-direction:column}
.cpv2 .rc-ctas .btn{flex:none;width:100%}
.cpv2 .paper h1{font-size:38px}
.cpv2 .scene{gap:56px}}
.cpv2 .facts{border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.cpv2 .facts .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-block:28px}
.cpv2 .facts div{font-size:15px;color:var(--t-lo)}
.cpv2 .facts b{display:block;font:700 22px/1.2 var(--f-display);color:var(--t-hi);letter-spacing:-.02em;margin-bottom:4px}
@media(max-width:760px){.cpv2 .facts .wrap{grid-template-columns:1fr;gap:16px}}
.cpv2 .story{position:relative;height:340vh}
.cpv2 .story .pin{position:sticky;top:var(--cp-head,0px);height:calc(100svh - var(--cp-head,0px));display:flex;align-items:center}
.cpv2 .story .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center;width:100%}
.cpv2 .story h2{font-size:clamp(36px,5vw,64px);line-height:1;margin:16px 0 28px}
.cpv2 .steps{display:grid;gap:18px}
.cpv2 .step{padding-left:20px;border-left:2px solid var(--line-d);transition:border-color .4s,opacity .4s;opacity:.38}
.cpv2 .step b{display:block;color:var(--t-hi);font:700 20px/1.3 var(--f-display);letter-spacing:-.01em}
.cpv2 .step p{font-size:15px;color:var(--t-mid);margin-top:4px}
.cpv2 .step.on{opacity:1;border-color:var(--blue)}
.cpv2 .mini{border-radius:20px;background:#F7F9FB;color:var(--ink);overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 40px 100px -30px rgba(0,0,0,.8)}
.cpv2 .mini .till-bar .chip{margin-left:auto}
.cpv2 .mini-body{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;min-height:360px}
.cpv2 .counter{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:6px;align-content:start}
.cpv2 .counter .n{font:800 64px/1 var(--f-display);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.cpv2 .counter small{color:var(--muted);font-size:13px}
.cpv2 .syncbar{height:8px;border-radius:99px;background:#E6EDF2;overflow:hidden;margin-top:10px}
.cpv2 .syncbar i{display:block;height:100%;width:var(--sp,0%);background:var(--blue);border-radius:99px;transition:width .2s linear}
.cpv2 .sync-note{font-size:13px;color:var(--muted);min-height:20px}
.cpv2 .receipts{position:relative;display:grid;gap:10px;align-content:start}
.cpv2 .rcpt{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:500 12px/1.5 var(--f-mono);color:var(--body);display:flex;justify-content:space-between;align-items:center;gap:8px;opacity:0;transform:translateY(-10px);transition:opacity .35s var(--ease),transform .35s var(--ease),background-color .4s}
.cpv2 .rcpt.show{opacity:1;transform:none}
.cpv2 .rcpt em{font-style:normal;font-family:var(--f-body);font-weight:700;font-size:11px;padding:2px 8px;border-radius:99px;background:var(--warn-soft);color:var(--warn-ink)}
.cpv2 .rcpt.done em{background:var(--ok-soft);color:var(--ok-ink)}
.cpv2 .wifi{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 18px;border-radius:12px;font-weight:600;font-size:13px;transition:background-color .4s,color .4s}
.cpv2 .wifi.on{background:var(--ok-soft);color:var(--ok-ink)}
.cpv2 .wifi.off{background:var(--warn-soft);color:var(--warn-ink)}
.cpv2 .wifi.sync{background:#E6F4FB;color:var(--deep)}
.cpv2 .wifi svg{width:18px;height:18px;flex:none}
@media(max-width:900px){.cpv2 .story{height:300vh}
.cpv2 .story .wrap{grid-template-columns:1fr;gap:24px}
.cpv2 .story h2{margin:10px 0 14px}
.cpv2 .steps{gap:10px}
.cpv2 .step p{display:none}
.cpv2 .step.on p{display:block}
.cpv2 .mini-body{min-height:0;grid-template-columns:1fr 1fr}
.cpv2 .counter .n{font-size:44px}}
.cpv2 .statement{padding-block:160px}
.cpv2 .statement p{font:800 clamp(40px,7vw,96px)/1.02 var(--f-display);letter-spacing:-.045em;color:var(--t-hi)}
.cpv2 .statement .sw{color:rgba(255,255,255,.14);transition:color .3s}
.cpv2 .statement .sw.lit{color:var(--t-hi)}
.cpv2 .statement .sw.lit.b{color:var(--blue)}
.cpv2 .light{background:var(--paper);color:var(--body);border-radius:40px 40px 0 0;padding-block:128px}
.cpv2 .light h2{color:var(--ink);font-size:clamp(36px,5.2vw,68px);line-height:1}
.cpv2 .light .eyebrow{color:var(--deep)}
.cpv2 .light .lead{max-width:620px;font-size:20px;color:var(--body);margin-top:20px}
.cpv2 .bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:64px}
.cpv2 .tile{background:#fff;border:1px solid var(--line);border-radius:28px;padding:32px;display:grid;gap:12px;align-content:start;overflow:hidden;position:relative}
.cpv2 .tile h3{color:var(--ink);font-size:26px;line-height:1.1;letter-spacing:-.02em}
.cpv2 .tile p{font-size:15px;color:var(--body);max-width:420px}
.cpv2 .t-a{grid-column:1/5;grid-row:1/3}
.cpv2 .t-b{grid-column:5/7}
.cpv2 .t-c{grid-column:5/7}
.cpv2 .t-d{grid-column:1/4}
.cpv2 .t-e{grid-column:4/7}
@media(max-width:600px){.cpv2 .appr{grid-template-columns:1fr}
.cpv2 .rcpt{flex-wrap:wrap;font-size:11px}}
@media(max-width:900px){.cpv2 .bento{grid-template-columns:1fr}
.cpv2 .t-a, .cpv2 .t-b, .cpv2 .t-c, .cpv2 .t-d, .cpv2 .t-e{grid-column:auto;grid-row:auto}}
.cpv2 .appr{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.cpv2 .appr .cartbox{background:#F7F9FB;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:8px;font-size:13px}
.cpv2 .appr .rm{position:relative;border-radius:8px;padding:6px 8px;margin:0 -8px}
.cpv2 .play .appr .rm{animation:cp-rm 7s var(--ease) infinite}
@keyframes cp-rm{0%,12%{background:transparent;opacity:1;text-decoration:none}16%,70%{background:#FCEAE8;opacity:1;text-decoration:none}78%,100%{background:transparent;opacity:.35;text-decoration:line-through}}
.cpv2 .modal{background:var(--ink);color:#fff;border-radius:18px;padding:18px;display:grid;gap:12px;justify-items:center;text-align:center;box-shadow:0 30px 60px -20px rgba(0,17,28,.5)}
.cpv2 .play .modal{animation:cp-modal 7s var(--ease) infinite}
@keyframes cp-modal{0%,14%{opacity:0;transform:translateY(12px) scale(.96)}20%,86%{opacity:1;transform:none}94%,100%{opacity:0;transform:translateY(-8px)}}
.cpv2 .modal small{color:var(--t-lo);font-size:12px}
.cpv2 .modal b{font:700 16px/1.2 var(--f-display)}
.cpv2 .pin-dots{display:flex;gap:10px}
.cpv2 .pin-dots i{width:14px;height:14px;border-radius:50%;border:2px solid #5d7a8f}
.cpv2 .play .pin-dots i{animation:cp-dot 7s infinite}
.cpv2 .play .pin-dots i:nth-child(2){animation-name:cp-dot2}
.cpv2 .play .pin-dots i:nth-child(3){animation-name:cp-dot3}
.cpv2 .play .pin-dots i:nth-child(4){animation-name:cp-dot4}
@keyframes cp-dot{0%,26%{background:transparent;border-color:#5d7a8f}30%,100%{background:var(--blue);border-color:var(--blue)}}
@keyframes cp-dot2{0%,33%{background:transparent;border-color:#5d7a8f}37%,100%{background:var(--blue);border-color:var(--blue)}}
@keyframes cp-dot3{0%,40%{background:transparent;border-color:#5d7a8f}44%,100%{background:var(--blue);border-color:var(--blue)}}
@keyframes cp-dot4{0%,47%{background:transparent;border-color:#5d7a8f}51%,100%{background:var(--blue);border-color:var(--blue)}}
.cpv2 .approved{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;background:rgba(47,191,113,.18);color:var(--ok);font-weight:700;font-size:13px;opacity:0}
.cpv2 .play .approved{animation:cp-apv 7s infinite}
@keyframes cp-apv{0%,56%{opacity:0;transform:scale(.9)}60%,86%{opacity:1;transform:none}94%,100%{opacity:0}}
.cpv2 .audit{display:grid;gap:8px;margin-top:6px;font-size:13px}
.cpv2 .audit div{display:flex;gap:10px;align-items:baseline;opacity:.25;transition:opacity .4s}
.cpv2 .audit time{font:600 12px/1 var(--f-mono);color:var(--deep);flex:none}
.cpv2 .play .audit div{animation:cp-aud 7s infinite}
.cpv2 .play .audit div:nth-child(2){animation-name:cp-aud2}
.cpv2 .play .audit div:nth-child(3){animation-name:cp-aud3}
.cpv2 .play .audit div:nth-child(4){animation-name:cp-aud4}
@keyframes cp-aud{0%,10%{opacity:.25}14%,100%{opacity:1}}
@keyframes cp-aud2{0%,22%{opacity:.25}26%,100%{opacity:1}}
@keyframes cp-aud3{0%,56%{opacity:.25}60%,100%{opacity:1}}
@keyframes cp-aud4{0%,80%{opacity:.25}84%,100%{opacity:1}}
.cpv2 .lockrow{display:flex;align-items:center;gap:14px;margin-top:8px}
.cpv2 .lockrow .clk{font:800 40px/1 var(--f-display);color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cpv2 .lock{width:44px;height:44px;border-radius:14px;background:var(--ink);display:grid;place-items:center}
.cpv2 .lock svg{width:22px;height:22px;stroke:#fff}
.cpv2 .price-flow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.cpv2 .price-flow span{padding:7px 12px;border-radius:99px;font-size:13px;font-weight:600;background:#F2F5F8;color:var(--body)}
.cpv2 .price-flow span.k{background:var(--ink);color:#fff;font-family:var(--f-mono)}
.cpv2 .price-flow span.ok{background:var(--ok-soft);color:var(--ok-ink)}
.cpv2 .reload{display:flex;gap:12px;align-items:center;margin-top:8px;font-size:13px}
.cpv2 .reload svg{width:28px;height:28px;stroke:var(--deep)}
.cpv2 .play .reload svg{animation:cp-spin 2.4s var(--ease) infinite}
@keyframes cp-spin{0%,60%{transform:none}100%{transform:rotate(360deg)}}
.cpv2 .mgr{padding-block:140px;background:linear-gradient(180deg,var(--paper) 0,var(--paper) 1px,var(--night) 1px)}
.cpv2 .mgr .wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.cpv2 .mgr h2{font-size:clamp(36px,5.2vw,68px);line-height:1}
.cpv2 .mgr .lead{font-size:20px;margin-top:20px;max-width:520px}
.cpv2 .caps{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;margin-top:36px}
.cpv2 .caps div{border-top:1px solid var(--line-d);padding-top:14px;font-size:15px}
.cpv2 .caps b{display:block;color:var(--t-hi);font-weight:700;margin-bottom:2px}
.cpv2 .caps .wa-cap{grid-column:1/-1}
.cpv2 .notif.wa{background:#DCF5E3;border-left:3px solid #1FA855}
.cpv2 .notif.wa .t span:first-child{color:#0D7350}
.cpv2 .notif.wa .t span:first-child::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#1FA855;margin-right:5px;vertical-align:1px}
.cpv2 .bigphone{position:relative;justify-self:center;width:min(340px,80vw);aspect-ratio:9/19;border-radius:52px;background:#0b1620;padding:12px;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 60px 120px -30px rgba(37,169,225,.35)}
.cpv2 .bigphone .scr{height:100%;border-radius:41px;background:radial-gradient(120% 60% at 50% 0%,#0A3550,#00111C 70%);padding:46px 14px 14px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.cpv2 .bigphone .clock{text-align:center;font:700 56px/1 var(--f-display);color:#fff;letter-spacing:-.03em}
.cpv2 .bigphone .date{text-align:center;color:var(--t-lo);font-size:13px;margin:-4px 0 10px}
.cpv2 .feed{display:flex;flex-direction:column;gap:10px}
.cpv2 .feed .notif{font-size:12.5px;padding:12px 13px;border-radius:18px}
.cpv2 .feed .notif b{font-size:13.5px}
.cpv2 .feed .notif.new{animation:cp-feedin .7s var(--ease) both}
@keyframes cp-feedin{from{opacity:0;transform:translateY(-24px) scale(.95)}to{opacity:1;transform:none}}
@media(max-width:900px){.cpv2 .mgr .wrap{grid-template-columns:1fr;gap:56px}
.cpv2 .caps{grid-template-columns:1fr}}
.cpv2 .who{padding-block:40px 140px}
.cpv2 .who h2{font-size:clamp(36px,5.2vw,68px);line-height:1;max-width:820px}
.cpv2 .rail{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.cpv2 .eats{margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;border-radius:28px;text-decoration:none;
  background:linear-gradient(100deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--line-d);transition:border-color .3s,transform .3s var(--ease)}
.cpv2 .eats:hover{border-color:rgba(124,211,245,.4);transform:translateY(-3px)}
.cpv2 .eats-copy{display:grid;gap:6px;min-width:0}
.cpv2 .eats-k{font:700 24px/1.1 var(--f-display);letter-spacing:-.02em;color:var(--t-hi)}
.cpv2 .eats-t{font-size:15px;color:var(--t-mid)}
.cpv2 .eats-t b{color:var(--t-hi);font-weight:600}
.cpv2 .eats-go{flex:none;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 20px;border-radius:999px;border:1.5px solid rgba(255,255,255,.28);color:var(--t-hi);font-weight:600;font-size:15px;transition:border-color .2s,background-color .2s}
.cpv2 .eats:hover .eats-go{border-color:var(--ice);background:rgba(124,211,245,.08)}
.cpv2 .eats:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
@media(max-width:700px){.cpv2 .eats{flex-direction:column;align-items:flex-start;padding:24px}}
.cpv2 .card{border-radius:28px;padding:32px;background:var(--panel);border:1px solid var(--line-d);display:grid;gap:12px;align-content:start;text-decoration:none;transition:transform .3s var(--ease),border-color .3s,background-color .3s;min-height:320px}
.cpv2 .card:hover{transform:translateY(-6px);border-color:rgba(124,211,245,.4);background:var(--panel-2)}
.cpv2 .card h3{font-size:28px;line-height:1.1}
.cpv2 .card p{font-size:15px}
.cpv2 .card .vis{margin-top:auto;border-radius:16px;background:rgba(0,0,0,.25);padding:14px;font-size:13px;display:grid;gap:8px}
.cpv2 .card .vis div{display:flex;justify-content:space-between;gap:10px}
.cpv2 .card .vis span:last-child{font-family:var(--f-mono);color:var(--t-hi)}
.cpv2 .tag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(245,177,76,.18);color:var(--warn)}
@media(max-width:900px){.cpv2 .rail{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:85%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.cpv2 .card{scroll-snap-align:start}}
.cpv2 .faq{padding-block:40px 120px}
.cpv2 .faq .wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}
.cpv2 .faq h2{font-size:clamp(32px,4vw,52px);line-height:1.02}
.cpv2 .faq details{border-bottom:1px solid var(--line-d)}
.cpv2 .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:22px 0;color:var(--t-hi);font:600 19px/1.35 var(--f-body)}
.cpv2 .faq summary::-webkit-details-marker{display:none}
.cpv2 .faq summary::after{content:"+";font:400 26px/1 var(--f-body);color:var(--ice);transition:transform .3s var(--ease)}
.cpv2 .faq details[open] summary::after{transform:rotate(45deg)}
.cpv2 .faq summary:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:6px}
.cpv2 .faq details p{padding-bottom:22px;max-width:620px}
@media(max-width:900px){.cpv2 .faq .wrap{grid-template-columns:1fr;gap:24px}}
.cpv2 .final{position:relative;padding-block:160px;text-align:center;overflow:hidden;isolation:isolate;border-top:1px solid var(--line-d)}
.cpv2 .final::before{content:"";position:absolute;left:50%;top:55%;width:900px;height:900px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(37,169,225,.35),transparent);z-index:-1}
.cpv2 .final h2{font-size:clamp(44px,8vw,112px);line-height:.95;letter-spacing:-.045em}
.cpv2 .final p{margin:24px auto 36px;max-width:520px;font-size:19px}
.cpv2 .final .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cpv2 footer{border-top:1px solid var(--line-d);padding-block:40px;font-size:14px;color:var(--t-lo)}
.cpv2 footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cpv2 .till-pic{display:block}
.cpv2 .till-img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 50px 120px -30px rgba(0,0,0,.85)}
.cpv2 .phone img{display:block;width:100%;height:auto;border-radius:36px}
.cpv2 .mini-frames{position:relative;aspect-ratio:1174/924;border-radius:20px;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 40px 100px -30px rgba(0,0,0,.8)}
.cpv2 .mini-frames img{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .3s var(--ease)}
.cpv2 .mini-frames img.on{opacity:1}
@media(max-width:899px){.cpv2 .mini-frames{aspect-ratio:1002/1137}}
.cpv2 video.loop.only-m{display:none}
@media(max-width:600px){.cpv2 video.loop.only-d{display:none}
.cpv2 video.loop.only-m{display:block}
.cpv2 .t-d .tile-img{width:268px}}
.cpv2 video.loop{display:block;width:100%;height:auto;background:transparent}
.cpv2 .tile video.loop{margin-top:12px}
.cpv2 .tile-img{display:block;max-width:100%;height:auto;margin-top:8px}
.cpv2 .t-c .tile-img{width:308px}
.cpv2 .t-d .tile-img{width:504px}
.cpv2 .bigphone-v{position:relative;justify-self:center;width:min(340px,80vw);border-radius:52px;overflow:hidden;line-height:0;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 60px 120px -30px rgba(37,169,225,.35)}
.cpv2 .vis-img{display:block;margin-top:auto;width:100%;height:auto;border-radius:16px}
.cpv2-js .cpv2 .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.cpv2-js .cpv2 .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.cpv2 *, .cpv2 *::before, .cpv2 *::after{animation:none!important;transition:none!important}
.cpv2-js .cpv2 .paper, .cpv2 .paper{--pr:1!important}
.cpv2-js .cpv2 .rv{opacity:1;transform:none}
.cpv2 .story{height:auto}
.cpv2 .story .pin{position:relative;height:auto;padding-block:96px}
.cpv2 .rcpt{opacity:1;transform:none}
.cpv2 .statement .sw{color:var(--t-hi)}
.cpv2 .approved{opacity:1}
.cpv2 .pin-dots i{background:var(--blue);border-color:var(--blue)}
.cpv2 .modal{opacity:1}}
/* Elementor wrappers */
.e-con.cpv2{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;padding:0;gap:0}
.e-con.cpv2>.elementor-widget-html,.e-con.cpv2>.e-con-inner>.elementor-widget-html{width:100%;margin:0}
.cpv2 .elementor-widget-container{margin:0;padding:0}
.e-con.cpv2 a:hover{text-decoration:none}
.cpv2 h1,.cpv2 h2,.cpv2 h3{font-weight:700}
.cpv2 summary{font-weight:600}

/* ===== CloudyPOS inner pages (pricing, demo, contact) — builds on the homepage .cpv2 tokens ===== */
.cpv2 .pg-hero{position:relative;overflow:hidden;isolation:isolate;padding-block:96px 104px}
.cpv2 .pg-hero .aurora{inset:-30% -10% 10%;opacity:.6}
.cpv2 .pg-split-in{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.cpv2 .pg-copy{display:grid;gap:22px;justify-items:start;align-content:start;min-width:0}
.cpv2 .pg-copy h1,.cpv2 .pg-head h1{font-size:clamp(44px,6.2vw,84px);line-height:.98;font-weight:800;letter-spacing:-.045em}
.cpv2 .pg-lead{font-size:clamp(18px,1.8vw,21px);line-height:1.55;max-width:560px}
.cpv2 .pg-ctas{display:flex;gap:12px;flex-wrap:wrap}
.cpv2 .pg-ticks{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px;font-size:15px}
.cpv2 .pg-ticks li{display:flex;gap:10px;align-items:center}
.cpv2 .pg-ticks li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:rgba(47,191,113,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.5l2.6 2.5L13 6.5' fill='none' stroke='%232FBF71' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
@media(max-width:960px){.cpv2 .pg-split-in{grid-template-columns:1fr;gap:48px}.cpv2 .pg-hero{padding-block:64px 80px}}

/* plan receipt (pricing) */
.cpv2 .paper.plan{--pr:1;width:min(440px,100%);justify-self:center;animation:cp-planprint 1.5s steps(30) .25s both}
.cpv2-js .cpv2 .paper.plan{--pr:1}
@keyframes cp-planprint{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
.cpv2 .plan .rc-c{font-size:13px;letter-spacing:.2em;color:#0B74A6;font-weight:600}
.cpv2 .plan-price{display:grid;justify-items:center;gap:4px;padding:6px 0}
.cpv2 .plan-price .amt{font:800 64px/1 var(--f-display);letter-spacing:-.04em;color:#0B1620}
.cpv2 .plan-price .per{font:500 13px/1.4 "IBM Plex Mono",var(--f-mono);color:#4A525C}
.cpv2 .plan .rc-items.lim li span:last-child{color:#111418}
.cpv2 .plan-k{margin:0 0 6px;font:600 11.5px/1 "IBM Plex Mono",var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#4A525C}
.cpv2 .plan .rc-ctas{margin-top:18px}
.cpv2 .plan .rc-foot{margin-top:16px}

/* band */
.cpv2 .pg-band{padding-block:24px 96px}
.cpv2 .band-in{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:40px;border-radius:28px;background:linear-gradient(100deg,var(--panel),var(--panel-2));border:1px solid var(--line-d)}
.cpv2 .band-in h2{font-size:clamp(26px,3vw,36px);line-height:1.1}
.cpv2 .band-in p{margin-top:8px;max-width:560px;font-size:16px}
.cpv2 .band-ctas{display:flex;gap:12px;flex-wrap:wrap;flex:none}
@media(max-width:800px){.cpv2 .band-in{flex-direction:column;align-items:flex-start;padding:28px}}
.cpv2 .faq.pg-faq{padding-block:24px 112px}

/* steps (demo) */
.cpv2 .pg-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:18px;counter-reset:s}
.cpv2 .pg-steps li{display:grid;grid-template-columns:36px 1fr;gap:4px 14px;counter-increment:s}
.cpv2 .pg-steps li::before{content:counter(s);grid-row:span 2;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(124,211,245,.12);color:var(--ice);font:700 15px/1 var(--f-display)}
.cpv2 .pg-steps b{color:var(--t-hi);font-weight:600}
.cpv2 .pg-steps span{font-size:15px}
.cpv2 .pg-alt{font-size:15px;color:var(--t-lo)}
.cpv2 .pg-alt a{color:var(--ice);font-weight:600}

/* contact channels */
.cpv2 .pg-head{display:grid;gap:22px;justify-items:start;max-width:820px}
.cpv2 .chan{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.cpv2 .chan a{text-decoration:none;display:grid;gap:8px;align-content:start;padding:28px;border-radius:24px;background:var(--panel);border:1px solid var(--line-d);transition:transform .3s var(--ease),border-color .3s}
.cpv2 .chan a:hover{transform:translateY(-4px);border-color:rgba(124,211,245,.4)}
.cpv2 .chan .k{font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}
.cpv2 .chan b{font:700 22px/1.2 var(--f-display);letter-spacing:-.02em;color:var(--t-hi);overflow-wrap:anywhere}
.cpv2 .chan span:last-child{font-size:15px}
.cpv2 .pg-office{margin-top:28px;font-size:14px;color:var(--t-lo)}
@media(max-width:860px){.cpv2 .chan{grid-template-columns:1fr}}

/* Elementor split sections that hold a native form */
.e-con.cpv2.pg-split-e{position:relative;overflow:hidden;isolation:isolate;--padding-top:96px;--padding-bottom:104px;padding-block:96px 104px}
.e-con.cpv2.pg-split-e>.e-con-inner{display:grid!important;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start;max-width:1200px;margin:0 auto;
  padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.e-con.cpv2.pg-split-e.pg-tight{--padding-top:24px;padding-top:24px}
@media(max-width:960px){.e-con.cpv2.pg-split-e>.e-con-inner{grid-template-columns:1fr;gap:40px}.e-con.cpv2.pg-split-e{padding-block:64px 80px}}
.cpv2 .form-card{background:var(--panel);border:1px solid var(--line-d);border-radius:28px;padding:32px;box-shadow:0 40px 100px -40px rgba(0,0,0,.8);min-width:0}
.e-con.cpv2.form-card{--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;padding:32px;gap:20px}
@media(max-width:600px){.cpv2 .form-card,.e-con.cpv2.form-card{padding:22px}}
.cpv2 .form-card .fc-h{font:700 24px/1.15 var(--f-display);letter-spacing:-.02em;color:var(--t-hi)}
.cpv2 .form-card .fc-p{font-size:15px;color:var(--t-lo);margin-top:6px}

/* Elementor Pro form, styled */
.cpv2 .cp-form .elementor-field-group{margin-bottom:0}
.cpv2 .cp-form .elementor-field-label{color:var(--t-mid)!important;font:600 14px/1.3 var(--f-body)!important;margin-bottom:8px;padding:0}
.cpv2 .cp-form .elementor-mark-required .elementor-field-label::after{color:var(--ice)}
.cpv2 .cp-form .elementor-field-textual,.cpv2 .cp-form select.elementor-field{width:100%;background:rgba(255,255,255,.04)!important;border:1.5px solid rgba(255,255,255,.2)!important;border-radius:12px!important;
  color:var(--t-hi)!important;font:400 16px/1.4 var(--f-body)!important;min-height:50px;padding:12px 14px!important;box-shadow:none!important;transition:border-color .15s,background-color .15s}
.cpv2 .cp-form textarea.elementor-field-textual{min-height:120px;resize:vertical}
.cpv2 .cp-form .elementor-field-textual::placeholder{color:var(--t-lo);opacity:1}
.cpv2 .cp-form .elementor-field-textual:focus,.cpv2 .cp-form select.elementor-field:focus{outline:2px solid var(--ice);outline-offset:1px;border-color:var(--ice)!important;background:rgba(255,255,255,.07)!important}
.cpv2 .cp-form select{color-scheme:dark}
.cpv2 .cp-form select option,.cpv2 .cp-form select optgroup{color:#fff!important;background-color:#062A40!important}
.cpv2 .cp-form select option:checked{background-color:#0B74A6!important;color:#fff!important}
.cpv2 .cp-form .elementor-select-wrapper::before{color:var(--t-mid)}
.cpv2 .cp-form .elementor-button{width:100%;height:54px;border:0!important;border-radius:999px!important;background:var(--blue)!important;color:#001B2B!important;
  font:600 16px/1 var(--f-body)!important;box-shadow:0 10px 30px -10px rgba(37,169,225,.7);transition:background-color .2s,transform .2s var(--ease);cursor:pointer}
.cpv2 .cp-form .elementor-button:hover{background:#5CC2EC!important;transform:translateY(-1px)}
.cpv2 .cp-form .elementor-button:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .cp-form .elementor-message{margin-top:14px;font-size:15px;color:var(--t-hi)}
.cpv2 .cp-form .elementor-message.elementor-message-success{color:#5FD3A1}
.cpv2 .cp-form .elementor-message.elementor-message-danger,.cpv2 .cp-form .elementor-error .elementor-field-label{color:#FF8F86!important}
.cpv2 .cp-form .elementor-field-group .elementor-message-danger{font-size:13px}
.cpv2 .cp-form .fc-note{font-size:13px;color:var(--t-lo)}

/* ===== CloudyPOS feature pages (batch 2) — builds on .cpv2 tokens and pages.css ===== */
.cpv2 .ft-hero .pg-split-in{grid-template-columns:1fr 1.05fr}
.cpv2 .ft-hero h1{font-size:clamp(42px,5.6vw,76px)}
.cpv2 .ft-shot{position:relative;margin:0;min-width:0;justify-self:stretch}
.cpv2 .ft-shot img,.cpv2 .ft-shot video{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 50px 100px -40px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06)}
.cpv2 .ft-shot.bare img,.cpv2 .ft-shot.bare video{box-shadow:none;border-radius:0}
.cpv2 .ft-shot figcaption{margin-top:12px;font-size:13px;color:var(--t-lo);text-align:center}
.cpv2 .ft-shot .glow{position:absolute;inset:10% 5%;z-index:-1;background:radial-gradient(closest-side,rgba(37,169,225,.35),transparent);filter:blur(30px)}
.cpv2 .ft-shot .only-m{display:none}
@media(max-width:700px){.cpv2 .ft-shot .only-d{display:none}.cpv2 .ft-shot .only-m{display:block}}

/* section heads */
.cpv2 .ft-sec{padding-block:112px}
.cpv2 .ft-sec.tight{padding-block:24px 112px}
.cpv2 .ft-head{display:grid;gap:18px;max-width:760px}
.cpv2 .ft-head.c{margin-inline:auto;text-align:center;justify-items:center}
.cpv2 .ft-head h2{font-size:clamp(34px,4.6vw,60px);line-height:1.02}
.cpv2 .ft-head p{font-size:clamp(17px,1.6vw,20px);max-width:640px}

/* numbered steps */
.cpv2 .ft-steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:20px;counter-reset:ft}
.cpv2 .ft-steps li{position:relative;counter-increment:ft;padding:28px 24px 26px;border-radius:24px;background:var(--panel);border:1px solid var(--line-d);display:grid;gap:8px;align-content:start}
.cpv2 .ft-steps li::before{content:counter(ft,decimal-leading-zero);font:600 13px/1 "IBM Plex Mono",var(--f-mono);letter-spacing:.08em;color:var(--ice)}
.cpv2 .ft-steps li:not(:last-child)::after{content:"";position:absolute;top:34px;right:-20px;width:20px;height:1.5px;background:linear-gradient(90deg,rgba(124,211,245,.5),transparent)}
.cpv2 .ft-steps b{font:700 21px/1.2 var(--f-display);letter-spacing:-.02em;color:var(--t-hi)}
.cpv2 .ft-steps span{font-size:15px;line-height:1.55}
@media(max-width:960px){.cpv2 .ft-steps{grid-template-columns:1fr 1fr}.cpv2 .ft-steps li::after{display:none}}
@media(max-width:560px){.cpv2 .ft-steps{grid-template-columns:1fr}}

/* alternating story rows */
.cpv2 .ft-rows{display:grid;gap:120px;margin-top:80px}
.cpv2 .ft-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.cpv2 .ft-row.flip>.ft-copy{order:2}
.cpv2 .ft-copy{display:grid;gap:16px;align-content:start;min-width:0}
.cpv2 .ft-copy .k{font:600 12px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}
.cpv2 .ft-copy h3{font-size:clamp(28px,3.2vw,42px);line-height:1.06}
.cpv2 .ft-copy p{font-size:17px}
.cpv2 .ft-copy ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px;font-size:15.5px}
.cpv2 .ft-copy li{display:flex;gap:10px;align-items:flex-start}
.cpv2 .ft-copy li::before{content:"";flex:none;margin-top:5px;width:16px;height:16px;border-radius:50%;background:rgba(124,211,245,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.4l2.2 2.2L11.5 5.8' fill='none' stroke='%237CD3F5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
@media(max-width:900px){.cpv2 .ft-rows{gap:80px;margin-top:56px}.cpv2 .ft-row{grid-template-columns:1fr;gap:32px}.cpv2 .ft-row.flip>.ft-copy{order:0}}

/* light band */
.cpv2 .ft-light{background:var(--paper);color:var(--body);border-radius:40px;padding-block:112px;margin-inline:max(0px,calc((100vw - 1440px)/2))}
.cpv2 .ft-light h2,.cpv2 .ft-light h3{color:var(--ink)}
.cpv2 .ft-light .eyebrow,.cpv2 .ft-light .ft-copy .k{color:var(--deep)}
.cpv2 .ft-light .ft-copy li::before{background-color:var(--ok-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.4l2.2 2.2L11.5 5.8' fill='none' stroke='%230D7350' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.cpv2 .ft-light .ft-shot img,.cpv2 .ft-light .ft-shot video{box-shadow:0 40px 80px -40px rgba(11,22,32,.45),0 0 0 1px #DFE6EB}
.cpv2 .ft-light .ft-shot figcaption{color:var(--muted)}
@media(max-width:700px){.cpv2 .ft-light{border-radius:28px;padding-block:80px}}

/* feature grid */
.cpv2 .ft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.cpv2 .ft-grid.two{grid-template-columns:repeat(2,1fr)}
.cpv2 .ft-card{border-radius:24px;padding:28px;background:var(--panel);border:1px solid var(--line-d);display:grid;gap:10px;align-content:start;min-width:0}
.cpv2 .ft-card .ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(124,211,245,.1);margin-bottom:6px}
.cpv2 .ft-card .ic svg{width:22px;height:22px;fill:none;stroke:var(--ice);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cpv2 .ft-card h3{font-size:22px;line-height:1.2;letter-spacing:-.02em}
.cpv2 .ft-card p{font-size:15px;line-height:1.55}
.cpv2 .ft-light .ft-card{background:#fff;border-color:var(--line);box-shadow:0 20px 40px -32px rgba(11,22,32,.35)}
.cpv2 .ft-light .ft-card .ic{background:#E6F4FB}
.cpv2 .ft-light .ft-card .ic svg{stroke:var(--deep)}
.cpv2 .ft-light .ft-card p{color:var(--body)}
@media(max-width:960px){.cpv2 .ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cpv2 .ft-grid,.cpv2 .ft-grid.two{grid-template-columns:1fr}}

/* honest notes: two lists side by side */
.cpv2 .ft-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
.cpv2 .ft-notes>div{border-radius:24px;padding:28px;border:1px solid var(--line-d);background:linear-gradient(160deg,var(--panel),var(--night-2));display:grid;gap:14px;align-content:start}
.cpv2 .ft-notes h3{font-size:20px;display:flex;gap:10px;align-items:center}
.cpv2 .ft-notes h3 i{width:10px;height:10px;border-radius:50%;background:var(--ok);flex:none}
.cpv2 .ft-notes .warn h3 i{background:var(--warn)}
.cpv2 .ft-notes ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.cpv2 .ft-notes li{padding-left:18px;position:relative}
.cpv2 .ft-notes li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--t-lo)}
@media(max-width:760px){.cpv2 .ft-notes{grid-template-columns:1fr}}

/* spec table (hardware) */
.cpv2 .ft-spec{margin-top:48px;border-radius:24px;overflow:hidden;border:1px solid var(--line-d)}
.cpv2 .ft-spec table{width:100%;border-collapse:collapse;font-size:15px}
.cpv2 .ft-spec th,.cpv2 .ft-spec td{text-align:left;padding:16px 20px;border-bottom:1px solid var(--line-d);vertical-align:top}
.cpv2 .ft-spec th{font:600 12px/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ice);background:var(--panel)}
.cpv2 .ft-spec td:first-child{color:var(--t-hi);font-weight:600;width:28%}
.cpv2 .ft-spec tr:last-child td{border-bottom:0}
.cpv2 .ft-spec-scroll{overflow-x:auto}
@media(max-width:640px){.cpv2 .ft-spec th,.cpv2 .ft-spec td{padding:12px 14px}.cpv2 .ft-spec td:first-child{width:auto}}

/* related features */
.cpv2 .ft-related{padding-block:24px 96px}
.cpv2 .ft-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.cpv2 .ft-rel a{text-decoration:none;display:grid;gap:6px;padding:22px 24px;border-radius:20px;background:var(--panel);border:1px solid var(--line-d);transition:transform .3s var(--ease),border-color .3s}
.cpv2 .ft-rel a:hover{transform:translateY(-4px);border-color:rgba(124,211,245,.4)}
.cpv2 .ft-rel b{font:700 19px/1.2 var(--f-display);color:var(--t-hi);letter-spacing:-.02em}
.cpv2 .ft-rel b::after{content:" →";color:var(--ice)}
.cpv2 .ft-rel span{font-size:14.5px}
.cpv2 .ft-rel a:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
@media(max-width:860px){.cpv2 .ft-rel{grid-template-columns:1fr}}

/* overview hub cards */
.cpv2 .ft-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.cpv2 .ft-hub a{text-decoration:none;display:grid;grid-template-rows:auto 1fr;border-radius:26px;overflow:hidden;background:var(--panel);border:1px solid var(--line-d);transition:transform .3s var(--ease),border-color .3s}
.cpv2 .ft-hub a:hover{transform:translateY(-6px);border-color:rgba(124,211,245,.4)}
.cpv2 .ft-hub a:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .ft-hub img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--night-2)}
.cpv2 .ft-hub div{padding:22px 24px 26px;display:grid;gap:8px;align-content:start}
.cpv2 .ft-hub b{font:700 22px/1.15 var(--f-display);color:var(--t-hi);letter-spacing:-.02em}
.cpv2 .ft-hub span{font-size:15px}
.cpv2 .ft-hub em{font-style:normal;font-weight:600;color:var(--ice);font-size:14.5px}
@media(max-width:960px){.cpv2 .ft-hub{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cpv2 .ft-hub{grid-template-columns:1fr}}

/* timeline (overview: a day) */
.cpv2 .ft-day{list-style:none;margin:56px 0 0;padding:0;display:grid;gap:0;position:relative}
.cpv2 .ft-day::before{content:"";position:absolute;left:84px;top:8px;bottom:8px;width:1.5px;background:linear-gradient(var(--blue),rgba(37,169,225,.1))}
.cpv2 .ft-day li{display:grid;grid-template-columns:84px 1fr;gap:0 36px;padding-bottom:36px;position:relative}
.cpv2 .ft-day li::after{content:"";position:absolute;left:79px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--night);border:2px solid var(--ice)}
.cpv2 .ft-day time{font:600 15px/1.3 "IBM Plex Mono",var(--f-mono);color:var(--ice);padding-top:2px}
.cpv2 .ft-day b{display:block;font:700 22px/1.2 var(--f-display);letter-spacing:-.02em;color:var(--t-hi)}
.cpv2 .ft-day span{display:block;margin-top:6px;font-size:16px;max-width:620px}
@media(max-width:600px){.cpv2 .ft-day::before{left:62px}.cpv2 .ft-day li{grid-template-columns:62px 1fr;gap:0 26px}.cpv2 .ft-day li::after{left:57px}.cpv2 .ft-day time{font-size:13px}}
.cpv2 .ft-shot.ph img{box-shadow:none;border-radius:0;filter:drop-shadow(0 40px 46px rgba(0,0,0,.55))}
.cpv2 .ft-light .ft-shot.ph img{filter:drop-shadow(0 30px 36px rgba(11,22,32,.28))}
.cpv2 .ft-hero.stack .pg-split-in{grid-template-columns:1fr;gap:56px}
.cpv2 .ft-hero.stack .pg-copy{justify-items:center;text-align:center;max-width:860px;margin-inline:auto}
.cpv2 .ft-hero.stack .pg-lead{margin-inline:auto}
.cpv2 .ft-hero.stack .pg-ctas{justify-content:center}
.cpv2 .ft-hero.stack .pg-ticks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px}
.cpv2 .ft-hero.stack .ft-shot{max-width:1100px;margin-inline:auto}
@media(max-width:960px){.cpv2 .ft-hero .pg-split-in{grid-template-columns:1fr;gap:44px}}
@media(max-width:600px){.cpv2 .ft-shot.ph{max-width:290px!important}}
.cpv2 .ft-shot.ph.wide{max-width:none!important}
@media(max-width:700px){.cpv2 .ft-sec{padding-block:72px}.cpv2 .ft-sec.tight{padding-block:8px 72px}.cpv2 .ft-rows{gap:64px}}

/* ===== CloudyPOS solution pages (batch 3). Each vertical has its own world: retail (night aisle), pharmacy (clinical light), salon (warm). ===== */
.cpv2 .sol{position:relative;overflow:hidden;isolation:isolate}
.cpv2 .sol .wrap{position:relative}
.cpv2 .sol-k{font:600 12.5px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase}
.cpv2 .sol h1{font-size:clamp(44px,6.4vw,92px);line-height:.95;letter-spacing:-.045em}
.cpv2 .sol h2{font-size:clamp(34px,4.8vw,64px);line-height:1;letter-spacing:-.04em}
.cpv2 .sol .lead{font-size:clamp(17px,1.7vw,21px);line-height:1.55;max-width:600px}
.cpv2 .sol .ctas{display:flex;gap:12px;flex-wrap:wrap}
.cpv2 .sol-pad{padding-block:120px}
@media(max-width:700px){.cpv2 .sol-pad{padding-block:80px}}
.cpv2 .mono{font-family:"IBM Plex Mono",var(--f-mono)}
.cpv2 [data-cp-hint]{font:600 13px/1.3 var(--f-body);display:inline-flex;gap:8px;align-items:center}
.cpv2 [data-cp-hint]::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:cp-pulse 1.6s ease-in-out infinite}
@keyframes cp-pulse{50%{opacity:.25;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){.cpv2 [data-cp-hint]::before{animation:none}}

/* ---------------------------------------------------------------- RETAIL (night aisle) */
.cpv2 .sol-retail{background:radial-gradient(1200px 600px at 80% -10%,rgba(37,169,225,.22),transparent 60%),var(--night)}
.cpv2 .rt-hero{padding-block:88px 110px}
.cpv2 .rt-hero .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.cpv2 .rt-copy{display:grid;gap:22px;align-content:start;min-width:0}
.cpv2 .rt-copy .sol-k{color:var(--ice)}
@media(max-width:1000px){.cpv2 .rt-hero .wrap{grid-template-columns:1fr;gap:40px}}

/* the shelf game */
.cpv2 .shelf{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:18px;padding:18px;border-radius:30px;background:linear-gradient(160deg,#0A3550,#031E2E);border:1px solid var(--line-d);box-shadow:0 60px 120px -50px rgba(0,0,0,.9)}
.cpv2 .shelf-l{display:grid;gap:12px;align-content:start;min-width:0}
.cpv2 .shelf-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--t-hi);font:600 14px var(--f-body);padding:4px 4px 0}
.cpv2 .shelf-top [data-cp-hint]{color:var(--ice)}
.cpv2 .shelf-rows{display:grid;gap:0;border-radius:20px;overflow:hidden;background:#05263A}
.cpv2 .shelf-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 14px 0;position:relative}
.cpv2 .shelf-row::after{content:"";grid-column:1/-1;height:12px;margin:0 -14px;background:linear-gradient(#C99A62,#8A5A2B);box-shadow:0 8px 14px -6px rgba(0,0,0,.6)}
.cpv2 .pk{all:unset;box-sizing:border-box;cursor:pointer;display:grid;justify-items:center;align-content:end;gap:6px;padding:8px 4px 10px;border-radius:14px;text-align:center;position:relative;transition:transform .15s var(--ease),background-color .2s}
.cpv2 .pk:hover{background:rgba(255,255,255,.05)}
.cpv2 .pk:active{transform:scale(.95)}
.cpv2 .pk:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.cpv2 .pk[aria-disabled="true"]{cursor:not-allowed;opacity:.45}
.cpv2 .pk b{font:600 13px/1.2 var(--f-body);color:var(--t-hi)}
.cpv2 .pk .pr{font:600 12px/1 "IBM Plex Mono",var(--f-mono);color:var(--ice)}
.cpv2 .pk .st{font:700 11px/1 var(--f-body);padding:4px 8px;border-radius:99px;background:rgba(47,191,113,.16);color:#7FE0AC;transition:background-color .3s,color .3s}
.cpv2 .pk.low .st{background:rgba(245,177,76,.2);color:#FFC871}
.cpv2 .pk.out .st{background:rgba(255,143,134,.18);color:#FF8F86}
.cpv2 .pk .art{width:58px;height:66px;position:relative;filter:drop-shadow(0 8px 8px rgba(0,0,0,.35))}
.cpv2 .pk .art i{position:absolute;inset:auto 6px 0 6px;height:52px;border-radius:8px 8px 6px 6px;background:var(--c);top:auto}
.cpv2 .pk .art i::before{content:"";position:absolute;left:0;right:0;top:16px;height:16px;background:rgba(255,255,255,.75)}
.cpv2 .pk .art i::after{content:"";position:absolute;left:8px;right:8px;top:21px;height:6px;border-radius:3px;background:var(--d)}
.cpv2 .pk .art.bag i{border-radius:14px 14px 8px 8px;inset:auto 4px 0 4px;height:58px}
.cpv2 .pk .art.bottle i{inset:auto 15px 0 15px;height:60px;border-radius:12px 12px 8px 8px}
.cpv2 .pk .art.bottle::before{content:"";position:absolute;left:23px;right:23px;bottom:58px;height:8px;border-radius:3px;background:var(--d)}
.cpv2 .pk .art.can i{inset:auto 10px 0 10px;height:46px;border-radius:6px}
.cpv2 .pk .art.box i{inset:auto 2px 0 2px;height:56px;border-radius:5px}
.cpv2 .pk .fly{position:absolute;left:50%;top:10px;font:700 13px var(--f-body);color:var(--ice);pointer-events:none;animation:cp-fly .7s var(--ease) forwards}
@keyframes cp-fly{to{transform:translate(-50%,-34px);opacity:0}}
.cpv2 .shelf-r{display:grid;grid-template-rows:auto 1fr auto;gap:10px;min-width:0}
.cpv2 .sale{background:#FBFAF6;color:#2A3038;border-radius:16px;padding:14px 14px 12px;display:grid;grid-template-rows:auto 1fr auto;min-height:280px;font:500 12.5px/1.5 "IBM Plex Mono",var(--f-mono);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.cpv2 .sale-h{display:flex;justify-content:space-between;font-weight:600;color:#0B1620;border-bottom:1px dashed #B9C6CF;padding-bottom:8px;margin-bottom:6px}
.cpv2 .sale-l{display:grid;align-content:start;gap:3px;overflow:hidden}
.cpv2 .sale-l .r{display:flex;justify-content:space-between;gap:8px;animation:cp-in .3s var(--ease)}
.cpv2 .sale-l .em{color:#7D8E9B;font-family:var(--f-body);font-size:13px}
@keyframes cp-in{from{opacity:0;transform:translateY(4px)}}
.cpv2 .sale-t{border-top:1px dashed #B9C6CF;padding-top:8px;display:flex;justify-content:space-between;font-weight:600;color:#0B1620;font-size:14px}
.cpv2 .sale.paid{animation:cp-print .7s steps(10)}
@keyframes cp-print{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.cpv2 .sl-pay{all:unset;box-sizing:border-box;cursor:pointer;height:50px;border-radius:14px;background:var(--blue);color:#001B2B;font:700 15px var(--f-body);text-align:center;line-height:50px}
.cpv2 .sl-pay[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
.cpv2 .sl-pay:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .shelf-note{font-size:12.5px;color:var(--t-lo);min-height:18px}
.cpv2 .alert-pop{position:absolute;left:28px;top:48px;width:min(320px,80%);background:#fff;color:#0B1620;border-radius:18px;padding:12px 14px;display:grid;gap:3px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);transform:translateY(-10px);opacity:0;transition:transform .45s var(--ease),opacity .45s;pointer-events:none;z-index:3}
.cpv2 .alert-pop.on{transform:none;opacity:1}
.cpv2 .alert-pop .t{display:flex;gap:6px;align-items:center;font:700 11px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--ok-ink)}
.cpv2 .alert-pop .t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}
.cpv2 .alert-pop b{font:700 15px/1.3 var(--f-body)}
.cpv2 .alert-pop span{font-size:13px;color:#5B6B78}
.cpv2 .reset{all:unset;cursor:pointer;font:600 12.5px var(--f-body);color:var(--ice);text-decoration:underline;text-underline-offset:3px}
.cpv2 .reset:focus-visible{outline:2px solid var(--ice);outline-offset:2px;border-radius:4px}
@media(max-width:700px){
  .cpv2 .shelf{grid-template-columns:1fr;padding:12px;border-radius:24px}
  .cpv2 .shelf-row{gap:4px;padding:12px 8px 0}.cpv2 .shelf-row::after{margin:0 -8px}
  .cpv2 .pk .art{transform:scale(.85)}
  .cpv2 .sale{min-height:170px}
  .cpv2 .alert-pop{left:16px;top:44px}
}

/* shop-type tabs */
.cpv2 .rt-types .head{display:grid;gap:18px;max-width:760px}
.cpv2 .rt-types .head .sol-k{color:var(--ice)}
.cpv2 .tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:44px}
.cpv2 .tab{all:unset;box-sizing:border-box;cursor:pointer;height:46px;padding:0 20px;border-radius:999px;border:1.5px solid rgba(255,255,255,.18);color:var(--t-mid);font:600 15px/46px var(--f-body);transition:background-color .2s,color .2s,border-color .2s}
.cpv2 .tab:hover{border-color:rgba(255,255,255,.45);color:var(--t-hi)}
.cpv2 .tab[aria-selected="true"]{background:var(--t-hi);color:var(--ink);border-color:var(--t-hi)}
.cpv2 .tab:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .tpanels{margin-top:28px}
.cpv2 .tpanel{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:40px;border-radius:32px;background:linear-gradient(135deg,var(--panel),var(--night-2));border:1px solid var(--line-d)}
.cpv2 .tpanel[hidden]{display:none}
.cpv2 .tpanel h3{font-size:clamp(28px,3vw,40px);line-height:1.05}
.cpv2 .tpanel p{font-size:17px;margin-top:14px}
.cpv2 .tpanel ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px;font-size:15.5px}
.cpv2 .tpanel li{padding-left:22px;position:relative}
.cpv2 .tpanel li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:2px;background:var(--ice)}
.cpv2 .ticket{justify-self:center;width:min(360px,100%);background:#FBFAF6;color:#2A3038;border-radius:6px;padding:20px 18px 22px;font:500 13px/1.6 "IBM Plex Mono",var(--f-mono);box-shadow:0 40px 80px -30px rgba(0,0,0,.8);position:relative;transform:rotate(-1.2deg)}
.cpv2 .ticket::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:radial-gradient(circle at 6px 0,#FBFAF6 5px,transparent 5.5px) 0 0/12px 8px repeat-x}
.cpv2 .ticket .r{display:flex;justify-content:space-between;gap:10px}
.cpv2 .ticket .c{text-align:center;color:#0B1620;font-weight:600;letter-spacing:.08em}
.cpv2 .ticket hr{border:0;border-top:1px dashed #B9C6CF;margin:8px 0}
.cpv2 .ticket .hl{background:#FFF2DC;margin:0 -8px;padding:2px 8px;border-radius:4px}
.cpv2 .ticket .ok{color:#0D7350;font-weight:600}
@media(max-width:860px){.cpv2 .tpanel{grid-template-columns:1fr;padding:26px;gap:28px}}

/* notebook vs app compare */
.cpv2 .rt-credit{background:var(--paper);color:var(--body);border-radius:40px;margin-inline:max(0px,calc((100vw - 1440px)/2))}
.cpv2 .rt-credit h2{color:var(--ink)}
.cpv2 .rt-credit .sol-k{color:var(--deep)}
.cpv2 .rt-credit .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.cpv2 .rt-credit .copy{display:grid;gap:18px;min-width:0}
.cpv2 .rt-credit ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px;font-size:15.5px}
.cpv2 .rt-credit li{padding-left:22px;position:relative}
.cpv2 .rt-credit li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:2px;background:var(--deep)}
.cpv2 .cmp{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:5/4;max-width:100%;box-shadow:0 40px 80px -40px rgba(11,22,32,.45);--pos:50%;user-select:none;touch-action:pan-y}
.cpv2 .cmp>div{position:absolute;inset:0}
.cpv2 .cmp .nb{background:#FFFDF6 repeating-linear-gradient(transparent 0 33px,#D7E6F2 33px 34px);padding:38px 30px 30px 64px;font:500 22px/34px "Caveat","Segoe Print","Comic Sans MS",cursive;color:#23324A}
.cpv2 .cmp .nb::before{content:"";position:absolute;left:44px;top:0;bottom:0;width:2px;background:#F2A7A0}
.cpv2 .cmp .nb s{color:#7D6E6E}
.cpv2 .cmp .nb .blot{position:absolute;right:60px;top:150px;width:70px;height:46px;border-radius:50%;background:rgba(40,60,110,.12);filter:blur(2px)}
.cpv2 .cmp .nb .q{color:#B3302A}
.cpv2 .cmp .app{background:#F4F7FA;clip-path:inset(0 0 0 var(--pos));padding:26px;display:grid;align-content:start;gap:12px;font-family:var(--f-body);color:#0B1620}
.cpv2 .cmp .app h4{margin:0;font:800 22px/1.1 var(--f-display);letter-spacing:-.02em}
.cpv2 .cmp .app .sum{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 0 0 1px #DFE6EB inset}
.cpv2 .cmp .app .sum b{font:700 22px "IBM Plex Mono",var(--f-mono)}
.cpv2 .cmp .app .row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 0 0 1px #DFE6EB inset;font-size:14px}
.cpv2 .cmp .app .row b{font-weight:600}
.cpv2 .cmp .app .row .m{font:600 14px "IBM Plex Mono",var(--f-mono);text-align:right}
.cpv2 .cmp .app .row small{color:#5B6B78}
.cpv2 .cmp .app .row .due{color:#B3302A;font-weight:600}
.cpv2 .cmp .app .acts{grid-column:1/-1;display:flex;gap:6px;margin-top:4px}
.cpv2 .cmp .app .acts span{font:700 11.5px var(--f-body);padding:6px 10px;border-radius:99px;background:#E6F4FB;color:#0B74A6}
.cpv2 .cmp .app .acts span.wa{background:#DCF8C6;color:#0E6B35}
.cpv2 .cmp .bar{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#0B1620;transform:translateX(-1px);pointer-events:none}
.cpv2 .cmp .knob{position:absolute;top:50%;left:var(--pos);width:48px;height:48px;border-radius:50%;background:#0B1620;color:#fff;display:grid;place-items:center;transform:translate(-50%,-50%);font:700 16px var(--f-body);box-shadow:0 10px 20px -6px rgba(0,0,0,.5);pointer-events:none}
.cpv2 .cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:2}
.cpv2 .cmp input:focus-visible~.knob{outline:3px solid var(--blue);outline-offset:3px}
.cpv2 .cmp .lbl{position:absolute;bottom:14px;font:700 11.5px/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;padding:7px 11px;border-radius:99px;background:rgba(11,22,32,.78);color:#fff;pointer-events:none}
.cpv2 .cmp .lbl.l{left:14px}.cpv2 .cmp .lbl.r{right:14px;background:var(--deep)}
@media(max-width:1000px){.cpv2 .rt-credit .wrap{grid-template-columns:1fr;gap:36px}}
@media(max-width:560px){.cpv2 .cmp{aspect-ratio:4/5}.cpv2 .cmp .nb{font-size:19px;line-height:30px;background-size:auto;padding:28px 18px 20px 44px;background-image:repeating-linear-gradient(transparent 0 29px,#D7E6F2 29px 30px)}.cpv2 .cmp .nb::before{left:30px}.cpv2 .cmp .app{padding:18px}}
@media(max-width:700px){.cpv2 .rt-credit{border-radius:28px}}

/* stat strip */
.cpv2 .strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.cpv2 .strip div{padding:30px 24px;display:grid;gap:6px;border-left:1px solid var(--line-d)}
.cpv2 .strip div:first-child{border-left:0}
.cpv2 .strip b{font:800 clamp(30px,3.6vw,48px)/1 var(--f-display);color:var(--t-hi);letter-spacing:-.03em}
.cpv2 .strip span{font-size:14.5px}
@media(max-width:860px){.cpv2 .strip{grid-template-columns:1fr 1fr}.cpv2 .strip div:nth-child(3){border-left:0}.cpv2 .strip div:nth-child(n+3){border-top:1px solid var(--line-d)}}

/* ---------------------------------------------------------------- LIGHT VERTICALS (pharmacy, salon): design-system tokens only
   paper #F3F6F9, white, ink #0B1620, body #33424F, muted #5B6B78, line #DFE6EB, navy #003452, deep #0B74A6 (text blue),
   blue #25A9E1 (fills), ice #7CD3F5, ice-soft #E6F4FB, ok/warn/bad system states. */
.cpv2 .sol-pharm,.cpv2 .sol-salon{background:var(--paper);color:var(--body)}
.cpv2 .sol-pharm h1,.cpv2 .sol-pharm h2,.cpv2 .sol-pharm h3,.cpv2 .sol-salon h1,.cpv2 .sol-salon h2,.cpv2 .sol-salon h3{color:var(--ink)}
.cpv2 .sol-pharm .sol-k,.cpv2 .sol-salon .sol-k{color:var(--deep)}
.cpv2 .sol-pharm .acc,.cpv2 .sol-salon .acc{color:var(--deep)}
.cpv2 .sol-pharm .lead,.cpv2 .sol-salon .lead{color:var(--body)}
.cpv2 .sol-pharm .btn-ghost,.cpv2 .sol-salon .btn-ghost{color:var(--ink);border-color:#7D8E9B}
.cpv2 .sol-pharm .btn-ghost:hover,.cpv2 .sol-salon .btn-ghost:hover{border-color:var(--ink)}
.cpv2 .sol-pharm .btn:focus-visible,.cpv2 .sol-salon .btn:focus-visible{outline-color:var(--deep)}
.cpv2 .sol-pharm .faq summary,.cpv2 .sol-pharm .faq h2,.cpv2 .sol-salon .faq summary,.cpv2 .sol-salon .faq h2{color:var(--ink)}
.cpv2 .sol-pharm .faq details,.cpv2 .sol-salon .faq details{border-color:var(--line)}
.cpv2 .sol-pharm .faq summary::after,.cpv2 .sol-pharm .faq .eyebrow,.cpv2 .sol-salon .faq summary::after,.cpv2 .sol-salon .faq .eyebrow{color:var(--deep)}
.cpv2 .sol-pharm .faq p,.cpv2 .sol-salon .faq p{color:var(--body)}
.cpv2 .sol-pharm .faq summary:focus-visible,.cpv2 .sol-salon .faq summary:focus-visible{outline-color:var(--deep)}

/* ---------------- PHARMACY */
.cpv2 .ph-hero{padding-block:84px 40px}
.cpv2 .ph-hero .top{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.cpv2 .ph-hero .top>div{display:grid;gap:20px;min-width:0}
.cpv2 .ph-hero .cross{width:120px;height:120px;position:relative}
.cpv2 .ph-hero .cross::before,.cpv2 .ph-hero .cross::after{content:"";position:absolute;background:var(--blue);border-radius:10px}
.cpv2 .ph-hero .cross::before{left:40px;right:40px;top:0;bottom:0}.cpv2 .ph-hero .cross::after{top:40px;bottom:40px;left:0;right:0}
@media(max-width:800px){.cpv2 .ph-hero .top{grid-template-columns:1fr}.cpv2 .ph-hero .cross{display:none}}
.cpv2 .radar{margin-top:56px;background:#fff;border-radius:32px;box-shadow:0 0 0 1px var(--line) inset,0 50px 100px -60px rgba(11,22,32,.45);padding:28px;display:grid;gap:22px}
.cpv2 .radar-h{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}
.cpv2 .radar-h h3{font-size:clamp(22px,2.4vw,30px);line-height:1.1}
.cpv2 .radar-h [data-cp-hint]{color:var(--deep)}
.cpv2 .radar-sum{display:flex;gap:26px;flex-wrap:wrap;justify-content:flex-end}
.cpv2 .radar-sum div{display:grid;gap:2px;text-align:right}
.cpv2 .radar-sum b{font:700 clamp(22px,2.6vw,34px)/1 "IBM Plex Mono",var(--f-mono);color:var(--ink)}
.cpv2 .radar-sum span{font:600 11.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cpv2 .radar-sum .risk b{color:#B3302A}
.cpv2 .rng{display:grid;gap:10px}
.cpv2 .rng-top{display:flex;justify-content:space-between;font:600 13px var(--f-body);color:var(--muted)}
.cpv2 .rng-top b{color:var(--ink);font:700 15px "IBM Plex Mono",var(--f-mono)}
.cpv2 .rng input{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:99px;background:linear-gradient(90deg,#B3302A 0,#B3302A var(--r30,16.6%),var(--warn) var(--r30,16.6%),var(--warn) var(--r90,50%),#E6F4FB var(--r90,50%));outline:none;margin:6px 0}
.cpv2 .rng input::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:0 6px 14px -4px rgba(0,0,0,.4);cursor:grab}
.cpv2 .rng input::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--ink);cursor:grab}
.cpv2 .rng input:focus-visible::-webkit-slider-thumb{outline:3px solid var(--deep);outline-offset:2px}
.cpv2 .rng-marks{display:flex;justify-content:space-between;font:500 12px "IBM Plex Mono",var(--f-mono);color:var(--muted)}
.cpv2 .bins{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.cpv2 .bin{border-radius:18px;padding:14px;background:var(--paper);box-shadow:0 0 0 1.5px var(--line) inset;display:grid;gap:8px;align-content:start;transition:background-color .35s,box-shadow .35s,transform .35s var(--ease);min-width:0}
.cpv2 .bin .box{height:46px;border-radius:8px;background:#fff;box-shadow:0 0 0 1.5px var(--line) inset;position:relative;overflow:hidden}
.cpv2 .bin .box::before{content:"";position:absolute;left:0;right:0;top:14px;height:10px;background:#E6F4FB}
.cpv2 .bin .box::after{content:"+";position:absolute;right:8px;top:2px;font:800 16px var(--f-body);color:var(--blue)}
.cpv2 .bin b{font:600 13.5px/1.25 var(--f-body);color:var(--ink)}
.cpv2 .bin small{font:500 11.5px/1.3 "IBM Plex Mono",var(--f-mono);color:var(--muted)}
.cpv2 .bin .tag{justify-self:start;font:700 11px/1 var(--f-body);padding:5px 8px;border-radius:99px;background:var(--ok-soft);color:var(--ok-ink)}
.cpv2 .bin.amber{background:var(--warn-soft);box-shadow:0 0 0 1.5px var(--warn) inset}
.cpv2 .bin.amber .tag{background:#fff;color:var(--warn-ink)}
.cpv2 .bin.red{background:#FCEAE8;box-shadow:0 0 0 1.5px var(--bad) inset;transform:translateY(-4px)}
.cpv2 .bin.red .tag{background:#fff;color:#B3302A}
.cpv2 .bin.gone{background:#E6EDF2;box-shadow:0 0 0 1.5px #CBD5DC inset}
.cpv2 .bin.gone .tag{background:#fff;color:var(--ink)}
.cpv2 .bin.gone .box{filter:grayscale(1);opacity:.6}
.cpv2 .radar-alert{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--navy);color:#fff;font-size:14.5px}
.cpv2 .radar-alert i{flex:none;width:34px;height:34px;border-radius:10px;background:var(--blue);color:#001B2B;display:grid;place-items:center;font-style:normal;font-weight:800}
@media(max-width:1000px){.cpv2 .bins{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.cpv2 .radar{padding:18px;border-radius:24px}.cpv2 .radar-h{grid-template-columns:1fr}.cpv2 .radar-sum{justify-content:flex-start}.cpv2 .radar-sum div{text-align:left}.cpv2 .bins{grid-template-columns:1fr 1fr;gap:8px}.cpv2 .bin{padding:10px}.cpv2 .bin .box{display:none}}

/* expiry on WhatsApp */
.cpv2 .ph-wa{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cpv2 .ph-wa .copy{display:grid;gap:18px;min-width:0}
.cpv2 .rep-list{display:grid;gap:0;margin-top:10px;border-top:1px solid var(--line)}
.cpv2 .rep-list div{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--line)}
.cpv2 .rep-list b{font:700 17px/1.3 var(--f-display);color:var(--ink);letter-spacing:-.01em}
.cpv2 .rep-list span{font-size:15px}
.cpv2 .wapdf{position:relative;min-height:600px}
.cpv2 .wa-chat{position:absolute;left:0;bottom:0;width:min(320px,70%);border-radius:30px;overflow:hidden;background:#0E1419;padding:10px;box-shadow:0 50px 90px -40px rgba(11,22,32,.6);z-index:2}
.cpv2 .wa-head{display:flex;gap:10px;align-items:center;padding:12px 14px;background:var(--navy);color:#fff;border-radius:22px 22px 0 0}
.cpv2 .wa-head .av{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#001B2B;display:grid;place-items:center;font:800 12px var(--f-display)}
.cpv2 .wa-head b{display:block;font-size:15px}.cpv2 .wa-head small{font-size:12px;opacity:.75}
.cpv2 .wa-msgs{background:#E9EEF2;padding:14px;display:grid;gap:10px;border-radius:0 0 22px 22px;min-height:200px;align-content:start}
.cpv2 .wa-b{background:#fff;border-radius:6px 16px 16px 16px;padding:11px 13px;display:grid;gap:3px;font-size:14px;color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.cpv2 .wa-b small,.cpv2 .wa-doc small{color:var(--muted);font-size:11px;text-align:right}
.cpv2 .wa-doc{background:#fff;border-radius:16px;padding:10px;display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.cpv2 .wa-doc .pdf{width:44px;height:52px;border-radius:8px;background:#FCEAE8;color:#B3302A;display:grid;place-items:center;font:800 11px var(--f-body)}
.cpv2 .wa-doc b{display:block;font-size:13.5px;color:var(--ink);line-height:1.3}
.cpv2 .pdf-page{position:absolute;right:0;top:0;width:min(400px,82%);background:#fff;border-radius:10px;padding:26px 24px;box-shadow:0 0 0 1px var(--line),0 40px 80px -40px rgba(11,22,32,.45);transform:rotate(2deg);font-size:13px;color:var(--body)}
.cpv2 .pdf-h{display:grid;gap:2px;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:6px}
.cpv2 .pdf-h b{font:800 20px var(--f-display);color:var(--ink)}
.cpv2 .pdf-h span{font-size:12px;color:var(--muted)}
.cpv2 .pdf-k{margin-top:12px!important;font:700 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--deep)}
.cpv2 .pdf-r{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-family:"IBM Plex Mono",var(--f-mono);font-size:12px}
.cpv2 .pdf-r span:first-child{font-family:var(--f-body);font-size:13px;color:var(--ink)}
.cpv2 .pdf-r.x span:last-child{color:#B3302A;font-weight:600}
@media(max-width:960px){.cpv2 .ph-wa{grid-template-columns:1fr;gap:40px}}
@media(max-width:520px){.cpv2 .wapdf{min-height:700px}.cpv2 .wa-chat{width:86%}.cpv2 .pdf-page{width:94%;padding:20px 16px}}

/* lot journey */
.cpv2 .journey{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px;position:relative;padding:0}
.cpv2 .journey::before{content:"";position:absolute;left:12.5%;right:12.5%;top:38px;height:3px;background:repeating-linear-gradient(90deg,var(--blue) 0 10px,transparent 10px 18px)}
.cpv2 .journey .dot{position:absolute;top:31px;left:12.5%;width:17px;height:17px;border-radius:50%;background:var(--deep);box-shadow:0 0 0 6px rgba(37,169,225,.2);animation:cp-travel 6s var(--ease) infinite}
@keyframes cp-travel{0%,8%{left:12.5%}30%,38%{left:37.5%}60%,68%{left:62.5%}90%,100%{left:87.5%}}
@media (prefers-reduced-motion:reduce){.cpv2 .journey .dot{animation:none;display:none}}
.cpv2 .journey li{list-style:none;display:grid;justify-items:center;text-align:center;gap:12px;padding:0 14px;position:relative}
.cpv2 .journey .n{width:78px;height:78px;border-radius:24px;background:#fff;box-shadow:0 0 0 1.5px var(--line) inset,0 20px 30px -20px rgba(11,22,32,.4);display:grid;place-items:center;position:relative;z-index:1}
.cpv2 .journey .n svg{width:34px;height:34px;fill:none;stroke:var(--deep);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cpv2 .journey b{font:700 20px/1.2 var(--f-display);color:var(--ink);letter-spacing:-.02em}
.cpv2 .journey span{font-size:15px;max-width:240px}
.cpv2 .journey code{font:600 12px "IBM Plex Mono",var(--f-mono);background:#E6F4FB;color:var(--deep);padding:4px 8px;border-radius:6px}
@media(max-width:860px){.cpv2 .journey{grid-template-columns:1fr;gap:28px}.cpv2 .journey::before{left:38px;right:auto;top:38px;bottom:38px;width:3px;height:auto;background:repeating-linear-gradient(180deg,var(--blue) 0 10px,transparent 10px 18px)}.cpv2 .journey .dot{display:none}.cpv2 .journey li{grid-template-columns:78px 1fr;justify-items:start;text-align:left;gap:4px 20px;padding:0}.cpv2 .journey li .n{grid-row:span 3}}
.cpv2 .stopband{background:var(--navy);color:var(--t-mid);border-radius:32px;padding:48px;display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center}
.cpv2 .stopband .big{font:800 clamp(56px,8vw,110px)/.9 var(--f-display);color:#fff;letter-spacing:-.05em}
.cpv2 .stopband .big small{display:block;font:600 14px/1.3 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ice);margin-top:10px}
.cpv2 .stopband h3{color:#fff;font-size:clamp(24px,2.6vw,34px);line-height:1.1}
.cpv2 .stopband p{margin-top:12px;font-size:16.5px;max-width:620px}
@media(max-width:760px){.cpv2 .stopband{grid-template-columns:1fr;padding:30px;gap:20px}}

/* ---------------- SALON */
.cpv2 .sa-hero{padding-block:84px 120px}
.cpv2 .sa-hero .intro{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.cpv2 .sa-hero .intro>div{display:grid;gap:20px;min-width:0}
.cpv2 .sa-hero .intro p.lead{justify-self:end}
@media(max-width:900px){.cpv2 .sa-hero .intro{grid-template-columns:1fr}.cpv2 .sa-hero .intro p.lead{justify-self:start}}
.cpv2 .chair{margin-top:56px;display:grid;grid-template-columns:.85fr 1.15fr;border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line) inset,0 60px 120px -70px rgba(11,22,32,.55)}
.cpv2 .book{background:var(--navy);color:var(--t-mid);padding:26px;display:grid;gap:12px;align-content:start}
.cpv2 .book-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cpv2 .book-h b{font:800 24px/1 var(--f-display);color:#fff;letter-spacing:-.02em}
.cpv2 .book-h span{font:500 13px var(--f-body);color:var(--t-lo)}
.cpv2 .book [data-cp-hint]{color:var(--ice)}
.cpv2 .slot{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:62px 1fr auto;gap:2px 14px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.07);border:1.5px solid transparent;transition:background-color .2s,border-color .2s,transform .2s var(--ease)}
.cpv2 .slot:hover{background:rgba(255,255,255,.12)}
.cpv2 .slot:focus-visible{outline:2px solid var(--ice);outline-offset:2px}
.cpv2 .slot[aria-pressed="true"]{background:#fff;color:var(--ink);border-color:var(--blue);transform:translateX(6px)}
.cpv2 .slot time{grid-column:1;grid-row:1/3;font:600 15px "IBM Plex Mono",var(--f-mono);color:var(--ice)}
.cpv2 .slot[aria-pressed="true"] time{color:var(--deep)}
.cpv2 .slot b{grid-column:2;grid-row:1;font:700 16px/1.2 var(--f-body);color:inherit}
.cpv2 .slot:not([aria-pressed="true"]) b{color:#fff}
.cpv2 .slot small{grid-column:2;grid-row:2;font-size:13px;opacity:.8}
.cpv2 .slot .st{grid-column:3;grid-row:1/3;align-self:center;font:700 11px/1 var(--f-body);padding:6px 9px;border-radius:99px;background:rgba(124,211,245,.16);color:var(--ice)}
.cpv2 .slot[aria-pressed="true"] .st{background:#E6F4FB;color:var(--deep)}
.cpv2 .sms{margin-top:6px;border-radius:18px;padding:14px 16px;background:rgba(0,0,0,.22);display:grid;gap:6px}
.cpv2 .sms .k{font:700 11px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ice)}
.cpv2 .sms p{font-size:14px;line-height:1.5;color:#fff}
.cpv2 .co{padding:26px;display:grid;gap:16px;align-content:start;color:var(--ink);min-width:0}
.cpv2 .co-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cpv2 .co-h b{font:800 22px/1.1 var(--f-display);letter-spacing:-.02em}
.cpv2 .co-h span{font:600 12.5px var(--f-body);color:var(--muted)}
.cpv2 .co .sol-k{color:var(--deep)}
.cpv2 .co .lines{display:grid;gap:8px;min-height:90px;align-content:start}
.cpv2 .co .ln{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;border-radius:14px;background:var(--paper);animation:cp-in .3s var(--ease)}
.cpv2 .co .ln b{font:600 15px/1.3 var(--f-body)}
.cpv2 .co .ln .m{font:600 14px "IBM Plex Mono",var(--f-mono);text-align:right}
.cpv2 .co .ln small{grid-column:1/-1;font-size:12.5px;color:var(--muted)}
.cpv2 .co .ln.custom{background:var(--warn-soft);box-shadow:0 0 0 1.5px var(--warn) inset}
.cpv2 .co .ln.custom.ok{background:var(--ok-soft);box-shadow:0 0 0 1.5px var(--ok) inset}
.cpv2 .co .ln .conf{all:unset;grid-column:1/-1;justify-self:start;cursor:pointer;margin-top:6px;font:700 12.5px var(--f-body);padding:8px 12px;border-radius:10px;background:var(--ink);color:#fff}
.cpv2 .co .ln .conf:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.cpv2 .co .em{color:var(--muted);font-size:14.5px;padding:12px 2px}
.cpv2 .sl-prods{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cpv2 .sa-hero .sl-prods.svcs,.cpv2 .co .sl-prods:first-child{grid-template-columns:repeat(4,1fr)}
.cpv2 .sl-prod{all:unset;box-sizing:border-box;cursor:pointer;padding:12px;border-radius:16px;box-shadow:0 0 0 1.5px var(--line) inset;display:grid;gap:4px;transition:background-color .2s,transform .15s}
.cpv2 .sl-prod:hover{background:var(--paper)}
.cpv2 .sl-prod:active{transform:scale(.97)}
.cpv2 .sl-prod:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.cpv2 .sl-prod[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.cpv2 .sl-prod b{font:600 13.5px/1.25 var(--f-body)}
.cpv2 .sl-prod span{font:600 12px "IBM Plex Mono",var(--f-mono);color:var(--deep)}
.cpv2 .sl-prod small{font:700 11px var(--f-body);color:var(--ok-ink)}
.cpv2 .sl-prod.svc{background:#E6F4FB;box-shadow:none}
.cpv2 .sl-prod.svc small{color:var(--deep)}
.cpv2 .sl-prod.low small{color:var(--warn-ink)}
.cpv2 .co-t{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1.5px dashed var(--line);padding-top:14px}
.cpv2 .co-t b{font:700 22px "IBM Plex Mono",var(--f-mono)}
.cpv2 .co-pay{all:unset;box-sizing:border-box;cursor:pointer;height:50px;padding:0 24px;border-radius:14px;background:var(--blue);color:#001B2B;font:700 15px/50px var(--f-body)}
.cpv2 .co-pay[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
.cpv2 .co-pay:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
.cpv2 .co-note{font-size:13px;color:var(--muted);min-height:18px}
@media(max-width:960px){.cpv2 .chair{grid-template-columns:1fr}}
@media(max-width:560px){.cpv2 .sl-prods,.cpv2 .co .sl-prods:first-child{grid-template-columns:1fr 1fr}.cpv2 .book,.cpv2 .co{padding:18px}.cpv2 .slot{grid-template-columns:54px 1fr auto;padding:12px}}
.cpv2 .who-list{margin-top:48px;border-top:1.5px solid var(--line)}
.cpv2 .who-row{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center;padding:30px 0;border-bottom:1.5px solid var(--line)}
.cpv2 .who-row h3{font-size:clamp(34px,5vw,72px);line-height:1;letter-spacing:-.04em;transition:color .3s,transform .4s var(--ease)}
.cpv2 .who-row:hover h3{color:var(--deep);transform:translateX(10px)}
.cpv2 .who-row p{font-size:17px;max-width:520px}
@media(max-width:760px){.cpv2 .who-row{grid-template-columns:1fr;gap:10px;padding:22px 0}}
.cpv2 .sa-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
.cpv2 .sa-card{background:#fff;border-radius:28px;padding:30px;box-shadow:0 0 0 1px var(--line) inset;display:grid;gap:12px;align-content:start}
.cpv2 .sa-card .n{font:800 14px "IBM Plex Mono",var(--f-mono);color:var(--deep)}
.cpv2 .sa-card h3{font-size:24px;line-height:1.15}
.cpv2 .sa-card p{font-size:15.5px}
@media(max-width:760px){.cpv2 .sa-cards{grid-template-columns:1fr}}

/* shared closing band */
.cpv2 .sol-end{padding-block:40px 120px}
.cpv2 .sol-end .box{border-radius:36px;padding:clamp(32px,6vw,72px);display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:end;background:linear-gradient(135deg,var(--deep),var(--navy))}
.cpv2 .sol-end h2{font-size:clamp(36px,5vw,68px);color:#fff}
.cpv2 .sol-end p{margin-top:16px;font-size:18px;max-width:560px;color:#D7ECF7}
.cpv2 .sol-end .ctas{justify-content:flex-end}
.cpv2 .sol-end .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.cpv2 .sol-end .btn-ghost:hover{border-color:#fff}
@media(max-width:800px){.cpv2 .sol-end .box{grid-template-columns:1fr}.cpv2 .sol-end .ctas{justify-content:flex-start}}

/* ===== CloudyPOS product pages v2: interactive experiences. Design-system tokens only. ===== */
.cpv2 .xp{position:relative;isolation:isolate;overflow:hidden}
.cpv2 .xp.lite{background:var(--paper);color:var(--body)}
.cpv2 .xp.lite h1,.cpv2 .xp.lite h2,.cpv2 .xp.lite h3{color:var(--ink)}
.cpv2 .xp.lite .eyebrow{color:var(--deep)}
.cpv2 .xp.lite .btn-ghost{color:var(--ink);border-color:#7D8E9B}
.cpv2 .xp.lite .btn-ghost:hover{border-color:var(--ink)}
.cpv2 .xp-hero{padding-block:88px 40px}
.cpv2 .xp-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.cpv2 .xp-hero h1{font-size:clamp(46px,6.6vw,96px);line-height:.94;letter-spacing:-.045em}
.cpv2 .xp-hero .side{display:grid;gap:20px;justify-items:start;padding-bottom:8px}
.cpv2 .xp-hero .lead{font-size:clamp(17px,1.6vw,20px);line-height:1.55;max-width:520px}
.cpv2 .xp-hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.cpv2 .xp-hero .acc{color:var(--ice)}
.cpv2 .xp.lite .xp-hero .acc{color:var(--deep)}
.cpv2 .try{display:inline-flex;align-items:center;gap:10px;font:600 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}
.cpv2 .xp.lite .try{color:var(--deep)}
.cpv2 .try::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;animation:cp-pulse 1.6s ease-in-out infinite}
@media(max-width:900px){.cpv2 .xp-hero .wrap{grid-template-columns:1fr;gap:24px}.cpv2 .xp-hero{padding-block:64px 28px}}
.cpv2 .xp-stage{padding-block:16px 96px}
.cpv2 .xp-after{padding-block:0 96px}
.cpv2 .mission{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.cpv2 .mission p{font-size:16px;max-width:720px}
.cpv2 .mission b{color:var(--t-hi)}
.cpv2 .xp.lite .mission b{color:var(--ink)}
@media (prefers-reduced-motion:reduce){.cpv2 .xp *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- device frames */
.cpv2 .tab-dev{background:#0E1419;border-radius:30px;padding:14px;box-shadow:inset 0 0 0 2px #2A333C,0 50px 100px -40px rgba(0,0,0,.8);min-width:0}
.cpv2 .tab-scr{background:#F4F7FA;border-radius:18px;overflow:hidden;position:relative;color:var(--ink);font-family:var(--f-body);min-height:520px;display:flex;flex-direction:column}
.cpv2 .ph-dev{width:330px;max-width:100%;background:#0E1419;border-radius:46px;padding:11px;box-shadow:inset 0 0 0 2px #2A333C,0 50px 100px -40px rgba(0,0,0,.8)}
.cpv2 .ph-scr{position:relative;height:640px;border-radius:36px;overflow:hidden;background:#F4F7FA;color:var(--ink);font-family:var(--f-body);display:flex;flex-direction:column}
.cpv2 .ph-scr .notch{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:96px;height:26px;border-radius:16px;background:#0E1419;z-index:5}
.cpv2 .ph-sb{display:flex;justify-content:space-between;padding:14px 24px 6px;font:600 13px var(--f-body);height:42px}
@media(max-width:420px){.cpv2 .ph-scr{height:600px}}

/* ---------- till UI (shared) */
.cpv2 .tl-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--line)}
.cpv2 .tl-bar b{font:700 15px var(--f-body)}
.cpv2 .tl-bar small{display:block;font-size:12px;color:var(--muted)}
.cpv2 .chipx{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:99px;font:700 12px/1 var(--f-body);white-space:nowrap}
.cpv2 .chipx::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.cpv2 .chipx.on{background:var(--ok-soft);color:var(--ok-ink)}.cpv2 .chipx.off{background:var(--warn-soft);color:var(--warn-ink)}.cpv2 .chipx.sync{background:#E6F4FB;color:var(--deep)}.cpv2 .chipx.bad{background:#FCEAE8;color:#B3302A}
.cpv2 .tl-body{flex:1;display:grid;grid-template-columns:1.25fr 1fr;min-height:0}
.cpv2 .tl-prods{padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-content:start}
.cpv2 .tp{all:unset;box-sizing:border-box;cursor:pointer;background:#fff;border-radius:14px;box-shadow:0 0 0 1px var(--line) inset;padding:10px;display:grid;gap:3px;position:relative;transition:transform .12s var(--ease)}
.cpv2 .tp:active{transform:scale(.96)}
.cpv2 .tp:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.cpv2 .tp i{display:block;height:34px;border-radius:9px;background:var(--c,#E6F4FB);margin-bottom:4px}
.cpv2 .tp b{font:600 12.5px/1.2 var(--f-body)}
.cpv2 .tp span{font:600 11.5px "IBM Plex Mono",var(--f-mono);color:var(--deep)}
.cpv2 .tp small{font:700 10.5px var(--f-body);color:var(--ok-ink)}
.cpv2 .tp.low small{color:var(--warn-ink)}
.cpv2 .tp[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.cpv2 .tl-cart{background:#fff;border-left:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.cpv2 .tl-cart h4{margin:0;font:700 12px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cpv2 .tl-lines{flex:1;display:grid;align-content:start;gap:4px;font:500 12.5px/1.5 "IBM Plex Mono",var(--f-mono);min-height:90px}
.cpv2 .tl-lines .r{display:flex;justify-content:space-between;gap:8px;animation:cp-in .25s var(--ease)}
.cpv2 .tl-lines .r.gone{text-decoration:line-through;color:var(--muted)}
.cpv2 .tl-lines .em{font-family:var(--f-body);color:var(--muted)}
.cpv2 .tl-tot{display:flex;justify-content:space-between;border-top:1px dashed #B9C6CF;padding-top:8px;font:700 15px "IBM Plex Mono",var(--f-mono)}
.cpv2 .tl-pay{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cpv2 .tb{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;height:40px;line-height:40px;border-radius:11px;font:700 13px var(--f-body);background:#E6EDF2;color:var(--ink);position:relative}
.cpv2 .tb.pri{background:var(--blue);color:#001B2B}
.cpv2 .tb.ink{background:var(--ink);color:#fff}
.cpv2 .tb.ghost{background:#fff;box-shadow:0 0 0 1.5px #CBD5DC inset}
.cpv2 .tb.warn{background:#FCEAE8;color:#B3302A}
.cpv2 .tb:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.cpv2 .tb[aria-disabled="true"]{opacity:.42;cursor:not-allowed}
.cpv2 .tb .why{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;font:600 11px/1 var(--f-body);padding:6px 8px;border-radius:7px;opacity:0;pointer-events:none;transition:opacity .15s}
.cpv2 .tb[aria-disabled="true"]:hover .why,.cpv2 .tb[aria-disabled="true"]:focus-visible .why{opacity:1}
@media(max-width:700px){.cpv2 .tl-body{grid-template-columns:1fr}.cpv2 .tl-cart{border-left:0;border-top:1px solid var(--line)}.cpv2 .tab-scr{min-height:0}}

/* ---------- narration log */
.cpv2 .narr{display:grid;gap:8px;align-content:start}
.cpv2 .narr h4{margin:0 0 2px;font:600 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ice)}
.cpv2 .xp.lite .narr h4{color:var(--deep)}
.cpv2 .narr ol{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:260px;overflow:auto}
.cpv2 .narr li{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:14px;line-height:1.45;animation:cp-in .3s var(--ease)}
.cpv2 .narr li time{font:600 12px/1.6 "IBM Plex Mono",var(--f-mono);color:var(--t-lo)}
.cpv2 .xp.lite .narr li time{color:var(--muted)}
.cpv2 .narr li b{color:var(--t-hi)}
.cpv2 .xp.lite .narr li b{color:var(--ink)}

/* =========================================================== OFFLINE: pull the plug */
.cpv2 .plug{display:grid;grid-template-columns:1.35fr .65fr;gap:20px;align-items:start}
.cpv2 .shop{display:grid;gap:14px;min-width:0}
.cpv2 .kit{border-radius:26px;background:var(--panel);border:1px solid var(--line-d);padding:18px;display:grid;gap:14px}
.cpv2 .kit h4{margin:0;font:600 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ice)}
.cpv2 .router{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.cpv2 .rbox{width:92px;height:52px;border-radius:12px;background:linear-gradient(#123A55,#0A2A40);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);position:relative;display:flex;gap:6px;align-items:flex-end;justify-content:center;padding-bottom:9px}
.cpv2 .rbox::before,.cpv2 .rbox::after{content:"";position:absolute;top:-22px;width:4px;height:24px;border-radius:2px;background:#123A55}
.cpv2 .rbox::before{left:18px;transform:rotate(-8deg)}.cpv2 .rbox::after{right:18px;transform:rotate(8deg)}
.cpv2 .rbox i{width:7px;height:7px;border-radius:50%;background:#2A4A60}
.cpv2 .plug[data-net="on"] .rbox i{background:var(--ok);box-shadow:0 0 8px var(--ok);animation:cp-blink 1.2s steps(2) infinite}
.cpv2 .plug[data-net="on"] .rbox i:nth-child(2){animation-delay:.3s}.cpv2 .plug[data-net="on"] .rbox i:nth-child(3){animation-delay:.7s}
@keyframes cp-blink{50%{opacity:.35}}
.cpv2 .plug[data-net="off"] .rbox i{background:#B3302A;box-shadow:none}
.cpv2 .sw2{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;font:600 15px var(--f-body);color:var(--t-hi)}
.cpv2 .sw2 .tr{width:62px;height:34px;border-radius:99px;background:#2A4A60;position:relative;transition:background-color .2s;flex:none}
.cpv2 .sw2 .tr::after{content:"";position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;transition:transform .25s var(--ease)}
.cpv2 .sw2[aria-checked="true"] .tr{background:var(--ok)}
.cpv2 .sw2[aria-checked="true"] .tr::after{transform:translateX(28px)}
.cpv2 .sw2:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:10px}
.cpv2 .sw2 small{display:block;font:500 12.5px var(--f-body);color:var(--t-lo)}
.cpv2 .pwr{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;font:600 15px var(--f-body);color:var(--t-hi)}
.cpv2 .pwr .bt{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#0A2A40;box-shadow:inset 0 0 0 2px #2A4A60;flex:none}
.cpv2 .pwr .bt svg{width:20px;height:20px;fill:none;stroke:var(--warn);stroke-width:2.2;stroke-linecap:round}
.cpv2 .pwr:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:10px}
.cpv2 .pwr small{display:block;font:500 12.5px var(--f-body);color:var(--t-lo)}
.cpv2 .tray{display:grid;gap:8px}
.cpv2 .tray-l{display:grid;gap:6px;max-height:230px;overflow:auto}
.cpv2 .rx{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;background:#FBFAF6;color:#2A3038;border-radius:8px;padding:8px 10px;font:500 11.5px/1.4 "IBM Plex Mono",var(--f-mono);animation:cp-in .3s var(--ease)}
.cpv2 .rx b{font-weight:600}
.cpv2 .rx .st{font:700 10.5px var(--f-body);padding:4px 8px;border-radius:99px;background:var(--warn-soft);color:var(--warn-ink)}
.cpv2 .rx.ok .st{background:var(--ok-soft);color:var(--ok-ink)}
.cpv2 .rx.go{animation:cp-sent .7s var(--ease)}
@keyframes cp-sent{40%{transform:translateX(10px);background:#E6F4FB}}
.cpv2 .rx small{grid-column:1/-1;color:#7D8E9B;font-size:10.5px}
.cpv2 .again{all:unset;cursor:pointer;justify-self:start;font:600 12.5px var(--f-body);color:var(--ice);text-decoration:underline;text-underline-offset:3px}
.cpv2 .again:focus-visible{outline:2px solid var(--ice);outline-offset:2px;border-radius:4px}
.cpv2 .again[hidden]{display:none}
/* screen states */
.cpv2 .scr-over{position:absolute;inset:0;top:0;right:0;bottom:0;left:0;display:none;z-index:6}
.cpv2 .tab-scr[data-state="dark"] .scr-dark{display:grid;place-items:center;background:#000;color:#5B6B78;font:600 14px var(--f-body)}
.cpv2 .tab-scr[data-state="boot"] .scr-boot{display:grid;place-items:center;background:#0B1620;color:#fff;font:700 18px var(--f-display)}
.cpv2 .tab-scr[data-state="pin"] .scr-pin{display:grid;grid-template-columns:1fr 1fr;background:#F4F7FA}
.cpv2 .scr-pin .l{padding:24px;display:grid;gap:12px;align-content:start;border-right:1px solid var(--line)}
.cpv2 .scr-pin .l h5{margin:0;font:800 24px/1.1 var(--f-display);letter-spacing:-.02em}
.cpv2 .scr-pin .l p{font-size:13.5px;color:var(--muted)}
.cpv2 .scr-pin .pin-who{display:flex;justify-content:space-between;align-items:center;height:44px;padding:0 14px;border-radius:12px;background:#fff;box-shadow:0 0 0 2px var(--blue) inset;font:700 14px var(--f-body)}
.cpv2 .scr-pin .r{padding:20px;display:grid;gap:12px;justify-items:center;align-content:center}
.cpv2 .pdots{display:flex;gap:10px}
.cpv2 .pdots i{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px #CBD5DC inset}
.cpv2 .pdots i.f{background:var(--ink);box-shadow:none}
.cpv2 .pad{display:grid;grid-template-columns:repeat(3,58px);gap:8px}
.cpv2 .pad button{all:unset;box-sizing:border-box;cursor:pointer;height:48px;border-radius:12px;background:#fff;box-shadow:0 0 0 1.5px #CBD5DC inset;text-align:center;line-height:48px;font:600 19px var(--f-body);color:var(--ink)}
.cpv2 .pad button:active{background:#E6F4FB}
.cpv2 .pad button:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.cpv2 .pmsg2{font:600 12.5px var(--f-body);color:var(--muted);min-height:18px;text-align:center}
.cpv2 .pmsg2.bad{color:#B3302A}
.cpv2 .offbanner{display:none;align-items:center;gap:8px;padding:8px 14px;background:var(--warn-soft);color:var(--warn-ink);font:600 12.5px var(--f-body)}
.cpv2 .plug[data-net="off"] .offbanner{display:flex}
.cpv2 .syncbanner{display:none;align-items:center;gap:8px;padding:8px 14px;background:#E6F4FB;color:var(--deep);font:600 12.5px var(--f-body)}
.cpv2 .plug[data-sync="1"] .syncbanner{display:flex}
@media(max-width:1000px){.cpv2 .plug{grid-template-columns:1fr}}
@media(max-width:700px){.cpv2 .tab-scr[data-state="pin"] .scr-pin{grid-template-columns:1fr;overflow:auto}.cpv2 .scr-pin .l{border-right:0;padding:16px}}

/* =========================================================== CONTROLS: try to steal */
.cpv2 .heist{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;align-items:start}
.cpv2 .heist .moves{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.cpv2 .mv{all:unset;box-sizing:border-box;cursor:pointer;height:42px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);color:var(--t-hi);font:600 14px/40px var(--f-body);display:inline-flex;gap:8px;align-items:center;transition:background-color .2s,border-color .2s}
.cpv2 .mv:hover{border-color:var(--ice)}
.cpv2 .mv:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .mv.done{background:rgba(124,211,245,.12);border-color:rgba(124,211,245,.4)}
.cpv2 .mv.done::before{content:"✓";color:var(--ice)}
.cpv2 .score{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-radius:18px;background:var(--panel);border:1px solid var(--line-d);margin-top:16px}
.cpv2 .score div{display:grid;gap:2px}
.cpv2 .score b{font:800 30px/1 var(--f-display);color:var(--t-hi)}
.cpv2 .score span{font-size:12.5px;color:var(--t-lo)}
.cpv2 .score p{flex:1;min-width:220px;font-size:14.5px;color:var(--t-mid)}
.cpv2 .sheet{position:absolute;inset:0;top:0;right:0;bottom:0;left:0;background:rgba(11,22,32,.45);display:none;align-items:flex-end;z-index:7}
.cpv2 .sheet.on{display:flex}
.cpv2 .sheet .in{width:100%;background:#fff;border-radius:18px 18px 0 0;padding:18px;display:grid;gap:10px;animation:cp-up .25s var(--ease)}
@keyframes cp-up{from{transform:translateY(30px);opacity:0}}
.cpv2 .sheet h5{margin:0;font:800 18px var(--f-display)}
.cpv2 .sheet .opts{display:flex;flex-wrap:wrap;gap:6px}
.cpv2 .sheet .opt{all:unset;cursor:pointer;padding:9px 12px;border-radius:10px;box-shadow:0 0 0 1.5px #CBD5DC inset;font:600 13px var(--f-body)}
.cpv2 .sheet .opt:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.cpv2 .waitbar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--warn-soft);color:var(--warn-ink);font:600 13px var(--f-body)}
.cpv2 .lockscr{position:absolute;inset:0;top:0;right:0;bottom:0;left:0;background:#0B1620;color:#fff;display:none;place-items:center;text-align:center;z-index:8;padding:20px}
.cpv2 .lockscr.on{display:grid}
.cpv2 .lockscr b{display:block;font:800 40px/1 var(--f-display)}
.cpv2 .lockscr span{display:block;margin-top:8px;color:#C9D8E2;font-size:14px}
.cpv2 .clock{display:flex;align-items:center;gap:10px;font:600 13px var(--f-body);color:var(--t-mid)}
.cpv2 .clock input{accent-color:var(--blue);width:160px}
.cpv2 .clock b{font:700 15px "IBM Plex Mono",var(--f-mono);color:var(--t-hi)}
/* owner phone: lock-screen notifications */
.cpv2 .lockphone{background:linear-gradient(180deg,#0A3550,#00111C);color:#fff}
.cpv2 .lp-time{text-align:center;margin-top:22px;font:800 52px/1 var(--f-display);letter-spacing:-.03em}
.cpv2 .lp-date{text-align:center;font:500 13px var(--f-body);color:#C9D8E2;margin-top:4px}
.cpv2 .lp-list{padding:16px 12px;display:grid;gap:8px;align-content:start;overflow:auto;flex:1}
.cpv2 .nt{background:rgba(255,255,255,.94);color:var(--ink);border-radius:18px;padding:12px 13px;display:grid;gap:4px;animation:cp-drop .35s var(--ease)}
@keyframes cp-drop{from{transform:translateY(-14px);opacity:0}}
.cpv2 .nt .h{display:flex;justify-content:space-between;font:700 10.5px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cpv2 .nt b{font:700 14px/1.3 var(--f-body)}
.cpv2 .nt p{font-size:12.5px;color:var(--body)}
.cpv2 .nt .acts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}
.cpv2 .nt .acts button{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;height:34px;line-height:34px;border-radius:10px;font:700 13px var(--f-body);background:#E6EDF2;color:var(--ink)}
.cpv2 .nt .acts button.y{background:var(--blue);color:#001B2B}
.cpv2 .nt .acts button:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.cpv2 .nt.done{opacity:.75}
.cpv2 .nt .res{font:700 12px var(--f-body);color:var(--ok-ink)}
.cpv2 .nt .res.no{color:#B3302A}
.cpv2 .xaudit{margin-top:20px;border-radius:24px;background:#fff;color:var(--ink);padding:18px 20px;box-shadow:0 0 0 1px var(--line) inset}
.cpv2 .xaudit h4{margin:0 0 10px;display:flex;justify-content:space-between;align-items:center;font:800 18px var(--f-display);letter-spacing:-.01em}
.cpv2 .xaudit ol{list-style:none;margin:0;padding:0;display:grid;max-height:280px;overflow:auto}
.cpv2 .xaudit li{display:grid;grid-template-columns:76px 1fr auto;gap:12px;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px;align-items:center;animation:cp-in .3s var(--ease)}
.cpv2 .xaudit li:first-child{border-top:0}
.cpv2 .xaudit time{font:600 12px "IBM Plex Mono",var(--f-mono);color:var(--muted)}
.cpv2 .xaudit .tag{font:700 11px var(--f-body);padding:4px 8px;border-radius:99px;background:#E6EDF2;color:var(--ink);white-space:nowrap}
.cpv2 .xaudit .tag.y{background:var(--ok-soft);color:var(--ok-ink)}.cpv2 .xaudit .tag.n{background:#FCEAE8;color:#B3302A}.cpv2 .xaudit .tag.w{background:var(--warn-soft);color:var(--warn-ink)}
.cpv2 .xaudit .em{color:var(--muted);font-size:13.5px;padding:6px 0}
@media(max-width:1000px){.cpv2 .heist{grid-template-columns:1fr}.cpv2 .heist .ph-dev{margin-inline:auto}}
@media(max-width:600px){.cpv2 .xaudit li{grid-template-columns:62px 1fr;}.cpv2 .xaudit li .tag{grid-column:2;justify-self:start}}

/* =========================================================== MANAGER: owner's day */
.cpv2 .day{display:grid;grid-template-columns:.95fr auto .95fr;gap:36px;align-items:center}
.cpv2 .day .where{display:grid;gap:10px;align-content:center}
.cpv2 .day .where .k{font:600 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--deep)}
.cpv2 .day .where b{font:800 clamp(26px,2.6vw,36px)/1.08 var(--f-display);letter-spacing:-.03em;color:var(--ink)}
.cpv2 .day .where p{font-size:15px}
.cpv2 .day .side2{display:grid;gap:14px}
.cpv2 .tline{margin-top:28px;display:grid;gap:12px}
.cpv2 .tline .track{position:relative;height:56px}
.cpv2 .tline .rail{position:absolute;left:0;right:0;top:26px;height:4px;border-radius:2px;background:#DFE6EB}
.cpv2 .tline .fill{position:absolute;left:0;top:26px;height:4px;border-radius:2px;background:var(--blue);width:0;transition:width .4s var(--ease)}
.cpv2 .tline .ev{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;top:14px;width:28px;height:28px;margin-left:-14px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #CBD5DC inset;display:grid;place-items:center;font:700 11px var(--f-body);color:var(--muted);transition:background-color .2s,box-shadow .2s}
.cpv2 .tline .ev.past{background:var(--blue);box-shadow:none;color:#001B2B}
.cpv2 .tline .ev.now{background:var(--ink);color:#fff;box-shadow:0 0 0 5px rgba(37,169,225,.25)}
.cpv2 .tline .ev:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
.cpv2 .tline .lbls{position:relative;height:18px;font:600 11.5px "IBM Plex Mono",var(--f-mono);color:var(--muted)}
.cpv2 .tline .lbls span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.cpv2 .tline .ctl{display:flex;gap:10px;justify-content:center}
.cpv2 .app-scr{flex:1;display:flex;flex-direction:column;min-height:0}
.cpv2 .app-h{padding:6px 18px 10px}
.cpv2 .app-h b{display:block;font:800 22px/1.1 var(--f-display);letter-spacing:-.02em}
.cpv2 .app-h small{font-size:12.5px;color:var(--muted)}
.cpv2 .app-b{flex:1;overflow:auto;padding:0 14px 14px;display:grid;gap:10px;align-content:start}
.cpv2 .cd2{background:#fff;border-radius:16px;box-shadow:0 0 0 1px var(--line) inset;padding:12px 14px;display:grid;gap:6px;font-size:13.5px}
.cpv2 .cd2 .k{font:600 10.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cpv2 .cd2 .big{font:700 24px/1.1 "IBM Plex Mono",var(--f-mono)}
.cpv2 .cd2 .r{display:flex;justify-content:space-between;gap:8px}
.cpv2 .cd2 .r .m{font:600 13px "IBM Plex Mono",var(--f-mono)}
.cpv2 .done-badge{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--ok-soft);color:var(--ok-ink);font:700 13px var(--f-body);animation:cp-in .3s var(--ease)}
.cpv2 .segx{display:flex;background:#E6EDF2;border-radius:11px;padding:3px;gap:3px}
.cpv2 .segx button{all:unset;flex:1;text-align:center;cursor:pointer;padding:8px 4px;border-radius:8px;font:600 12.5px var(--f-body);color:var(--muted)}
.cpv2 .segx button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.cpv2 .segx button:focus-visible{outline:2px solid var(--deep);outline-offset:1px}
.cpv2 .wa2{flex:1;background:#E9EEF2;padding:12px;display:grid;gap:8px;align-content:start;overflow:auto}
.cpv2 .wa2 .b{background:#fff;border-radius:6px 14px 14px 14px;padding:10px 12px;font-size:13px;line-height:1.45}
.cpv2 .wa2 .b .r{display:flex;justify-content:space-between;gap:10px;font-family:"IBM Plex Mono",var(--f-mono);font-size:12px}
.cpv2 .wa2-h{display:flex;gap:10px;align-items:center;padding:10px 14px;background:var(--navy);color:#fff}
.cpv2 .wa2-h i{width:30px;height:30px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font:800 11px var(--f-display);color:#001B2B;font-style:normal}
@media(max-width:1100px){.cpv2 .day{grid-template-columns:1fr auto}.cpv2 .day .side2{grid-column:1/-1}}
@media(max-width:760px){.cpv2 .day{grid-template-columns:1fr;justify-items:center}.cpv2 .day .where{text-align:center;justify-items:center}.cpv2 .tline .lbls span:nth-child(even){display:none}}

/* =========================================================== INVENTORY: life of a product */
.cpv2 .life{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;align-items:start}
.cpv2 .lcard{background:#fff;border-radius:26px;box-shadow:0 0 0 1px var(--line) inset,0 40px 80px -60px rgba(11,22,32,.4);padding:20px;display:grid;gap:14px;min-width:0}
.cpv2 .lcard h4{margin:0;display:flex;justify-content:space-between;align-items:baseline;gap:10px;font:800 20px var(--f-display);letter-spacing:-.02em;color:var(--ink)}
.cpv2 .lcard h4 small{font:600 12.5px var(--f-body);color:var(--muted);letter-spacing:0}
.cpv2 .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cpv2 .kpis div{background:var(--paper);border-radius:14px;padding:10px 12px;display:grid;gap:2px}
.cpv2 .kpis span{font:600 10.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cpv2 .kpis b{font:700 22px "IBM Plex Mono",var(--f-mono);color:var(--ink)}
.cpv2 .kpis b.low{color:var(--warn-ink)}
.cpv2 .chart svg{width:100%;height:auto;display:block}
.cpv2 .chart .grid line{stroke:#E6EDF2}
.cpv2 .chart .lvl{stroke:var(--warn);stroke-dasharray:6 6;stroke-width:2}
.cpv2 .chart .lvl-t{fill:var(--warn-ink);font:600 11px var(--f-body)}
.cpv2 .chart .l1{fill:none;stroke:var(--deep);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.cpv2 .chart .l2{fill:none;stroke:var(--blue);stroke-width:3;stroke-dasharray:2 0;stroke-linejoin:round;opacity:.55}
.cpv2 .chart .dot1{fill:var(--deep)}.cpv2 .chart .dot2{fill:var(--blue)}
.cpv2 .chart .ax{fill:var(--muted);font:500 11px "IBM Plex Mono",var(--f-mono)}
.cpv2 .legend{display:flex;gap:16px;font:600 12.5px var(--f-body);color:var(--body)}
.cpv2 .legend span::before{content:"";display:inline-block;width:16px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle;background:var(--c)}
.cpv2 .acts2{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cpv2 .acts2 .tb{height:auto;line-height:1.25;padding:10px 8px;display:grid;gap:2px;text-align:left}
.cpv2 .acts2 .tb small{font:500 11px var(--f-body);opacity:.8}
.cpv2 .lots{display:grid;gap:6px}
.cpv2 .lot{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 12px;border-radius:12px;background:var(--paper);box-shadow:inset 4px 0 0 var(--blue);font-size:13px;animation:cp-in .3s var(--ease);transition:opacity .3s}
.cpv2 .lot b{font:600 13px "IBM Plex Mono",var(--f-mono)}
.cpv2 .lot small{color:var(--muted);font-size:12px}
.cpv2 .lot .q{font:700 15px "IBM Plex Mono",var(--f-mono);grid-row:span 2;align-self:center}
.cpv2 .lot.old{box-shadow:inset 4px 0 0 var(--warn)}
.cpv2 .lot.empty{opacity:.4}
.cpv2 .ledger{display:grid;max-height:220px;overflow:auto}
.cpv2 .ledger div{display:grid;grid-template-columns:64px 1fr auto;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px;animation:cp-in .3s var(--ease)}
.cpv2 .ledger div:first-child{border-top:0}
.cpv2 .ledger time{font:600 11.5px "IBM Plex Mono",var(--f-mono);color:var(--muted)}
.cpv2 .ledger .q{font:700 13px "IBM Plex Mono",var(--f-mono)}
.cpv2 .ledger .q.m{color:#B3302A}.cpv2 .ledger .q.p{color:var(--ok-ink)}
.cpv2 .reorder{display:none;gap:10px;padding:14px;border-radius:16px;background:var(--warn-soft);box-shadow:0 0 0 1.5px var(--warn) inset}
.cpv2 .reorder.on{display:grid;animation:cp-in .35s var(--ease)}
.cpv2 .reorder b{font:700 14px var(--f-body);color:var(--ink)}
.cpv2 .reorder p{font-size:13px;color:var(--body)}
.cpv2 .wamsg{display:none;background:#fff;border-radius:6px 14px 14px 14px;padding:10px 12px;font-size:13px;line-height:1.45;box-shadow:0 0 0 1px var(--line) inset}
.cpv2 .wamsg.on{display:block;animation:cp-in .3s var(--ease)}
@media(max-width:1000px){.cpv2 .life{grid-template-columns:1fr}}
@media(max-width:520px){.cpv2 .acts2{grid-template-columns:1fr 1fr}.cpv2 .kpis b{font-size:18px}}

/* =========================================================== OVERVIEW: system map */
.cpv2 .map{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;align-items:center}
.cpv2 .map-svg{position:relative;border-radius:30px;background:radial-gradient(800px 400px at 50% 40%,rgba(37,169,225,.14),transparent 70%),var(--night-2);border:1px solid var(--line-d);padding:10px}
.cpv2 .map-svg svg{width:100%;height:auto;display:block}
.cpv2 .map .edge{stroke:rgba(124,211,245,.22);stroke-width:2;fill:none}
.cpv2 .map .edge.hot{stroke:var(--blue);stroke-width:3}
.cpv2 .map .edge.cut{stroke:var(--warn);stroke-dasharray:7 7}
.cpv2 .map .node rect{fill:var(--panel);stroke:rgba(255,255,255,.1)}
.cpv2 .map .node.hot rect{fill:#0A3550;stroke:var(--blue);stroke-width:2}
.cpv2 .map .node text{fill:#fff;font:700 15px var(--f-body)}
.cpv2 .map .node text.s{fill:var(--t-lo);font:500 11.5px var(--f-body)}
.cpv2 .map .pkt{fill:var(--ice)}
.cpv2 .scen{display:grid;gap:10px}
.cpv2 .scen .tabs2{display:flex;flex-wrap:wrap;gap:8px}
.cpv2 .scen .steps2{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px;counter-reset:s}
.cpv2 .scen .steps2 li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;font-size:15px;color:var(--t-mid);opacity:.4;transition:opacity .3s;counter-increment:s}
.cpv2 .scen .steps2 li::before{content:counter(s);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--panel);color:var(--ice);font:700 13px var(--f-body)}
.cpv2 .scen .steps2 li.on{opacity:1}
.cpv2 .scen .steps2 li.on::before{background:var(--blue);color:#001B2B}
.cpv2 .scen .steps2 b{color:var(--t-hi)}
.cpv2 .scen a.more{color:var(--ice);font-weight:600;font-size:15px}
@media(max-width:1000px){.cpv2 .map{grid-template-columns:1fr}}

/* =========================================================== HARDWARE: build your counter */
.cpv2 .hwcounter{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:start}
.cpv2 .picks{display:grid;gap:8px}
.cpv2 .pick{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:0 0 0 1.5px var(--line) inset;transition:box-shadow .2s,background-color .2s}
.cpv2 .pick:hover{box-shadow:0 0 0 1.5px #9FB0BC inset}
.cpv2 .pick:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.cpv2 .pick[aria-checked="true"]{box-shadow:0 0 0 2px var(--blue) inset;background:#F3FAFE}
.cpv2 .pick .bx{width:24px;height:24px;border-radius:7px;box-shadow:0 0 0 2px #CBD5DC inset;display:grid;place-items:center}
.cpv2 .pick[aria-checked="true"] .bx{background:var(--blue);box-shadow:none}
.cpv2 .pick[aria-checked="true"] .bx::after{content:"✓";color:#001B2B;font:800 14px var(--f-body)}
.cpv2 .pick b{display:block;font:700 15px var(--f-body);color:var(--ink)}
.cpv2 .pick small{font-size:12.5px;color:var(--muted)}
.cpv2 .pick .opt{font:700 10.5px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cpv2 .desk{position:relative;border-radius:30px;background:linear-gradient(180deg,#E6EDF2 0,#E6EDF2 62%,#CBD5DC 62%,#B9C6CF 100%);min-height:440px;overflow:hidden}
.cpv2 .desk .it{position:absolute;opacity:0;transform:translateY(16px) scale(.96);transition:opacity .35s var(--ease),transform .45s var(--ease)}
.cpv2 .desk .it.on{opacity:1;transform:none}
.cpv2 .desk .lbl{position:absolute;font:700 11.5px var(--f-body);background:var(--ink);color:#fff;padding:5px 9px;border-radius:8px;white-space:nowrap;opacity:0;transition:opacity .3s}
.cpv2 .desk .it.on .lbl{opacity:1}
.cpv2 .verdict{margin-top:14px;padding:16px 18px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--line) inset;display:grid;gap:6px}
.cpv2 .verdict b{font:800 20px var(--f-display);color:var(--ink)}
.cpv2 .verdict ul{margin:0;padding:0 0 0 18px;display:grid;gap:4px;font-size:14px}
@media(max-width:1000px){.cpv2 .hwcounter{grid-template-columns:1fr}.cpv2 .desk{min-height:340px}}

/* =========================================================== LOYALTY: scan demo */
.cpv2 .scan{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.cpv2 .disp{border-radius:26px;background:var(--navy);color:#fff;padding:30px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:0 50px 100px -50px rgba(0,0,0,.8)}
.cpv2 .disp .k{font:600 12px var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}
.cpv2 .disp b{display:block;font:800 clamp(26px,3vw,40px)/1.05 var(--f-display);letter-spacing:-.03em;margin-top:8px}
.cpv2 .disp p{margin-top:10px;color:#C9D8E2}
.cpv2 .qrx{width:170px;background:#fff;border-radius:18px;padding:12px}
.cpv2 .qrx .g{display:grid;grid-template-columns:repeat(21,1fr)}
.cpv2 .qrx .g i{aspect-ratio:1}.cpv2 .qrx .g i.b{background:var(--ink)}
.cpv2 .disp.saved .qrx{opacity:.25}
.cpv2 .cphone .ph-scr{background:#F4F7FA}
.cpv2 .camera{flex:1;display:grid;place-items:center;background:#0B1620;position:relative}
.cpv2 .camera .frame{width:150px;height:150px;border-radius:20px;box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 999px rgba(0,0,0,.35)}
.cpv2 .camera .line{position:absolute;width:150px;height:2px;background:var(--ice);top:calc(50% - 75px);animation:cp-scan 1.4s ease-in-out infinite}
@keyframes cp-scan{50%{transform:translateY(148px)}}
.cpv2 .pts{font:800 44px/1 var(--f-display);letter-spacing:-.03em;color:var(--ink)}
@media(max-width:900px){.cpv2 .scan{grid-template-columns:1fr;justify-items:center}.cpv2 .disp{grid-template-columns:1fr;justify-items:start}}

/* ---------- helpers */
.cpv2 .tl-pay.three{grid-template-columns:repeat(3,1fr)}
.cpv2 .tl-pay.three .tb{font-size:12px}
.cpv2 .tb.wide{padding:0 22px}
.cpv2 .tl-cart.solo{flex:1;border-left:0;padding:18px 20px;gap:10px}
.cpv2 .tl-cart.solo .tl-lines{font-size:14px;min-height:120px}
.cpv2 .lnk{all:unset;cursor:pointer;justify-self:start;font:600 12.5px var(--f-body);color:var(--deep);text-decoration:underline;text-underline-offset:3px}
.cpv2 .lnk:focus-visible{outline:2px solid var(--deep);outline-offset:2px;border-radius:4px}
.cpv2 .scr-over.reloading{background:rgba(244,247,250,.94);color:var(--deep);font:700 15px var(--f-body);place-items:center}
.cpv2 .scr-over.reloading.on{display:grid}
.cpv2 .mv[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:#001B2B}
.cpv2 .xaudit h4 .chipx{font-family:var(--f-body)}
.cpv2 .xp .ft-hub{margin-top:28px}
.cpv2 .xp.lite .ft-spec{margin-top:24px}
.cpv2 .desk .it svg{display:block;width:100%;height:auto}
@media(max-width:700px){.cpv2 .desk .lbl{font-size:10px;padding:3px 6px;top:-22px!important}.cpv2 .tl-pay.three .tb{font-size:11px}}
.cpv2 .router{margin-top:22px}
.cpv2 .tline .track,.cpv2 .tline .lbls{margin-inline:18px}
.cpv2 .day.two{grid-template-columns:1fr auto;gap:56px;max-width:980px;margin-inline:auto}
.cpv2 .shots{width:340px;max-width:100%}
.cpv2 .shots img{display:block;width:100%;height:auto;filter:drop-shadow(0 40px 60px rgba(11,22,32,.28));animation:cp-in .35s var(--ease)}
.cpv2 .loy-wide{display:block;width:100%;height:auto;border-radius:22px}
.cpv2 .loy-ph{display:block;width:300px;max-width:100%;height:auto;margin-inline:auto}
.cpv2 .xp.lite .ft-spec td:first-child{color:var(--ink)}
.cpv2 .xp.lite .ft-spec td{color:var(--body);border-bottom-color:var(--line)}
@media(max-width:760px){.cpv2 .day.two{grid-template-columns:1fr;gap:20px}.cpv2 .shots{width:280px;margin-inline:auto}}
.cpv2 .shots img[hidden]{display:none}
/* ---------- how it works: the game frame */
.cpv2 .hiw{display:grid;gap:10px}
.cpv2 .hiw-frame{display:block;width:100%;height:820px;height:min(900px,calc(100vh - 96px));border:0;border-radius:28px;background:#FFF7EC;box-shadow:0 50px 100px -50px rgba(0,0,0,.8)}
.cpv2 .hiw-alt{font-size:14px;text-align:right}
.cpv2 .hiw-alt a{color:var(--ice);font-weight:600}
.cpv2 .hiw-part{font:700 20px var(--f-display);margin:32px 0 4px;color:var(--t-hi)}
@media(max-width:700px){.cpv2 .hiw-frame{height:calc(100vh - 80px);border-radius:18px}}
.cpv2 .hiw-part+.ft-steps{margin-top:16px}
@media(max-width:700px){.cpv2 .hiw-frame{height:calc(100svh - 96px)}}.cpv2 .hiw-frame{scroll-margin-top:80px}
/* how it works: full screen in place (real fullscreen, or an overlay where the browser can't) */
.cpv2 .hiw-box{position:relative}
.cpv2 .hiw-x{display:none}
.cpv2 .hiw-box:fullscreen{background:#FFF7EC;display:flex}
.cpv2 .hiw-box:fullscreen .hiw-frame,.cpv2 .hiw-box.max .hiw-frame{height:100%;border-radius:0;box-shadow:none;flex:1}
.cpv2 .hiw-box:-webkit-full-screen{background:#FFF7EC;width:100%;height:100%}
.cpv2 .hiw-box:-webkit-full-screen .hiw-frame{height:100%;border-radius:0}
.cpv2 .hiw-box.max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#FFF7EC;display:flex;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.cpv2 .hiw-box:fullscreen .hiw-x,.cpv2 .hiw-box.max .hiw-x,.cpv2 .hiw-box:-webkit-full-screen .hiw-x{display:grid;place-items:center;position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));width:44px;height:44px;border:0;border-radius:50%;background:#1B1A17;color:#fff;font:700 18px/1 var(--f-body);cursor:pointer;z-index:2;box-shadow:0 8px 20px -8px rgba(0,0,0,.6)}
.cpv2 .hiw-x:focus-visible,.cpv2 .hiw-fs:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
html.hiw-lock{overflow:hidden}
.cpv2 .hiw-fs{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font:600 14px var(--f-body);color:var(--ice)}
.cpv2 .hiw-fs svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cpv2 .hiw-fs:hover{text-decoration:underline;text-underline-offset:3px}
.cpv2 .xaudit li.em{display:block}

/* ===== Batch 4: about, security, partners, FAQ, legal, blog. Design-system tokens only. ===== */
.cpv2 .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cpv2 .pchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cpv2 .pchip{all:unset;box-sizing:border-box;cursor:pointer;height:42px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);color:var(--t-hi);font:600 14.5px/39px var(--f-body);transition:background-color .2s,border-color .2s,color .2s}
.cpv2 .pchip:hover{border-color:var(--ice)}
.cpv2 .pchip:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .pchip[aria-selected="true"],.cpv2 .pchip[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#001B2B}
/* about */
.cpv2 .ab-why{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.cpv2 .ab-h2{font-size:clamp(30px,3.6vw,48px);line-height:1.04;margin-top:14px}
.cpv2 .ab-cols{display:grid;gap:18px;font-size:17px;line-height:1.65}
.cpv2 .pfam{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.cpv2 .ppanels{min-height:300px;display:grid}
.cpv2 .ppanel{border-radius:28px;padding:36px;background:radial-gradient(500px 300px at 80% 0,rgba(37,169,225,.22),transparent 70%),var(--panel);border:1px solid var(--line-d);display:grid;gap:12px;align-content:start;animation:cp-in .35s var(--ease)}
.cpv2 .ppanel .k{font:600 12px var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}
.cpv2 .ppanel b{font:800 clamp(34px,4vw,54px)/1 var(--f-display);letter-spacing:-.035em;color:var(--t-hi)}
.cpv2 .ppanel p{font-size:18px;line-height:1.55;max-width:440px}
.cpv2 .ppanel .more{color:var(--ice);font-weight:600;margin-top:8px}
.cpv2 .ppanel .soon{color:var(--t-lo);font-size:14px;margin-top:8px}
.cpv2 .ab-team{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cpv2 .ab-card{display:flex;gap:16px;align-items:center;padding:22px;border-radius:22px;background:var(--panel);border:1px solid var(--line-d);min-width:0}
.cpv2 .ab-card .mono{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#001B2B;font:800 18px var(--f-display)}
.cpv2 .ab-card .mono.pin{background:rgba(124,211,245,.12)}
.cpv2 .ab-card .mono .ic{width:24px;height:24px}.cpv2 .ab-card .mono svg{width:22px;height:22px;fill:none;stroke:var(--ice);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cpv2 .ab-card b{display:block;color:var(--t-hi);font:700 16px var(--f-body)}
.cpv2 .ab-card span{font-size:14px;color:var(--t-lo)}
@media(max-width:900px){.cpv2 .ab-why,.cpv2 .pfam{grid-template-columns:1fr;gap:28px}.cpv2 .ab-team{grid-template-columns:1fr}.cpv2 .ppanel{padding:26px}}
/* security: who sees what */
.cpv2 .roles{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.cpv2 .who-tbl{border-radius:24px;background:#fff;color:var(--ink);overflow:hidden;box-shadow:0 50px 100px -50px rgba(0,0,0,.8)}
.cpv2 .who-tbl table{width:100%;border-collapse:collapse;font-size:14px}
.cpv2 .who-tbl th,.cpv2 .who-tbl td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;transition:opacity .25s,background-color .25s}
.cpv2 .who-tbl thead th{font:700 12px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--paper)}
.cpv2 .who-tbl tbody th{font-weight:600;color:var(--ink);width:38%}
.cpv2 .who-tbl [data-role]{opacity:.35}
.cpv2 .who-tbl [data-role].on{opacity:1;background:#F3FAFE}
.cpv2 .who-tbl thead th.on{color:var(--deep);box-shadow:inset 0 -3px 0 var(--blue)}
.cpv2 .who-tbl .tag{display:inline-block;font:700 11.5px var(--f-body);padding:5px 9px;border-radius:99px;white-space:nowrap}
.cpv2 .who-tbl .tag.y{background:var(--ok-soft);color:var(--ok-ink)}.cpv2 .who-tbl .tag.n{background:#FCEAE8;color:#B3302A}.cpv2 .who-tbl .tag.w{background:var(--warn-soft);color:var(--warn-ink)}
@media(max-width:1000px){.cpv2 .roles{grid-template-columns:1fr}}
@media(max-width:700px){.cpv2 .who-tbl [data-role]:not(.on){display:none}.cpv2 .who-tbl tbody th{width:auto}}
/* partners: referral steps */
.cpv2 .pipe{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;align-items:start}
.cpv2 .pipe>div:first-child{grid-column:1/-1}
.cpv2 .pipe-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cpv2 .pipe-steps button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:18px;background:var(--panel);border:1px solid var(--line-d);color:var(--t-mid);font:600 16px var(--f-body);transition:background-color .2s,border-color .2s}
.cpv2 .pipe-steps button span{font:600 12px "IBM Plex Mono",var(--f-mono);color:var(--ice)}
.cpv2 .pipe-steps li.past button{color:var(--t-hi)}
.cpv2 .pipe-steps li.past button span::after{content:" ✓"}
.cpv2 .pipe-steps button[aria-pressed="true"]{background:#0A3550;border-color:var(--blue);color:var(--t-hi)}
.cpv2 .pipe-steps button:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .pipe-card{border-radius:28px;padding:32px;background:#fff;color:var(--ink);display:grid;gap:14px;align-content:start;justify-items:start;animation:cp-in .35s var(--ease);position:sticky;top:96px}
.cpv2 .pipe-card b{font:800 30px/1.05 var(--f-display);letter-spacing:-.03em}
.cpv2 .pipe-card p{font-size:17px;color:var(--body)}
@media(max-width:900px){.cpv2 .pipe{grid-template-columns:1fr}.cpv2 .pipe-card{position:static}}
/* FAQ */
.cpv2 .fq-tools{display:grid;gap:4px;margin-bottom:12px}
.cpv2 .fq-search input{box-sizing:border-box;width:100%;max-width:640px;height:58px;border-radius:16px;border:1.5px solid var(--line-d);background:var(--panel);color:var(--t-hi);padding:0 20px;font:500 17px var(--f-body)}
.cpv2 .fq-search input::placeholder{color:var(--t-lo)}
.cpv2 .fq-search input:focus{outline:2px solid var(--ice);outline-offset:2px}
.cpv2 .fqx .faq{padding:0;max-width:880px}
.cpv2 .fq-none{margin-top:20px;font-size:16px}.cpv2 .fq-none a{color:var(--ice);font-weight:600}
/* legal */
.cpv2 .lg{background:var(--paper);color:var(--body);padding-block:80px 110px}
.cpv2 .lg-in{display:grid;grid-template-columns:260px minmax(0,720px);gap:24px 64px;justify-content:center}
.cpv2 .lg-head{grid-column:1/-1;max-width:760px}
.cpv2 .lg .eyebrow{color:var(--deep)}
.cpv2 .lg h1{color:var(--ink);font-size:clamp(40px,5vw,64px);line-height:1;margin-top:12px}
.cpv2 .lg-up{margin-top:14px;font:600 13px "IBM Plex Mono",var(--f-mono);color:var(--muted)}
.cpv2 .lg-intro{margin-top:18px;font-size:19px;line-height:1.6;color:var(--ink)}
.cpv2 .lg-toc{position:sticky;top:96px;align-self:start;border-left:2px solid var(--line);padding-left:18px}
.cpv2 .lg-toc p{font:700 12px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.cpv2 .lg-toc ol{margin:0;padding-left:18px;display:grid;gap:7px;font-size:14px}
.cpv2 .lg-toc a{color:var(--body);text-decoration:none}.cpv2 .lg-toc a:hover{color:var(--deep)}
.cpv2 .lg-body section{scroll-margin-top:90px;padding-block:6px 18px}
.cpv2 .lg-body h2{color:var(--ink);font:800 24px/1.2 var(--f-display);letter-spacing:-.02em;margin:22px 0 12px}
.cpv2 .lg-body p,.cpv2 .lg-body li{font-size:16.5px;line-height:1.7}
.cpv2 .lg-body p+p{margin-top:12px}
.cpv2 .lg-body ul{margin:10px 0 0;padding-left:22px;display:grid;gap:8px}
.cpv2 .lg-body a{color:var(--deep);font-weight:600}
.cpv2 .lg-body b{color:var(--ink)}
@media(max-width:900px){.cpv2 .lg-in{grid-template-columns:1fr}.cpv2 .lg-toc{position:static}.cpv2 .lg{padding-block:56px 80px}}

/* =========================================================== BLOG (Elementor Theme Builder: single post + archive) */
.cpv2.cp-blog{background:var(--paper)!important;color:var(--body)}
.cp-blog .elementor-widget-theme-post-title .elementor-heading-title{font:800 clamp(36px,5vw,64px)/1.02 var(--f-display);letter-spacing:-.04em;color:var(--ink);text-wrap:balance;margin:0}
.cp-blog .cp-blog-top{padding-block:72px 28px;display:grid;gap:18px;max-width:820px;margin-inline:auto;padding-inline:max(16px,env(safe-area-inset-left,0px))}
.cp-blog .cp-blog-top .bk{font:600 14px var(--f-body);color:var(--deep);text-decoration:none}
.cp-blog .cp-blog-top .bk:hover{text-decoration:underline}
.cp-blog .elementor-post-info{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font:600 13px "IBM Plex Mono",var(--f-mono);color:var(--muted)}
.cp-blog .elementor-post-info a{color:var(--muted);text-decoration:none}
.cp-blog .elementor-post-info .elementor-icon-list-icon{display:none}
.cp-blog .elementor-widget-theme-post-featured-image img{display:block;width:100%;height:auto;border-radius:28px;aspect-ratio:16/9;object-fit:cover}
.cp-blog .cp-blog-media{max-width:1120px;margin-inline:auto;padding-inline:max(16px,env(safe-area-inset-left,0px));box-sizing:border-box;width:100%}
.cp-blog .cp-blog-body{max-width:720px;margin-inline:auto;padding:48px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));box-sizing:border-box;width:100%}
.cp-blog .elementor-widget-theme-post-content{font:400 18.5px/1.75 var(--f-body);color:var(--body)}
.cp-blog .elementor-widget-theme-post-content>.elementor-widget-container>*:first-child{margin-top:0}
.cp-blog .elementor-widget-theme-post-content p{margin:0 0 1.15em}
.cp-blog .elementor-widget-theme-post-content h2{font:800 clamp(26px,3vw,34px)/1.15 var(--f-display);letter-spacing:-.025em;color:var(--ink);margin:1.8em 0 .6em}
.cp-blog .elementor-widget-theme-post-content h3{font:700 22px/1.25 var(--f-display);color:var(--ink);margin:1.5em 0 .5em}
.cp-blog .elementor-widget-theme-post-content a{color:var(--deep);font-weight:600;text-underline-offset:3px}
.cp-blog .elementor-widget-theme-post-content ul,.cp-blog .elementor-widget-theme-post-content ol{padding-left:1.3em;margin:0 0 1.2em}
.cp-blog .elementor-widget-theme-post-content li{margin:.35em 0}
.cp-blog .elementor-widget-theme-post-content blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:4px solid var(--blue);font:600 22px/1.45 var(--f-display);color:var(--ink)}
.cp-blog .elementor-widget-theme-post-content img{max-width:100%;height:auto;border-radius:18px}
.cp-blog .elementor-widget-theme-post-content figure{margin:1.6em 0}
.cp-blog .elementor-widget-theme-post-content figcaption{display:none}
.cp-blog .elementor-widget-theme-post-content code{font:500 .9em "IBM Plex Mono",var(--f-mono);background:#E6EDF2;padding:2px 6px;border-radius:6px}
.cp-blog .elementor-widget-theme-post-content table{width:100%;border-collapse:collapse;font-size:16px;margin:1.4em 0;display:block;overflow-x:auto}
.cp-blog .elementor-widget-theme-post-content th,.cp-blog .elementor-widget-theme-post-content td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.cp-blog .elementor-share-buttons--view-icon-text .elementor-share-btn,.cp-blog .elementor-share-btn{border-radius:999px!important;background:#fff!important;box-shadow:0 0 0 1.5px var(--line) inset;color:var(--ink)!important}
.cp-blog .elementor-share-btn__icon i,.cp-blog .elementor-share-btn__icon svg{color:var(--deep)!important;fill:var(--deep)!important}
.cp-blog .cp-blog-share{border-top:1px solid var(--line);padding-top:24px;margin-top:8px}
.cp-blog .cp-blog-share .lbl{font:700 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.cp-blog .elementor-post-navigation{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.cp-blog .elementor-post-navigation a{color:var(--ink);text-decoration:none}
.cp-blog .post-navigation__prev--label,.cp-blog .post-navigation__next--label{font:700 11px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cp-blog .post-navigation__prev--title,.cp-blog .post-navigation__next--title{font:700 17px/1.3 var(--f-display);color:var(--ink)}
.cp-blog .cp-blog-cta{max-width:1120px;margin:24px auto 96px;padding-inline:max(16px,env(safe-area-inset-left,0px));box-sizing:border-box;width:100%}
.cp-blog .cp-blog-cta .in{border-radius:30px;padding:clamp(28px,4vw,48px);background:radial-gradient(600px 300px at 90% 0,rgba(37,169,225,.35),transparent 70%),var(--navy);color:#C9D8E2;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between}
.cp-blog .cp-blog-cta h2{color:#fff;font:800 clamp(26px,3vw,38px)/1.05 var(--f-display);letter-spacing:-.03em;margin:0 0 8px}
.cp-blog .cp-blog-cta .ctas{display:flex;gap:12px;flex-wrap:wrap}
/* archive */
.cp-blog .cp-blog-hero{padding-block:80px 32px;max-width:1120px;margin-inline:auto;padding-inline:max(16px,env(safe-area-inset-left,0px));box-sizing:border-box;width:100%;display:grid;grid-template-columns:1.2fr .8fr;gap:24px 48px;align-items:end}
.cp-blog .cp-blog-hero .eyebrow{color:var(--deep)}
.cp-blog .cp-blog-hero h1{font:800 clamp(44px,6vw,88px)/.95 var(--f-display);letter-spacing:-.045em;color:var(--ink);margin:12px 0 0}
.cp-blog .cp-blog-hero p{font-size:18px;line-height:1.6;color:var(--body)}
@media(max-width:800px){.cp-blog .cp-blog-hero{grid-template-columns:1fr;padding-block:56px 20px}}
.cp-blog .cp-blog-list{max-width:1120px;margin:0 auto 96px;padding-inline:max(16px,env(safe-area-inset-left,0px));box-sizing:border-box;width:100%}
.cp-blog .elementor-posts-container{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.cp-blog .elementor-posts-container .elementor-post{margin:0!important;width:auto!important;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 0 0 1px var(--line) inset;display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s}
.cp-blog .elementor-posts-container .elementor-post:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line) inset,0 30px 60px -36px rgba(11,22,32,.45)}
.cp-blog .elementor-posts-container .elementor-post:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr}
.cp-blog .elementor-post__thumbnail__link{display:block;margin:0!important}
.cp-blog .elementor-post__thumbnail{position:relative;padding-bottom:0!important;aspect-ratio:16/10;overflow:hidden;background:#DFE6EB}
.cp-blog .elementor-post:first-child .elementor-post__thumbnail{aspect-ratio:auto;height:100%;min-height:300px}
.cp-blog .elementor-post__thumbnail img{position:absolute!important;inset:0;top:0;left:0;width:100%!important;height:100%!important;object-fit:cover;transform:none!important}
.cp-blog .elementor-post__text{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.cp-blog .elementor-post:first-child .elementor-post__text{padding:36px;justify-content:center}
.cp-blog .elementor-post__title{margin:0;font:700 21px/1.25 var(--f-display);letter-spacing:-.02em}
.cp-blog .elementor-post:first-child .elementor-post__title{font-size:clamp(28px,3vw,40px);line-height:1.08;letter-spacing:-.03em}
.cp-blog .elementor-post__title a{color:var(--ink);text-decoration:none}
.cp-blog .elementor-post__meta-data{order:-1;font:600 12.5px "IBM Plex Mono",var(--f-mono);color:var(--muted)}
.cp-blog .elementor-post__excerpt p{margin:0;font-size:15.5px;line-height:1.6;color:var(--body)}
.cp-blog .elementor-post__read-more{margin-top:auto;font:700 14px var(--f-body);color:var(--deep);text-decoration:none}
.cp-blog .elementor-pagination{display:flex;gap:8px;justify-content:center;margin-top:44px;font:600 15px var(--f-body)}
.cp-blog .elementor-pagination .page-numbers{min-width:42px;height:42px;display:inline-grid;place-items:center;border-radius:12px;color:var(--ink);text-decoration:none;box-shadow:0 0 0 1.5px var(--line) inset;padding:0 10px}
.cp-blog .elementor-pagination .page-numbers.current{background:var(--ink);color:#fff;box-shadow:none}
.cp-blog .elementor-posts-nothing-found{font-size:18px}
@media(max-width:1000px){.cp-blog .elementor-posts-container{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.cp-blog .elementor-posts-container{grid-template-columns:1fr}.cp-blog .elementor-posts-container .elementor-post:first-child{grid-template-columns:1fr}.cp-blog .elementor-post:first-child .elementor-post__thumbnail{aspect-ratio:16/10;min-height:0}.cp-blog .elementor-post:first-child .elementor-post__text{padding:22px 24px 26px}}

.cp-blog .cp-blog-hero .elementor-heading-title{font:800 clamp(44px,6vw,88px)/.95 var(--f-display);letter-spacing:-.045em;color:var(--ink);margin:12px 0 0}
.cp-blog .cp-blog-hero .elementor-widget{margin:0}
.cp-blog .e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.cpv2 .ppanel[hidden],.cpv2 .pipe-card[hidden],.cpv2 .fq-list details[hidden],.cpv2 .fq-none[hidden],.cpv2 [data-cp-tabs2] [hidden]{display:none!important}
/* blog: empty state (Archive Posts "nothing found" message) */
.cp-blog .elementor-posts-container:empty{display:none!important}
.cp-blog .elementor-posts-nothing-found{position:relative;max-width:640px;margin:8px auto 0;padding:120px 32px 40px;text-align:center;border-radius:28px;background:#fff;box-shadow:0 0 0 1px var(--line) inset;font:700 clamp(22px,2.4vw,28px)/1.25 var(--f-display);letter-spacing:-.02em;color:var(--ink)}
.cp-blog .elementor-posts-nothing-found::before{content:"";position:absolute;left:50%;top:36px;width:64px;height:64px;margin-left:-32px;border-radius:18px;background:#E6F4FB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B74A6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M10 13h6M10 17h4'/%3E%3C/svg%3E") center/30px no-repeat}
.cp-blog .elementor-posts-nothing-found::after{content:"Meanwhile, see how a day runs on CloudyPOS on the How it works page, or ask us anything on WhatsApp.";display:block;margin-top:12px;font:400 16px/1.6 var(--f-body);letter-spacing:0;color:var(--body)}
/* 404 */
.cpv2 .e404{padding-block:96px 120px;position:relative;overflow:hidden}
.cpv2 .e404-in{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.cpv2 .e404 h1{font-size:clamp(44px,6vw,84px);line-height:.96;letter-spacing:-.045em;margin-top:14px}
.cpv2 .e404 .lead{font-size:18px;line-height:1.6;max-width:520px;margin-top:18px}
.cpv2 .e404-search{display:flex;gap:10px;margin-top:26px;max-width:520px}
.cpv2 .e404-search input{flex:1;min-width:0;height:52px;border-radius:14px;border:1.5px solid var(--line-d);background:var(--panel);color:var(--t-hi);padding:0 18px;font:500 16px var(--f-body)}
.cpv2 .e404-search input::placeholder{color:var(--t-lo)}
.cpv2 .e404-search input:focus{outline:2px solid var(--ice);outline-offset:2px}
.cpv2 .e404-search .btn{height:52px;border:0;cursor:pointer}
.cpv2 .e404-links{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cpv2 .e404-links a{display:inline-flex;height:40px;align-items:center;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);color:var(--t-hi);font:600 14px var(--f-body);text-decoration:none}
.cpv2 .e404-links a:hover{border-color:var(--ice)}
.cpv2 .e404-rc{justify-self:center;width:300px;max-width:100%;background:#FBFAF6;color:#2A3038;padding:28px 26px 30px;font:500 13px/1.6 "IBM Plex Mono",var(--f-mono);transform:rotate(2.5deg);box-shadow:0 50px 90px -40px rgba(0,0,0,.85);-webkit-mask:radial-gradient(circle 6px at 50% 100%,transparent 98%,#000) 0 0/14px 100% repeat-x;mask:radial-gradient(circle 6px at 50% 100%,transparent 98%,#000) 0 0/14px 100% repeat-x}
.cpv2 .e404-rc .rc-logo{text-align:center;font:800 22px var(--f-display);color:#0B1620;letter-spacing:-.02em}
.cpv2 .e404-rc .rc-logo span{color:var(--deep)}
.cpv2 .e404-rc .rc-c{text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#7D8E9B;margin-top:4px}
.cpv2 .e404-rc hr{border:0;border-top:1.5px dashed #B9C6CF;margin:14px 0}
.cpv2 .e404-rc .r{display:flex;justify-content:space-between;gap:12px}
.cpv2 .e404-rc .path{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cpv2 .e404-rc .tot{font-weight:700;color:#B3302A}
.cpv2 .e404-rc .foot{text-align:center;margin-top:18px;font-size:11.5px;color:#7D8E9B}
@media(max-width:860px){.cpv2 .e404-in{grid-template-columns:1fr;gap:40px}.cpv2 .e404{padding-block:64px 88px}.cpv2 .e404-search{flex-direction:column}}
/* =========================================================== RESTAURANTS: Friday night floor */
.cpv2 .rt{display:grid;grid-template-columns:.8fr 1.2fr .9fr;gap:20px;align-items:start}
.cpv2 .rt .k{font:600 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ice);margin-bottom:12px}
.cpv2 .rt-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cpv2 .rt-steps ol button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;gap:12px;align-items:flex-start;padding:13px 15px;border-radius:16px;background:var(--panel);border:1px solid var(--line-d);color:var(--t-mid);font:600 14.5px/1.35 var(--f-body);transition:background-color .2s,border-color .2s,color .2s}
.cpv2 .rt-steps ol button span{font:600 12px/1.6 "IBM Plex Mono",var(--f-mono);color:var(--ice);flex:none}
.cpv2 .rt-steps ol button:hover{border-color:var(--ice)}
.cpv2 .rt-steps ol button:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cpv2 .rt-steps ol button[aria-pressed="true"]{background:#0A3550;border-color:var(--blue);color:var(--t-hi)}
.cpv2 .rt-steps .done button span::after{content:" ✓"}
.cpv2 .rt-reset{color:var(--ice);margin-top:12px}
.cpv2 .rt-floor,.cpv2 .rt-panel{border-radius:24px;background:#fff;color:var(--ink);padding:16px;box-shadow:0 50px 100px -60px rgba(0,0,0,.8)}
.cpv2 .rt-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.cpv2 .rt-h b{font:800 16px var(--f-display);letter-spacing:-.01em}
.cpv2 .rt-h span{font:600 12px var(--f-body);color:var(--muted)}
.cpv2 .rt-h .rt-key{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap}
.cpv2 .rt-h .rt-key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-left:4px}
.cpv2 .rt-key i.free{background:#DFE6EB}.cpv2 .rt-key i.busy{background:var(--warn)}.cpv2 .rt-key i.eat{background:var(--blue)}.cpv2 .rt-key i.res{background:#7CD3F5;box-shadow:inset 0 0 0 2px var(--deep)}
.cpv2 .rt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;border-radius:18px;background:var(--paper)}
.cpv2 .rt-t{all:unset;box-sizing:border-box;cursor:default;position:relative;aspect-ratio:1;min-height:92px;border-radius:18px;background:#fff;box-shadow:0 0 0 2px #DFE6EB inset;display:grid;place-content:center;justify-items:center;gap:2px;text-align:center;transition:background-color .3s,box-shadow .3s}
.cpv2 .rt-t b{font:800 22px/1 var(--f-display)}
.cpv2 .rt-t .st{font:700 11px var(--f-body);color:var(--muted)}
.cpv2 .rt-t small{font-size:11px;color:var(--muted)}
.cpv2 .rt-t[data-st="ordered"]{background:var(--warn-soft);box-shadow:0 0 0 2px var(--warn) inset}.cpv2 .rt-t[data-st="ordered"] .st{color:var(--warn-ink)}
.cpv2 .rt-t[data-st="eating"]{background:#E6F4FB;box-shadow:0 0 0 2px var(--blue) inset}.cpv2 .rt-t[data-st="eating"] .st{color:var(--deep)}
.cpv2 .rt-t[data-st="booked"]{background:#fff;box-shadow:0 0 0 2px var(--deep) inset}.cpv2 .rt-t[data-st="booked"] .st{color:var(--deep)}
.cpv2 .rt-t[data-st="paid"]{background:var(--ok-soft);box-shadow:0 0 0 2px var(--ok) inset}.cpv2 .rt-t[data-st="paid"] .st{color:var(--ok-ink)}
.cpv2 .rt-t.hi{animation:rt-pop .5s var(--ease)}
@keyframes rt-pop{40%{transform:scale(1.06)}}
.cpv2 .rt-t .bell{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--warn);display:none}
.cpv2 .rt-t .bell::after{content:"!";display:grid;place-items:center;height:100%;font:800 13px var(--f-body);color:#3B2A07}
.cpv2 .rt-t.calling .bell{display:block;animation:rt-ring 1.2s ease-in-out infinite}
@keyframes rt-ring{50%{transform:scale(1.25)}}
.cpv2 .rt-say{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--paper);font-size:14.5px;line-height:1.5;color:var(--body);animation:cp-in .3s var(--ease)}
.cpv2 .rt-say b{color:var(--ink)}
.cpv2 .rt-side{display:grid;gap:14px}
.cpv2 .rt-kots{display:grid;gap:8px}
.cpv2 .rt-kots .em{color:var(--muted);font-size:13.5px}
.cpv2 .kot{border-radius:12px;padding:10px 12px;background:#FBFAF6;box-shadow:inset 4px 0 0 var(--warn);font:500 12.5px/1.5 "IBM Plex Mono",var(--f-mono);color:#2A3038;animation:cp-in .3s var(--ease)}
.cpv2 .kot .kh{display:flex;justify-content:space-between;gap:8px;font:700 12px var(--f-body);margin-bottom:4px}
.cpv2 .kot .tag{font:700 10.5px var(--f-body);padding:3px 7px;border-radius:99px;background:#E6EDF2;color:var(--ink)}
.cpv2 .kot.ready{box-shadow:inset 4px 0 0 var(--ok);opacity:.75}
.cpv2 .kot .x{text-decoration:line-through;color:#B3302A}
.cpv2 .rt-board{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cpv2 .rt-board>div{border-radius:12px;background:var(--navy);color:#fff;padding:10px}
.cpv2 .rt-board span{font:700 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ice)}
.cpv2 .rt-board ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;min-height:28px}
.cpv2 .rt-board li{font:800 16px "IBM Plex Mono",var(--f-mono);padding:2px 8px;border-radius:8px;background:rgba(255,255,255,.1);animation:cp-in .3s var(--ease)}
.cpv2 .rt-board [data-ready] li{background:var(--ok);color:#00111C}
.cpv2 .rt-bill[hidden]{display:none}
.cpv2 .rt-split{display:grid;gap:8px;font-size:13.5px}
.cpv2 .rt-split .r{display:flex;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:12px;background:var(--paper)}
.cpv2 .rt-split .r b{font:700 13px "IBM Plex Mono",var(--f-mono)}
.cpv2 .rt-split .pm{font:700 11px var(--f-body);padding:3px 8px;border-radius:99px;background:var(--warn-soft);color:var(--warn-ink)}
.cpv2 .rt-split .pm.cash{background:var(--ok-soft);color:var(--ok-ink)}
.cpv2 .rt-split .tot{font-weight:700;background:#fff;box-shadow:0 0 0 1px var(--line) inset}
@media(max-width:1100px){.cpv2 .rt{grid-template-columns:1fr 1fr}.cpv2 .rt-steps{grid-column:1/-1}.cpv2 .rt-steps ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.cpv2 .rt{grid-template-columns:1fr}.cpv2 .rt-steps ol{grid-template-columns:1fr}.cpv2 .rt-t{min-height:80px}}
.cpv2 .rt-h .rt-key{font:600 12px var(--f-body);color:var(--muted);background:none;padding:0}

/* ===== CloudyPOS site header and footer (.cpv2-chrome) ===== */
.cpv2-chrome{--c-night:#00111C;--c-night2:#031E2E;--c-panel:#062A40;--c-blue:#25A9E1;--c-ice:#7CD3F5;--c-hi:#FFFFFF;--c-mid:#C9D8E2;--c-lo:#8FA7B8;--c-line:rgba(255,255,255,.09);
  --c-disp:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--c-body:Figtree,"Segoe UI",system-ui,-apple-system,sans-serif;--c-ease:cubic-bezier(.2,.7,.2,1);
  font-family:var(--c-body);color:var(--c-mid);-webkit-font-smoothing:antialiased}
.cpv2-chrome *,.cpv2-chrome *::before,.cpv2-chrome *::after{box-sizing:border-box}
.cpv2-chrome a{text-decoration:none}
.cpv2-chrome a:focus-visible,.cpv2-chrome button:focus-visible{outline:2px solid var(--c-ice);outline-offset:3px;border-radius:8px}

/* Elementor wrappers: no padding, sticky header */
.e-con.cpv2-chrome{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;padding:0;gap:0}
.cpv2-chrome .elementor-widget-container{margin:0;padding:0}
.elementor-location-header:has(.cp-head){position:sticky;top:0;z-index:1000}
body.admin-bar .elementor-location-header:has(.cp-head){top:32px}
@media (max-width:782px){body.admin-bar .elementor-location-header:has(.cp-head){top:46px}}
body:has(.cp-head) .cpv2{--cp-head:64px}
body.admin-bar:has(.cp-head) .cpv2{--cp-head:96px}

/* ---------- header ---------- */
.cpv2-chrome .cp-head{position:relative;background:rgba(0,17,28,.78);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid var(--c-line)}
.cpv2-chrome .cp-head-in{max-width:1200px;margin:0 auto;height:64px;display:flex;align-items:center;gap:28px;
  padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.cpv2-chrome .cp-logo{font:800 22px/1 var(--c-disp);letter-spacing:-.03em;color:var(--c-hi);flex:none}
.cpv2-chrome .cp-logo span{color:var(--c-blue)}
.cpv2-chrome .cp-logo img{display:block;height:32px;width:auto}
.cpv2-chrome .cp-nav{flex:1;min-width:0}
.cpv2-chrome .cp-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.cpv2-chrome .cp-nav li{position:relative}
.cpv2-chrome .cp-top,.cpv2-chrome .cp-dd-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:10px;border:0;background:none;
  font:500 14px/1 var(--c-body);color:var(--c-mid);cursor:pointer;transition:color .15s,background-color .15s}
.cpv2-chrome .cp-top:hover,.cpv2-chrome .cp-dd-btn:hover,.cpv2-chrome .has-dd.open .cp-dd-btn{color:var(--c-hi);background:rgba(255,255,255,.06)}
.cpv2-chrome .cp-dd-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--c-ease)}
.cpv2-chrome .has-dd.open .cp-dd-btn svg{transform:rotate(180deg)}
.cpv2-chrome .cp-dd{position:absolute;left:-8px;top:calc(100% + 10px);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s var(--c-ease),transform .18s var(--c-ease),visibility 0s .18s}
.cpv2-chrome .has-dd.open .cp-dd{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.cpv2-chrome .cp-dd::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.cpv2-chrome .cp-dd-grid{display:grid;gap:2px;min-width:300px;padding:8px;border-radius:18px;background:var(--c-night2);border:1px solid var(--c-line);box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
.cpv2-chrome .cp-dd-grid.two{grid-template-columns:1fr 1fr;min-width:560px}
.cpv2-chrome .cp-dd-grid a{display:grid;gap:3px;padding:12px 14px;border-radius:12px;transition:background-color .15s}
.cpv2-chrome .cp-dd-grid a:hover,.cpv2-chrome .cp-dd-grid a:focus-visible{background:rgba(124,211,245,.08)}
.cpv2-chrome .cp-dd-grid b{font:600 14px/1.3 var(--c-body);color:var(--c-hi)}
.cpv2-chrome .cp-dd-grid span{font-size:13px;line-height:1.4;color:var(--c-lo)}
.cpv2-chrome .cp-head-cta{display:flex;align-items:center;gap:16px;flex:none}
.cpv2-chrome .cp-signin{font:600 14px/1 var(--c-body);color:var(--c-mid)}
.cpv2-chrome .cp-signin:hover{color:var(--c-hi)}
.cpv2-chrome .cp-cta,.cpv2-chrome .cp-ghost{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:999px;font:600 14px/1 var(--c-body);transition:background-color .2s,transform .2s var(--c-ease),border-color .2s}
.cpv2-chrome .cp-cta{background:var(--c-blue);color:#001B2B;box-shadow:0 8px 24px -10px rgba(37,169,225,.7)}
.cpv2-chrome .cp-cta:hover{background:#5CC2EC;transform:translateY(-1px)}
.cpv2-chrome .cp-ghost{border:1.5px solid rgba(255,255,255,.28);color:var(--c-hi)}
.cpv2-chrome .cp-burger{display:none;width:44px;height:44px;margin-left:auto;border:0;border-radius:12px;background:rgba(255,255,255,.06);cursor:pointer;position:relative}
.cpv2-chrome .cp-burger i{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:var(--c-hi);transition:transform .25s var(--c-ease),top .25s var(--c-ease)}
.cpv2-chrome .cp-burger i:first-child{top:17px}.cpv2-chrome .cp-burger i:last-child{top:25px}
.cpv2-chrome .cp-burger[aria-expanded="true"] i:first-child{top:21px;transform:rotate(45deg)}
.cpv2-chrome .cp-burger[aria-expanded="true"] i:last-child{top:21px;transform:rotate(-45deg)}
.cpv2-chrome .cp-mnav{position:absolute;left:0;right:0;top:100%;height:calc(100vh - 64px);height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;
  background:var(--c-night);border-top:1px solid var(--c-line);padding:24px max(20px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));
  display:grid;gap:28px;align-content:start}
.cpv2-chrome .cp-mnav[hidden]{display:none}
.cpv2-chrome .cp-mlabel{margin:0 0 6px;font:600 12px/1 var(--c-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ice)}
.cpv2-chrome .cp-mgroup{display:grid}
.cpv2-chrome .cp-mgroup a{padding:11px 0;font:600 19px/1.2 var(--c-disp);letter-spacing:-.01em;color:var(--c-hi);border-bottom:1px solid var(--c-line)}
.cpv2-chrome .cp-mcta{display:grid;gap:10px}
.cpv2-chrome .cp-mcta a{height:50px;font-size:16px}
/* Mobile menu open: lock the page on <html> only (overflow on <body> breaks the sticky header), and pin the header so it stays on screen. */
html.cp-menu-open{overflow:hidden}
html.cp-menu-open .elementor-location-header{position:fixed!important;top:var(--wp-admin--admin-bar--height,0px);left:0;right:0;z-index:1000}
html.cp-menu-open body{padding-top:var(--cp-hh,64px)}
@media (max-width:1040px){
  .cpv2-chrome .cp-nav,.cpv2-chrome .cp-head-cta{display:none}
  .cpv2-chrome .cp-burger{display:block}
}

/* ---------- footer ---------- */
.cpv2-chrome .cp-foot{background:var(--c-night);border-top:1px solid var(--c-line);padding-block:72px 32px}
.cpv2-chrome .cp-foot-in,.cpv2-chrome .cp-foot-base{max-width:1200px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.cpv2-chrome .cp-foot-in{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:40px}
.cpv2-chrome .cp-fbrand{display:grid;gap:16px;align-content:start;justify-items:start;max-width:320px}
.cpv2-chrome .cp-fbrand p{margin:0;font-size:15px;line-height:1.6}
.cpv2-chrome .cp-fbrand small{font-size:13px;color:var(--c-lo)}
.cpv2-chrome .cp-flabel{margin:0 0 14px;font:600 12px/1 var(--c-body);letter-spacing:.14em;text-transform:uppercase;color:var(--c-ice)}
.cpv2-chrome .cp-fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cpv2-chrome .cp-fcol a,.cpv2-chrome .cp-fcol span{font-size:14px;line-height:1.4;color:var(--c-mid)}
.cpv2-chrome .cp-fcol a:hover{color:var(--c-hi)}
.cpv2-chrome .cp-foot-base{margin-top:56px;padding-top:24px;border-top:1px solid var(--c-line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--c-lo)}
.cpv2-chrome .cp-legal{display:flex;gap:18px}
.cpv2-chrome .cp-legal a{color:var(--c-lo)}.cpv2-chrome .cp-legal a:hover{color:var(--c-hi)}
@media (max-width:1040px){.cpv2-chrome .cp-foot-in{grid-template-columns:1fr 1fr 1fr}.cpv2-chrome .cp-fbrand{grid-column:1/-1;max-width:none}}
@media (max-width:600px){.cpv2-chrome .cp-foot-in{grid-template-columns:1fr 1fr;gap:32px 20px}}
@media (prefers-reduced-motion:reduce){.cpv2-chrome *{transition:none!important}}
.cpv2-chrome .cp-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.cpv2-chrome .cp-logo img.cp-mark{width:32px;height:32px;border-radius:9px;flex:none}
.cpv2-chrome .cp-fbrand .cp-logo img.cp-mark{width:36px;height:36px;border-radius:10px}
.cpv2-chrome .cp-logo .cp-word{color:var(--c-hi)}.cpv2-chrome .cp-logo .cp-word span{color:var(--c-blue)}
