/* ---- sign-in screen ---- */
/* Themes vary on box-sizing, and a full-width button with padding overflows
   its card under content-box. Set it for the whole component rather than
   hoping the theme agrees. */
.pp-auth,.pp-auth *,.pp-auth *::before,.pp-auth *::after{box-sizing:border-box}
.pp-auth{max-width:460px;margin:0 auto;padding:8px 0 40px}
.pp-auth-card{background:#fff;border:1px solid #e3e5e8;border-radius:16px;padding:32px 30px 28px;
  box-shadow:0 4px 24px rgba(16,24,40,.06)}
.pp-auth-head{text-align:center;margin-bottom:24px}
.pp-auth-logo{max-height:52px;width:auto;margin:0 auto 18px;display:block}
.pp-auth-wordmark{font-size:20px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);font-weight:var(--pp-head-weight,700);letter-spacing:-.02em;color:#1b1f24;line-height:1}
/* Mark on the left, name beside it, the pair centred as one lockup. */
.pp-auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 18px}
.pp-auth-mark{flex:none;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;color:#fff;font-size:14px;font-weight:800;letter-spacing:.01em;line-height:1;
  text-transform:uppercase}
.pp-auth-title{margin:0;font-size:22px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);font-weight:var(--pp-head-weight,700);letter-spacing:-.02em;color:#1b1f24;line-height:1.25}
.pp-auth-lead{margin:8px 0 0;font-size:14px;color:#6b7280;line-height:1.55}
.pp-auth-lead strong{color:#1b1f24;font-weight:700}
.pp-auth-email{font-size:13px;color:#9aa1ab;word-break:break-all}
/* Links on these screens are part of the card, not the theme's blue. */
.pp-auth-card a:not(.pp-btn),.pp-apply a:not(.pp-btn),.pp-partner a:not(.pp-btn),
.pp-site-main a:not(.pp-btn){color:#1b1f24;text-decoration:underline;
  text-underline-offset:2px;text-decoration-color:#c9ced6}
.pp-auth-card a:not(.pp-btn):hover,.pp-apply a:not(.pp-btn):hover,
.pp-partner a:not(.pp-btn):hover,.pp-site-main a:not(.pp-btn):hover{text-decoration-color:#1b1f24}
.pp-auth-nudge{margin:0 0 16px;padding:11px 14px;background:#fffbeb;border:1px solid #fde68a;
  border-radius:10px;color:#92400e;font-size:13px;line-height:1.5;text-align:center}
/* Anything the card holds outside the head still reads as part of it. */
.pp-auth-card>p{text-align:center}

/* Two views, one strip. Each tab is a link to its own address, so the choice
   is made on the server and nothing here waits for JavaScript. Signing up has
   no strip at all: that screen is only about signing up. */
.pp-tabs{display:flex;gap:4px;padding:4px;background:#f2f4f7;border-radius:11px;margin-bottom:22px}
.pp-tab{flex:1;padding:9px 10px;border-radius:8px;text-align:center;text-decoration:none;
  font-size:13.5px;font-weight:600;color:#6b7280;line-height:1.3}
a.pp-tab:hover{color:#1b1f24}
.pp-tab.is-on{background:#fff;color:#1b1f24;box-shadow:0 1px 2px rgba(16,24,40,.08)}
/* A tab is a control, not a link in a sentence: the card underlines its links
   and that underline makes the strip read as two footnotes. */
.pp-auth-card a.pp-tab,.pp-auth-card a.pp-tab:hover{text-decoration:none}
.pp-pane:not(.is-on){display:none}

/* The two ways in. A choice, not a menu: each one says what it is in a line
   and what it covers in the grey line under it, so nobody has to guess which
   half of the business they are writing to. */
.pp-ways{display:grid;gap:10px;margin:0 0 18px}
.pp-way{display:flex;align-items:flex-start;gap:11px;padding:16px 18px;border:1px solid #e3e5e8;
  border-radius:12px;background:#fff;text-align:left;text-decoration:none;
  transition:border-color .12s,box-shadow .12s}
.pp-way:hover{border-color:#c8ccd2;box-shadow:0 2px 10px rgba(16,24,40,.06)}
.pp-way:hover .pp-way-dot{border-color:#1b1f24}
.pp-way-dot{flex:0 0 19px;width:19px;height:19px;margin-top:1px;border:2px solid #c9ced6;
  border-radius:50%;transition:border-color .12s}
.pp-way-body{display:block}
.pp-way-label{display:block;font-size:15px;font-weight:700;color:#1b1f24;line-height:1.35}
.pp-way-sub{display:block;margin-top:5px;font-size:12.5px;line-height:1.55;color:#9aa1ab}
.pp-auth-card a.pp-way,.pp-auth-card a.pp-way:hover{text-decoration:none}

.pp-auth label{display:block;margin:0 0 16px;font-size:13.5px;font-weight:600;color:#1b1f24}
.pp-auth input{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #e3e5e8;
  border-radius:10px;font-size:15px;font-weight:400;min-height:46px;background:#fff}
.pp-auth input:focus{outline:0;border-color:#2b6cff;box-shadow:0 0 0 3px rgba(43,108,255,.14)}
.pp-auth .pp-pin{font-size:26px;letter-spacing:.34em;text-align:center;font-weight:700;padding:14px 12px}
.pp-btn-block{display:block;width:100%;text-align:center;padding:14px 20px;box-sizing:border-box}
.pp-auth-foot{margin:14px 0 0;font-size:13px;color:#6b7280;text-align:center}
.pp-pane-lead{margin:0 0 18px;font-size:14px;color:#6b7280;line-height:1.6;text-align:center}
.pp-auth-alt{display:flex;gap:6px;justify-content:center;align-items:baseline;margin-top:16px;
  font-size:13px;color:#6b7280}
.pp-auth-brandline{margin:20px 0 0;text-align:center;font-size:12px;color:#9aa1ab}

@media(min-width:520px){.pp-auth{padding-top:32px}}
@media(max-width:520px){
  .pp-auth-card{padding:26px 20px 22px;border-radius:14px}
  .pp-auth-title{font-size:20px}
}

.pp-card{max-width:900px;margin:0 auto;padding:26px;border:1px solid #e3e5e8;border-radius:14px;background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.04)}
.pp-card h3{margin:0 0 16px;font-size:17px;letter-spacing:-.01em}
.pp-card label{display:block;margin:0 0 16px;font-size:13.5px;font-weight:600;color:#1b1f24}
.pp-card input,.pp-card select{display:block;width:100%;margin-top:6px;padding:11px 13px;border:1px solid #e3e5e8;
  border-radius:10px;font-size:15px;font-weight:400;background:#fff;min-height:44px}
.pp-card input[type=file]{padding:10px 12px}
.pp-card input[type=checkbox]{display:inline-block;width:auto;min-height:0;margin:0 6px 0 0}
.pp-card input:focus,.pp-card select:focus,.pp-card textarea:focus{outline:0;border-color:#2b6cff;
  box-shadow:0 0 0 3px rgba(43,108,255,.14)}
.pp-btn{display:inline-block;background:#1b1f24;color:#fff;border:0;border-radius:10px;padding:13px 22px;
  font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}
.pp-btn:hover{background:#000;color:#fff}
.pp-btn-ghost{background:#f3f4f6;color:#111}
.pp-link{background:none;border:0;color:#2563eb;text-decoration:underline;cursor:pointer;padding:0;font-size:14px}
.pp-inline{margin-top:10px}
.pp-muted{color:#6b7280;font-size:13px;font-weight:400}
.pp-grid-2{display:grid;grid-template-columns:1fr;gap:0 20px}
@media(min-width:640px){.pp-grid-2{grid-template-columns:1fr 1fr}}
.pp-alert{padding:11px 14px;border-radius:9px;margin-bottom:16px;font-size:14px}
.pp-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}
.pp-alert-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}
.pp-alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}
.pp-alert-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}
.pp-card+.pp-card{margin-top:18px}
.pp-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:14px}
.pp-table th,.pp-table td{padding:9px 8px;border-bottom:1px solid #e5e7eb;text-align:left}
.pp-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}
.pp-btn-sm{padding:6px 12px;font-size:13px}
.pp-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700}
.pp-pill-paid{background:#dcfce7;color:#15803d}
.pp-pill-unpaid{background:#fee2e2;color:#b91c1c}
.pp-pill-status{background:#eef2ff;color:#3730a3}
.pp-pill-warn{background:#fffbeb;color:#92400e}
.pp-pill-off{background:#f2f4f7;color:#6b7280}
.pp-card textarea{display:block;width:100%;margin-top:6px;padding:11px 13px;border:1px solid #e3e5e8;
  border-radius:10px;font-size:15px;font-weight:400;font-family:inherit;line-height:1.6}

/* The classic editor is a WordPress component sitting in our card — round it
   off so it does not read as a different application. */
.pp-card .wp-editor-container{border:1px solid #e3e5e8;border-radius:10px;overflow:hidden}
.pp-card .wp-editor-tabs{margin-bottom:-1px}
.pp-card .wp-switch-editor{border-radius:8px 8px 0 0;border-color:#e3e5e8}
.pp-card .mce-toolbar-grp,.pp-card .quicktags-toolbar{border-color:#e3e5e8;background:#fafbfc}

/* ---- one card per order ---- */
.pp-order{border:1px solid #e3e5e8;border-radius:12px;padding:18px;margin:0 0 14px;background:#fff}
.pp-order:last-child{margin-bottom:0}
.pp-order-head{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:flex-start}
.pp-order-id{color:#6b7280;font-weight:700;font-size:13px}
.pp-order-badges{display:flex;gap:6px;flex-wrap:wrap}
.pp-order-money{margin:10px 0 0;font-size:17px}
/* The amount on the left, what happened to it on the right, where the pay
   button used to be. Wraps under on a phone rather than squeezing. */
.pp-order-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.pp-order-top>.pp-order-money{margin:0}
.pp-paidmark,.pp-claimmark{margin:0;display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:999px;font-size:14px;font-weight:700}
.pp-paidmark{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}
.pp-paidmark span{font-size:15px;line-height:1}
.pp-claimmark{background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-weight:600}
.pp-strike{color:#9ca3af;text-decoration:line-through;font-size:14px}
.pp-tag{display:inline-block;padding:1px 8px;border-radius:5px;background:#f3f4f6;color:#4b5563;
  font-size:11px;font-weight:700;vertical-align:middle}
.pp-live{margin:10px 0 0;font-size:14px;word-break:break-all}

/* Two payment methods sit side by side, and stack on a phone. */
.pp-paybar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.pp-btn-stripe{background:#635bff}
.pp-btn-stripe:hover{background:#4f46e5}
.pp-btn-paypal{background:#003087}
.pp-btn-paypal:hover{background:#001c50}
.pp-paybar .pp-inline{margin:0}
.pp-or{color:#9ca3af;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.pp-paybar+.pp-muted{margin:8px 0 0}
@media(max-width:520px){
  .pp-paybar-both{flex-direction:column;align-items:stretch;text-align:center}
  .pp-paybar .pp-btn{flex:1 1 100%;text-align:center}
}

.pp-needed{margin-top:14px;border:1px solid #fde68a;background:#fffbeb;border-radius:10px}
.pp-needed>summary{cursor:pointer;padding:11px 14px;font-size:14px;color:#92400e;user-select:none}
.pp-needed>summary strong{color:#78350f}
.pp-needed form{padding:0 14px 14px}
.pp-needed label{display:block;margin:0 0 12px;font-size:14px;font-weight:600}
.pp-needed input,.pp-needed textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;
  border:1px solid #d1d5db;border-radius:9px;font-size:15px;font-weight:400;font-family:inherit}

.pp-order-foot{margin-top:14px;padding-top:12px;border-top:1px solid #f3f4f6;font-size:14px}
.pp-order-foot .pp-inline{margin:0}

/* ---- standalone sign-in page ----
   The template supplies its own document, so this owns the whole viewport
   rather than sitting inside a theme's content column. */
body.pp-login-body{
  margin:0;min-height:100vh;min-height:100dvh;
  background:#f4f5f7;
  background-image:radial-gradient(1100px 520px at 50% -12%, #ffffff 0%, #f4f5f7 62%);
  color:#1b1f24;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.pp-login-shell{
  min-height:100vh;min-height:100dvh;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  padding:32px 18px calc(32px + env(safe-area-inset-bottom));
  box-sizing:border-box;
}
.pp-login-shell .pp-auth{width:100%;padding:0}
/* Any copy typed on the page sits above the card, centred with it. */
.pp-login-shell>p,.pp-login-shell>h1,.pp-login-shell>h2{
  max-width:460px;width:100%;margin:0 auto 18px;text-align:center;color:#6b7280;font-size:14px;line-height:1.6}
.pp-login-back{margin:22px 0 0 !important;font-size:13px;text-align:center}
.pp-login-back a{color:#9aa1ab;text-decoration:none}
.pp-login-back a:hover{color:#1b1f24}

/* Themes that force a max-width or padding on the body would fight the shell. */
body.pp-login-body #page,body.pp-login-body .site,body.pp-login-body #content{all:unset}

@media (prefers-color-scheme:dark){
  body.pp-login-body{background:#0f1115;background-image:radial-gradient(1100px 520px at 50% -12%, #1a1e26 0%, #0f1115 62%);color:#e8eaed}
  body.pp-login-body .pp-auth-card{background:#171a21;border-color:#262b34;box-shadow:0 4px 24px rgba(0,0,0,.4)}
  body.pp-login-body .pp-auth-title,body.pp-login-body .pp-auth-wordmark{color:#e8eaed}
  body.pp-login-body .pp-auth-brandline{color:#7c848f}
  body.pp-login-body .pp-auth input{background:#0f1115;border-color:#2b313b;color:#e8eaed}
  body.pp-login-body .pp-btn{background:#e8eaed;color:#0f1115}
  body.pp-login-body .pp-btn:hover{background:#fff;color:#0f1115}
  body.pp-login-body .pp-way{background:#0f1115;border-color:#2b313b}
  body.pp-login-body .pp-way-dot{border-color:#3a414d}
  body.pp-login-body .pp-way-label{color:#e8eaed}
  body.pp-login-body .pp-tabs{background:#0f1115}
  body.pp-login-body .pp-tab.is-on{background:#232833;color:#e8eaed}
  body.pp-login-body .pp-auth-lead strong{color:#e8eaed}
  body.pp-login-body .pp-auth-card a:not(.pp-btn),body.pp-login-body .pp-apply a:not(.pp-btn){
    color:#e8eaed;text-decoration-color:#4a515c}
  body.pp-login-body .pp-iconbtn{background:#232833;border-color:#2b313b;color:#9aa1ab}
  body.pp-login-body .pp-iconbtn:hover{background:#2b313b;color:#e8eaed}
  body.pp-login-body .pp-auth-nudge{background:#2a2113;border-color:#4a3a18;color:#f5c86b}
  body.pp-login-body .pp-auth-card .pp-alert-ok{background:#12271a;border-color:#1f4a2c;color:#7fd8a0}
  body.pp-login-body .pp-auth-card .pp-alert-error{background:#2a1416;border-color:#4d2226;color:#f0919a}
}

/* ---- partner application ----
   One question at a time once JS confirms it can step; until then every
   section shows and the form still submits as one. */
/* The form's questions are left-aligned, so the lockup lines up with them. */
.pp-apply .pp-auth-brand{justify-content:flex-start;margin-bottom:20px}
.pp-apply-done .pp-auth-brand{justify-content:center}
/* Wide enough that a question fits on one line, and left-aligned in its own
   right: this card is rendered inside whatever the site is wearing, and a
   theme that centres its page text should not centre a form. */
.pp-apply{width:100%;max-width:640px;margin:0 auto;background:#fff;border:1px solid #e3e5e8;border-radius:16px;
  padding:28px 30px 24px;box-shadow:0 4px 24px rgba(16,24,40,.06);box-sizing:border-box;text-align:left}
.pp-apply h2,.pp-apply p,.pp-apply label,.pp-apply .pp-choice{text-align:left}
.pp-apply,.pp-apply *{box-sizing:border-box}
.pp-apply-bar{height:4px;border-radius:999px;background:#eef0f2;overflow:hidden;margin:0 0 34px}
.pp-apply-fill{display:block;height:100%;width:0;background:#1b1f24;border-radius:999px;
  transition:width .28s cubic-bezier(.2,.7,.3,1)}
.pp-apply.is-stepped .pp-step{display:none}
.pp-apply.is-stepped .pp-step.is-on{display:block;animation:pp-step-in .26s ease both}
@keyframes pp-step-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pp-apply .pp-step+.pp-step{margin-top:26px;padding-top:22px;border-top:1px solid #f2f4f7}
.pp-apply.is-stepped .pp-step+.pp-step{margin-top:0;padding-top:0;border-top:0}

.pp-step h2{margin:0 0 6px;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:#1b1f24}
.pp-step-hint{margin:0 0 16px;font-size:13.5px;color:#6b7280;line-height:1.5}
.pp-step input,.pp-step textarea{display:block;width:100%;padding:13px 14px;border:1px solid #e3e5e8;
  border-radius:10px;font-size:16px;font-family:inherit;background:#fff;min-height:50px}
.pp-step textarea{line-height:1.6;min-height:120px;resize:vertical}
.pp-step input:focus,.pp-step textarea:focus{outline:0;border-color:#2b6cff;box-shadow:0 0 0 3px rgba(43,108,255,.14)}

.pp-choices{display:grid;gap:9px}
.pp-choices-2{grid-template-columns:1fr 1fr}
.pp-choice{display:flex;align-items:center;gap:11px;padding:14px 16px;border:1px solid #e3e5e8;
  border-radius:11px;cursor:pointer;font-size:15px;font-weight:600;color:#1b1f24;transition:border-color .12s,background .12s}
.pp-choice:hover{border-color:#c9ced6;background:#fafbfc}
.pp-choice input{width:19px;height:19px;min-height:0;margin:0;flex:0 0 19px;accent-color:#1b1f24}
.pp-choice:has(input:checked){border-color:#1b1f24;background:#f7f8fa;box-shadow:inset 0 0 0 1px #1b1f24}

/* The two directions, as the first question of the application: a line that
   says what it is, and a quieter one saying what it covers. */
.pp-choice-way{align-items:flex-start;padding:16px 18px}
.pp-choice-way input{margin-top:2px}
.pp-sell-note{margin:18px 0 0;padding:16px 18px;border:1px solid #e3e5e8;border-radius:12px;
  background:#fafbfc;font-size:14px;line-height:1.6;color:#1b1f24;text-align:left}
.pp-sell-note p{margin:0}
.pp-choice-way>span{display:block;text-align:left}
.pp-choice-way .pp-way-label{display:block;font-size:15px;font-weight:700;line-height:1.35;color:#1b1f24;
  text-align:left}
.pp-choice-way .pp-way-sub{display:block;margin-top:5px;font-size:12.5px;line-height:1.55;color:#9aa1ab;
  text-align:left;font-weight:400}

.pp-apply-nav{display:flex;align-items:center;gap:12px;margin-top:24px}
.pp-apply-nav .pp-next,.pp-apply-nav .pp-submit{margin-left:auto}
.pp-apply-nav .pp-skip{margin-left:auto;font-size:14px;color:#9aa1ab}
/* Only while Skip is actually showing. A hidden element is still a sibling,
   so an unqualified + rule takes the auto margin off Continue on every step
   that has no skip and drops it back to the left. */
.pp-apply-nav .pp-skip:not([hidden])+.pp-next,
.pp-apply-nav .pp-skip:not([hidden])+.pp-submit{margin-left:14px}
/* The onboarding form asks for several things per step, so its fields need
   the spacing the one-answer application steps do not. */
.pp-profile-steps .pp-step input+input,
.pp-profile-steps .pp-step .pp-grid-2{margin-top:10px}
/* The pair sits on one line, so the second half brings no top margin. Written
   with the same weight as the rule above it, which is more specific than it
   looks: two classes and two elements beat two classes and one. */
.pp-profile-steps .pp-step .pp-grid-2 input+input{margin-top:0}
.pp-profile-steps .pp-step .pp-grid-2+input{margin-top:10px}
.pp-profile-steps .pp-choices+input{margin-top:14px}
/* Two answers side by side, each reading as a button rather than a row with
   a dot in front of it. */
.pp-profile-steps .pp-choices-2{grid-template-columns:1fr 1fr}
.pp-profile-steps .pp-choices-2 .pp-choice{justify-content:center;text-align:center;padding:18px 16px}
.pp-profile-steps .pp-choices-2 .pp-choice input{position:absolute;opacity:0;pointer-events:none}
.pp-profile-steps .pp-choices-2 .pp-choice span{font-weight:600;font-size:15.5px}
.pp-profile-steps .pp-choices-2 .pp-choice:has(input:checked){border-color:#1b1f24;background:#1b1f24}
.pp-profile-steps .pp-choices-2 .pp-choice:has(input:checked) span{color:#fff}
/* .pp-btn sets a display, which outranks the browser's [hidden] rule, so the
   step that is not offered would otherwise stay on screen. */
.pp-apply-nav [hidden]{display:none}
.pp-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  padding:0;border:1px solid #e3e5e8;border-radius:10px;background:#f2f4f7;color:#6b7280;cursor:pointer}
.pp-iconbtn:hover{background:#e8ebef;color:#1b1f24}
.pp-iconbtn:focus-visible{outline:0;border-color:#2b6cff;box-shadow:0 0 0 3px rgba(43,108,255,.14)}
.pp-apply-foot{margin:18px 0 0;text-align:center;font-size:13px;color:#6b7280}
.pp-apply-done{width:100%;max-width:460px;margin:0 auto;text-align:center}
.pp-apply-done h2{margin:0 0 10px;font-size:21px;letter-spacing:-.02em}
.pp-apply-done p{color:#6b7280;font-size:14.5px;line-height:1.6}

@media(max-width:520px){
  .pp-apply{padding:24px 20px 20px;border-radius:14px}
  .pp-step h2{font-size:18px}
  .pp-choices-2{grid-template-columns:1fr}
}

@media (prefers-color-scheme:dark){
  body.pp-login-body .pp-apply{background:#171a21;border-color:#262b34;box-shadow:0 4px 24px rgba(0,0,0,.4)}
  body.pp-login-body .pp-apply-bar{background:#232833}
  body.pp-login-body .pp-apply-fill{background:#e8eaed}
  body.pp-login-body .pp-step h2{color:#e8eaed}
  body.pp-login-body .pp-step input,body.pp-login-body .pp-step textarea{background:#0f1115;border-color:#2b313b;color:#e8eaed}
  body.pp-login-body .pp-choice{border-color:#2b313b;color:#e8eaed}
  body.pp-login-body .pp-choice:hover{background:#1d212a;border-color:#39404c}
  body.pp-login-body .pp-choice:has(input:checked){background:#232833;border-color:#e8eaed;box-shadow:inset 0 0 0 1px #e8eaed}
  body.pp-login-body .pp-apply .pp-step+.pp-step{border-top-color:#262b34}
  body.pp-login-body .pp-apply-done{background:#171a21}
}

/* ---- partner pitch block ---- */
.pp-partner{max-width:1040px;margin:0 auto;padding:8px 0 40px;box-sizing:border-box}
.pp-partner,.pp-partner *{box-sizing:border-box}
.pp-partner-hero{text-align:center;max-width:680px;margin:0 auto 34px}
.pp-partner-hero h2{margin:0 0 14px;font-size:clamp(28px,4vw,42px);font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);font-weight:var(--pp-head-weight,700);letter-spacing:-.03em;
  line-height:1.12;color:#1b1f24}
.pp-partner-intro{margin:0 0 22px;font-size:17px;line-height:1.6;color:#6b7280}
.pp-partner-cta{padding:15px 30px;font-size:16px}

.pp-partner-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;
  list-style:none;margin:0 0 34px;padding:0}
.pp-partner-stats li{padding:20px 22px;background:#fff;border:1px solid #e3e5e8;border-radius:14px;
  text-align:center}
.pp-partner-stats strong{display:block;font-size:30px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);font-weight:var(--pp-head-weight,700);letter-spacing:-.03em;color:#1b1f24;
  line-height:1.1;margin-bottom:6px}
.pp-partner-stats span{display:block;font-size:14px;line-height:1.5;color:#6b7280}

.pp-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:0 0 34px}
.pp-opp{padding:22px 24px;background:#fff;border:1px solid #e3e5e8;border-radius:14px}
.pp-opp h3{margin:0 0 8px;font-size:17px;font-weight:700;letter-spacing:-.01em;color:#1b1f24}
.pp-opp p{margin:0;font-size:14.5px;line-height:1.6;color:#6b7280}

.pp-partner-foot{text-align:center;max-width:620px;margin:0 auto}
.pp-partner-foot p{margin:0 0 18px;font-size:16px;line-height:1.6;color:#6b7280}
.pp-partner-signin{font-size:14px !important;color:#9aa1ab !important}

@media(max-width:600px){
  .pp-partner-hero{margin-bottom:26px}
  .pp-opp{padding:18px 20px}
}

@media (prefers-color-scheme:dark){
  body.pp-login-body .pp-partner-hero h2{color:#e8eaed}
  body.pp-login-body .pp-partner-stats li,body.pp-login-body .pp-opp{background:#171a21;border-color:#262b34}
  body.pp-login-body .pp-partner-stats strong,body.pp-login-body .pp-opp h3{color:#e8eaed}
}

/* ---- the site's own shell, used instead of the theme ---- */
body.pp-site-body{margin:0;background:#fff;color:#1b1f24;
  font-family:var(--pp-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.pp-site-body h1,body.pp-site-body h2,body.pp-site-body h3,body.pp-site-body h4{
  font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);font-weight:var(--pp-head-weight,700)}
body.pp-site-body *,body.pp-site-body *::before,body.pp-site-body *::after{box-sizing:border-box}
.pp-site-in{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}
.pp-site-head{border-bottom:1px solid #eef0f2;background:#fff;position:sticky;top:0;z-index:20}
.pp-site-head .pp-site-in{display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:72px}
.pp-site-brand{text-decoration:none;color:inherit}
body.pp-site-body,body.pp-login-body{font-family:var(--pp-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)}
.pp-site-brand .pp-auth-brand{margin:0}
.pp-site-nav{display:flex;align-items:center;gap:8px}
.pp-site-link{color:#6b7280;text-decoration:none;font-size:14.5px;font-weight:600;padding:10px 14px;
  border-radius:10px}
.pp-site-link:hover{color:#1b1f24;background:#f6f7f9}
.pp-site-cta{padding:11px 18px;font-size:14.5px}
/* Sections bring their own spacing; only written content needs a gutter. */
.pp-site-main{padding:0}
.pp-site-written{padding-top:44px;padding-bottom:64px}
.pp-site-title{font-size:34px;line-height:1.15;letter-spacing:-.03em;margin:0 0 22px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);font-weight:var(--pp-head-weight,700)}
.pp-site-main img{max-width:100%;height:auto}
.pp-site-foot{border-top:1px solid #eef0f2;padding:26px 0 34px;color:#9aa1ab;font-size:13.5px}
.pp-site-foot .pp-site-in{display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-wrap:wrap}
.pp-site-foot p{margin:0}
.pp-site-foot a{color:#6b7280;text-decoration:none}
.pp-site-foot a:hover{color:#1b1f24}
.pp-site-foot span{margin:0 8px}
/* The pitch is the whole front page, so it does not need its own top gap. */
.pp-site-home .pp-partner{padding-top:0}
@media (max-width:640px){
  .pp-site-head .pp-site-in{min-height:64px}
  .pp-site-link{padding:8px 10px}
  .pp-site-title{font-size:27px}
}
@media (prefers-color-scheme:dark){
  body.pp-site-body{background:#0f1115;color:#e8eaed}
  body.pp-site-body .pp-site-head{background:#0f1115;border-bottom-color:#1f242c}
  body.pp-site-body .pp-site-link:hover{color:#e8eaed;background:#171a21}
  body.pp-site-body .pp-site-foot{border-top-color:#1f242c}
  body.pp-site-body .pp-btn{background:#e8eaed;color:#0f1115}
  body.pp-site-body .pp-btn:hover{background:#fff}
  /* The pitch was written for a light card; it needs the same treatment the
     sign-in screen already gets when the shell goes dark. */
  body.pp-site-body .pp-partner-hero h2,body.pp-site-body .pp-partner-stats strong,
  body.pp-site-body .pp-opp h3,body.pp-site-body .pp-auth-wordmark{color:#e8eaed}
  body.pp-site-body .pp-partner-stats li,body.pp-site-body .pp-opp{background:#171a21;border-color:#262b34}
  body.pp-site-body .pp-partner a:not(.pp-btn){color:#e8eaed;text-decoration-color:#4a515c}
}

/* ---- built sections ---- */
/* A section owns the strip: background, spacing and alignment. A column holds
   elements. Nothing here assumes what is inside it. */
/* Built sections are full-bleed strips; everything inside one lives in a
   container of a fixed width. box-sizing is stated rather than assumed: these
   render inside whatever the site is wearing, and a theme that sets
   content-box turns the padding below into overflow. */
.pp-sec{width:100%;max-width:100%;overflow-x:clip}
.pp-sec,.pp-sec *{box-sizing:border-box}
.pp-sec-in{width:100%;max-width:1080px;margin:0 auto;padding-left:24px;padding-right:24px}
.pp-sec-in.is-narrow{max-width:680px}
.pp-sec-in.is-normal{max-width:1080px}
.pp-sec-in.is-wide{max-width:1320px}
.pp-sec-in.is-full{max-width:none}
.pp-pad-none .pp-sec-in{padding-top:0;padding-bottom:0}
.pp-pad-small .pp-sec-in{padding-top:26px;padding-bottom:26px}
.pp-pad-medium .pp-sec-in{padding-top:56px;padding-bottom:56px}
.pp-pad-large .pp-sec-in{padding-top:96px;padding-bottom:96px}
.pp-sec.is-center{text-align:center}
.pp-sec.is-right{text-align:right}
.pp-bg-tint{background:#f6f7f9}
.pp-bg-dark{background:#12151a;color:#e8eaed}
.pp-bg-brand{background:var(--pp-mark-bg,#f97316);color:#fff}
.pp-bg-dark .pp-sec-title,.pp-bg-brand .pp-sec-title,
.pp-bg-dark .pp-el-head,.pp-bg-brand .pp-el-head,
.pp-bg-dark .pp-el-card h3,.pp-bg-brand .pp-el-card h3{color:inherit}
.pp-bg-dark .pp-sec-sub,.pp-bg-dark .pp-el-text,.pp-bg-dark .pp-el-card p{color:#aeb5bf}
.pp-bg-brand .pp-sec-sub,.pp-bg-brand .pp-el-text,.pp-bg-brand .pp-el-card p{color:rgba(255,255,255,.86)}
.pp-bg-dark .pp-btn,.pp-bg-brand .pp-btn{background:#fff;color:#12151a}

.pp-sec-title{margin:0 0 12px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-size:clamp(25px,3.4vw,38px);font-weight:var(--pp-head-weight,700);letter-spacing:-.025em;
  line-height:1.16}
.pp-sec-sub{margin:0 0 28px;font-size:17px;line-height:1.6;color:#6b7280;max-width:660px}
.pp-sec.is-center .pp-sec-sub{margin-left:auto;margin-right:auto}
.pp-sec.is-right .pp-sec-sub{margin-left:auto}

.pp-sec-grid{display:grid;grid-template-columns:var(--pp-grid,1fr);gap:34px;align-items:start;
  width:100%;max-width:100%}
.pp-sec-grid>.pp-col{min-width:0;max-width:100%}
/* Elements stack with air between them rather than each carrying its own
   bottom margin, which is what made a column of three read as one block. */
.pp-col>*+*{margin-top:18px}
.pp-col>.pp-el-head+.pp-el-text{margin-top:10px}
.pp-col>.pp-spacer+*{margin-top:0}
/* Columns never go single-file at a width where the words still fit. */
@media (max-width:900px){
  .pp-sec-grid{grid-template-columns:1fr!important;gap:26px}
}

/* ---- type, as words rather than pixels ---- */
.pp-size-xs{font-size:clamp(13px,1.1vw,14px);line-height:1.6}
.pp-size-s{font-size:clamp(14px,1.3vw,15.5px);line-height:1.65}
.pp-size-m{font-size:clamp(16px,1.6vw,17px);line-height:1.65}
.pp-size-l{font-size:clamp(19px,2.2vw,23px);line-height:1.45}
.pp-size-xl{font-size:clamp(24px,3.4vw,34px);line-height:1.25}
.pp-size-display{font-size:clamp(32px,5.4vw,56px);line-height:1.1;letter-spacing:-.02em}
.pp-w-400{font-weight:400}.pp-w-500{font-weight:500}.pp-w-600{font-weight:600}
.pp-w-700{font-weight:700}.pp-w-800{font-weight:800}
/* An element may set its own alignment without the section changing, and it
   has to win: the section sets text-align on an ancestor, so an element that
   says "left" inside a centred section needs to say it about its own contents
   too. */
.pp-sec .pp-col>.is-left,.pp-sec .pp-col>.is-left *{text-align:left}
.pp-sec .pp-col>.is-center,.pp-sec .pp-col>.is-center *{text-align:center}
.pp-sec .pp-col>.is-right,.pp-sec .pp-col>.is-right *{text-align:right}
.pp-sec .pp-col>.is-left.pp-ib{justify-content:flex-start}
.pp-sec .pp-col>.is-center.pp-ib.is-left{flex-direction:column;align-items:center}
.pp-col>.is-center .pp-ib-text,.pp-col>.is-center .pp-el-text{margin-left:auto;margin-right:auto}
.pp-btn.pp-size-s{padding:10px 16px;font-size:14px}
.pp-btn.pp-size-l{padding:16px 30px;font-size:17px}
.pp-btn.pp-size-xl{padding:18px 34px;font-size:18px}

/* ---- icon boxes ---- */
.pp-ib{display:flex;gap:16px;align-items:flex-start;text-align:left}
.pp-ib.is-top{flex-direction:column;gap:14px}
.pp-ib.is-center{flex-direction:column;align-items:center;text-align:center;gap:14px}
.pp-ib.is-inline{display:block}
.pp-ib.is-inline .pp-ib-mark{float:left;margin:0 12px 6px 0}
.pp-ib-body{min-width:0}
.pp-ib-title{margin:0 0 6px;font-family:var(--pp-font-head,inherit);font-size:17px;font-weight:700;
  line-height:1.35;color:#1b1f24}
.pp-ib-text{font-size:15px;line-height:1.65;color:#6b7280}
.pp-ib-text p{margin:0 0 10px}
.pp-ib-text p:last-child{margin-bottom:0}
.pp-ib-link{margin:10px 0 0;font-size:14px}
.pp-ib-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  line-height:1;color:var(--pp-mark-bg,#f97316)}
.pp-ib-mark.is-s{width:34px;height:34px;font-size:15px}
.pp-ib-mark.is-m{width:44px;height:44px;font-size:19px}
.pp-ib-mark.is-l{width:56px;height:56px;font-size:24px}
.pp-ib-mark.is-xl{width:72px;height:72px;font-size:31px}
.pp-ib-mark.is-plain{width:auto;height:auto}
.pp-ib-mark.is-soft{background:color-mix(in srgb,var(--pp-mark-bg,#f97316) 12%,transparent);
  border-radius:12px}
.pp-ib-mark.is-circle{background:var(--pp-mark-bg,#f97316);color:#fff;border-radius:50%}
.pp-ib-mark.is-square{background:var(--pp-mark-bg,#f97316);color:#fff;border-radius:12px}
.pp-ib-mark.is-ring{border:2px solid currentColor;border-radius:50%}
.pp-ib-mark.is-dark{color:#1b1f24}
.pp-ib-mark.is-dark.is-circle,.pp-ib-mark.is-dark.is-square{background:#1b1f24;color:#fff}
.pp-ib-mark.is-dark.is-soft{background:rgba(27,31,36,.08)}
.pp-ib-mark.is-muted{color:#9aa1ab}
.pp-ib-mark.is-muted.is-circle,.pp-ib-mark.is-muted.is-square{background:#eef0f2;color:#6b7280}
.pp-ib-mark.is-muted.is-soft{background:#f2f4f7}
.pp-ib-mark.is-inherit{color:inherit}
.pp-ib-mark.is-inherit.is-circle,.pp-ib-mark.is-inherit.is-square{background:currentColor}
.pp-ib-mark.is-inherit.is-circle i,.pp-ib-mark.is-inherit.is-square i{color:#fff}
/* Without the icon font loaded there is still a mark, not a gap. */
.pp-ib-mark i:empty::before{content:"\25CF";font-style:normal}
.pp-bg-dark .pp-ib-title,.pp-bg-brand .pp-ib-title{color:inherit}
.pp-bg-dark .pp-ib-text{color:#aeb5bf}
.pp-bg-brand .pp-ib-text{color:rgba(255,255,255,.86)}
.pp-bg-brand .pp-ib-mark.is-brand,.pp-bg-brand .pp-ib-mark.is-soft{color:#fff;background:rgba(255,255,255,.16)}

.pp-el-head{margin:0 0 12px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-weight:var(--pp-head-weight,700);letter-spacing:-.02em;line-height:1.2}
h2.pp-el-head{font-size:clamp(24px,3.2vw,34px)}
h3.pp-el-head{font-size:21px}
h4.pp-el-head{font-size:17px}
.pp-el-text{font-size:16.5px;line-height:1.7}
.pp-el-text p{margin:0 0 16px}
.pp-el-text p:last-child{margin-bottom:0}
.pp-el-figure{margin:0 0 20px}
.pp-el-img{display:block;width:100%;height:auto}
.pp-el-img.is-round{border-radius:14px}
.pp-el-figure figcaption{margin-top:10px;font-size:13.5px;color:#9aa1ab}
.pp-el-btn{display:inline-block;margin:18px 10px 0 0}
.pp-el-btn+.pp-el-btn{margin-left:0}
.pp-el-link{font-weight:600;font-size:14.5px}
.pp-spacer.is-small{height:18px}
.pp-spacer.is-medium{height:40px}
.pp-spacer.is-large{height:76px}

.pp-el-card{margin:0 0 18px}
.pp-el-card:last-child{margin-bottom:0}
.pp-el-card h3{margin:0 0 8px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);font-size:18px;
  font-weight:var(--pp-head-weight,700);letter-spacing:-.01em}
.pp-el-card p{margin:0 0 12px;color:#6b7280;font-size:15px;line-height:1.65}
.pp-el-card p:last-child{margin-bottom:0}
.pp-el-card-img{display:block;width:100%;height:auto;border-radius:12px;margin:0 0 16px}

@media (max-width:860px){
  .pp-sec-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
  .pp-pad-large .pp-sec-in{padding-top:64px;padding-bottom:64px}
}
@media (max-width:560px){
  .pp-sec-grid{grid-template-columns:1fr}
  .pp-sec-in{padding-left:20px;padding-right:20px}
}

/* The front page is not a stack of cards: on our own shell the pitch loses
   its boxes and reads as one page. */
.pp-site-body .pp-partner-stats li,.pp-site-body .pp-opp{background:none;border:0;padding:0}
.pp-site-body .pp-partner-stats{gap:26px;margin-bottom:44px}
.pp-site-body .pp-partner-grid{gap:34px}
.pp-site-body .pp-partner-stats li{text-align:left}
@media (prefers-color-scheme:dark){
  body.pp-site-body .pp-partner-stats li,body.pp-site-body .pp-opp{background:none;border:0}
  body.pp-site-body .pp-block-lead,body.pp-site-body .pp-col p{color:#9aa1ab}
  body.pp-site-body .pp-block-heading h2,body.pp-site-body .pp-col h3{color:#e8eaed}
  body.pp-site-body .pp-site-main a:not(.pp-btn){color:#e8eaed;text-decoration-color:#4a515c}
}

/* ---- upload boxes ---- */
/* Two of them, side by side where there is room. The document comes first
   because sending the file you already wrote is the shortest way to be done.
   Every rule here is written past .pp-card label / .pp-card input, which are
   element-qualified and would otherwise win. */
.pp-uploads{display:grid;grid-template-columns:1fr;gap:16px;margin:18px 0 20px}
@media(min-width:720px){.pp-uploads{grid-template-columns:1fr 1fr}}
.pp-upload .pp-upload-label{display:block;font-weight:600;font-size:14px;margin:0 0 8px;color:#111827}

.pp-drop{position:relative;border:2px dashed #d3d8de;border-radius:14px;background:#fbfcfd;
  transition:border-color .15s ease,background .15s ease}
.pp-drop:hover{border-color:#b6bec8;background:#f7f9fb}
/* The real input does the work; it is kept focusable rather than hidden so
   the keyboard still reaches it, and the ring is drawn on the box. */
.pp-drop .pp-drop-input{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;
  margin:0;padding:0;border:0;opacity:0;cursor:pointer;z-index:2}
.pp-drop .pp-drop-input:focus{outline:0;box-shadow:none}
.pp-drop .pp-drop-input:focus-visible+.pp-drop-face{outline:2px solid #2b6cff;outline-offset:3px;
  border-radius:12px}
.pp-drop .pp-drop-face{display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:6px;margin:0;padding:26px 18px;pointer-events:none;font-weight:400}
.pp-drop .pp-drop-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:50%;background:#eef2f7;color:#5b6472;margin-bottom:2px}
.pp-drop .pp-drop-title{font-weight:600;font-size:14px;color:#1f2937;line-height:1.4}
.pp-drop .pp-drop-hint{font-size:12px;color:#8b939e;line-height:1.4}
.pp-drop .pp-drop-btn{margin-top:8px;padding:8px 16px;border-radius:9px;background:#1b1f24;color:#fff;
  font-size:13px;font-weight:600;line-height:1.4}
.pp-drop.is-over{border-color:#2b6cff;background:#eff6ff}
.pp-drop.is-over .pp-drop-icon{background:#dbeafe;color:#2b6cff}

/* What was just picked, before the form has been posted. */
.pp-drop .pp-drop-list{list-style:none;margin:0;padding:0;position:relative;z-index:3}
.pp-drop .pp-drop-list:not(:empty){padding:0 14px 14px}
.pp-drop .pp-drop-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-top:6px;
  background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;word-break:break-all}
.pp-drop .pp-drop-list li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;
  background:#22c55e}
.pp-drop .pp-drop-list .pp-file-size{margin-left:auto;color:#9ca3af;font-size:12px}

/* What is already on the order. */
.pp-files{list-style:none;margin:10px 0 0;padding:0}
.pp-files .pp-file{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 8px;
  border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.pp-file .pp-file-icon{flex:none;display:flex;color:#6b7280}
.pp-file .pp-file-name{min-width:0;display:flex;flex-direction:column;line-height:1.35}
.pp-file .pp-file-name a{word-break:break-all;font-size:13px;font-weight:600}
.pp-file .pp-file-size{font-size:12px;color:#9ca3af}
.pp-file .pp-file-remove{display:flex;align-items:center;gap:5px;margin:0 0 0 auto;font-size:12px;
  font-weight:400;color:#6b7280;white-space:nowrap}
.pp-file .pp-file-remove input{width:auto;min-height:0;margin:0}

.pp-gallery{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 0}
.pp-gallery .pp-shot{margin:0}
.pp-gallery .pp-shot img{display:block;max-height:96px;border-radius:8px;border:1px solid #e5e7eb}
.pp-shot .pp-shot-remove{display:flex;align-items:center;gap:5px;margin:5px 0 0;font-size:12px;
  font-weight:400;color:#6b7280}
.pp-shot .pp-shot-remove input{width:auto;min-height:0;margin:0}
.pp-empty{font-size:13px;color:#9ca3af;margin:8px 0 0}

/* ---- get featured ---- */
/* The landing page a brand arrives on: what it is on the left, what to fill
   in on the right, and nothing else competing for the click. */
.pp-feat{max-width:980px;margin:0 auto;padding:8px 0 48px}
.pp-feat-head{text-align:center;max-width:640px;margin:0 auto 30px}
.pp-feat-head h1{margin:0 0 12px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-weight:var(--pp-head-weight,700);font-size:34px;letter-spacing:-.02em;line-height:1.2;color:#1b1f24}
.pp-feat-lead{margin:0 0 8px;font-size:17px;line-height:1.55;color:#374151}
.pp-feat-sub{margin:0;font-size:15px;line-height:1.6;color:#6b7280}

.pp-feat-grid{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
@media(min-width:860px){.pp-feat-grid{grid-template-columns:1fr 420px;gap:34px}}

.pp-feat-why h2{margin:0 0 18px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-weight:var(--pp-head-weight,700);font-size:22px;letter-spacing:-.01em;color:#1b1f24}
.pp-ticks{list-style:none;margin:0;padding:0}
.pp-ticks li{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;font-size:15px;
  line-height:1.55;color:#374151}
.pp-tick{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;
  margin-top:1px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:12px;font-weight:700}

.pp-feat-form{background:#fff;border:1px solid #e3e5e8;border-radius:14px;padding:24px;
  box-shadow:0 1px 2px rgba(16,24,40,.04)}
.pp-feat-form label{display:block;margin:0 0 16px;font-size:13.5px;font-weight:600;color:#1b1f24}
.pp-feat-form input{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #e3e5e8;
  border-radius:10px;font-size:15px;font-weight:400;min-height:46px;background:#fff;box-sizing:border-box}
.pp-feat-form input:focus{outline:0;border-color:#2b6cff;box-shadow:0 0 0 3px rgba(43,108,255,.14)}
.pp-feat-thanks{max-width:640px}

/* Nothing ordered yet: two buttons rather than an empty list. */
.pp-starter{text-align:center;max-width:560px}
.pp-starter h2{margin:0 0 10px;font-family:var(--pp-font-head,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-weight:var(--pp-head-weight,700);font-size:24px;letter-spacing:-.01em;color:#1b1f24}
.pp-starter .pp-muted{margin:0 auto 22px;max-width:420px;line-height:1.6}
.pp-starter-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.pp-starter-actions form{margin:0}

/* The featured page as its own document: nothing but the offer on it. */
body.pp-featured-body{margin:0;background:#f7f8fa}
.pp-featured-shell{max-width:1080px;margin:0 auto;padding:40px 24px 60px}
.pp-featured-back{margin:32px 0 0;text-align:center;font-size:13px}
.pp-featured-back a{color:#6b7280;text-decoration:none}
.pp-featured-back a:hover{color:#1b1f24}
