/* partners page 2026-10-28: /partners/ only. Uses the roles from tt.css (bg, text, line, accent), so light and dark both follow.
   House shape: hairlines, no rounding, no shadows. Every link and button has a 44px hit area. Diagrams are plain HTML/CSS + inline SVG. */
.crumbs{font-size:var(--t-14);color:var(--text-2);position:relative;z-index:1}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--sand9)}
.crumbs a{position:relative;color:var(--text-2);text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:4px;text-decoration-color:var(--line-strong)}
.crumbs a:hover{color:var(--text)}
.crumbs a::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.crumbs [aria-current]{color:var(--text)}

.ph.pp-head h1{max-width:20ch}
.pp-head h1 .dot{color:var(--accent)}
.pp-head .eyebrow.acc,.pp .eyebrow.acc{color:var(--accent-text)}
.pp-head .sub{max-width:52ch}
.pp-sec{padding-block:clamp(48px,7vw,88px);border-top:.5px solid var(--line)}
.pp-sec .sec-head{margin-bottom:clamp(24px,4vw,40px)}
.pp-sec .sec-head h2{font-size:clamp(30px,3.6vw,44px);max-width:22ch}

/* good-fit signals */
.pp-two{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:start}
@media(max-width:860px){.pp-two{grid-template-columns:1fr}}
.pp-sig{list-style:none;margin:0;padding:0;border-top:.5px solid var(--line)}
.pp-sig li{position:relative;padding:18px 0 18px 26px;border-bottom:.5px solid var(--line);color:var(--text-2)}
.pp-sig li::before{content:"";position:absolute;left:3px;top:27px;width:8px;height:8px;background:var(--accent)}
.pp-sig b{display:block;font-family:var(--disp);font-weight:600;font-size:var(--t-24);line-height:1.25;letter-spacing:-.015em;color:var(--text);margin-bottom:4px}
.pp-keep{border:.5px solid var(--line);background:var(--bg-raised);padding:24px}
.pp-keep h3{margin-bottom:8px}
.pp-keep p{color:var(--text-2)}

/* lanes diagram: you own -> we own, with the return line */
.pp-lanes{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:stretch}
.pp-lane{border:.5px solid var(--line);background:var(--bg-raised)}
.pp-lane.us{border-color:var(--accent);border-width:1px}
.pp-lane h3{font-family:var(--body);font-size:var(--t-14);font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;padding:14px 20px;border-bottom:.5px solid var(--line);color:var(--text-2)}
.pp-lane.us h3{color:var(--accent-text);border-bottom-color:var(--accent)}
.pp-lane ul{list-style:none;margin:0;padding:0}
.pp-lane li{padding:14px 20px;border-bottom:.5px solid var(--line);color:var(--text)}
.pp-lane li:last-child{border-bottom:0}
.pp-lane .tag{display:block;padding:12px 20px;font-size:var(--t-14);color:var(--text-2);border-top:.5px solid var(--line);background:var(--bg)}
.pp-mid{display:flex;align-items:center;justify-content:center}
.pp-mid svg{width:56px;height:40px;display:block;overflow:visible}
.pp-mid .ln{stroke:var(--accent);stroke-width:1.5;fill:none}
.pp-mid .hd{fill:var(--accent)}
.pp-back{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);margin-top:0}
.pp-back svg{grid-column:1 / -1;display:block;width:100%;height:44px;overflow:visible}
.pp-back .ln{stroke:var(--text-2);stroke-width:1.25;fill:none;stroke-dasharray:4 4}
.pp-back .hd{fill:var(--text-2)}
.pp-return{border:1px solid var(--accent);background:var(--tomato3);padding:20px 24px;max-width:none}
.pp-return h3{margin-bottom:6px}
.pp-return p{color:var(--text)}
@media(max-width:700px){
  .pp-lanes{grid-template-columns:1fr}
  .pp-mid{height:52px}
  .pp-mid svg{transform:rotate(90deg);width:40px;height:40px}
  .pp-back{display:none}
  .pp-return{margin-top:20px}
}

/* the handoff: four steps on a drawn line, no numbers */
.pp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.pp-steps::before{content:"";position:absolute;left:7px;right:25%;top:7px;height:1.5px;background:var(--accent)}
.pp-step{position:relative;padding:36px 24px 0 0}
.pp-step::before{content:"";position:absolute;left:0;top:0;width:15px;height:15px;background:var(--bg);border:1.5px solid var(--accent)}
.pp-step:last-child::before{background:var(--accent)}
.pp-step h3{margin-bottom:8px}
.pp-step p{color:var(--text-2)}
.pp-step p b{color:var(--text);font-weight:600}
@media(max-width:820px){
  .pp-steps{grid-template-columns:1fr}
  .pp-steps::before{left:7px;right:auto;top:8px;bottom:40px;width:1.5px;height:auto}
  .pp-step{padding:0 0 28px 40px}
  .pp-step:last-child{padding-bottom:0}
}

/* how we handle the intro */
.pp-rules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:.5px solid var(--line);border-left:.5px solid var(--line)}
.pp-rules li{padding:28px 24px;border-right:.5px solid var(--line);border-bottom:.5px solid var(--line);background:var(--bg)}
.pp-rules h3{margin-bottom:10px}
.pp-rules p{color:var(--text-2)}
@media(max-width:860px){.pp-rules{grid-template-columns:1fr}}

/* closing CTA: the dark band */
.pp-cta{background:var(--sandD1);color:var(--sandD12);padding-block:clamp(56px,8vw,96px)}
html[data-theme=dark] .pp-cta{border-top:.5px solid var(--line);border-bottom:.5px solid var(--line)}
.pp-cta .eyebrow{color:var(--sandD11)}
.pp-cta h2{font-family:var(--disp);font-weight:700;font-size:clamp(34px,4.4vw,52px);line-height:1.06;letter-spacing:-.03em;margin-top:14px;max-width:18ch;color:var(--sandD12)}
.pp-cta p{color:var(--sandD11);max-width:48ch;margin-top:16px}
.pp-cta .ph-cta{margin-top:28px}
.pp-cta .btn-ghost{color:var(--sandD12);border-color:var(--sandD8)}
.pp-cta .btn-ghost:hover{background:var(--sandD3)}
.pp-cta .btn:focus-visible{outline-color:var(--sandD12)}
.pp-cta .mail{margin-top:18px;font-size:var(--t-14);color:var(--sandD11)}
.pp-cta .mail a{display:inline-flex;align-items:center;min-height:44px;color:var(--sandD12);text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:4px}
@media(max-width:460px){.ph-cta .btn{flex:1 1 100%}}
/* inline links in the step text: 44px hit area from a transparent ::after, text and line height unchanged */
.pp-step .link{position:relative}
.pp-step .link::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
@media(max-width:820px){
  .pp-steps::before{display:none}
  .pp-step:not(:last-child)::after{content:"";position:absolute;left:7px;top:15px;bottom:0;width:1.5px;background:var(--accent)}
}

/* v2: partner series email ask + footer buttons */
.pp-notes{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,64px);align-items:end;border:1px solid var(--accent);background:var(--bg-raised);padding:clamp(24px,4vw,40px)}
.pp-notes h2{font-size:clamp(28px,3.2vw,40px);max-width:20ch;margin:8px 0 12px}
.pp-notes p{color:var(--text-2);max-width:48ch}
.pp-notes-form .capture{max-width:none}
@media(max-width:860px){.pp-notes{grid-template-columns:1fr}}
.pp-foot-btns{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 8px}
.pp-foot-btns .btn{min-height:44px;gap:10px}
.pp-foot-btns svg{width:18px;height:18px;fill:currentColor;flex:none}
.pp-foot-btns a:first-child svg{fill:none}
@media(max-width:460px){.pp-foot-btns .btn{flex:1 1 100%}}
.pp-notes h2{font-family:var(--disp);font-weight:600;letter-spacing:-.02em}
.foot-news .btn{min-height:44px;margin-top:8px}
#notes{scroll-margin-top:96px}
