/* Solar financing (/solar/financing/) only. Every class is scoped with .pss-fin- (extra: crm, mid, p-solar-financing). */
.pss-fin-hero, .pss-fin-covers, .pss-fin-hear, .pss-fin-ss, .pss-fin-apps, .pss-fin-plan, .pss-fin-choose, .pss-fin-rec, .pss-fin-cost, .pss-fin-pk, .pss-fin-start, .pss-fin-proof {
  --pf-ink: #082238; --pf-body: #334155; --pf-muted: #475569; --pf-line: #E2E8F0; --pf-paper: #F3F7F9;
  --pf-link: #0A6FA8; --pf-amber: #FFB81C; --pf-green: #157347;
}
.pss-fin-replay:focus-visible, .pss-fin-ss__btns button:focus-visible, .pss-fin-ss__apps a:focus-visible, .pss-fin-apps a:focus-visible, .pss-fin-chips input:focus-visible + span, .pss-fin-ss__skip:focus-visible { outline: 2px solid var(--pf-amber); outline-offset: 2px; }
.pss-fin-covers .pg-note, .pss-fin-rec .pg-note, .pss-fin-cost .pg-note, .pss-fin-ss .pg-note { color: var(--pf-muted); }

/* ---------- 1. hero: three finance lanes ---------- */
.pss-fin-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 4.5vw, 64px); align-items: center; }
.pss-fin-hero .pg-h1 { max-width: 19ch; font-size: clamp(34px, 1.1rem + 2.3vw, 52px); }
.pss-fin-hero .pg-lead { font-size: 17px; }
.pss-fin-lanes { margin: 0; padding: 18px; border-radius: 24px; background: #fff; border: 1px solid var(--pf-line); box-shadow: 0 40px 80px -50px rgba(8,34,56,.5); }
.pss-fin-lanes__bar { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 700 14px/1.2 var(--f-body); color: var(--pf-ink); }
.pss-fin-lanes__bar em { margin-left: auto; padding: 3px 9px; border-radius: 99px; background: #FFF4D6; font: 700 11px/1.3 var(--f-body); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: #7A4F00; }
.pss-fin-lanes__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pss-fin-lane { padding: 14px 16px 30px; border-radius: 16px; background: var(--pf-paper); border-left: 5px solid var(--c); }
.pss-fin-lane__h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 14px; }
.pss-fin-lane__h b { font: 800 17px/1.1 var(--f-display); color: var(--c); letter-spacing: -.01em; }
.pss-fin-lane__h span { font: 500 13px/1.3 var(--f-body); color: var(--pf-muted); }
.pss-fin-lane__track { position: relative; height: 8px; margin: 0 14px 0 6px; border-radius: 8px; background: #D5E0E8; }
.pss-fin-lane__fill { position: absolute; left: 0; top: 0; bottom: 0; width: var(--p, 100%); border-radius: 8px; background: var(--c); transition: width .9s cubic-bezier(.4,0,.2,1); }
.pss-fin-lane__dot { position: absolute; top: 50%; left: var(--p, 100%); width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: #fff; border: 4px solid var(--c); box-shadow: 0 4px 10px rgba(8,34,56,.25); transition: left .9s cubic-bezier(.4,0,.2,1); }
.pss-fin-pin { position: absolute; top: 50%; left: var(--x); transform: translate(-50%, -50%); display: grid; justify-items: center; }
.pss-fin-pin b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--c); border: 3px solid #fff; font: 800 12px/1 var(--f-display); color: #fff; box-shadow: 0 6px 14px -6px rgba(8,34,56,.5); transition: background-color .35s, color .35s, transform .35s; }
.pss-fin-pin small { position: absolute; top: 36px; white-space: nowrap; font: 600 11.5px/1.2 var(--f-body); color: var(--pf-muted); }
.pss-fin-lanes.is-anim .pss-fin-pin b { background: #fff; color: #475569; border-color: #B8C6D3; }
.pss-fin-lanes.is-anim .pss-fin-pin.is-paid b { background: var(--c); color: #fff; border-color: #fff; transform: scale(1.1); }
.pss-fin-lanes__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 14px; }
.pss-fin-lanes__foot p { margin: 0; font: 600 14px/1.3 var(--f-body); color: var(--pf-ink); }
.pss-fin-lanes__foot p b { font: 800 18px/1 var(--f-display); color: var(--pf-green); }
.pss-fin-lanes__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pss-fin-lanes__chips li { padding: 4px 10px; border-radius: 99px; background: #E6F3FB; font: 600 12px/1.3 var(--f-body); color: #0B5E8C; }
.pss-fin-replay { margin-left: auto; min-height: 36px; padding: 6px 14px; border-radius: 99px; border: 1px solid var(--pf-line); background: #fff; cursor: pointer; font: 600 13.5px/1 var(--f-body); color: var(--pf-link); }
.pss-fin-replay:hover { border-color: var(--pf-link); }

/* ---------- 2. covers ---------- */
.pss-fin-covers__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.pss-fin-facts { margin: 0; display: grid; gap: 10px; }
.pss-fin-facts > div { padding: 14px 18px; border-radius: 16px; background: #fff; border: 1px solid var(--pf-line); }
.pss-fin-facts dt { margin: 0 0 4px; font: 700 12px/1.2 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--pf-link); }
.pss-fin-facts dd { margin: 0; font: 400 15px/1.55 var(--f-body); color: var(--pf-body); }
.pss-fin-facts__apps { display: flex; flex-wrap: wrap; gap: 8px; }
.pss-fin-facts__apps img { width: 28px; height: 28px; padding: 4px; box-sizing: content-box; border-radius: 9px; background: var(--pf-paper); }

/* ---------- 3. flip cards ---------- */
.pss-fin-flip { margin-top: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pss-fin-flip .mk-flip__card { min-height: 210px; }

/* ---------- 4. J8 stamp card scroll-story ---------- */
.pss-fin-ss { padding: 0; background: linear-gradient(180deg, #FBF7EE 0%, #F6F1E6 100%); overflow-x: clip; }
.pss-fin-ss__stage { padding-top: clamp(64px, 8vw, 104px); padding-bottom: clamp(64px, 8vw, 104px); }
.pss-fin-ss__head .pg-answer { margin-bottom: 0; }
.pss-fin-ss__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 3.5vw, 48px); align-items: start; margin-top: 28px; }
.pss-fin-card { position: sticky; top: 100px; margin: 0; padding: 18px; border-radius: 22px; background: #FFFDF8; border: 1.5px solid #E5DCC8; box-shadow: 0 30px 60px -46px rgba(8,34,56,.5); background-image: repeating-linear-gradient(0deg, transparent 0 27px, rgba(138,90,0,.05) 27px 28px); }
.pss-fin-card__top { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1.5px dashed #E5DCC8; }
.pss-fin-card__chip { flex: none; width: 34px; height: 26px; border-radius: 6px; background: linear-gradient(135deg, #FFD15C, #E7A400); box-shadow: inset 0 0 0 1px rgba(122,79,0,.35); }
.pss-fin-card__top p { margin: 0; display: grid; gap: 2px; }
.pss-fin-card__top b { font: 800 17px/1.1 var(--f-display); color: var(--pf-ink); letter-spacing: -.01em; }
.pss-fin-card__top span { font: 500 12.5px/1.3 var(--f-body); color: var(--pf-muted); }
.pss-fin-card__top em { margin-left: auto; padding: 3px 9px; border-radius: 99px; background: #FFF4D6; font: 700 11px/1.3 var(--f-body); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: #7A4F00; }
.pss-fin-card__slots { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pss-fin-card__slots li { container-type: inline-size; position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; border-radius: 14px; border: 1.5px dashed #CDBF9F; background: rgba(255,255,255,.7); }
.pss-fin-card__slots li:nth-child(n+5) { transform: translateX(calc(50% + 5px)); }
.pss-fin-card__lbl { position: absolute; left: 0; right: 0; bottom: 6px; text-align: center; font: 600 clamp(9px, 10cqi, 11.5px)/1.2 var(--f-body); color: #6B5A35; }
.pss-fin-stamp { display: grid; place-items: center; align-content: center; gap: 2px; width: 72%; aspect-ratio: 1 / 1; margin-bottom: 16px; border-radius: 50%; border: 3px double var(--c); color: var(--c); background: color-mix(in srgb, var(--c) 7%, #fff); transform: rotate(var(--r, 0deg)); text-align: center; }
.pss-fin-stamp b { padding: 0 2px; font: 800 clamp(7.5px, 10.5cqi, 13px)/1.05 var(--f-display); letter-spacing: -.01em; text-transform: uppercase; }
.pss-fin-stamp small { font: 700 clamp(7px, 7.5cqi, 9.5px)/1 var(--f-body); letter-spacing: .06em; text-transform: uppercase; }
.pss-fin-card__foot { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; align-items: center; margin-top: 16px; padding-top: 12px; border-top: 1.5px dashed #E5DCC8; }
.pss-fin-card__k { grid-row: span 2; font: 700 12px/1.2 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: #6B5A35; }
.pss-fin-card__meter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.pss-fin-card__meter i { height: 10px; border-radius: 6px; background: var(--pf-green); transition: background-color .4s; }
.pss-fin-card__ms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.pss-fin-card__ms small { text-align: center; font: 700 11px/1 var(--f-body); color: #6B5A35; }
.pss-fin-ss__btns, .pss-fin-ss__bar { display: none; }
.pss-fin-ss__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.pss-fin-ss__st { background: #fff; border-radius: 20px; padding: 20px 22px; border-left: 5px solid var(--c); box-shadow: 0 30px 60px -46px rgba(8,34,56,.45); }
.pss-fin-ss__when { margin: 0 0 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 700 12px/1.2 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--c); }
.pss-fin-ss__n { padding: 3px 8px; border-radius: 99px; background: var(--c); color: #fff; letter-spacing: .04em; }
.pss-fin-ss__st h3 { margin: 0 0 8px; font: 700 clamp(19px, 1rem + .5vw, 23px)/1.22 var(--f-display); letter-spacing: -.02em; color: var(--pf-ink); }
.pss-fin-ss__st > p:not([class]) { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--pf-body); }
.pss-fin-ss__apps { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; }
.pss-fin-ss__apps a { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 5px 11px 5px 6px; border-radius: 10px; background: var(--pf-paper); border: 1px solid var(--pf-line); font: 600 13px/1.2 var(--f-body); color: var(--pf-ink); text-decoration: none; }
.pss-fin-ss__apps a:hover { border-color: var(--c); }
.pss-fin-ss__note { margin-top: 18px; }
.pss-fin-ss__note a { color: var(--pf-link); font-weight: 600; }
.pss-fin-ss__skip { margin-left: 6px; }
/* live (pinned) version: JS adds --live at >= 900px wide, >= 600px tall, no reduced motion */
.pss-fin-ss--live .pss-fin-ss__track { height: calc(100vh + 7 * 52vh); }
.pss-fin-ss--live .pss-fin-ss__stage { position: sticky; top: 0; height: 100vh; min-height: 600px; display: flex; flex-direction: column; padding-top: 92px; padding-bottom: 20px; }
.pss-fin-ss--live .pg-h2 { font-size: clamp(26px, 1rem + 1.2vw, 36px); margin-bottom: 8px; max-width: 34ch; }
.pss-fin-ss--live .pg-answer { font-size: 16px; max-width: 92ch; }
.pss-fin-ss--live .pss-fin-ss__head .hp-kick { margin-bottom: 12px; }
.pss-fin-ss--live .pss-fin-ss__btns { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.pss-fin-ss__btns button { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 36px; padding: 6px 4px; border: 1px solid #E5DCC8; border-radius: 10px; background: #fff; cursor: pointer; font: 700 12.5px/1.1 var(--f-body); color: var(--pf-ink); transition: background-color .25s, border-color .25s, color .25s; }
.pss-fin-ss__btns button em { font-style: normal; }
.pss-fin-ss__btns button span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--pf-paper); border: 1px solid #B8C6D3; font-size: 11px; color: #334155; }
.pss-fin-ss__btns button:hover { border-color: var(--c); }
.pss-fin-ss__btns li.is-on button { background: var(--c); border-color: var(--c); color: #fff; }
.pss-fin-ss__btns li.is-on button span { background: #fff; border-color: #fff; color: var(--c); }
.pss-fin-ss--live .pss-fin-ss__grid { flex: 1; min-height: 0; margin-top: 16px; align-items: start; }
.pss-fin-ss--live .pss-fin-card { position: relative; top: auto; }
.pss-fin-ss--live .pss-fin-card__slots { max-width: min(100%, 50vh); margin: 0 auto; }
.pss-fin-ss--live .pss-fin-stamp { opacity: 0; transform: rotate(var(--r, 0deg)) scale(1.6); transition: opacity .18s, transform .18s; }
.pss-fin-ss--live .pss-fin-card__slots li.is-stamped .pss-fin-stamp { opacity: 1; transform: rotate(var(--r, 0deg)) scale(1); transition: opacity .2s .12s, transform .32s .12s cubic-bezier(.3,1.6,.5,1); }
.pss-fin-ss--live .pss-fin-card__slots li.is-on { border-color: var(--c); border-style: solid; box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 18%, transparent); }
.pss-fin-ss--live .pss-fin-card__meter i { background: #E5DCC8; }
.pss-fin-ss--live .pss-fin-card__meter i.on { background: var(--pf-green); }
.pss-fin-ss--live .pss-fin-ss__bar { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
.pss-fin-ss__bar i { width: 26px; height: 5px; border-radius: 4px; background: rgba(8,34,56,.14); transition: background-color .4s; }
.pss-fin-ss__bar i.on { background: var(--pf-amber); }
.pss-fin-ss--live .pss-fin-ss__list { display: block; position: relative; }
.pss-fin-ss--live .pss-fin-ss__st { position: absolute; left: 0; right: 0; top: 0; padding: 20px 24px; opacity: 0; pointer-events: none; transform: translateY(12px) scale(.985); transition: opacity .2s, transform .25s; }
.pss-fin-ss--live .pss-fin-ss__st.is-on { opacity: 1; pointer-events: auto; transform: none; transition: opacity .45s .14s, transform .55s .14s cubic-bezier(.2,.8,.2,1); }
.pss-fin-ss--live .pss-fin-ss__note { margin-top: 10px; font-size: 13.5px; text-align: center; }
@media (max-height: 780px) {
  .pss-fin-ss--live .pss-fin-ss__stage { padding-top: 82px; padding-bottom: 12px; }
  .pss-fin-ss--live .pss-fin-ss__head .hp-kick { display: none; }
  .pss-fin-ss--live .pg-h2 { font-size: clamp(23px, .9rem + 1vw, 29px); margin-bottom: 4px; }
  .pss-fin-ss--live .pg-answer { font-size: 14.5px; line-height: 1.45; }
  .pss-fin-ss--live .pss-fin-ss__btns { margin-top: 8px; }
  .pss-fin-ss--live .pss-fin-ss__grid { margin-top: 10px; }
  .pss-fin-ss--live .pss-fin-card { padding: 12px 14px; }
  .pss-fin-ss--live .pss-fin-card__top { padding-bottom: 8px; margin-bottom: 8px; }
  .pss-fin-ss--live .pss-fin-card__slots { max-width: min(100%, 62vh); gap: 6px; }
  .pss-fin-ss--live .pss-fin-card__foot { margin-top: 8px; padding-top: 8px; }
  .pss-fin-ss--live .pss-fin-ss__st { padding: 14px 18px; }
  .pss-fin-ss--live .pss-fin-ss__st h3 { font-size: 19px; margin-bottom: 4px; }
  .pss-fin-ss--live .pss-fin-ss__st > p:not([class]) { font-size: 14px; line-height: 1.5; }
  .pss-fin-ss--live .pss-fin-ss__apps { margin-top: 8px; }
  .pss-fin-ss--live .pss-fin-ss__note { margin-top: 6px; font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) { .pss-fin-stamp, .pss-fin-ss__st, .pss-fin-lane__fill, .pss-fin-lane__dot, .pss-fin-pin b { transition: none !important; } }

/* ---------- 5. apps ---------- */
.pss-fin-apps__grid { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pss-fin-apps__grid a { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; align-items: start; height: 100%; box-sizing: border-box; padding: 16px; border-radius: 18px; background: #fff; border: 1px solid var(--pf-line); text-decoration: none; transition: border-color .2s, transform .2s, box-shadow .2s; }
.pss-fin-apps__grid a:hover { border-color: var(--pf-link); transform: translateY(-2px); box-shadow: 0 24px 40px -34px rgba(10,111,168,.6); }
.pss-fin-apps__grid span { font: 400 14px/1.5 var(--f-body); color: var(--pf-body); }
.pss-fin-apps__grid b { display: block; margin-bottom: 4px; font: 700 16px/1.25 var(--f-display); color: var(--pf-ink); }
.pss-fin-apps__grid li:nth-child(-n+3) a { background: linear-gradient(160deg, #F0F7FD, #fff 60%); border-color: #CFE3F1; }

/* ---------- 6. milestone planner (dark band) ---------- */
.pss-fin-plan__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(20px, 3vw, 36px); margin-top: 28px; align-items: start; }
.pss-fin-plan__form, .pss-fin-plan__out { padding: 18px; border-radius: 22px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.pss-fin-chips { margin: 0 0 16px; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pss-fin-chips:last-child { margin-bottom: 0; }
.pss-fin-chips legend { width: 100%; margin: 0 0 8px; padding: 0; font: 700 13px/1.3 var(--f-body); letter-spacing: .05em; text-transform: uppercase; color: #BFD3E2; }
.pss-fin-chips label { position: relative; display: inline-flex; }
.pss-fin-chips input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pss-fin-chips span { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px; border-radius: 12px; border: 1.5px solid rgba(255,255,255,.28); background: rgba(255,255,255,.05); font: 600 14.5px/1.25 var(--f-body); color: #E6EEF5; transition: background-color .2s, border-color .2s, color .2s; }
.pss-fin-chips input[type=checkbox] + span::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: 5px; border: 2px solid rgba(255,255,255,.6); box-sizing: border-box; }
.pss-fin-chips input[type=radio] + span::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255,255,255,.6); box-sizing: border-box; }
.pss-fin-chips input:checked + span { background: #fff; border-color: #fff; color: var(--pf-ink); }
.pss-fin-chips input:checked + span::before { border-color: var(--pf-link); background: radial-gradient(circle, var(--pf-link) 0 45%, transparent 50%); }
.pss-fin-chips input[type=checkbox]:checked + span::before { background: var(--pf-link) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8.5 3 3 6-7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.pss-fin-chips label:hover span { border-color: rgba(255,255,255,.6); }
.pss-fin-plan__flag { display: inline-block; margin: 0 0 10px; padding: 3px 9px; border-radius: 99px; background: #FFF4D6; font: 700 11px/1.3 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: #7A4F00; }
.pss-fin-plan__sum { margin: 0 0 14px; font: 700 18px/1.35 var(--f-display); color: #fff; }
.pss-fin-plan__ms { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 10px; }
.pss-fin-plan__ms > li { padding: 14px; border-radius: 16px; background: #fff; color: var(--pf-body); border-top: 5px solid var(--c, #0A6FA8); animation: pssFinPop .35s both; }
.pss-fin-plan__ms h3 { margin: 0 0 2px; font: 800 17px/1.15 var(--f-display); color: var(--pf-ink); }
.pss-fin-plan__trig { margin: 0 0 10px; font: 600 13px/1.35 var(--f-body); color: var(--pf-muted); }
.pss-fin-plan__k { margin: 10px 0 4px; font: 700 11.5px/1.2 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--pf-link); }
.pss-fin-plan__ms ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pss-fin-plan__ms ul li { position: relative; padding-left: 16px; font: 400 13.5px/1.4 var(--f-body); color: var(--pf-body); }
.pss-fin-plan__ms ul li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 7px; height: 7px; border-radius: 2px; background: var(--c, #0A6FA8); }
.pss-fin-plan__ms ul li.is-x { color: var(--pf-ink); font-weight: 600; }
.pss-fin-plan__who { margin: 10px 0 0; padding-top: 8px; border-top: 1px dashed var(--pf-line); font: 500 13px/1.4 var(--f-body); color: var(--pf-muted); }
.pss-fin-plan__h { margin: 16px 0 8px; font: 700 14px/1.3 var(--f-body); color: #fff; }
.pss-fin-plan__apps { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pss-fin-plan__apps li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px 5px 5px; border-radius: 9px; background: #fff; font: 600 13px/1.2 var(--f-body); color: var(--pf-ink); animation: pssFinPop .35s both; }
.pss-fin-plan__apps img { width: 20px; height: 20px; }
@keyframes pssFinPop { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.pss-fin-plan__send { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 16px; }
.pss-fin-plan__send span { font: 500 13px/1.4 var(--f-body); color: #BFD3E2; max-width: 40ch; }
@media (prefers-reduced-motion: reduce) { .pss-fin-plan__ms > li, .pss-fin-plan__apps li { animation: none; } }

/* ---------- 7. M weigh ---------- */
.pss-fin-weigh { margin-top: 28px; }

/* ---------- 8. records ---------- */
.pss-fin-rec__rows { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pss-fin-rec__rows li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--pf-line); }
.pss-fin-rec__tab { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; border: 3px double #1D3F8F; font: 800 12px/1 var(--f-display); letter-spacing: .03em; text-transform: uppercase; color: #1D3F8F; transform: rotate(-8deg); }
.pss-fin-rec__rows li:nth-child(2) .pss-fin-rec__tab { border-color: #9A3412; color: #9A3412; transform: rotate(6deg); }
.pss-fin-rec__rows li:nth-child(3) .pss-fin-rec__tab { border-color: #08776F; color: #08776F; }
.pss-fin-rec__rows li:nth-child(4) .pss-fin-rec__tab { border-color: #6D28D9; color: #6D28D9; transform: rotate(4deg); }
.pss-fin-rec__rows h3 { margin: 0 0 8px; font: 700 18px/1.3 var(--f-display); color: var(--pf-ink); }
.pss-fin-rec__rows p { margin: 0 0 6px; font: 400 14.5px/1.5 var(--f-body); color: var(--pf-body); }
.pss-fin-rec__rows p b { display: block; font: 700 11.5px/1.3 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--pf-link); }
.pss-fin-rec__rows p + p b { color: #9A3412; }

/* ---------- 9. licence statement ---------- */
.pss-fin-cost__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.pss-fin-stmt { padding: 20px; border-radius: 22px; background: #fff; border: 1px solid var(--pf-line); box-shadow: 0 30px 60px -48px rgba(8,34,56,.5); overflow-x: auto; }
.pss-fin-stmt__h { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 12px; }
.pss-fin-stmt__h b { font: 800 17px/1.2 var(--f-display); color: var(--pf-ink); }
.pss-fin-stmt__h span { font: 500 13px/1.3 var(--f-body); color: var(--pf-muted); }
.pss-fin-stmt__h em { margin-left: auto; padding: 3px 9px; border-radius: 99px; background: #FFF4D6; font: 700 11px/1.3 var(--f-body); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: #7A4F00; }
.pss-fin-stmt table { width: 100%; border-collapse: collapse; font: 400 14.5px/1.4 var(--f-body); color: var(--pf-body); }
.pss-fin-stmt th, .pss-fin-stmt td { padding: 9px 8px; border-bottom: 1px solid var(--pf-line); text-align: left; }
.pss-fin-stmt td:last-child, .pss-fin-stmt thead th:last-child { text-align: right; white-space: nowrap; }
.pss-fin-stmt thead th { font: 700 12px/1.2 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--pf-muted); }
.pss-fin-stmt tbody th { font-weight: 600; color: var(--pf-ink); }
.pss-fin-stmt tfoot th, .pss-fin-stmt tfoot td { font-weight: 800; color: var(--pf-ink); border-bottom: 0; }
.pss-fin-stmt tfoot tr:first-child th, .pss-fin-stmt tfoot tr:first-child td { border-top: 2px solid var(--pf-ink); }
.pss-fin-stmt tfoot .is-alt th, .pss-fin-stmt tfoot .is-alt td { color: var(--pf-green); font-weight: 700; }
.pss-fin-stmt__foot { margin: 10px 0 0; font: 500 13px/1.5 var(--f-body); color: var(--pf-muted); }

/* ---------- 10. packages ---------- */
.pss-fin-pk__list { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.pss-fin-pk__card { position: relative; display: flex; flex-direction: column; padding: 22px; border-radius: 22px; background: #fff; border: 1px solid var(--pf-line); }
.pss-fin-pk__card.is-pick { border: 2px solid var(--pf-link); box-shadow: 0 30px 60px -40px rgba(10,111,168,.5); }
.pss-fin-pk__flag { position: absolute; top: -12px; left: 20px; margin: 0; padding: 4px 10px; border-radius: 99px; background: var(--pf-amber); font: 700 12px/1.2 var(--f-body); color: var(--pf-ink); }
.pss-fin-pk__tag { margin: 0 0 8px; font: 700 12px/1.3 var(--f-body); letter-spacing: .06em; text-transform: uppercase; color: var(--pf-link); }
.pss-fin-pk__card h3 { margin: 0 0 12px; font: 700 21px/1.25 var(--f-display); color: var(--pf-ink); }
.pss-fin-pk__card ul { list-style: disc; margin: 0 0 14px; padding: 0 0 0 18px; display: grid; gap: 6px; font: 400 15px/1.45 var(--f-body); color: var(--pf-body); }
.pss-fin-pk__fee { margin: auto 0 0; padding-top: 12px; border-top: 1px dashed var(--pf-line); font: 600 14px/1.45 var(--f-body); color: var(--pf-ink); }

/* ---------- 11. start ---------- */
.pss-fin-start__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 4vw, 60px); align-items: start; }
.pss-fin-start__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pss-fin-start__list li { padding: 18px; border-radius: 18px; background: #fff; border: 1px solid var(--pf-line); }
.pss-fin-start__list span { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 10px; border-radius: 10px; background: var(--pf-amber); font: 800 15px/1 var(--f-display); color: var(--pf-ink); transform: rotate(-4deg); }
.pss-fin-start__list b { display: block; margin-bottom: 4px; font: 700 16.5px/1.3 var(--f-display); color: var(--pf-ink); }
.pss-fin-start__list p { margin: 0; font: 400 14.5px/1.5 var(--f-body); color: var(--pf-body); }

/* ---------- 12. proof ---------- */
.pss-fin-proof .pg-proof__logos img { width: 24px; height: 24px; }

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
  .pss-fin-apps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pss-fin-plan__ms { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .pss-fin-hero__grid, .pss-fin-covers__grid, .pss-fin-ss__grid, .pss-fin-plan__grid, .pss-fin-cost__grid, .pss-fin-start__grid { grid-template-columns: 1fr; }
  .pss-fin-card { position: relative; top: 0; }
  .pss-fin-flip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pss-fin-pk__list, .pss-fin-rec__rows { grid-template-columns: 1fr; }
  .pss-fin-pk__list { gap: 22px; }
}
@media (max-width: 600px) {
  .pss-fin-lanes { padding: 14px; }
  .pss-fin-lane { padding: 12px 12px 30px; }
  .pss-fin-lanes__foot { gap: 8px; }
  .pss-fin-replay { margin-left: 0; }
  .pss-fin-flip { grid-template-columns: 1fr; }
  .pss-fin-flip .mk-flip__card { min-height: 190px; }
  .pss-fin-apps__grid, .pss-fin-start__list { grid-template-columns: 1fr; }
  .pss-fin-card { padding: 14px; }
  .pss-fin-card__slots { gap: 6px; }
  .pss-fin-stamp { width: 82%; margin-bottom: 14px; }
  .pss-fin-stamp b { font-size: 12cqi; }
  .pss-fin-stamp small { display: none; }
  .pss-fin-card__lbl { bottom: 3px; }
  .pss-fin-ss__st { padding: 16px; }
  .pss-fin-plan__form, .pss-fin-plan__out { padding: 12px; }
  .pss-fin-chips span { font-size: 14px; padding: 8px 12px; }
  .pss-fin-rec__rows li { grid-template-columns: 1fr; }
  .pss-fin-stmt { padding: 14px; }
  .pss-fin-stmt table { font-size: 13.5px; }
  .pss-fin-stmt th, .pss-fin-stmt td { padding: 8px 4px; }
}
