/* Inner-page component kit, lifted from the homepage (assets/home.css) so every new page speaks the same language.
   Scoped to <body class="pg">: pages built before the kit never pick it up, and none of its class names leak.
   How to use each component, with the markup to copy: tools/partials/KIT.md. Start new pages from tools/partials/page-template.html.
   The header and footer are not here: they are chrome.css. */

/* ---------- Tokens and base ---------- */
.pg{
  --canvas:#F3F2EE;--canvas-2:#EAE9E3;--tile:#E8E7E1;--line:#D8D7D0;
  --ink:#14201B;--ink-2:#4A5550;
  --green:#1C4A39;--green-2:#27604B;--green-deep:#0C261E;
  --dark:#0F1714;--on-dark:#EEF2EF;--on-dark-2:#A9B9B1;
  --font:'Geist','Inter',Helvetica,Arial,sans-serif;
  --gut:max(24px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--max:1440px;--bar:68px;
  --grade:saturate(.86) contrast(1.04) brightness(.98);
  --edge:rgba(20,32,27,.10);--edge-dk:rgba(255,255,255,.12);
  --r-s:8px;--r-m:12px;--r-l:20px;
  --ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --sh-1:0 1px 2px rgba(12,38,30,.06);
  --sh-2:0 18px 44px rgba(12,38,30,.14);
  --sh-3:0 40px 100px rgba(2,14,10,.45),0 2px 6px rgba(2,14,10,.2);
  --fs-h1:clamp(40px,4.4vw,64px);--fs-h2:clamp(30px,3.1vw,44px);--fs-h3:20px;--fs-body:17px;
  /* product UI tokens */
  --u-ink:#1A1A1A;--u-2:#525252;--u-3:#6B6B6B;--u-line:#EBEBEB;--u-in:#E2E2E2;--u-wash:#F5F5F5;--u-canvas:#FAFAFA;
  --u-dark:#1F1F1F;--u-teal:#0E7A6B;--u-teal-w:#E7F2EF;--u-teal-b:#BFDED6;
  --u-att:#B45309;--u-att-d:#E0A030;--u-att-w:#FDF3E4;--u-blk:#C2410C;--u-blk-d:#DC4A2B;--u-blk-w:#FDEBE4;--u-ok:#166A3F;--u-ok-d:#2E9E62;--u-ok-w:#E6F4EC;
  --u-av:#EAE6DF;--u-av-t:#57534A;
}
html:has(body.pg){scroll-padding-top:calc(var(--bar, 68px) + 12px + env(safe-area-inset-top, 0px));-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body.pg{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;letter-spacing:-0.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;}
.pg main *,.pg main *::before,.pg main *::after{box-sizing:border-box;}
.pg main a{color:inherit;text-decoration:none;}
.pg main img,.pg main video{display:block;max-width:100%;}
.pg main :is(h1,h2,h3,h4,p,ul,ol,figure,dl,dd){margin:0;}
.pg main :is(ul,ol){padding:0;list-style:none;}
.pg main :is(h1,h2,h3){font-weight:500;letter-spacing:-0.03em;text-wrap:balance;}
.pg main p{text-wrap:pretty;}
.pg main button{font:inherit;}
.pg main :is(a,button){touch-action:manipulation;}
.pg main :focus-visible{outline:2px solid var(--green-2);outline-offset:3px;}
.pg main :where(a:not([class]),.lnk):focus-visible{border-radius:var(--r-s);}
.pg :is(.pg-hero:not(.lt),.pg-sec.dark,.pg-cta) :focus-visible{outline-color:#CFE3D6;}
.pg .wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut);}
.pg .wrap.nar{max-width:1040px;}
.pg .num{font-variant-numeric:tabular-nums;}
.pg .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.pg .ico{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.pg .skip{position:absolute;left:-9999px;top:0;}
.pg .skip:focus{left:16px;top:16px;z-index:100;background:#fff;color:var(--ink);padding:8px 12px;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);}

/* ---------- Buttons and links ---------- */
.pg .btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;border:0;border-radius:var(--r-s);background:var(--green);color:#fff;font-size:15px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .16s ease,transform 140ms var(--ease-out);}
@media (hover:hover) and (pointer:fine){.pg .btn:hover{background:var(--green-2);color:#fff;}}
.pg .btn:active{transform:scale(.97);}
.pg .btn.light{background:#fff;color:var(--ink);}
@media (hover:hover) and (pointer:fine){.pg .btn.light:hover{background:#E8EFEA;color:var(--ink);}}
.pg .lnk{display:inline-flex;align-items:center;min-height:40px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:rgba(74,85,80,.45);transition:color .16s ease,text-decoration-color .16s ease,transform 140ms var(--ease-out);}
@media (hover:hover) and (pointer:fine){.pg .lnk:hover{color:var(--green);text-decoration-color:currentColor;}}
.pg .lnk:active{transform:scale(.97);}
.pg :is(.pg-hero:not(.lt),.pg-sec.dark,.pg-cta) .lnk{color:var(--on-dark);text-decoration-color:rgba(238,242,239,.4);}
@media (hover:hover) and (pointer:fine){.pg :is(.pg-hero:not(.lt),.pg-sec.dark,.pg-cta) .lnk:hover{color:#CFE3D6;text-decoration-color:currentColor;}}
.pg .acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;}

/* ---------- Page hero ---------- */
/* Dark (default): the homepage's green field, the header clear over it (<body data-hdr="over">, data-hero on the section).
   .lt: a light hero on the canvas, for pages that open on a product scene rather than a statement. */
.pg .pg-hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(120% 90% at 85% 10%,#173D30 0%,var(--green-deep) 55%,#081B15 100%);color:#fff;
  padding:calc(var(--bar) + env(safe-area-inset-top, 0px) + 112px) 0 112px;}
.pg .pg-hero.lt{background:var(--canvas);color:var(--ink);padding:96px 0 88px;}
.pg .pg-hero-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:64px;align-items:center;}
.pg .pg-hero-g.solo{grid-template-columns:minmax(0,1fr);}
.pg .pg-hero .eb{color:var(--on-dark-2);}
.pg .pg-hero.lt .eb{color:var(--green-2);}
.pg .pg-hero h1{max-width:13em;font-size:var(--fs-h1);line-height:1.02;letter-spacing:-0.04em;font-weight:500;}
.pg .pg-hero .sub{max-width:34em;margin-top:24px;font-size:18px;line-height:1.55;color:var(--on-dark-2);}
.pg .pg-hero.lt .sub{color:var(--ink-2);}
.pg .pg-hero .acts{margin-top:36px;}
.pg .pg-hero:not(.lt) .btn{background:#fff;color:var(--ink);}
@media (hover:hover) and (pointer:fine){.pg .pg-hero:not(.lt) .btn:hover{background:#E8EFEA;color:var(--ink);}}
.pg .pg-hero-fig{min-width:0;}

/* ---------- Sections: rhythm, widths, heads ---------- */
.pg .pg-sec{padding:128px 0;}
.pg .pg-sec.tint{background:var(--canvas-2);}
.pg .pg-sec.dark{background:var(--dark);color:var(--on-dark);}
.pg .pg-sec:not(.tint):not(.dark) + .pg-sec:not(.tint):not(.dark){padding-top:16px;}
.pg .pg-sec.tint + .pg-sec.tint,.pg .pg-sec.dark + .pg-sec.dark{padding-top:16px;}
.pg .eb{font-size:14px;font-weight:500;color:var(--green-2);margin-bottom:18px;}
.pg .pg-sec.dark .eb{color:var(--on-dark-2);}
.pg .h2{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-0.035em;max-width:16em;}
.pg .lede{font-size:var(--fs-body);line-height:1.55;color:var(--ink-2);max-width:36em;margin-top:20px;}
.pg .pg-sec.dark .lede{color:var(--on-dark-2);}
.pg .hd2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end;}
.pg .hd2 .lede{margin-top:0;}
.pg .pg-body{margin-top:56px;}

/* ---------- Cards ---------- */
.pg .pg-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.pg .pg-cards.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.pg .pg-card{display:flex;flex-direction:column;gap:8px;padding:28px;border-radius:var(--r-l);background:var(--tile);}
.pg .pg-card.white{background:#fff;box-shadow:0 0 0 1px rgba(20,32,27,.06),var(--sh-1);}
.pg .pg-sec.tint .pg-card:not(.white){background:var(--canvas);}
.pg .pg-sec.dark .pg-card{background:#182621;color:var(--on-dark);}
.pg .pg-card .n{font-size:14px;line-height:20px;font-weight:500;color:var(--green-2);font-variant-numeric:tabular-nums;}
.pg .pg-card h3{font-size:var(--fs-h3);line-height:1.3;letter-spacing:-0.02em;}
.pg .pg-card p{color:var(--ink-2);}
/* links inside running text (card answers, ledes, footnotes): underlined so they read as links */
.pg .pg-card p a,.pg .lede a,.pg .pg-note a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
@media (hover:hover) and (pointer:fine){.pg .pg-card p a:hover,.pg .lede a:hover,.pg .pg-note a:hover{text-decoration-thickness:2px;}}
.pg .pg-sec.dark .pg-card p{color:var(--on-dark-2);}
.pg .pg-card .lnk{margin-top:auto;padding-top:8px;align-self:flex-start;}
@media (hover:hover) and (pointer:fine){
  .pg a.pg-card{transition:box-shadow .2s ease,transform .2s var(--ease-out);}
  .pg a.pg-card:hover{box-shadow:0 0 0 1px rgba(20,32,27,.10),var(--sh-2);}
}
.pg a.pg-card:active{transform:scale(.99);}

/* ---------- Product App frame (picture of the product, aria-hidden, with a text summary beside it) ---------- */
.pg .pg-stage{display:grid;place-items:center;padding:40px;border-radius:var(--r-l);background:var(--tile);}
.pg .pg-sec.tint .pg-stage{background:var(--canvas);}
.pg .app{width:100%;border-radius:var(--r-m);overflow:hidden;outline:1px solid rgba(255,255,255,.14);outline-offset:-1px;box-shadow:var(--sh-3);background:var(--u-canvas);}
.pg .app.lt{outline-color:var(--edge);box-shadow:var(--sh-2);}
.pg .app .bd{padding:16px;}
.pg .ui .list{display:flex;flex-direction:column;}
.pg .ui .row{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;}
.pg .ui .row + .row{border-top:1px solid var(--u-line);}
.pg .ui .row .t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;}
.pg .ui .row .r{margin-left:auto;flex:0 0 auto;}

/* product UI kit inside an App frame (.ui), the same tokens and parts as the homepage scenes */
.pg .ui{font-family:var(--font);font-size:13px;line-height:20px;letter-spacing:-0.006em;color:var(--u-ink);font-variant-numeric:tabular-nums;background:var(--u-canvas);text-align:left;}
.pg .ui b{font-weight:500;}
.pg .ui .mut{color:var(--u-2);}
.pg .ui .sm{font-size:12px;line-height:16px;color:var(--u-3);}
.pg .ui .cap{font-size:12px;line-height:16px;letter-spacing:.03em;text-transform:uppercase;color:var(--u-3);font-weight:500;}
.pg .ui .card{background:#fff;border:1px solid var(--u-line);border-radius:7px;}
.pg .ui .pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:1px solid var(--u-in);border-radius:999px;background:#fff;color:var(--u-ink);white-space:nowrap;}
.pg .ui .pill.off{color:var(--u-3);border-style:dashed;}
.pg .ui .pill.on{background:var(--u-dark);border-color:var(--u-dark);color:#fff;}
.pg .ui .pill .c{color:var(--u-3);}
.pg .ui .pill.on .c{color:#C9C9C9;}
.pg .ui .bt{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--u-in);background:#fff;color:var(--u-ink);font-weight:500;white-space:nowrap;}
.pg .ui .bt.pri{background:var(--u-dark);border-color:var(--u-dark);color:#fff;}
.pg .ui .lk{color:var(--u-teal);font-weight:500;}
.pg .ui .ct{display:inline-grid;place-items:center;min-width:24px;height:20px;padding:0 6px;border-radius:999px;background:var(--u-teal-w);color:var(--u-teal);font-size:12px;font-weight:500;}
.pg .ui .ct.att{background:var(--u-att-w);color:var(--u-att);}
.pg .ui .st{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:16px;color:var(--u-2);}
.pg .ui .st::before{content:"";width:6px;height:6px;border-radius:50%;background:#8A8A8A;}
.pg .ui .st.ok::before{background:var(--u-ok-d);}.pg .ui .st.att::before{background:var(--u-att-d);}.pg .ui .st.blk::before{background:var(--u-blk-d);}
.pg .ui .tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;background:var(--u-wash);color:var(--u-2);}
.pg .ui .tag.ok{background:var(--u-ok-w);color:var(--u-ok);}.pg .ui .tag.att{background:var(--u-att-w);color:var(--u-att);}
.pg .ui .av{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--u-av);}
.pg .ui img.av{outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;}
.pg .ui .avt{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--u-av);color:var(--u-av-t);font-size:12px;font-weight:500;flex:0 0 auto;}
.pg .ui .star{width:12px;height:12px;fill:currentColor;stroke:none;}
.pg .ui .ico{width:15px;height:15px;color:var(--u-2);}
.pg .tb{display:flex;align-items:center;gap:4px;height:48px;padding:0 14px;border-bottom:1px solid var(--u-line);background:rgba(250,250,250,.96);}
.pg .tb .mk{width:15px;height:16px;margin-right:12px;flex:0 0 auto;}
.pg .tb .nv{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;color:var(--u-2);white-space:nowrap;}
.pg .tb .nv.on{background:#EFEFEF;color:var(--u-ink);font-weight:500;}
.pg .tb .nv.on .ico{color:var(--u-ink);}
.pg .tb .sp{flex:1 1 auto;}
.pg .tb .srch{display:flex;align-items:center;gap:8px;width:220px;height:30px;padding:0 10px;border:1px solid var(--u-in);border-radius:999px;background:#fff;color:var(--u-3);margin-right:auto;margin-left:auto;}
.pg .tb .cmp{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--u-in);border-radius:8px;background:#fff;white-space:nowrap;}
.pg .tb .cmp .star{color:var(--u-teal);}
.pg .tb .me{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--u-in);background:#fff;font-size:12px;font-weight:500;margin-left:8px;}
.pg .side-nav{width:196px;flex:0 0 auto;padding:14px 10px;border-right:1px solid var(--u-line);background:var(--u-canvas);}
.pg .side-nav .br{display:flex;align-items:center;gap:8px;padding:4px 8px 2px;font-weight:500;}
.pg .side-nav .br i{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#E9C79A,#B9784A 70%);}
.pg .side-nav .brs{padding:2px 8px 12px 34px;color:var(--u-3);}
.pg .side-nav .brs b{color:var(--u-ink);font-weight:400;}
.pg .side-nav .gl{padding:10px 8px 4px;font-size:12px;color:var(--u-3);}
.pg .side-nav .it{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:8px;color:var(--u-2);}
.pg .side-nav .it.on{background:#EFEFEF;color:var(--u-ink);font-weight:500;}
.pg .side-nav .it .ct{margin-left:auto;}

/* ---------- Stat row ---------- */
.pg .pg-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;}
.pg .pg-stats.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.pg .pg-stats > div{display:flex;flex-direction:column-reverse;justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px;}
.pg .pg-stats dd{margin:0;font-size:var(--fs-h1);line-height:1;letter-spacing:-0.04em;font-weight:500;color:var(--green);font-variant-numeric:tabular-nums;}
.pg .pg-stats dt{margin-top:12px;font-size:16px;color:var(--ink-2);}
.pg .pg-sec.dark .pg-stats > div{border-color:var(--edge-dk);}
.pg .pg-sec.dark .pg-stats dd{color:#fff;}
.pg .pg-sec.dark .pg-stats dt{color:var(--on-dark-2);}
.pg .pg-note{margin-top:24px;font-size:14px;color:var(--ink-2);max-width:44em;}

/* ---------- Sideways rows on phones ---------- */
/* Wide screens: a plain grid (set the columns with .pg-cards or your own grid). Phones: one card and the edge of the next,
   swiped sideways, with "1 of N" under the row (site.js adds it and sizes the row to the card in view). */
.pg .pg-count{display:none;}

/* ---------- Logo marquee ---------- */
.pg .pg-logos{padding:48px 0 0;}
.pg .pg-logos .row{display:flex;align-items:center;gap:28px;max-width:var(--max);margin:0 auto;padding:0 var(--gut);}
.pg .pg-logos .lab{flex:0 0 auto;font-size:14px;color:var(--ink-2);white-space:nowrap;}
.pg .pg-logos .mq{flex:1 1 auto;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);}
/* the track holds the logos twice and moves by exactly one set (-50%), so the loop point is seamless */
.pg .pg-logos .track{display:flex;width:max-content;animation:pg-marquee 110s linear infinite;will-change:transform;}
.pg .pg-logos .lg{flex:0 0 auto;width:180px;height:60px;padding:0 20px;display:flex;align-items:center;justify-content:center;}
.pg .pg-logos .lg img{width:auto;height:24px;max-width:140px;filter:grayscale(1) brightness(.2);opacity:.6;}
@keyframes pg-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- CTA band ---------- */
.pg .pg-cta{padding:24px 0;}
.pg .pg-cta .card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end;padding:88px 64px;border-radius:var(--r-l);background:radial-gradient(90% 120% at 90% 0%,#1E4A3B 0%,var(--green-deep) 60%);color:#fff;}
.pg .pg-cta h2{max-width:14em;font-size:var(--fs-h2);line-height:1.08;letter-spacing:-0.035em;}
.pg .pg-cta p{margin-top:16px;color:var(--on-dark-2);font-size:var(--fs-body);}
.pg .pg-cta .btn{background:#fff;color:var(--ink);}
@media (hover:hover) and (pointer:fine){.pg .pg-cta .btn:hover{background:#E8EFEA;color:var(--ink);}}
.pg main > .pg-cta:last-child{padding-bottom:24px;}

/* ---------- On this page ---------- */
/* A row of anchors under the bar, sticky while the page scrolls; site.js marks the section in view (aria-current). */
.pg .pg-otp{position:sticky;top:calc(var(--bar) + env(safe-area-inset-top, 0px));z-index:20;background:rgba(243,242,238,.94);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 var(--line);}
.pg .pg-otp-in{display:flex;align-items:center;gap:4px;max-width:var(--max);margin:0 auto;padding:8px var(--gut);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;}
.pg .pg-otp-in::-webkit-scrollbar{display:none;}
.pg .pg-otp .lab{flex:0 0 auto;margin-right:12px;font-size:13px;color:var(--ink-2);}
.pg .pg-otp a{flex:0 0 auto;display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:999px;font-size:14px;color:var(--ink);white-space:nowrap;transition:background-color .16s ease,color .16s ease;}
@media (hover:hover) and (pointer:fine){.pg .pg-otp a:hover{background:rgba(20,32,27,.06);}}
.pg .pg-otp a[aria-current]{background:var(--ink);color:#fff;}
html:has(.pg-otp){scroll-padding-top:calc(var(--bar, 68px) + 64px + env(safe-area-inset-top, 0px));}

/* ---------- Reveal on scroll (site.js adds .js-rv only when motion is allowed) ---------- */
.js-rv .pg [data-anim]{opacity:0;transform:translateY(8px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);}
.js-rv .pg [data-anim] + [data-anim]{transition-delay:50ms;}
.js-rv .pg [data-anim].in{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:1099px){
  .pg .pg-hero-g{grid-template-columns:minmax(0,1fr);gap:48px;}
  .pg .hd2{grid-template-columns:1fr;gap:20px;}
  .pg .pg-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;}
  .pg .pg-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pg .pg-cards > :last-child:nth-child(odd){grid-column:1 / -1;}
  .pg .pg-stage{padding:28px;}
}
@media (max-width:759px){
  .pg{--gut:max(16px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));--fs-body:16px;}
  .pg .pg-sec{padding:64px 0;}
  .pg .pg-hero{padding:calc(var(--bar) + env(safe-area-inset-top, 0px) + 48px) 0 56px;}
  .pg .pg-hero.lt{padding:48px 0 40px;}
  .pg .pg-hero h1{font-size:40px;line-height:1.04;}
  .pg .pg-hero .sub{margin-top:16px;font-size:16px;}
  .pg .pg-hero .acts{margin-top:24px;}
  .pg .hd2{gap:14px;}
  .pg .pg-body{margin-top:28px;}
  .pg .pg-cards,.pg .pg-cards.two{grid-template-columns:1fr;gap:10px;}
  .pg .pg-card{padding:22px 20px;border-radius:var(--r-m);}
  .pg .pg-stage,.pg .pg-sec.tint .pg-stage{padding:0;border-radius:0;background:none;}
  .pg .pg-stats{gap:24px 16px;}
  .pg .pg-stats dd{font-size:40px;}
  .pg .pg-stats dt{font-size:14px;}
  .pg .pg-stats.three{gap:24px 12px;}
  .pg .pg-stats.three dd{font-size:30px;}
  .pg .pg-stats.three dt{font-size:13px;}
  .pg .pg-cta .card{grid-template-columns:1fr;gap:24px;padding:44px 20px;}
  .pg .pg-otp .lab{display:none;}
  /* sideways rows: one card and the edge of the next, a count under the row */
  .pg [data-snap]{display:flex;gap:10px;margin:0 calc(var(--gut) * -1);padding:0 var(--gut);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-start;}
  .pg [data-snap]::-webkit-scrollbar{display:none;}
  /* 44 px off the card: with the 16 px gutter and 10 px gap, 50 px of the next card shows (about 13% of a 390 screen) */
  .pg [data-snap] > *{flex:0 0 calc(100% - 44px);min-width:0;scroll-snap-align:start;}
  .pg [data-snap]:focus-visible{outline-offset:-2px;}
  .pg [data-snap] > .pg-card{grid-column:auto;}
  .pg [data-snap][style*="height"]{transition:height .2s var(--ease-out);}
  .pg .pg-count.on{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;font-size:13px;line-height:20px;color:var(--ink-2);font-variant-numeric:tabular-nums;}
  /* one dot per card, the one in view filled */
  .pg .pg-count .d{display:flex;align-items:center;gap:5px;}
  .pg .pg-count .d i{width:6px;height:6px;border-radius:3px;background:currentColor;opacity:.3;transition:width .2s var(--ease-out),opacity .2s var(--ease-out);}
  .pg .pg-count .d i.on{width:16px;opacity:1;}
  /* logos: the label above a full-width row */
  .pg .pg-logos{padding-top:40px;}
  .pg .pg-logos .row{flex-direction:column;align-items:stretch;gap:4px;}
  .pg .pg-logos .lab{text-align:center;font-size:13px;}
  .pg .pg-logos .lg{width:132px;height:52px;padding:0 16px;}
  .pg .pg-logos .lg img{max-width:100px;}
  .pg .pg-logos .track{animation-duration:80s;}
}
@media (pointer:coarse){.pg .pg-otp a{height:44px;}.pg .lnk{min-height:44px;}
  /* standalone links in notes and the contact email: a full 44px touch target */
  .pg .pg-note a,.pg .ct-off a{display:inline-flex;align-items:center;min-height:44px;}}
@media (prefers-reduced-motion:reduce){
  .pg *,.pg *::before,.pg *::after{animation:none !important;transition-property:color,background-color,border-color,text-decoration-color,box-shadow !important;}
  .pg .pg-logos .track{transform:none !important;flex-wrap:wrap;justify-content:center;width:auto;}
  .pg .pg-logos .mq{-webkit-mask-image:none;mask-image:none;}
  .pg .pg-logos .lg[aria-hidden="true"]{display:none;}
}
.pg :is(.btn,.lnk){touch-action:manipulation;-webkit-user-select:none;user-select:none;}
/* very narrow phones: the three-figure stat rows go to two columns */
@media (max-width:420px){
  .pg .pg-stats.three{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pg .pg-stats.three dd{font-size:36px;}
}
/* the oversized mark in the closing band, as on the main pages */
.pg .pg-cta .card > .mark{position:absolute;right:-60px;top:-80px;width:360px;height:auto;opacity:.07;pointer-events:none;}
@media (max-width:759px){.pg .pg-cta .card > .mark{width:220px;right:-50px;top:-40px;}}
/* five cards in a three-column row: three on top, two wider below, so no slot is left empty */
@media (min-width:1100px){.pg .pg-cards:not(.two):has(> :nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr));}
.pg .pg-cards:not(.two):has(> :nth-child(5):last-child) > *{grid-column:span 2;}
.pg .pg-cards:not(.two):has(> :nth-child(5):last-child) > :nth-child(n+4){grid-column:span 3;}}
