/* Blog H7: Zoho partner vs freelancer (.pbpf-) */
.pbpf-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.pbpf-meta { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 18px 0 0; font: 500 14px/1.4 var(--f-body); color: #64748B; }
.pbpf-meta span:not(:last-child)::after { content: "/"; margin: 0 12px; color: #CBD5E1; }

/* hero: brief + two proposals */
.pbpf-brief { position: relative; margin: 0; justify-self: center; width: min(100%, 440px); }
.pbpf-brief__job { position: relative; z-index: 2; padding: 20px 22px; border-radius: 20px; background: linear-gradient(150deg, #061A2E, #0A3A63 60%, #07605E); color: #BFD3E2; box-shadow: 0 30px 50px -30px rgba(8,34,56,.75); }
.pbpf-brief__tag { display: flex; justify-content: space-between; margin: 0 0 8px; font: 700 11.5px/1.2 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: #FFB81C; }
.pbpf-brief__tag em { font-style: normal; padding: 3px 8px; border-radius: 99px; background: rgba(255,255,255,.12); color: #fff; letter-spacing: .06em; }
.pbpf-brief__t { margin: 0; font: 700 19px/1.35 var(--f-display); color: #fff; letter-spacing: -.01em; }
.pbpf-brief__s { margin: 8px 0 0; font-size: 13.5px; color: #9FB8CB; }
.pbpf-brief__bids { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: -10px; padding: 0 6px; }
.pbpf-bid { padding: 26px 16px 16px; border-radius: 0 0 18px 18px; background: #fff; border: 1px solid #E2E8F0; border-top: 0; box-shadow: 0 24px 40px -30px rgba(8,34,56,.55); opacity: 0; transform: translateY(-18px); animation: pbpfDrop .7s calc(.5s + var(--d) * .45s) cubic-bezier(.2,.9,.25,1.15) forwards; }
.pbpf-bid--f { border-bottom: 4px solid #E0623F; }
.pbpf-bid--p { border-bottom: 4px solid #0A84C1; }
@keyframes pbpfDrop { to { opacity: 1; transform: none; } }
.pbpf-bid__who { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font: 700 14.5px/1.25 var(--f-display); color: #082238; }
.pbpf-av { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: #FFF1EC; color: #B2401E; font: 800 13px/1 var(--f-body); }
.pbpf-av--team { display: flex; width: auto; background: none; }
.pbpf-av--team i { width: 18px; height: 18px; margin-left: -6px; border-radius: 50%; border: 2px solid #fff; background: #0A84C1; }
.pbpf-av--team i:first-child { margin-left: 0; background: #1D3F8F; }
.pbpf-av--team i:last-child { background: #00B2A9; }
.pbpf-bid ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 7px; }
.pbpf-bid li { position: relative; padding-left: 16px; font-size: 13.5px; line-height: 1.4; color: #334155; }
.pbpf-bid li::before { content: ""; position: absolute; left: 0; top: .5em; width: 7px; height: 7px; border-radius: 2px; background: #CBD5E1; }
.pbpf-bid--f li::before { background: #F4A58C; } .pbpf-bid--p li::before { background: #7CC6EA; }

/* article */
.pbpf-art { padding-top: clamp(24px, 4vw, 48px); }
.pbpf-art__grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: clamp(28px, 5vw, 72px); align-items: start; }
.pbpf-body, .pbpf-narrow { font-size: 17.5px; line-height: 1.72; color: #334155; }
.pbpf-body { max-width: 74ch; }
.pbpf-narrow > * { max-width: 920px; }
.pbpf-body > p, .pbpf-narrow > p:not(.hp-kick):not(.pg-answer) { margin: 0 0 18px; }
.pbpf-body a, .pbpf-narrow a { color: #0A6FA8; font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.pbpf-h2 { margin: 58px 0 0; font: 700 clamp(25px, 1rem + 1.2vw, 33px)/1.25 var(--f-display); letter-spacing: -.02em; color: #082238; scroll-margin-top: 100px; text-wrap: balance; }
.pbpf-h2:first-child { margin-top: 0; }
.pbpf-answer { margin: 18px 0 22px; padding: 18px 20px 18px 22px; border-radius: 16px; background: #fff; border: 1px solid #E2E8F0; box-shadow: 0 18px 40px -34px rgba(8,34,56,.6); font-weight: 500; color: #082238; }
.pbpf-answer::before { content: "Short answer"; display: block; margin-bottom: 6px; font: 700 11.5px/1 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: #00A3D9; }
.pbpf-tw { margin: 0 0 20px; overflow-x: auto; border-radius: 16px; border: 1px solid #E2E8F0; }
.pbpf-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.45; background: #fff; }
.pbpf-table th, .pbpf-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid #F1F5F9; }
.pbpf-table thead th { background: #082238; color: #fff; font: 600 13px/1.3 var(--f-body); letter-spacing: .02em; }
.pbpf-table thead th:nth-child(2) { box-shadow: inset 0 -4px 0 #E0623F; }
.pbpf-table thead th:nth-child(3) { box-shadow: inset 0 -4px 0 #0A84C1; }
.pbpf-table tbody th { width: 30%; font-weight: 600; color: #082238; }
.pbpf-table tbody td:nth-child(3) { background: #F6FBFE; }
.pbpf-table tbody tr:last-child th, .pbpf-table tbody tr:last-child td { font-weight: 700; color: #082238; border-bottom: 0; }
.pbpf-list { margin: 0 0 20px; padding: 0; list-style: none; display: grid; gap: 10px; }
.pbpf-list li { padding: 14px 16px; border-radius: 12px; background: #FFF6F2; border-left: 4px solid #E0623F; }
.pbpf-list b { color: #082238; }
.pbpf-side { position: sticky; top: 100px; }
.pbpf-side__card { padding: 22px; border-radius: 20px; background: #F3F7F9; border: 1px solid #E2E8F0; }
.pbpf-side__t { margin: 0 0 10px; font: 700 12px/1.2 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: #0A6FA8; }
.pbpf-side ol { margin: 0; padding: 0; list-style: none; counter-reset: pf; display: grid; gap: 2px; }
.pbpf-side li { counter-increment: pf; }
.pbpf-side li a { display: flex; gap: 10px; padding: 8px; border-radius: 10px; color: #082238; font: 600 14.5px/1.35 var(--f-display); text-decoration: none; }
.pbpf-side li a::before { content: counter(pf, decimal-leading-zero); font: 700 12px/1.6 var(--f-body); color: #00A3D9; }
.pbpf-side li a:hover { background: #fff; }
.pbpf-side__go { display: inline-block; margin-top: 10px; font: 600 14.5px/1.3 var(--f-body); color: #0A6FA8; text-decoration: none; }

/* job by job */
.pbpf-jobs .mk-versus { margin-top: 30px; }

/* checklist */
.pbpf-fit { background: #fff; }
.pbpf-fit__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 20px; margin-top: 30px; align-items: start; }
.pbpf-checks { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pbpf-checks label { display: flex; align-items: flex-start; gap: 14px; padding: 15px 18px; border-radius: 16px; border: 1px solid #E2E8F0; background: #fff; cursor: pointer; font: 500 16px/1.45 var(--f-body); color: #082238; transition: border-color .25s, background .25s, transform .25s; }
.pbpf-checks label:hover { border-color: #9FB8CB; }
.pbpf-checks input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: #082238; cursor: pointer; }
.pbpf-checks input:focus-visible { outline: 3px solid #00A3D9; outline-offset: 2px; }
.pbpf-checks label:has(input:checked) { background: #F3F7F9; border-color: #082238; }
.pbpf-checks label:has(input[data-lean="f"]:checked) { box-shadow: inset 4px 0 0 #E0623F; }
.pbpf-checks label:has(input[data-lean="p"]:checked) { box-shadow: inset 4px 0 0 #0A84C1; }
.pbpf-meter { position: sticky; top: 100px; padding: 24px; border-radius: 22px; background: linear-gradient(150deg, #061A2E, #0A3A63 60%, #07605E); color: #BFD3E2; }
.pbpf-meter__h { margin: 0 0 16px; font: 700 12px/1.2 var(--f-body); letter-spacing: .1em; text-transform: uppercase; color: #FFB81C; }
.pbpf-meter__bar { position: relative; display: flex; justify-content: space-between; padding: 30px 0 0; font: 600 12.5px/1 var(--f-body); color: #9FB8CB; }
.pbpf-meter__bar::before { content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 10px; border-radius: 99px; background: linear-gradient(90deg, #E0623F, #FFB81C 50%, #0A84C1); opacity: .9; }
.pbpf-meter__bar i { position: absolute; top: 1px; left: calc(var(--pos, 50) * 1%); width: 24px; height: 24px; margin-left: -12px; border-radius: 50%; background: #fff; border: 4px solid #082238; box-shadow: 0 0 0 3px rgba(255,255,255,.35); transition: left .55s cubic-bezier(.3,1.4,.5,1); }
.pbpf-meter__v { margin: 20px 0 6px; font: 800 clamp(24px, 1rem + 1vw, 30px)/1.2 var(--f-display); color: #fff; letter-spacing: -.02em; }
.pbpf-meter__s { margin: 0 0 18px; font-size: 15px; line-height: 1.55; }
.pbpf-meter__go { width: 100%; justify-content: center; }
.pbpf-meter__reset { display: block; margin: 12px auto 0; padding: 4px 8px; border: 0; background: none; font: 600 13.5px/1.3 var(--f-body); color: #9FB8CB; text-decoration: underline; cursor: pointer; }

/* questions */
.pbpf-qs { margin: 28px 0 0; padding: 0; list-style: none; counter-reset: q; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pbpf-qs li { counter-increment: q; position: relative; padding: 18px 18px 18px 58px; border-radius: 16px; background: #fff; border: 1px solid #EADFC8; }
.pbpf-qs li::before { content: counter(q); position: absolute; left: 16px; top: 16px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #082238; color: #FFB81C; font: 700 14px/1 var(--f-display); }
.pbpf-qs b { display: block; font: 700 16.5px/1.4 var(--f-display); color: #082238; }
.pbpf-qs span { display: block; margin-top: 6px; font-size: 15px; line-height: 1.5; color: #475569; }
.pbpf-h2--sec { margin-top: 56px; }

@media (max-width: 1000px) {
  .pbpf-hero__grid, .pbpf-art__grid, .pbpf-fit__grid { grid-template-columns: minmax(0, 1fr); }
  .pbpf-side { display: none; }
  .pbpf-meter { position: static; }
}
@media (max-width: 640px) {
  .pbpf-body, .pbpf-narrow { font-size: 16.5px; }
  .pbpf-brief__bids { grid-template-columns: minmax(0, 1fr); margin-top: -10px; gap: 0; }
  .pbpf-bid { border-radius: 0; }
  .pbpf-bid + .pbpf-bid { padding-top: 16px; border-radius: 0 0 18px 18px; }
  .pbpf-bid--f { border-bottom: 1px solid #E2E8F0; box-shadow: inset 4px 0 0 #E0623F; }
  .pbpf-bid--p { border-bottom: 0; box-shadow: inset 4px 0 0 #0A84C1, 0 24px 40px -30px rgba(8,34,56,.55); }
  .pbpf-qs { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .pbpf-bid { animation: none; opacity: 1; transform: none; }
  .pbpf-meter__bar i { transition: none; }
}
