/* Fulfilment page (green). Loaded after page.css, scoped to this page's own class names.
   The product scenes copy the homepage vocabulary (home.css is not loaded here): App frame, kit card, status chips,
   the agent proposal with its trail and approval, the profile timeline, the team row.
   Motion: the decided state is the markup. fulfilment.js adds .fx-m to <html> only when motion is allowed,
   then a pending class per scene, and plays each change once when the scene is in view. */

/* ---------- Shared: section rhythm after a coloured band ---------- */
/* a plain section after a tint or dark band keeps its full top padding (the kit rule shares the gap with any section) */
.pg .pg-sec.tint + .pg-sec:not(.tint):not(.dark),.pg .pg-sec.dark + .pg-sec:not(.tint):not(.dark){padding-top:128px;}

/* ---------- Shared: status chips and small product parts ---------- */
.pg .ui .chip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:12px;line-height:16px;font-weight:500;white-space:nowrap;background:var(--u-wash);color:var(--u-2);}
.pg .ui .chip.tr{background:var(--u-teal-w);color:var(--u-teal);}
.pg .ui .chip.dl{background:var(--u-ok-w);color:#166A3F;}
.pg .ui .chip.pk{background:var(--u-att-w);color:#924306;}
.pg .ui .ico.ar{width:12px;height:12px;color:var(--u-3);}
.pg .fk-sw{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;}
.pg .fk-i{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--u-teal-w);}
.pg .ui .fk-i .ico{width:16px;height:16px;color:var(--u-teal);}
.pg .ui .nm{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;}
.pg .ui .av{outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;}
/* small caps labels at the 12px floor for product text (the kit has 11px) */
.pg .ui .cap{font-size:12px;letter-spacing:.03em;}
/* dates and times that sit in a column */
.pg .ag-tr .sm,.pg .fc-pro .li .sm,.pg .fs-a .sm{font-variant-numeric:tabular-nums;}
.pg .tb .mk{fill:var(--u-ink);}

/* ---------- S1 Hero ---------- */
/* the green field ends 160px above the section's foot, so the kit card sits half on the field and half on the canvas */
.pg .fh{padding-bottom:0;background:linear-gradient(to bottom,transparent calc(100% - 160px),var(--canvas) calc(100% - 160px)),radial-gradient(120% 90% at 85% 10%,#173D30 0%,var(--green-deep) 55%,#081B15 100%);}
.pg .fh{padding-top:0;}
.pg .fh-top{padding-top:calc(var(--bar) + env(safe-area-inset-top, 0px) + 112px);}
.pg .fh-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:end;}
.pg .fh h1{max-width:12.5em;}
.pg .fh .sub{margin-top:0;max-width:30em;}
.pg .fh .acts{margin-top:28px;}
.pg .fh-fig{position:relative;margin-top:72px;}
.pg .fk{background:var(--u-canvas);}
/* the dark-stage shadow painted a grey band on the canvas strip under the field; this one stays under the card */
.pg .fh .fk{box-shadow:0 0 0 1px rgba(20,32,27,.06),0 1px 2px rgba(2,14,10,.12),0 28px 56px -24px rgba(2,14,10,.38);}
.pg .fk-bd{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;padding:20px;}
.pg .fk-sum,.pg .fk-ls{background:#fff;border-radius:10px;box-shadow:inset 0 0 0 1px var(--u-line);}
.pg .fk-sum{display:flex;flex-direction:column;padding:18px;}
.pg .fk-h{display:flex;align-items:center;gap:12px;}
.pg .fk-h .t{min-width:0;display:flex;flex-direction:column;gap:2px;}
.pg .fk-h b{font-size:16px;line-height:22px;font-weight:600;letter-spacing:-0.01em;}
.pg .fk-st{flex:1 1 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px;border-radius:8px;background:var(--u-canvas);box-shadow:inset 0 0 0 1px var(--u-line);}
.pg .fk-st > div{display:flex;flex-direction:column;justify-content:center;padding:12px 14px;}
.pg .fk-st > div:nth-child(even){box-shadow:-1px 0 0 var(--u-line);}
.pg .fk-st > div:nth-child(n+3){border-top:1px solid var(--u-line);}
.pg .fk-st b{font-size:26px;line-height:32px;font-weight:600;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
.pg .fk-st b.tl{color:var(--u-teal);}
.pg .fk-ls{overflow:hidden;}
.pg .fk-lh{display:flex;align-items:center;height:40px;padding:0 16px;border-bottom:1px solid var(--u-line);}
.pg .fk-r,.pg .tk-r{position:relative;display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 16px;}
.pg .fk-r + .fk-r,.pg .tk-r + .tk-r{border-top:1px solid var(--u-line);}
.pg .fk-r .t,.pg .tk-r .t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;}
.pg .fk-r .t b,.pg .tk-r .t b{font-weight:500;}
.pg .fk-r.fx,.pg .tk-r.fx{background:#FFFAF2;}
.pg .fk-r.fx::before,.pg .tk-r.fx::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--u-att-d);}

/* ---------- S2 Logos ---------- */
.pg .fl{padding-top:56px;}

/* ---------- S3 The operation ---------- */
.pg .fo-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start;}
.pg .fo-hd .h2{max-width:11em;}
.pg .fo-s{position:relative;display:flex;flex-direction:column;gap:12px;}
/* the rule that joins the five numbers */
.pg .fo-s::before{content:"";position:absolute;left:19px;top:28px;bottom:28px;width:2px;border-radius:2px;background:var(--line);transform-origin:50% 0;}
.pg .fo-i{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:24px;align-items:start;}
.pg .fo-n{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;margin-top:20px;border-radius:50%;background:var(--canvas);box-shadow:inset 0 0 0 1.5px var(--line);font-size:14px;font-weight:500;color:var(--green-2);}
.pg .fo-i.key .fo-n{background:var(--green);color:#fff;box-shadow:0 0 0 6px var(--canvas),0 0 0 7px rgba(28,74,57,.18);}
.pg .fo-t{padding:22px 28px 24px;border-radius:var(--r-l);background:var(--tile);}
.pg .fo-i.key .fo-t{background:#fff;box-shadow:0 0 0 1px rgba(20,32,27,.06),var(--sh-2);}
.pg .fo-tt{display:flex;align-items:center;gap:10px;}
.pg .fo-tt .ico{width:18px;height:18px;color:var(--green-2);}
.pg .fo-t h3{font-size:var(--fs-h3);line-height:1.3;letter-spacing:-0.02em;}
.pg .fo-t p{margin-top:6px;max-width:36em;color:var(--ink-2);}
.pg .fo-ch{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px;background:none;}
.pg .fo-lb{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px 0 9px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--u-in);color:var(--u-2);font-weight:500;font-size:12px;}
.pg .fo-lb .ico{width:13px;height:13px;}

/* ---------- S4 Tracking ---------- */
.pg .ftk-st{padding:40px;}
.pg .tk-bd{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:16px;align-items:start;padding:20px;}
.pg .tk-h{display:flex;align-items:center;gap:12px;}
.pg .tk-h .t{min-width:0;display:flex;flex-direction:column;gap:2px;}
.pg .tk-h b{font-size:16px;line-height:22px;font-weight:600;letter-spacing:-0.01em;}
.pg .tk-f{display:flex;align-items:center;gap:6px;margin:16px 0 12px;}
.pg .tk-ls{overflow:hidden;border-radius:10px;}
/* the agent proposal: who proposes, what, the trail that led to it, then the decision */
.pg .tk-ag{overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--u-line),0 16px 36px -16px rgba(12,38,30,.22);}
.pg .ag-h{display:flex;align-items:center;gap:8px;height:48px;padding:0 14px;border-bottom:1px solid var(--u-line);}
.pg .ag-i{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:var(--u-teal-w);}
.pg .ui .ag-i .ico{width:14px;height:14px;color:var(--u-teal);}
.pg .ag-h .ai{display:inline-flex;align-items:center;gap:3px;height:20px;margin-left:auto;padding:0 7px;border-radius:999px;background:var(--u-teal-w);color:var(--u-teal);font-size:12px;font-weight:600;}
.pg .ag-h .ai .star{width:8px;height:8px;}
.pg .ag-t{padding:14px 14px 6px;font-size:15px;line-height:22px;font-weight:600;letter-spacing:-0.01em;text-wrap:pretty;}
.pg .ag-tr{position:relative;padding:4px 14px 14px;}
.pg .ag-tr li{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;padding:7px 0 7px 16px;color:var(--u-2);text-wrap:pretty;}
.pg .ag-tr li::before{content:"";position:absolute;left:2px;top:14px;z-index:1;width:6px;height:6px;border-radius:50%;background:#C9C9C9;box-shadow:0 0 0 3px #fff;}
.pg .ag-tr::before{content:"";position:absolute;left:18.5px;top:21px;bottom:31px;width:1px;background:var(--u-in);}
.pg .ag-tr .sm{padding-top:2px;}
.pg .ag-tr .rp::before{background:var(--u-teal);}
.pg .ag-tr .rp span:last-child{color:var(--u-ink);}
.pg .ag-tr q{font-weight:500;}
.pg .ag-df{display:flex;align-items:center;gap:8px;min-height:58px;padding:12px 14px;border-top:1px solid var(--u-line);background:var(--u-canvas);}
.pg .ag-df .act{display:none;gap:8px;}
.pg .ag-df .done{display:inline-flex;align-items:center;gap:8px;color:var(--u-ok);font-weight:500;}
.pg .ag-df .done .av{width:24px;height:24px;}
.pg .ag-df .done span{color:var(--u-ink);}
.pg .ag-df .done i{width:18px;height:18px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--u-ok-d);}
.pg .ag-df .done svg{width:11px;height:11px;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.pg .ag-df.is-pending .act{display:flex;}
.pg .ag-df.is-pending .done{display:none;}
.pg .ftk-n{display:flex;align-items:flex-start;gap:12px;max-width:44em;margin-top:28px;color:var(--ink-2);}
.pg .ftk-n .ico{width:24px;height:24px;flex:0 0 auto;padding:5px;border-radius:50%;background:var(--green);color:#fff;stroke-width:2;}

/* ---------- S5 Inside the campaign ---------- */
.pg .fc-l{margin-top:12px;}
.pg .fc-st{padding:48px 40px;border-radius:var(--r-l);background:var(--tile);}
.pg .fc-c{display:flex;flex-direction:column;padding:20px;border-radius:var(--r-m);background:#fff;box-shadow:0 0 0 1px rgba(20,32,27,.06),var(--sh-2);}
.pg .fc-kit .crumb b{font-weight:500;color:var(--u-ink);}
.pg .fc-kit .kh{display:flex;align-items:center;gap:10px;margin-top:14px;}
.pg .fc-kit .kh b{font-size:16px;font-weight:600;}
.pg .fc-kit .kh .st{margin-left:auto;}
.pg .fc-kit .kn{margin:4px 0 0 42px;}
.pg .fc-kit .kg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;border-radius:8px;background:var(--u-canvas);box-shadow:inset 0 0 0 1px var(--u-line);}
.pg .fc-kit .kg > div{display:flex;flex-direction:column;padding:12px 14px;}
.pg .fc-kit .kg > div + div{box-shadow:-1px 0 0 var(--u-line);}
.pg .fc-kit .kg b{font-size:22px;line-height:30px;font-weight:600;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;white-space:nowrap;}
.pg .fc-kit .kg b.tl{color:var(--u-teal);}
.pg .fc-kit .kw{margin-top:auto;padding-top:16px;}
.pg .fc-kit .kw .st{padding-top:14px;border-top:1px solid var(--u-line);width:100%;}
.pg .sw-n .b{display:none;}
.pg .sw-n.pend .a{display:none;}
.pg .sw-n.pend .b{display:inline;}
.pg .fc-pro .ph{display:flex;align-items:center;gap:12px;}
.pg .fc-pro .pav{width:44px;height:44px;flex:0 0 auto;border-radius:50%;object-fit:cover;background:var(--u-av);outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;}
.pg .fc-pro .t{min-width:0;display:flex;flex-direction:column;gap:2px;}
.pg .fc-pro .nm b{font-size:16px;line-height:22px;font-weight:600;letter-spacing:-0.01em;}
.pg .fc-pro > .cap{display:block;margin:18px 0 8px;}
.pg .fc-pro .tl{overflow:hidden;border-radius:8px;box-shadow:inset 0 0 0 1px var(--u-line);}
.pg .fc-pro .li{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:10px;height:42px;padding:0 12px;}
.pg .fc-pro .li + .li{box-shadow:0 -1px 0 var(--u-line);}
.pg .fc-pro .li .tx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pg .fc-pro .li.new{background:var(--u-teal-w);box-shadow:inset 2px 0 0 var(--u-teal),0 -1px 0 var(--u-line);}
.pg .fc-pro .li.new .tx{font-weight:500;}
.pg .fc-pro .li.new::after{content:"";position:absolute;inset:0;background:#BFE6D7;opacity:0;pointer-events:none;}
.pg .fc-pro .li > *{position:relative;z-index:1;}
.pg .fc-pts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:48px;}
.pg .fc-pts li{padding-top:20px;border-top:1px solid var(--line);}
.pg .fc-pts h3{font-size:var(--fs-h3);line-height:1.3;letter-spacing:-0.02em;}
.pg .fc-pts p{margin-top:6px;color:var(--ink-2);}

/* ---------- S6 The footprint ---------- */
.pg .fp{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(80% 120% at 100% 100%,#132A21 0%,var(--dark) 60%);}
.pg .fp-f{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:0 64px;align-items:start;}
@media (min-width:1100px){
  .pg .fp-big{grid-row:span 2;}
  .pg .fp-f li:not(.fp-big){padding-bottom:28px;}
}
.pg .fp-f li{padding-top:24px;border-top:1px solid var(--edge-dk);}
.pg .fp-n{display:block;font-size:clamp(120px,15vw,216px);line-height:.82;font-weight:500;letter-spacing:-0.055em;color:#fff;}
.pg .fp-big span{display:block;margin-top:20px;font-size:16px;color:var(--on-dark-2);}
.pg .fp-f h3{font-size:var(--fs-h3);line-height:1.3;letter-spacing:-0.02em;color:#fff;}
.pg .fp-f p{margin-top:8px;color:var(--on-dark-2);max-width:22em;}

/* ---------- S7 Odore specialists ---------- */
.pg .fs{padding-bottom:104px;}
.pg .fs-g{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:64px;align-items:center;}
.pg .fs-tx .h2{max-width:11em;}
.pg .fs-ln{margin-top:14px;max-width:36em;color:var(--ink-2);font-size:15px;line-height:1.55;}
.pg .fs-l{margin-top:20px;}
.pg .fs-st{display:grid;place-items:center;padding:48px 40px;border-radius:var(--r-l);background:var(--tile);}
.pg .fs-team{width:100%;max-width:460px;overflow:hidden;border-radius:var(--r-m);background:#fff;box-shadow:0 0 0 1px rgba(20,32,27,.06),var(--sh-2);}
.pg .fs-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--u-line);}
.pg .fs-h .t{display:flex;flex-direction:column;}
.pg .fs-h b{font-size:15px;line-height:22px;}
.pg .fs-m{display:flex;align-items:center;gap:12px;padding:14px 16px;}
.pg .fs-m .t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;}
.pg .fs-m .avt{width:36px;height:36px;overflow:hidden;background:none;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--green);}
.pg .fs-m .avt img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.pg .fs-act{display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--u-line);background:var(--u-canvas);}
.pg .fs-a{display:flex;align-items:center;gap:10px;}
.pg .fs-a .avt{width:24px;height:24px;overflow:hidden;background:none;box-shadow:0 0 0 1.5px #fff,0 0 0 3px var(--green);}
.pg .fs-a .avt img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.pg .fs-a .tx{flex:1 1 auto;min-width:0;color:var(--u-2);}
.pg .fs-a .tx b{color:var(--u-ink);font-weight:500;}
.pg .od-c{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px 0 6px;border-radius:999px;background:var(--u-teal-w);color:var(--green);font-size:12px;font-weight:500;}
.pg .od-c svg{width:11px;height:11px;fill:currentColor;}
.pg .fs-r{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:var(--u-wash);color:var(--u-2);font-size:12px;font-weight:500;}

/* ---------- CTA ---------- */
.pg .pg-cta .acts{gap:12px 24px;}
.pg .pg-cta .mark{position:absolute;right:-60px;top:-80px;width:360px;opacity:.07;pointer-events:none;}

/* ---------- Motion (only with .fx-m, which fulfilment.js sets when motion is allowed) ---------- */
/* Brisk beats: each scene settles in under about 0.8 s, on the kit's strong ease-out; nothing starts off screen. */
@media (prefers-reduced-motion:no-preference){
  /* hero: the claims arrive, then Imani's kit moves from claimed to packed */
  .fx-m .fk .fk-r{transition:opacity .3s var(--ease-out) calc(40ms + var(--i,0) * 50ms),transform .3s var(--ease-out) calc(40ms + var(--i,0) * 50ms);}
  .fx-m .fk .fk-sw .ar,.fx-m .fk .fk-sw .pk{transition:opacity .24s var(--ease-out) .42s,transform .24s var(--ease-out) .42s;}
  .fx-m .fk.pend .fk-r{opacity:0;transform:translateY(6px);}
  .fx-m .fk.pend .fk-sw .ar,.fx-m .fk.pend .fk-sw .pk{opacity:0;transform:translateX(-6px);}
  /* the operation: the rule draws down; each step arrives in order, or when it is scrolled to (--d is set by the script) */
  .fx-m .fo-s::before{transition:transform .6s var(--ease-in-out);}
  .fx-m .fo-s .fo-n,.fx-m .fo-s .fo-t{transition:opacity .3s var(--ease-out) var(--d,0ms),transform .3s var(--ease-out) var(--d,0ms);}
  .fx-m .fo-s.pend::before{transform:scaleY(0);}
  .fx-m .fo-i.pend .fo-n{opacity:0;transform:scale(.9);}
  .fx-m .fo-i.pend .fo-t{opacity:0;transform:translateY(10px);}
  /* tracking: the trail arrives, then a person approves the kit */
  .fx-m .tk-ag .ag-tr li{transition:opacity .28s var(--ease-out) calc(var(--i,0) * 90ms),transform .28s var(--ease-out) calc(var(--i,0) * 90ms);}
  .fx-m .tk-ag.pend .ag-tr li{opacity:0;transform:translateY(6px);}
  .fx-m .tk-ag .ag-tr::before{transition:opacity .28s var(--ease-out) .12s;}
  .fx-m .tk-ag.pend .ag-tr::before{opacity:0;}
  .fx-m .ag-df .bt.pri{transition:transform 140ms var(--ease-out),background-color 140ms ease;}
  .fx-m .ag-df.pressing .bt.pri{transform:scale(.96);background:#000;}
  .fx-m .ag-df.played .done{animation:fx-in .26s var(--ease-out) both;}
  /* inside the campaign: the delivered count moves to 16; the delivery lands on her profile when that card is in view */
  .fx-m .fc-kit .sw-n:not(.pend) .a{display:inline-block;animation:fx-in .24s var(--ease-out) both;}
  .fx-m .fc-pro .li.new{transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);}
  .fx-m .fc-pro.pend .li.new{opacity:0;transform:translateY(-6px);}
  .fx-m .fc-pro.played .li.new::after{animation:fx-flash .9s var(--ease-out) .15s both;}
}
@keyframes fx-in{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
@keyframes fx-flash{from{opacity:.9;}to{opacity:0;}}

/* ---------- Responsive ---------- */
@media (min-width:760px){
  .pg .fc-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1040px;margin:0 auto;}
}
@media (min-width:1100px){
  .pg .fo-hd{position:sticky;top:calc(var(--bar) + 56px);}
}
@media (max-width:1099px){
  .pg .fh-g{grid-template-columns:minmax(0,1fr);gap:24px;}
  .pg .fh-fig{margin-top:56px;}
  .pg .fo-g{grid-template-columns:minmax(0,1fr);gap:40px;}
  .pg .ftk-st{padding:28px;}
  .pg .fc-st{padding:32px 28px;}
  .pg .fp-f{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;}
  .pg .fp-big{grid-column:1 / -1;}
  .pg .fp-f{align-items:start;}
  .pg .fs-g{grid-template-columns:minmax(0,1fr);gap:40px;}
  .pg .fs-st{padding:48px 28px;}
}
@media (max-width:1279px) and (min-width:760px){
  .pg .fc-kit .kg{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pg .fc-kit .kg > div:nth-child(3){box-shadow:none;}
  .pg .fc-kit .kg > div:nth-child(n+3){border-top:1px solid var(--u-line);}
}
/* Rhea's timeline: entries wrap instead of truncating below 900px */
@media (max-width:899px){
  .pg .fc-pro .li{height:auto;min-height:42px;padding:10px 12px;align-items:start;}
  .pg .fc-pro .li .tx{white-space:normal;overflow:visible;text-overflow:clip;}
}
@media (max-width:959px){
  .pg .tk-bd{grid-template-columns:minmax(0,1fr);}
  .pg .fk-bd{grid-template-columns:minmax(0,1fr);}
  .pg .tb .nv.x{display:none;}
}
@media (max-width:759px){
  .pg .pg-sec.tint + .pg-sec:not(.tint):not(.dark),.pg .pg-sec.dark + .pg-sec:not(.tint):not(.dark){padding-top:64px;}
  /* hero: three lines of heading, the lede, two full-width buttons, then the kit */
  .pg .fh{background:linear-gradient(to bottom,transparent calc(100% - 120px),var(--canvas) calc(100% - 120px)),radial-gradient(120% 90% at 85% 10%,#173D30 0%,var(--green-deep) 55%,#081B15 100%);}
  .pg .fh{padding-top:0;}
  .pg .fh-top{padding-top:calc(var(--bar) + env(safe-area-inset-top, 0px) + 48px);}
  .pg .fh-g{gap:16px;}
  .pg .fh h1{font-size:40px;}
  .pg .fh .sub{font-size:16px;}
  .pg :is(.fh,.pg-cta) .acts{flex-direction:column;align-items:stretch;gap:10px;margin-top:24px;}
  .pg :is(.fh,.pg-cta) .acts .btn{width:100%;}
  .pg :is(.fh,.pg-cta) .lnk.fh-2{align-self:center;min-height:44px;}
  .pg .fh-fig{margin-top:40px;}
  .pg .tb{padding:0 12px;}
  .pg .tb .me.x{display:none;}
  .pg .fk-bd{padding:10px;gap:10px;}
  .pg .fk-sum{padding:14px;}
  .pg .fk-st{margin-top:14px;}
  .pg .fk-st > div{padding:10px 12px;}
  .pg .fk-st b{font-size:22px;line-height:28px;}
  .pg .fk-r.x4{display:none;}
  .pg .fk-r,.pg .tk-r{gap:10px;padding:10px 12px;}
  /* Imani's kit: its two statuses sit under the line, so nothing is squeezed */
  .pg .fk-r.fx,.pg .tk-r.fx{flex-wrap:wrap;row-gap:6px;}
  .pg .fk-r.fx .fk-sw,.pg .tk-r.fx .fk-sw{flex-basis:100%;padding-left:38px;}
  .pg .fk-lh{height:36px;padding:0 12px;}
  /* the operation: one column, number on the rule, title and line beside it */
  .pg .fo-g{gap:28px;}
  .pg .fo-s{gap:10px;}
  .pg .fo-s::before{left:15px;top:22px;bottom:22px;}
  .pg .fo-i{grid-template-columns:32px minmax(0,1fr);gap:12px;}
  .pg .fo-n{width:32px;height:32px;margin-top:16px;font-size:13px;}
  .pg .fo-i.key .fo-n{box-shadow:0 0 0 4px var(--canvas),0 0 0 5px rgba(28,74,57,.18);}
  .pg .fo-t{padding:16px 18px 18px;border-radius:var(--r-m);}
  .pg .fo-t h3{font-size:18px;}
  .pg .fo-t p{margin-top:4px;font-size:15px;}
  .pg .fo-tt .ico{width:16px;height:16px;}
  /* tracking: the list, then the proposal; the filters wrap inside the card, never clipped at its edges */
  .pg .tk-bd{padding:10px;gap:10px;}
  .pg .tk-f{flex-wrap:wrap;gap:6px;margin:14px 0 10px;}
  .pg .tk-f .pill{flex:0 0 auto;}
  .pg .ag-df .act{display:none;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
  .pg .ag-df.is-pending .act{display:grid;}
  .pg .ag-df .act .bt{justify-content:center;height:40px;}
  /* the decision row keeps the buttons' height once approved, so nothing below shifts when the approval lands */
  .pg .ag-df{min-height:65px;}
  .pg .ftk-n{margin-top:20px;font-size:15px;}
  /* inside the campaign: the two screens swipe, the three points stack */
  .pg .fc-st{padding:0;border-radius:0;background:none;}
  .pg .fc-c{padding:16px;}
  .pg .fc-kit .kg{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pg .fc-kit .kg > div:nth-child(3){box-shadow:none;}
  .pg .fc-kit .kg > div:nth-child(n+3){border-top:1px solid var(--u-line);}
  .pg .fc-pro .li{grid-template-columns:72px minmax(0,1fr);}
  .pg .fc-pro .li .by{display:none;}
  .pg .fc-pts{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px;}
  .pg .fc-pts li{padding-top:16px;}
  /* footprint: the numeral, then the facts */
  .pg .fp-f{grid-template-columns:minmax(0,1fr);gap:0;}
  .pg .fp-f li{padding:20px 0;}
  .pg .fp-f li.fp-big{padding-top:24px;}
  .pg .fp-n{font-size:120px;}
  .pg .fp-big span{margin-top:12px;}
  .pg .fp-f h3{font-size:18px;}
  /* specialists: text, then the team row on the canvas */
  .pg .fs{padding-bottom:56px;}
  .pg .fs-g{gap:24px;}
  .pg .fs-st{padding:0;border-radius:0;background:none;}
  .pg .fs-team{max-width:none;}
  .pg .fs-m{padding:12px 14px;gap:10px;}
  .pg .fs-h{padding:12px 14px 10px;}
  .pg .pg-cta .mark{width:220px;right:-50px;top:-40px;}
}
