/* Gusto to Zoho Payroll migration page only. Loaded via `extra: crm, p-mig-gu`. Every class is scoped with .pmgu- */
.pmgu-hero, .pmgu-moves, .pmgu-trust, .pmgu-ytd, .pmgu-map, .pmgu-est, .pmgu-pk, .pmgu-steps, .pmgu-plan, .pmgu-d1, .pmgu-risk, .pmgu-sav, .pmgu-why { --gu: #D9503B; --gu-bg: #FDEBE6; --zp: #1F8A57; --zp-bg: #E3F5EC; }
.pmgu-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pmgu-mig { display: inline-block; padding: 3px 8px; border-radius: 999px; background: #FFF1D6; color: #8A5300; font: 700 11px/1.2 var(--f-body); letter-spacing: .02em; vertical-align: 2px; }

/* ---------- hero: Gusto stub re-issued as a Zoho Payroll stub ---------- */
.pmgu-hero .pmgu-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pmgu-hero .pg-h1 { max-width: 16ch; }
.pmgu-hero .crm-sub { max-width: 42ch; }
.pmgu-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; max-width: 600px; }
.pmgu-chips li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px 8px 9px; border-radius: 12px; background: #fff; border: 1px solid #DCE7EF; font: 600 13.5px/1.25 var(--f-body); color: #082238; }
.pmgu-chips svg { flex: none; width: 22px; height: 22px; padding: 3px; border-radius: 7px; background: #FDEBE6; fill: none; stroke: #D9503B; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pmgu-chips li:nth-child(2) svg { background: #E3F1FB; stroke: #0A6FA8; }
.pmgu-chips li:nth-child(3) svg { background: #E3F5EC; stroke: #1F8A57; }

.pmgu-stubs { position: relative; display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 34px; align-items: center; margin: 0; font-variant-numeric: tabular-nums; }
.pmgu-stub { position: relative; border-radius: 16px; background: #fff; border: 1px solid #E2E8F0; box-shadow: 0 40px 80px -48px rgba(8,34,56,.55); }
.pmgu-stub--src { padding: 16px 16px 14px; transform: rotate(-2.5deg); background: #FFFCFB; border-color: #F4D7CF; }
.pmgu-stub--zoho { padding: 18px 18px 16px; }
.pmgu-stub__top { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; border-bottom: 1px solid #EEF2F6; }
.pmgu-stub__top div { min-width: 0; flex: 1; }
.pmgu-stub__top b { display: block; font: 800 14.5px/1.2 var(--f-display); color: #082238; }
.pmgu-stub__top small { display: block; margin-top: 2px; font: 500 11.5px/1.3 var(--f-body); color: #64748B; }
.pmgu-stub__top em { padding: 3px 8px; border-radius: 999px; background: #F3F7F9; font: 600 11px/1 var(--f-body); font-style: normal; color: #64748B; }
.pmgu-stub__top img { flex: none; }
.pmgu-mono { display: grid; place-items: center; flex: none; width: 26px; height: 26px; border-radius: 8px; background: #D9503B; color: #fff; font: 800 14px/1 var(--f-display); }
.pmgu-stub__lines { margin: 8px 0 0; padding: 0; list-style: none; }
.pmgu-stub__lines li { display: flex; justify-content: space-between; gap: 8px; padding: 5px 4px; border-radius: 6px; font-size: 12px; color: #475569; transition: background .3s, opacity .3s; }
.pmgu-stub__lines li b { color: #082238; font-weight: 700; }
.pmgu-stub__lines li.is-out { opacity: .38; }
.pmgu-stub__lines li.is-now { background: #FDEBE6; opacity: 1; }
.pmgu-stub__net { display: flex; justify-content: space-between; margin: 8px 0 0; padding-top: 8px; border-top: 2px solid #082238; font: 800 13px/1.2 var(--f-display); color: #082238; }
.pmgu-stub__t { width: 100%; border-collapse: collapse; margin-top: 6px; font-size: 12.5px; }
.pmgu-stub__t th { padding: 7px 5px; font: 700 10px/1 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: #94A3B8; text-align: right; }
.pmgu-stub__t th:first-child, .pmgu-stub__t td:first-child { text-align: left; }
.pmgu-stub__t td { padding: 6px 5px; border-top: 1px solid #EEF2F6; text-align: right; white-space: nowrap; color: #082238; }
.pmgu-stub__t td:first-child { white-space: normal; font-weight: 600; }
.pmgu-stub__t tr td { transition: opacity .35s, background .35s; }
.pmgu-stub__t tr.is-wait td { opacity: .14; }
.pmgu-stub__t tr.is-now td { background: #E3F5EC; }
.pmgu-stub__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 2px solid #082238; }
.pmgu-stub__foot p { margin: 0; }
.pmgu-stub__foot p span { display: block; font: 700 10.5px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: #64748B; }
.pmgu-stub__foot p b { font: 800 22px/1.3 var(--f-display); color: #082238; }
.pmgu-stub__runs { font: 600 12px/1.3 var(--f-body); color: #64748B; text-align: right; }
.pmgu-stub__runs span { display: inline !important; font: 800 13px/1 var(--f-display) !important; letter-spacing: 0 !important; color: #1F8A57 !important; }
.pmgu-stub__seal { position: absolute; right: 14px; bottom: -34px; display: grid; gap: 2px; padding: 9px 14px; border-radius: 12px; background: #1F8A57; color: #fff; box-shadow: 0 18px 30px -16px rgba(31,138,87,.8); transform: rotate(-3deg) scale(.7); opacity: 0; transition: transform .45s cubic-bezier(.2,1.6,.4,1), opacity .3s; }
.pmgu-stub__seal b { font: 800 14.5px/1.1 var(--f-display); }
.pmgu-stub__seal small { font: 600 11px/1.2 var(--f-body); color: #CFF2DF; }
.pmgu-stubs.is-done .pmgu-stub__seal { opacity: 1; transform: rotate(-3deg) scale(1); }
.pmgu-stubs__arrow { position: absolute; left: calc(41% - 4px); top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%; background: #082238; box-shadow: 0 10px 20px -10px rgba(8,34,56,.8); }
.pmgu-stubs__arrow i { position: absolute; inset: 0; margin: auto; width: 9px; height: 9px; border: solid #FFB81C; border-width: 2.5px 2.5px 0 0; transform: translateX(-2px) rotate(45deg); }
.pmgu-stubs.is-fade .pmgu-stub__t, .pmgu-stubs.is-fade .pmgu-stub__foot { opacity: .35; transition: opacity .4s; }

/* ---------- what moves: three lanes ---------- */
.pmgu-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
.pmgu-lane { padding: 22px; border-radius: 18px; background: #fff; border: 1px solid #E2E8F0; }
.pmgu-lane--in { --c: #1F8A57; --bg: #E3F5EC; }
.pmgu-lane--chg { --c: #B45309; --bg: #FEF3DC; }
.pmgu-lane--out { --c: #475569; --bg: #EEF2F6; }
.pmgu-lane h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 700 18px/1.25 var(--f-display); color: #082238; }
.pmgu-lane h3 span { display: grid; place-items: center; flex: none; min-width: 34px; height: 26px; padding: 0 6px; border-radius: 8px; background: var(--bg); color: var(--c); font: 800 11.5px/1 var(--f-body); letter-spacing: .04em; text-transform: uppercase; }
.pmgu-lane ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pmgu-lane li { padding: 10px 12px; border-radius: 12px; background: #F8FAFC; font-size: 14.5px; line-height: 1.5; color: #475569; }
.pmgu-lane li b { display: block; color: #082238; font-size: 15px; }
.pmgu-lane a { color: #0A6FA8; font-weight: 600; }
.pmgu-flags { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.pmgu-flags p { margin: 0; padding: 18px 20px; border-radius: 16px; background: #FFF8EC; border: 1px solid #F6E2BC; font-size: 15px; line-height: 1.6; }
.pmgu-flags b { color: #082238; }

/* ---------- trust ---------- */
.pmgu-trust__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); margin-top: 34px; align-items: start; }
.pmgu-note { padding: 24px 26px; border-radius: 18px; background: #fff; border: 1px solid #E2E8F0; border-left: 4px solid #FFB81C; }
.pmgu-note__hi { margin: 0 0 10px; font: 700 12px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: #64748B; }
.pmgu-note p { margin: 0 0 12px; font-size: 16px; line-height: 1.65; }
.pmgu-note__sig { display: flex; align-items: center; gap: 12px; margin-top: 16px; font-size: 13.5px; color: #64748B; }
.pmgu-note__sig b { display: block; color: #082238; font-size: 15px; }
.pmgu-note__faces { display: flex; flex: none; }
.pmgu-note__faces img { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; object-fit: cover; }
.pmgu-note__faces img + img { margin-left: -10px; }
.pmgu-ifs { margin-top: 18px; padding: 22px 24px; border-radius: 18px; background: #F3F7F9; }
.pmgu-ifs h3 { margin: 0 0 12px; font: 700 18px/1.3 var(--f-display); color: #082238; }
.pmgu-ifs dl { margin: 0; display: grid; gap: 12px; }
.pmgu-ifs dt { font-weight: 700; color: #082238; font-size: 15px; }
.pmgu-ifs dd { margin: 3px 0 0; font-size: 14.5px; line-height: 1.55; }
.pmgu-vr { margin: 0; padding: 22px; border-radius: 18px; background: #fff; border: 1px solid #E2E8F0; box-shadow: 0 40px 80px -55px rgba(8,34,56,.6); font-variant-numeric: tabular-nums; }
.pmgu-vr__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.pmgu-vr__head b { font: 800 18px/1.2 var(--f-display); color: #082238; }
.pmgu-vr__head em { padding: 3px 9px; border-radius: 999px; background: #FEF3DC; color: #8A5300; font: 700 11px/1.2 var(--f-body); font-style: normal; }
.pmgu-vr figcaption { margin: 4px 0 10px; font-size: 13px; color: #64748B; }
.pmgu-vr__t { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.pmgu-vr__t th, .pmgu-vr__t td { padding: 8px 6px; border-bottom: 1px solid #EEF2F6; text-align: right; }
.pmgu-vr__t thead th { font: 700 10.5px/1.2 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: #94A3B8; }
.pmgu-vr__t th[scope="row"], .pmgu-vr__t thead th:first-child { text-align: left; font-weight: 600; color: #082238; }
.pmgu-vr__t td { color: #334155; white-space: nowrap; }
.pmgu-vr__ok { width: 24px; }
.pmgu-vr__ok::after { content: ""; display: inline-block; width: 12px; height: 6px; border: solid #1F8A57; border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg) translateY(-3px); }
.pmgu-vr__total th, .pmgu-vr__total td { font-weight: 800; color: #082238; border-top: 2px solid #082238; background: #F0FAF5; }
.pmgu-vr__rule { margin: 14px 0 0; font: 700 15px/1.4 var(--f-display); color: #1F8A57; }
.pmgu-badge { display: flex; align-items: center; gap: 12px; margin: 16px 0 0; padding: 14px 18px; border-radius: 14px; background: #082238; color: #fff; font: 700 15px/1.35 var(--f-display); }
.pmgu-badge svg { flex: none; width: 28px; height: 28px; fill: none; stroke: #5FD3A0; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- YTD carry-over story ---------- */
.pmgu-carry { margin: 34px 0 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.pmgu-carry__row { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(16px, 3vw, 36px); align-items: center; padding: 20px 22px; border-radius: 18px; background: #fff; border: 1px solid #E2E8F0; }
.pmgu-carry__txt { position: relative; padding-left: 46px; }
.pmgu-carry__n { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: #082238; color: #fff; font: 800 14px/1 var(--f-display); }
.pmgu-carry__txt h3 { margin: 0 0 4px; font: 700 18px/1.3 var(--f-display); color: #082238; }
.pmgu-carry__txt p { margin: 0; font-size: 15px; line-height: 1.6; }
.pmgu-carry__bar { position: relative; display: flex; height: 54px; border-radius: 12px; background: #F3F7F9; overflow: hidden; }
.pmgu-carry__bar i { position: relative; display: flex; align-items: center; padding: 0 12px; font-style: normal; font: 700 12.5px/1.2 var(--f-body); color: #fff; transform-origin: left center; transition: transform .9s cubic-bezier(.2,.8,.2,1); }
.pmgu-carry__bar i span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pmgu-carry__bar .is-g { flex: 0 0 var(--g); background: #D9503B; }
.pmgu-carry__bar .is-z { flex: 1 1 auto; background: #1F8A57; }
.pmgu-carry__bar b { position: absolute; right: 10px; bottom: -1px; transform: translateY(100%); }
.pmgu-carry__bar:has(b) { margin-bottom: 26px; overflow: visible; }
.pmgu-carry__bar:has(b) i:first-child { border-radius: 12px 0 0 12px; }
.pmgu-carry__bar:has(b) i:last-of-type { border-radius: 0 12px 12px 0; }
.pmgu-carry__bar b { padding-top: 6px; font: 700 13px/1.2 var(--f-body); color: #082238; }
.pmgu-carry__bar--full .is-g { flex-basis: 100%; border-radius: 12px !important; }
.pmgu-carry__bar--cap u { position: absolute; top: -4px; bottom: -4px; left: var(--cap); border-left: 2px dashed #082238; text-decoration: none; }
.pmgu-carry__bar--cap u { font-size: 0; color: transparent; }
.pmgu-carry__bar--cap u::after { content: "Wage base"; position: absolute; top: -16px; right: 4px; font: 700 11px/1 var(--f-body); color: #082238; white-space: nowrap; }
.pmgu-carry__row:has(.pmgu-carry__bar--cap) .pmgu-carry__bar { margin-top: 14px; }
.pmgu-carry__bar--cap { overflow: visible; }
.pmgu-carry__bar--cap .is-g { border-radius: 12px 0 0 12px; }
.pmgu-carry__bar--cap .is-z { flex: 0 0 calc(var(--cap, 92%) - var(--g)); }
.pmgu-carry__row:not(.is-in) .pmgu-carry__bar i { transform: scaleX(0); }
.pmgu-carry__row:not(.is-in) .pmgu-carry__bar .is-z { transition-delay: .25s; }
.pmgu-carry__row.is-in .pmgu-carry__bar .is-z { transition-delay: .35s; }

/* signature effect: quarter timeline with a snapping switch pin */
.pmgu-q { margin: 30px 0 0; padding: 24px 26px 22px; border-radius: 20px; background: #082238; color: #DCEAF4; }
.pmgu-q figcaption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin-bottom: 30px; }
.pmgu-q figcaption b { font: 800 18px/1.3 var(--f-display); color: #fff; }
.pmgu-q figcaption span { font: 600 14.5px/1.45 var(--f-body); color: #FFB81C; transition: color .3s; }
.pmgu-q.is-snapped figcaption span { color: #7EE2B0; }
.pmgu-q__track { position: relative; padding: 0 4px; }
.pmgu-q__qs { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 8px; }
.pmgu-q__qs span { font: 800 13px/1 var(--f-display); color: rgba(255,255,255,.55); text-align: center; }
.pmgu-q__line { position: relative; height: 14px; border-radius: 99px; background: rgba(255,255,255,.12); overflow: hidden; }
.pmgu-q__line::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), rgba(255,255,255,.35) calc(25% - 1px) 25%); }
.pmgu-q__fillg, .pmgu-q__fillz { position: absolute; top: 0; bottom: 0; }
.pmgu-q__fillg { left: 0; width: var(--at, 50%); background: #D9503B; }
.pmgu-q__fillz { left: var(--at, 50%); right: 0; background: #1F8A57; }
.pmgu-q__ticks { position: relative; height: 22px; margin-top: 8px; }
.pmgu-q__ticks b { position: absolute; left: var(--x); transform: translateX(-50%); font: 600 11.5px/1 var(--f-body); color: rgba(255,255,255,.7); white-space: nowrap; }
.pmgu-q__ticks b:first-child { transform: none; }
.pmgu-q__ticks b:last-child { transform: translateX(-100%); }
.pmgu-q__pin { position: absolute; top: 14px; left: var(--at, 50%); width: 0; height: 30px; }
.pmgu-q__pin::before { content: ""; position: absolute; left: -2px; top: 0; width: 4px; height: 30px; border-radius: 2px; background: #FFB81C; }
.pmgu-q__pin em { position: absolute; bottom: 32px; left: 0; transform: translateX(-50%); padding: 4px 9px; border-radius: 999px; background: #FFB81C; color: #082238; font: 800 11.5px/1 var(--f-body); font-style: normal; white-space: nowrap; }
.pmgu-q.is-snapped .pmgu-q__pin::before { background: #7EE2B0; box-shadow: 0 0 0 6px rgba(126,226,176,.18); }
.pmgu-q.is-snapped .pmgu-q__pin em { background: #7EE2B0; }
.pmgu-q__who { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.pmgu-q__who p { margin: 0; padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,.06); border-left: 4px solid; font-size: 14px; line-height: 1.5; }
.pmgu-q__who b { display: block; color: #fff; font-size: 14.5px; }
.pmgu-q__who .is-g { border-color: #D9503B; }
.pmgu-q__who .is-z { border-color: #1F8A57; }

/* ---------- full map ---------- */
.pmgu-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 16px; }
.pmgu-filter button { padding: 9px 16px; border-radius: 10px; border: 1px solid #CBD5E1; background: #fff; font: 600 14px/1 var(--f-body); color: #334155; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.pmgu-filter button:hover { border-color: #D9503B; }
.pmgu-filter button.is-on { background: #D9503B; border-color: #D9503B; color: #fff; }
.pmgu-map__t th[scope="row"] { font-weight: 700; color: #082238; }
.pmgu-map__t tr[hidden] { display: none; }
.pmgu-map__t a { color: #0A6FA8; font-weight: 600; }
.pmgu-tag { display: inline-block; padding: 4px 10px; border-radius: 6px; font: 700 12px/1.2 var(--f-body); white-space: nowrap; }
.pmgu-tag--in { background: #E3F5EC; color: #17703F; }
.pmgu-tag--chg { background: #FEF3DC; color: #8A5300; }
.pmgu-tag--out { background: #EEF2F6; color: #475569; }

/* ---------- estimator (dark band) ---------- */
.pmgu-est__box { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 22px; margin-top: 34px; }
.pmgu-est__q { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; padding: 26px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.pmgu-est__q fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.pmgu-est__q legend, .pmgu-range > span { display: flex; justify-content: space-between; gap: 10px; width: 100%; margin-bottom: 9px; font: 600 14px/1.3 var(--f-body); color: #DCEAF4; }
.pmgu-range { display: block; }
.pmgu-range output { font: 800 15px/1 var(--f-display); color: #FFB81C; }
.pmgu-range input { width: 100%; accent-color: #FFB81C; }
.pmgu-ticks { grid-column: 1 / -1; }
.pmgu-seg label, .pmgu-ticks label { display: inline-block; margin: 0 6px 6px 0; cursor: pointer; }
.pmgu-seg input, .pmgu-ticks input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pmgu-seg span, .pmgu-ticks span { display: inline-block; padding: 9px 13px; border-radius: 10px; border: 1px solid rgba(255,255,255,.25); font: 600 13.5px/1 var(--f-body); color: #DCEAF4; transition: background .2s, color .2s, border-color .2s; }
.pmgu-seg input:checked + span, .pmgu-ticks input:checked + span { background: #FFB81C; border-color: #FFB81C; color: #082238; }
.pmgu-seg input:focus-visible + span, .pmgu-ticks input:focus-visible + span { outline: 2px solid #fff; outline-offset: 2px; }
.pmgu-est__out { align-self: start; padding: 26px; border-radius: 20px; background: #fff; color: #334155; box-shadow: 0 40px 80px -40px rgba(0,0,0,.6); }
.pmgu-est__lbl { margin: 0; font: 700 11px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: #C2410C; }
.pmgu-est__pk { margin: 10px 0 12px; font: 800 30px/1.1 var(--f-display); letter-spacing: -.02em; color: #082238; }
.pmgu-est__meter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 16px; }
.pmgu-est__meter i { height: 8px; border-radius: 3px; background: #E2E8F0; transition: background .3s; }
.pmgu-est__meter i.is-on { background: linear-gradient(90deg, #D9503B, #FFB81C); }
.pmgu-est__why { margin: 0 0 12px; padding: 0 0 0 18px; display: grid; gap: 6px; font-size: 14.5px; line-height: 1.5; }
.pmgu-est__plan { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: #E3F5EC; font: 600 13.5px/1.45 var(--f-body); color: #17703F; }
.pmgu-est__sum { margin: 0 0 16px; padding: 10px 12px; border-radius: 10px; background: #F3F7F9; font-size: 13px; line-height: 1.5; color: #475569; }
.pmgu-est__out .btn { width: 100%; justify-content: center; }
.pmgu-est__fine { margin: 12px 0 0; font-size: 13px; color: #64748B; }

/* ---------- packages ---------- */
.pmgu-pk .crm-scope__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pmgu-pk__assess { background: linear-gradient(180deg, #FFF8EF, #fff) !important; border-style: dashed !important; }
.pmgu-pk__lead { margin: 0 0 10px; font-size: 14.5px; line-height: 1.55; color: #334155; }
.pmgu-pk .crm-scope__card a { color: #0A6FA8; font-weight: 600; }

/* ---------- the move: four stretch cards ---------- */
.pmgu-ph { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 34px; counter-reset: gustep; }
.pmgu-ph__card { position: relative; padding: 0 0 18px; border-radius: 18px; background: #fff; border: 1px solid #E2E8F0; overflow: hidden; }
.pmgu-ph__card header { padding: 16px 18px 14px; background: color-mix(in srgb, var(--c) 10%, #fff); border-bottom: 3px solid var(--c); }
.pmgu-ph__card header span { font: 700 11px/1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--c); }
.pmgu-ph__card header h3 { margin: 6px 0 0; font: 800 19px/1.2 var(--f-display); color: #082238; }
.pmgu-ph__card ol { margin: 0; padding: 6px 18px 0; list-style: none; }
.pmgu-ph__card li { counter-increment: gustep; position: relative; padding: 12px 0 12px 36px; border-bottom: 1px dashed #E2E8F0; font-size: 14px; line-height: 1.5; color: #475569; }
.pmgu-ph__card li:last-child { border-bottom: 0; }
.pmgu-ph__card li::before { content: counter(gustep); position: absolute; left: 0; top: 12px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: #F3F7F9; font: 800 12.5px/1 var(--f-display); color: #082238; }
.pmgu-ph__card li.is-mig::before { background: #FFF1D6; color: #8A5300; }
.pmgu-ph__card li b { display: block; margin-bottom: 2px; color: #082238; font-size: 15px; }
.pmgu-ph__card li b em { margin-left: 4px; padding: 2px 7px; border-radius: 999px; background: #E3F5EC; color: #17703F; font: 700 11px/1 var(--f-body); font-style: normal; }
.pmgu-steps__more { display: inline-block; margin-top: 22px; }

/* ---------- planner: pay-period calendar ---------- */
.pmgu-plan__box { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 22px; margin-top: 34px; align-items: start; }
.pmgu-plan__in { display: grid; gap: 16px; padding: 24px; border-radius: 20px; background: #F3F7F9; border: 1px solid #E2E8F0; }
.pmgu-plan__f span, .pmgu-pseg legend { display: block; margin-bottom: 8px; font: 700 14px/1.3 var(--f-body); color: #082238; }
.pmgu-plan__f input { width: 100%; padding: 11px 12px; border-radius: 10px; border: 1px solid #CBD5E1; background: #fff; font: 600 15px/1.2 var(--f-body); color: #082238; }
.pmgu-pseg { margin: 0; padding: 0; border: 0; min-width: 0; }
.pmgu-pseg label { display: inline-block; margin: 0 6px 6px 0; cursor: pointer; }
.pmgu-pseg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pmgu-pseg span { display: inline-block; padding: 9px 13px; border-radius: 10px; border: 1px solid #CBD5E1; background: #fff; font: 600 13.5px/1 var(--f-body); color: #334155; transition: background .2s, color .2s, border-color .2s; }
.pmgu-pseg input:checked + span { background: #082238; border-color: #082238; color: #fff; }
.pmgu-pseg input:focus-visible + span { outline: 2px solid #0A6FA8; outline-offset: 2px; }
.pmgu-plan__out { padding: 24px; border-radius: 20px; background: #fff; border: 1px solid #E2E8F0; box-shadow: 0 40px 80px -60px rgba(8,34,56,.6); min-width: 0; }
.pmgu-plan__alert { margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: #E3F5EC; font: 600 14.5px/1.5 var(--f-body); color: #17703F; }
.pmgu-plan__alert.is-warn { background: #FEF3DC; color: #7A4A03; }
.pmgu-plan__alert.is-bad { background: #FDE7E2; color: #9F2D16; }
.pmgu-plan__keys { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.pmgu-plan__keys div { padding: 10px 12px; border-radius: 12px; background: #F3F7F9; }
.pmgu-plan__keys .is-g { background: #FDEBE6; }
.pmgu-plan__keys .is-z { background: #E3F5EC; }
.pmgu-plan__keys dt { font: 700 11px/1.3 var(--f-body); letter-spacing: .04em; text-transform: uppercase; color: #64748B; }
.pmgu-plan__keys dd { margin: 4px 0 0; font: 800 15px/1.2 var(--f-display); color: #082238; }
.pmgu-pp { display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px 10px; padding: 22px 14px 14px; border-radius: 14px; background: #F8FAFC; border: 1px solid #EEF2F6; }
.pmgu-pp__mo { min-width: 0; }
.pmgu-pp__mo > div { display: flex; gap: 5px; }
.pmgu-pp__m { margin: 0 0 6px; font: 700 11px/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: #94A3B8; white-space: nowrap; }
.pmgu-pp__mo span { display: grid; place-items: center; min-width: 50px; padding: 8px 5px; border-radius: 8px; background: #fff; border: 1px solid #E2E8F0; font: 700 13px/1.1 var(--f-body); color: #334155; text-align: center; }
.pmgu-pp__mo span small { display: block; margin-top: 3px; font: 700 9px/1 var(--f-body); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.pmgu-pp .is-g { background: #FDEBE6; border-color: #F4C7BC; color: #9F2D16; }
.pmgu-pp .is-par { background: #FFF1D6; border-color: #F6D48B; color: #8A5300; }
.pmgu-pp .is-last { background: #D9503B; border-color: #D9503B; color: #fff; }
.pmgu-pp .is-z { background: #E3F5EC; border-color: #A7DDBF; color: #17703F; }
.pmgu-pp .is-first { background: #1F8A57; border-color: #1F8A57; color: #fff; }
.pmgu-pp .is-q { position: relative; flex: none; width: 4px; border-radius: 2px; background: #082238; }
.pmgu-pp .is-q::after { content: attr(data-q); position: absolute; top: -16px; left: 50%; transform: translateX(-50%); padding: 3px 7px; border-radius: 5px; background: #082238; color: #fff; font: 700 10px/1 var(--f-body); white-space: nowrap; }
.pmgu-pp__key { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 10px 0 16px; padding: 0; list-style: none; font: 600 12.5px/1 var(--f-body); color: #475569; }
.pmgu-pp__key li { display: inline-flex; align-items: center; gap: 6px; }
.pmgu-pp__key li::before { content: ""; width: 12px; height: 12px; border-radius: 3px; }
.pmgu-pp__key .is-g::before { background: #FDEBE6; border: 1px solid #F4C7BC; }
.pmgu-pp__key .is-par::before { background: #FFF1D6; border: 1px solid #F6D48B; }
.pmgu-pp__key .is-last::before { background: #D9503B; }
.pmgu-pp__key .is-z::before { background: #1F8A57; }
.pmgu-pp__key .is-q::before { width: 4px; background: #082238; }
.pmgu-plan__list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; }
.pmgu-plan__list li { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 8px 0 8px 12px; border-bottom: 1px solid #EEF2F6; border-left: 3px solid var(--c); font-size: 14px; }
.pmgu-plan__list li b { color: #082238; font-weight: 700; }
.pmgu-plan__list li small { display: block; margin-top: 2px; font-size: 12.5px; color: #64748B; }
.pmgu-plan__list li .pmgu-mig { margin-left: 6px; }
.pmgu-plan__list time { flex: none; font: 700 13.5px/1 var(--f-body); color: #082238; white-space: nowrap; }
.pmgu-plan__fine { margin: 14px 0 12px; font-size: 13px; color: #64748B; }

/* ---------- day one ---------- */
.pmgu-d1__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(20px, 3vw, 40px); margin-top: 34px; align-items: start; }
.pmgu-week { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pmgu-week li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 14px 16px; border-radius: 16px; background: #fff; border: 1px solid #E2E8F0; }
.pmgu-week__d { display: grid; place-items: center; height: 52px; border-radius: 12px; background: #082238; color: #fff; font: 800 14px/1 var(--f-display); }
.pmgu-week li:nth-child(n+4) .pmgu-week__d { background: #1F8A57; }
.pmgu-week b { color: #082238; font-size: 15.5px; }
.pmgu-week p { margin: 3px 0 0; font-size: 14.5px; line-height: 1.55; }
.pmgu-cheat { padding: 24px; border-radius: 20px; background: #fff; border: 2px solid #082238; box-shadow: 8px 8px 0 #FFB81C; }
.pmgu-cheat__head h3 { margin: 0; font: 800 20px/1.25 var(--f-display); color: #082238; }
.pmgu-cheat__head p { margin: 4px 0 12px; font-size: 14px; color: #64748B; }
.pmgu-cheat__t { width: 100%; border-collapse: collapse; font-size: 14px; }
.pmgu-cheat__t th, .pmgu-cheat__t td { padding: 9px 8px; border-bottom: 1px solid #EEF2F6; text-align: left; vertical-align: top; }
.pmgu-cheat__t thead th { font: 700 11px/1.2 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: #94A3B8; }
.pmgu-cheat__t tbody th { font-weight: 600; color: #9F2D16; width: 44%; }
.pmgu-cheat__t td { color: #082238; font-weight: 600; }
.pmgu-cheat__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.pmgu-cheat__fine { margin: 12px 0 0; font-size: 12.5px; color: #64748B; }

/* ---------- risks ---------- */
.pmgu-risk__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 22px; margin-top: 34px; align-items: start; }
.pmgu-check { padding: 24px; border-radius: 18px; background: #fff; border: 1px solid #E2E8F0; }
.pmgu-check h3, .pmgu-pace h3 { margin: 0 0 12px; font: 700 18px/1.3 var(--f-display); color: #082238; }
.pmgu-check ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.pmgu-check label { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; cursor: pointer; font-size: 15px; line-height: 1.45; transition: background .2s; }
.pmgu-check label:hover { background: #F3F7F9; }
.pmgu-check input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: #1F8A57; }
.pmgu-check input:checked + span { color: #64748B; text-decoration: line-through; text-decoration-color: rgba(31,138,87,.6); }
.pmgu-check__out { margin: 14px 0 0; padding: 12px 14px; border-radius: 12px; background: #FEF3DC; font: 600 14px/1.45 var(--f-body); color: #7A4A03; }
.pmgu-check__out.is-all { background: #E3F5EC; color: #17703F; }
.pmgu-pace { display: grid; gap: 14px; }
.pmgu-pace__col { padding: 20px 22px; border-radius: 18px; border: 1px solid #E2E8F0; }
.pmgu-pace__col--fast { background: #F0FAF5; }
.pmgu-pace__col--slow { background: #FFF6F3; }
.pmgu-pace__col ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 15px; line-height: 1.5; }

/* ---------- savings ---------- */
.pmgu-sav__box { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 22px; margin-top: 34px; align-items: start; }
.pmgu-sav__in { display: grid; gap: 16px; padding: 24px; border-radius: 20px; background: #F3F7F9; border: 1px solid #E2E8F0; }
.pmgu-sav__range > span, .pmgu-sseg legend { display: flex; justify-content: space-between; gap: 10px; width: 100%; margin-bottom: 8px; font: 700 14px/1.3 var(--f-body); color: #082238; }
.pmgu-sav__range output { font: 800 16px/1 var(--f-display); color: #1F8A57; }
.pmgu-sav__range input { width: 100%; accent-color: #1F8A57; }
.pmgu-sseg { margin: 0; padding: 0; border: 0; min-width: 0; }
.pmgu-sseg label { display: inline-block; margin: 0 6px 6px 0; cursor: pointer; }
.pmgu-sseg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pmgu-sseg span { display: inline-block; padding: 9px 13px; border-radius: 10px; border: 1px solid #CBD5E1; background: #fff; font: 600 13.5px/1.15 var(--f-body); color: #334155; transition: background .2s, color .2s, border-color .2s; }
.pmgu-sseg span small { display: block; margin-top: 3px; font-size: 11.5px; font-weight: 500; color: inherit; opacity: .8; }
.pmgu-sseg input:checked + span { background: #082238; border-color: #082238; color: #fff; }
.pmgu-sseg input:focus-visible + span { outline: 2px solid #0A6FA8; outline-offset: 2px; }
.pmgu-sav__out { padding: 24px; border-radius: 20px; background: #fff; border: 1px solid #E2E8F0; box-shadow: 0 40px 80px -60px rgba(8,34,56,.6); }
.pmgu-sav__note { margin: 0 0 12px; font: 600 13.5px/1.5 var(--f-body); color: #8A5300; }
.pmgu-sav__note:empty { display: none; }
.pmgu-sav__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: end; height: 230px; padding: 0 10px; border-bottom: 2px solid #082238; }
.pmgu-sav__col { display: grid; grid-template-rows: auto auto 1fr; height: 100%; text-align: center; }
.pmgu-sav__col span { font: 700 13px/1.3 var(--f-body); color: #475569; }
.pmgu-sav__col i { position: relative; display: block; margin: 8px auto 0; width: min(110px, 80%); }
.pmgu-sav__col i b { position: absolute; left: 0; right: 0; bottom: 0; height: 100%; border-radius: 10px 10px 0 0; background: #D9503B; transform-origin: bottom; transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.pmgu-sav__col.is-zoho i b { background: #1F8A57; }
.pmgu-sav__col strong { order: -1; font: 800 20px/1.2 var(--f-display); color: #082238; }
.pmgu-sav__nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0; }
.pmgu-sav__nums div { padding: 10px 12px; border-radius: 12px; background: #F3F7F9; }
.pmgu-sav__nums .is-big { background: #E3F5EC; }
.pmgu-sav__nums dt { font: 700 11px/1.3 var(--f-body); letter-spacing: .04em; text-transform: uppercase; color: #64748B; }
.pmgu-sav__nums dd { margin: 4px 0 0; font: 800 17px/1.2 var(--f-display); color: #082238; }
.pmgu-sav__fee { margin: 16px 0 0; font: 600 14.5px/1.55 var(--f-body); color: #082238; }
.pmgu-sav__fine { margin: 10px 0 0; font-size: 12.5px; line-height: 1.55; color: #64748B; }
.pmgu-sav__fine a { color: #0A6FA8; font-weight: 600; }

/* ---------- why ---------- */
.pmgu-why__grid > div { max-width: 820px; }
.pmgu-why__fair { margin: 16px 0 0; padding: 16px 18px; border-radius: 14px; background: #F3F7F9; font-size: 15.5px; line-height: 1.6; }
.pmgu-why__links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 16px 0 0; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  .pmgu-pk .crm-scope__grid, .pmgu-ph { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .pmgu-hero .pmgu-hero__grid, .pmgu-trust__grid, .pmgu-est__box, .pmgu-plan__box, .pmgu-d1__grid, .pmgu-risk__grid, .pmgu-sav__box { grid-template-columns: minmax(0, 1fr); }
  .pmgu-lanes { grid-template-columns: minmax(0, 1fr); }
  .pmgu-carry__row { grid-template-columns: minmax(0, 1fr); }
  .pmgu-hero .pmgu-stubs { max-width: 640px; margin: 10px auto 0; }
}
@media (max-width: 640px) {
  .pmgu-stubs { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .pmgu-stub--src { transform: none; }
  .pmgu-stub--src .pmgu-stub__lines { display: none; }
  .pmgu-stubs__arrow { display: none; }
  .pmgu-stub__seal { right: 8px; bottom: -32px; }
  .pmgu-flags, .pmgu-q__who { grid-template-columns: minmax(0, 1fr); }
  .pmgu-pk .crm-scope__grid, .pmgu-ph { grid-template-columns: minmax(0, 1fr); }
  .pmgu-est__q { grid-template-columns: minmax(0, 1fr); padding: 20px; }
  .pmgu-plan__keys, .pmgu-sav__nums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pmgu-plan__list { grid-template-columns: minmax(0, 1fr); }
  .pmgu-plan__out, .pmgu-plan__in, .pmgu-sav__in, .pmgu-sav__out, .pmgu-cheat { padding: 18px; }
  .pmgu-cheat { box-shadow: 5px 5px 0 #FFB81C; }
  .pmgu-q { padding: 20px 16px; }
  .pmgu-q__ticks b:nth-child(2), .pmgu-q__ticks b:nth-child(4) { display: none; }
  .pmgu-vr { padding: 16px; }
  .pmgu-vr__t { font-size: 12.5px; }
  .pmgu-vr__t th, .pmgu-vr__t td { padding: 7px 4px; }
  .pmgu-carry__bar i { font-size: 11.5px; padding: 0 8px; }
  .pmgu-pp__mo span { min-width: 44px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .pmgu-carry__bar i, .pmgu-stub__seal, .pmgu-sav__col i b, .pmgu-stub__t tr td { transition: none !important; }
  .pmgu-carry__row:not(.is-in) .pmgu-carry__bar i { transform: none; }
}

/* ---------- print: cheat sheet only (Print it button) ---------- */
@media print {
  body.pmgu-print > *:not(main), body.pmgu-print main > *:not(#day-one) { display: none !important; }
  body.pmgu-print main, body.pmgu-print #day-one { padding: 0 !important; margin: 0 !important; }
  body.pmgu-print #day-one, body.pmgu-print #day-one * { opacity: 1 !important; transform: none !important; visibility: visible !important; clip-path: none !important; }
  body.pmgu-print #day-one .hp-kick, body.pmgu-print #day-one .pg-answer, body.pmgu-print .pmgu-week, body.pmgu-print .pmgu-cheat__btns { display: none !important; }
  body.pmgu-print .pmgu-d1__grid { display: block; margin: 0; }
  body.pmgu-print #day-one .pg-h2 { font-size: 20pt; margin: 0 0 12pt; }
  .pmgu-cheat { box-shadow: none !important; border: 1.5pt solid #000 !important; break-inside: avoid; }
  .pmgu-cheat__t { font-size: 11pt; }
  .pmgu-cheat__t th, .pmgu-cheat__t td { color: #000 !important; border-bottom: .5pt solid #999 !important; }
  .pmgu-cheat__btns { display: none !important; }
}
