/* partners.html: page styles (moved out of the page <style> block, UI audit 4.1). Loaded after the shared CSS, so the cascade is unchanged. */
.pp-main { padding-top: 40px; padding-bottom: 72px; display: grid; gap: 40px; }
.pp-main > *, .pd-body > * { min-width: 0; }
.pp-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.pp-h h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.1rem); }
.pp-h p { margin: 4px 0 0; color: var(--muted); }
.pp-feat { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.pp-feat .hp-title { font-size: var(--fs-h4); }
.pp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.pp-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; margin-bottom: 16px; }
.pp-chips::-webkit-scrollbar { display: none; }
.pp-chips .chip { cursor: pointer; }
.pp-chips .chip.on { background: var(--ink); color: #fff; border-color: var(--ink); }
/* Detail */
.pd-hero { position: relative; color: #fff; background: var(--ink); isolation: isolate; overflow: hidden; padding: 28px 0 40px; min-height: 340px; display: flex; align-items: flex-end; }
.pd-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.pd-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(14,12,10,.92) 8%, rgba(14,12,10,.45) 60%, rgba(14,12,10,.3)); }
.pd-hero .container { display: grid; gap: 14px; }
.pd-back { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.85); font-weight: 600; font-size: var(--fs-sm); width: max-content; min-height: 44px; }
.pd-back:hover { color: #fff; }
.pd-back .icon { width: 16px; height: 16px; }
.pd-brand { display: flex; align-items: center; gap: 14px; }
.pd-brand b { display: block; font-size: 1rem; } .pd-brand small { color: rgba(255,255,255,.75); }
.pd-hero h1 { margin: 0; max-width: 820px; font-size: clamp(2rem, 5vw, 3.4rem); }
.pd-offer { display: inline-block; font-family: var(--font-display); font-weight: 700; text-transform: uppercase; font-size: 1.4rem; background: var(--gold); color: var(--ink); padding: 6px 14px; border-radius: var(--r-sm); width: max-content; }
.pd-body { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; align-items: start; padding-top: 36px; }
.pd-desc p { font-size: var(--fs-md); line-height: 1.65; margin: 0 0 14px; }
.pd-steps { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 12px; counter-reset: s; }
.pd-steps li { display: flex; gap: 12px; align-items: flex-start; counter-increment: s; }
.pd-steps li::before { content: counter(s); width: 28px; height: 28px; border-radius: var(--r-round); background: var(--ink); color: #fff; display: grid; place-items: center; font-size: var(--fs-xs); font-weight: 700; flex: none; }
.pd-box { position: sticky; top: 96px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px; display: grid; gap: 14px; box-shadow: var(--shadow-sm); }
.pd-box dl { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; font-size: var(--fs-sm); }
.pd-box dt { color: var(--muted); } .pd-box dd { margin: 0; font-weight: 600; text-align: right; }
.pd-note { font-size: var(--fs-xs); color: var(--muted); margin: 0; }
/* Become a partner */
.pp-band { background: var(--ink); color: var(--on-dark); }
.pp-band .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: start; }
.pp-band h2 { color: #fff; margin: 8px 0 12px; }
.pp-band ul { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.pp-band li { display: flex; gap: 10px; align-items: flex-start; }
.pp-band li .icon { width: 18px; height: 18px; color: var(--gold); flex: none; margin-top: 2px; }
.pp-form { background: var(--paper); color: var(--ink); border-radius: var(--r-lg); padding: 22px; }
.pp-form .form-grid { gap: 12px 14px; }
.pp-form .field input, .pp-form .field select, .pp-form .field textarea { padding: 11px 13px; font-size: 16px; }
.pp-form textarea { min-height: 96px; }
.pp-thanks { text-align: center; padding: 30px 10px; }
.pp-thanks .icon { width: 36px; height: 36px; color: var(--success); }
@media (max-width: 900px) { .pd-body, .pp-band .wrap { grid-template-columns: 1fr; } .pd-box { position: static; order: -1; } }
@media (max-width: 560px) { .pp-feat { grid-template-columns: 1fr; } .pd-hero { min-height: 300px; } .pp-form .form-grid { grid-template-columns: 1fr; } }
