/* ===== qr-scanner: page design, scoped to .pxqrs ===== */
.pxqrs{
  --ink:#1c1714; --ink-2:#4a4039; --muted:#7a6e66; --line:#f1e4da; --line-2:#e3d2c5;
  --paper:#fff; --cream:#fff8f3; --peach:#fdeadf; --peach-2:#fbd9c6;
  --orange:#eb600e; --orange-d:#c94f08; --orange-t:#b8520f;
  --dark:#1e1916;
  --pass:#15803d; --warn:#b45309; --fail:#b3261e;
  --font-head:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.pxqrs *{box-sizing:border-box}
.pxqrs{margin:0;font-family:var(--font-body);font-size:16.5px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
.pxqrs a{color:var(--orange-t)}
.pxqrs strong{font-weight:700}
.pxqrs img,.pxqrs svg{max-width:100%}
.pxqrs:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:6px}
.pxqrs [hidden]{display:none!important}
.pxqrs .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pxqrs h1,.pxqrs h2,.pxqrs h3{font-family:var(--font-head);font-weight:700;letter-spacing:-.015em;color:var(--ink);margin:0 0 .45em}
.pxqrs h1{font-size:clamp(2.4rem,5.4vw,3.7rem);line-height:1.04}
.pxqrs h2{font-size:clamp(1.75rem,3.2vw,2.4rem);line-height:1.12}
.pxqrs h3{font-size:1.2rem;line-height:1.25}
.pxqrs p{margin:0 0 1em}
.pxqrs .container{max-width:1120px;margin:0 auto;padding:0 24px}
.pxqrs .narrow{max-width:760px;margin:0 auto;text-align:center}
.pxqrs .narrow p{color:var(--ink-2)}
.pxqrs .kicker{display:inline-block;font-size:12.5px;font-weight:700;color:var(--orange-t);background:var(--peach);border-radius:999px;padding:4px 12px;margin:0 0 12px}
.pxqrs .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font:600 15px/1.2 var(--font-body);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
.pxqrs .btn-orange{background:var(--orange);color:#fff}
.pxqrs .btn-orange:hover{background:var(--orange-d)}
.pxqrs .btn-dark{background:var(--dark);color:#fff}
.pxqrs .btn-dark:hover{background:#3a312b}
.pxqrs .btn-ghost{background:#fff;color:var(--ink);border-color:var(--line-2)}
.pxqrs .btn-ghost:hover{border-color:var(--ink)}
.pxqrs .btn-sm{padding:8px 15px;font-size:14px}
.pxqrs .hero{padding:30px 0 56px;text-align:center;background:linear-gradient(180deg,var(--cream) 0,#fff 460px)}
.pxqrs .crumbs{font-size:13.5px;color:var(--muted);display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pxqrs .crumbs a{color:var(--muted);text-decoration:none}
.pxqrs .crumbs a:hover{color:var(--ink);text-decoration:underline}
.pxqrs .hero .sub{font-size:1.1rem;color:var(--ink-2);max-width:640px;margin:0 auto}
.pxqrs .pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.pxqrs .pills li{font-size:13.5px;font-weight:600;border-radius:999px;padding:5px 14px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.pxqrs .wc{max-width:1060px;margin:30px auto 0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 1px 2px rgba(28,23,20,.04),0 30px 60px -36px rgba(120,60,20,.35);padding:24px}
.pxqrs .section{padding:84px 0}
.pxqrs .section.tint{background:var(--cream)}
.pxqrs .split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.pxqrs .split.rev .art{order:-1}
.pxqrs .copy p{color:var(--ink-2)}
.pxqrs .art{background:var(--peach);border-radius:24px;padding:32px;min-height:340px;display:grid;place-items:center}
.pxqrs .steps4{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;counter-reset:st;padding:0;list-style:none}
.pxqrs .steps4 li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;position:relative;font-size:15px;color:var(--ink-2)}
.pxqrs .steps4 li::before{counter-increment:st;content:counter(st,decimal-leading-zero);display:block;font:700 2.1rem/1 var(--font-head);color:var(--peach-2);margin-bottom:10px}
.pxqrs .steps4 b{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}
.pxqrs .center-copy{text-align:center;color:var(--ink-2);margin:26px auto 0;max-width:680px}
.pxqrs .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.pxqrs .tipcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column}
.pxqrs .tipcard .tag{align-self:flex-start;font-size:12px;font-weight:700;color:var(--orange-t);background:var(--peach);border-radius:999px;padding:3px 10px;margin-bottom:12px}
.pxqrs .tipcard p{font-size:15px;color:var(--ink-2);margin:0}
.pxqrs .who{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.pxqrs .who div{border:1px solid var(--line);border-radius:16px;padding:20px 16px;text-align:center;background:#fff}
.pxqrs .who b{display:block;font:700 1.05rem/1.25 var(--font-head);margin-bottom:4px}
.pxqrs .who span{font-size:13.5px;color:var(--muted)}
.pxqrs .related{text-align:center;margin:26px 0 0;color:var(--ink-2)}
.pxqrs .duo{display:grid;grid-template-columns:1fr 1fr;border-radius:26px;overflow:hidden}
.pxqrs .duo-dark{background:var(--dark);padding:44px 36px;display:grid;place-items:center;color:#fff;border-radius:26px 0 0 26px}
.pxqrs .duo-orange{background:#fde8dc;border:1px solid #fbd9c6;border-left:0;padding:48px 44px;color:var(--ink);border-radius:0 26px 26px 0}
.pxqrs .duo-orange h2{color:var(--ink)}
.pxqrs .duo-orange p{color:var(--ink-2)}
@media (max-width:900px){.pxqrs .duo-dark{border-radius:26px 26px 0 0}
.pxqrs .duo-orange{border-radius:0 0 26px 26px;border-left:1px solid #fbd9c6;border-top:0}}
.pxqrs .faq{max-width:820px;margin:34px auto 0}
.pxqrs .faq details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:10px}
.pxqrs .faq summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:700;font-size:15.5px}
.pxqrs .faq summary::-webkit-details-marker{display:none}
.pxqrs .faq summary::after{content:"+";flex:0 0 26px;height:26px;border-radius:50%;background:var(--orange);color:#fff;font:600 18px/26px var(--font-body);text-align:center}
.pxqrs .faq details[open] summary::after{content:"\2212"}
.pxqrs .faq details[open]{border-color:var(--peach-2)}
.pxqrs .faq .a{padding:0 20px 16px;color:var(--ink-2);font-size:15px}
.pxqrs .faq .a p{margin:0}
.pxqrs .worked{max-width:980px;margin:34px auto 0;background:#fff;border:1px solid var(--peach-2);border-radius:22px;padding:22px}
.pxqrs .worked-cap{text-align:center;font-size:12.5px;font-weight:700;color:var(--orange-t);margin:0 0 16px}
.pxqrs .worked-grid{display:grid;grid-template-columns:1fr 44px 1.5fr;gap:12px;align-items:stretch}
.pxqrs .w-in,.pxqrs .w-out{border:1px solid var(--line);border-radius:14px;padding:16px;font-size:14px}
.pxqrs .w-in small,.pxqrs .w-out small{display:block;font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:8px}
.pxqrs .w-in dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px}
.pxqrs .w-in dt{color:var(--muted)}
.pxqrs .w-in dd{margin:0;font-weight:600}
.pxqrs .w-arrow{display:grid;place-items:center;color:var(--orange);font-size:22px}
.pxqrs .w-out{background:var(--cream);border-color:var(--peach-2)}
.pxqrs .w-score{font:700 2.4rem/1 var(--font-head);color:var(--pass);margin:0 0 2px;font-variant-numeric:tabular-nums}
.pxqrs .w-note{font-size:13.5px;color:var(--ink-2);margin:6px 0 0}
.pxqrs .more{background:var(--cream);border:1px solid var(--line);border-radius:28px;padding:64px 28px}
.pxqrs .more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1060px;margin:34px auto 0}
.pxqrs .more-grid a{display:flex;gap:14px;align-items:flex-start;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}
.pxqrs .more-grid a:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 14px 28px -22px rgba(120,60,20,.4)}
.pxqrs .more-grid .mi{flex:0 0 42px;height:42px;border-radius:12px;background:var(--peach);color:var(--orange);display:grid;place-items:center}
.pxqrs .more-grid .mi svg{width:21px;height:21px}
.pxqrs .more-grid strong{display:block;font-size:15px;line-height:1.3;margin-bottom:3px}
.pxqrs .more-grid .d{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.45;color:var(--ink-2)}
.pxqrs.js-on .rv{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1)}
.pxqrs .rv.is-in{opacity:1;transform:none}
@media (max-width:980px){.pxqrs .bands{grid-template-columns:1fr 1fr}
.pxqrs .who{grid-template-columns:1fr}
.pxqrs .cards3{grid-template-columns:1fr}
.pxqrs .steps4{grid-template-columns:1fr}}
@media (max-width:900px){.pxqrs .split,.pxqrs .duo{grid-template-columns:1fr;gap:28px}
.pxqrs .split.rev .art{order:0}
.pxqrs .art{min-height:0;padding:24px}
.pxqrs .duo-orange{padding:36px 26px}
.pxqrs .more-grid{grid-template-columns:1fr 1fr}
.pxqrs .worked-grid{grid-template-columns:1fr}
.pxqrs .w-arrow{transform:rotate(90deg);height:30px}
.pxqrs .section{padding:64px 0}}
@media (max-width:600px){.pxqrs .container{padding:0 16px}
.pxqrs .more-grid,.pxqrs .bands{grid-template-columns:1fr}
.pxqrs .more{padding:48px 16px}
.pxqrs .dial-split{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.pxqrs *,.pxqrs *::before,.pxqrs *::after{animation:none!important;transition:none!important}
.pxqrs .rv{opacity:1;transform:none}}
.pxqrs .dw{width:100%;max-width:400px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.pxqrs .dw-h{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:700;
  letter-spacing:.04em;color:var(--muted);margin-bottom:12px}
.pxqrs .dw-h b{color:var(--orange-t);font-weight:700}
.pxqrs .steps-n{display:grid;gap:14px;margin-top:36px;counter-reset:st;padding:0;list-style:none}
.pxqrs .steps-n.c3{grid-template-columns:repeat(3,1fr)}
.pxqrs .steps-n.c4{grid-template-columns:repeat(4,1fr)}
.pxqrs .steps-n.c5{grid-template-columns:repeat(5,1fr)}
.pxqrs .steps-n li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;font-size:14.5px;color:var(--ink-2)}
.pxqrs .steps-n li::before{counter-increment:st;content:counter(st,decimal-leading-zero);display:block;
  font:700 1.9rem/1 var(--font-head);color:var(--peach-2);margin-bottom:9px}
.pxqrs .steps-n b{display:block;color:var(--ink);font-size:15.5px;margin-bottom:4px}
@media (max-width:980px){.pxqrs .steps-n.c4,.pxqrs .steps-n.c5{grid-template-columns:1fr 1fr}
.pxqrs .steps-n.c3{grid-template-columns:1fr}}
@media (max-width:600px){.pxqrs .steps-n{grid-template-columns:1fr!important}}
.pxqrs .feat{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px;padding:0;list-style:none}
.pxqrs .feat li{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:14px 16px;font-size:14.5px;color:var(--ink-2)}
.pxqrs .feat li::before{content:"";flex:0 0 17px;height:17px;margin-top:3px;border-radius:50%;background:var(--peach);
  box-shadow:inset 0 0 0 5px var(--orange)}
@media (max-width:700px){.pxqrs .feat{grid-template-columns:1fr}}
.pxqrs .bands{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.pxqrs .band{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 20px;position:relative;overflow:hidden}
.pxqrs .band .r{font:700 1.4rem/1 var(--font-head);margin-bottom:8px}
.pxqrs .band p{font-size:14.5px;color:var(--ink-2);margin:0}
.pxqrs .band .edge{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line-2)}
.pxqrs .band.t1 .edge{background:var(--pass)}
.pxqrs .band.t1 .r{color:var(--pass)}
.pxqrs .band.t2 .edge{background:var(--orange)}
.pxqrs .band.t2 .r{color:var(--orange-t)}
.pxqrs .band.t3 .edge{background:var(--warn)}
.pxqrs .band.t3 .r{color:var(--warn)}
.pxqrs .band.t4 .edge{background:var(--fail)}
.pxqrs .band.t4 .r{color:var(--fail)}
@media (max-width:980px){.pxqrs .bands{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pxqrs .bands{grid-template-columns:1fr}}
.pxqrs .d-scan{position:relative;width:100%;max-width:330px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:14px;overflow:hidden}
.pxqrs .d-scan .ln{height:9px;border-radius:5px;background:#f2e8e0;margin:8px 0}
.pxqrs .d-scan .ln.w1{width:68%}
.pxqrs .d-scan .ln.w2{width:92%}
.pxqrs .d-scan .ln.w3{width:80%}
.pxqrs .d-scan .hero{height:52px;border-radius:9px;background:var(--peach);margin-bottom:10px}
.pxqrs .d-scan .beam{position:absolute;left:0;right:0;height:46px;top:-50px;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(235,96,14,.16),transparent);border-top:2px solid var(--orange)}
.pxqrs .d-scan.in .beam{animation:scanmove 2.6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes scanmove{0%{top:-50px}100%{top:100%}}
.pxqrs .d-scan .flag{position:absolute;right:10px;font-size:10.5px;font-weight:700;border-radius:999px;
  padding:3px 9px;background:var(--fail);color:#fff;opacity:0;transform:translateX(6px);transition:opacity .4s,transform .4s}
.pxqrs .d-scan .flag.on{opacity:1;transform:none}
.pxqrs .d-scan .f1{top:22px}
.pxqrs .d-scan .f2{top:96px}

/* ===== the tool, re-pointed at the design palette ===== */
/* ==== the live tool, re-pointed at the design palette ====
   .parix-qrs lives in the theme's style.css and is untouched there. It reads its
   own --qr-* namespace, so these are the only declarations that recolour
   it; --primary/--accent would do nothing at all. */
.pxqrs .parix-qrs{
  --qr-primary:#eb600e;
  --qr-primary-dark:#c94f08;
  --qr-text:#3a2a21;          /* was a cool near-black */
  --qr-muted:#7d6b61;         /* was a cool grey; 5.06:1 on white */
  --qr-border:#f8e6da;        /* was cool */
  --qr-soft:#fff8f4;          /* was cool */
  --qr-radius:16px;
  font-family:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  max-width:none; margin:28px auto 0; padding:0; text-align:left;
}
