/* Partnerships (/partners) on Night field. Tokens come from review/base.css. */
.pt-page{padding-bottom:24px}
:where(.pt-page) p{margin:0}
.pt-page h1,.pt-page h2,.pt-page h3{font-family:var(--font-head);font-weight:600}
.pt-overline{font:var(--text-label)/1.5 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}

/* Hero */
.pt-hero{max-width:780px;padding:clamp(44px,7vw,96px) 0 clamp(36px,4vw,56px)}
.pt-hero h1{font-size:var(--text-h1);line-height:1.05;letter-spacing:-.035em;margin:16px 0 22px;text-wrap:balance}
.pt-lead{font-size:var(--text-lead);line-height:1.6;color:var(--text-muted);max-width:620px;margin-bottom:28px}
.pt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}

/* Sections */
.pt-section{padding:var(--section-space) 0;border-top:1px solid var(--rule);scroll-margin-top:24px}
.pt-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}
.pt-section-head h2,.pt-h2{font-size:var(--text-h2);line-height:1.08;letter-spacing:-.035em;margin:10px 0 0}
.pt-h2{margin-bottom:22px}
.pt-section-head>p{color:var(--text-muted);max-width:440px}

/* The businesses: a reel of cards, each logo on its own color. It drifts
   sideways with a pause button; reduced motion or no script leaves a plain
   horizontal scroll. */
.pt-partners{padding-bottom:var(--section-space)}
.pt-partners-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.pt-partners-head h2{margin:0}
.pt-pause{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px;font-size:13px;border-radius:var(--radius-control)}
.pt-pause-icon{width:10px;height:10px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.pt-pause[aria-pressed="true"] .pt-pause-icon{border:0;border-left:10px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;width:0;height:0}
.pt-reel{overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent;padding-bottom:6px;border-radius:12px}
.pt-track{display:flex;width:max-content}
.pt-set{display:flex;gap:14px;list-style:none;margin:0;padding:0 14px 0 0}
.pt-card{flex:none;width:232px;display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--rule);border-radius:12px;background:var(--surface-sunk);scroll-snap-align:start}
.pt-card .pt-logo{width:100%;--h:92px;--py:12px;margin-bottom:6px}
.pt-card h3{font-size:16px;letter-spacing:-.015em;margin:0;line-height:1.25}
.pt-card p{font-size:13.5px;color:var(--text-muted);line-height:1.4}
.is-moving .pt-reel{overflow:hidden;padding-bottom:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.is-moving .pt-track{animation:pt-reel 48s linear infinite}
.is-moving .pt-reel:hover .pt-track,.is-moving .pt-reel:focus-within .pt-track,.is-paused .pt-track,.is-offscreen .pt-track{animation-play-state:paused}
@keyframes pt-reel{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.pt-track{animation:none!important}}
.pt-logo{--h:64px;--py:5px;flex:none;display:flex;align-items:center;justify-content:center;width:152px;height:var(--h);border-radius:9px;background:#fff;padding:var(--py) 12px;box-shadow:inset 0 0 0 1px rgb(255 255 255 / .12)}
.pt-logo img{display:block;max-width:100%;max-height:calc(var(--h) - 2 * var(--py));width:auto;height:auto}
.pt-logo.teal{background:#183e48}
.pt-logo.navy{background:#2b3281}
.pt-logo.slate{background:#2a3036}
.pt-logo.type{flex-direction:column;background:var(--surface);color:var(--text);font:600 15px/1.2 var(--font-head);text-align:center;letter-spacing:-.01em}
.pt-logo.type small{display:block;font:10px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-top:4px}

/* The trades: a short hairline list */
.pt-trades{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(24px,4vw,56px);align-items:start}
.pt-trades .pt-h2{margin:0}
.pt-trade-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
.pt-trade-list li{padding:12px 0;border-top:1px solid var(--rule);font-size:17px}

/* What partnering involves */
.pt-includes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
.pt-include{display:grid;grid-template-columns:40px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--rule)}
.pt-include h3{font-size:19px;letter-spacing:-.02em;margin:0 0 6px;line-height:1.25}
.pt-include p{color:var(--text-muted);font-size:15px;line-height:1.55}
.pt-include .product-mark{width:40px;height:40px;border-radius:11px}
.pt-glyph{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;border:1px solid var(--rule);color:var(--text-muted)}
.pt-glyph svg{width:20px;height:20px}
.pt-note{margin-top:28px;color:var(--text-faint);font-size:14px}

/* How we grow: rings, from the partner business out */
.pt-grow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.pt-grow-copy p{color:var(--text-muted);font-size:17px;line-height:1.6;max-width:500px}
.pt-grow-copy p+p{margin-top:14px}
.pt-rings{position:relative;aspect-ratio:1;max-width:460px;width:100%;margin:auto;list-style:none;padding:0}
.pt-rings li{position:absolute;border-radius:50%;display:flex;justify-content:center;text-align:center}
.pt-rings li span{font-size:13.5px;line-height:1.35;color:var(--text-muted);max-width:220px}
.pt-rings li b{display:block;font:10px/1.3 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-weight:400;margin-bottom:4px}
.pt-rings .r2{z-index:2;inset:6%;border:1px dashed var(--rule-strong);background:var(--surface-sunk);align-items:flex-start;padding-top:8%}
.pt-rings .r1{z-index:3;inset:31%;background:var(--text);align-items:center;padding:7%}
.pt-rings .r1 span{color:var(--bg);font:600 14px/1.25 var(--font-head)}
.pt-rings .r1 b{color:#46534c}

/* Two doors: owners and individual pros */
.pt-doors-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pt-door{display:flex;flex-direction:column;gap:10px;min-height:220px;padding:28px;border:1px solid var(--rule);border-radius:12px;background:var(--surface-sunk);color:var(--text);text-decoration:none;transition:border-color var(--quick) var(--ease),background var(--quick) var(--ease)}
.pt-door h3{font-size:24px;letter-spacing:-.025em;line-height:1.2;margin:0}
.pt-door p{color:var(--text-muted);font-size:15.5px;max-width:440px}
.pt-door span{margin-top:auto;font-weight:500}
.pt-door:hover{border-color:var(--rule-strong)}
.pt-door.primary{background:var(--text);color:var(--bg);border-color:var(--text)}
.pt-door.primary p,.pt-door.primary .pt-overline{color:#46534c}
.pt-door.primary:hover{background:#fff8e6}

@media (max-width:900px){
  .pt-grow,.pt-trades{grid-template-columns:1fr}
  .pt-section-head{display:block}.pt-section-head>p{margin-top:12px}
  .pt-includes{grid-template-columns:1fr}
  .pt-doors-grid{grid-template-columns:1fr}
  .pt-door{min-height:0}
}
@media (max-width:520px){
  .pt-card{width:200px}
  .pt-card .pt-logo{--h:80px}
  .pt-rings li span{font-size:12px;max-width:150px}
  .pt-rings .r1 span{font-size:12.5px}
}

/* ZenLink app store links */
.store-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:16px 0 0;font-size:15px;color:var(--text-muted)}
.store-links a{color:inherit;color:var(--text);text-decoration:underline;text-underline-offset:4px}
