/* Content pages (contact, legal, 404, guides) — design v2. Rules are scoped to main.vp. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin-ext-fc4f9e08089e.woff2) format('woff2');unicode-range:U+0100-017F,U+0218-021B,U+0304,U+0308,U+0329,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin-3100e775e861.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext-6d3a09963bbd.woff2) format('woff2');unicode-range:U+0100-017F,U+0218-021B,U+0304,U+0308,U+0329,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-83c005d49d8a.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

html{scroll-padding-top:90px}
.vp{--r:12px;font-family:var(--sans);color:var(--ink);font-size:16px;line-height:1.6}
.vp section{padding:0}
.vp .wrap{width:min(1200px,calc(100% - 56px));max-width:none;margin:0 auto;padding:0}
.vp :focus-visible{outline:2px solid var(--signal-ink);outline-offset:3px}
.vp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Breadcrumb + hero */
.vp .vp-hero{position:relative;overflow:hidden;isolation:isolate;padding:56px 0 64px;border-bottom:1px solid var(--line)}
.vp-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(10,10,10,.12) 1px,transparent 1.2px);background-size:22px 22px;mask-image:radial-gradient(ellipse 60% 90% at 85% 40%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 60% 90% at 85% 40%,#000 20%,transparent 70%)}
.vp-hero::after{content:'';position:absolute;z-index:-2;right:-10%;top:-30%;width:55%;height:160%;background:radial-gradient(closest-side,rgba(149,242,171,.28),rgba(149,242,171,0))}
.vp-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none;font-size:13px;color:var(--mid)}
.vp-crumbs li+li::before{content:'/';margin-right:8px;color:#b5b5b0}
.vp-crumbs a:hover{color:var(--ink)}
.vp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--mid)}
.vp-eyebrow::before{content:'';width:18px;height:2px;background:var(--signal-ink)}
.vp-hero h1{font-size:clamp(40px,5.4vw,72px);line-height:1;letter-spacing:-.06em;font-weight:800;margin:18px 0 0;max-width:900px}
.vp-hero h1 .thin{display:block;color:#8a8a85}
.vp-lede{font-size:17px;line-height:1.7;color:#4c4c48;max-width:640px;margin-top:22px}
.vp-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.vp-pill,.vp .pill{display:inline-flex;align-items:center;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font:500 12px var(--mono);color:var(--mid)}
.vp .vp-body{padding:64px 0 96px}

/* Buttons */
.vp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:700;white-space:nowrap;transition:background .15s,color .15s}
.vp-btn:hover{background:#2b2b2b}
.vp-btn.ghost{background:transparent;color:var(--ink)}
.vp-btn.ghost:hover{background:var(--ink);color:#fff}
.vp-btn.signal{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.vp-btn.signal:hover{background:#b4f7c4}
.vp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* Cards */
.vp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vp-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.vp-card.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.vp-card .vp-label{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.vp-card.dark .vp-label{color:#a7a7a2}
.vp-card h2,.vp-card h3{font-size:21px;letter-spacing:-.035em;font-weight:800;margin:12px 0 8px}
.vp-card p{font-size:14.5px;line-height:1.7;color:var(--mid)}
.vp-card.dark p{color:#b5b5b0}
.vp-card .vp-link{margin-top:auto;padding-top:20px;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14.5px}
.vp-card .vp-link span{border-bottom:1px solid currentColor}
.vp-card.dark .vp-link{color:var(--signal)}
.vp-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px}
.vp-links a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600}
.vp-links a:hover{border-color:var(--ink)}
.vp-company{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px;padding:26px 28px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.vp-company dt{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.vp-company dd{margin:6px 0 0;font-size:14.5px;font-weight:600;line-height:1.5}

/* Legal center */
.vp .mobile-tabs{display:none}
.vp .legal-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;align-items:start}
.vp .side{position:sticky;top:92px;display:grid;gap:12px}
.vp .side-card{padding:10px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.vp .side-title{padding:8px 10px 10px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.vp .legal-link{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:9px;background:none;font:600 14px var(--sans);color:var(--mid);text-align:left;cursor:pointer}
.vp .legal-link span:last-child{font:500 11px var(--mono);color:#a5a5a0}
.vp .legal-link:hover{background:var(--panel);color:var(--ink)}
.vp .legal-link.active{background:var(--ink);color:#fff}
.vp .legal-link.active span:last-child{color:var(--signal)}
.vp .search input{width:100%;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font:14px var(--sans);color:var(--ink)}
.vp .search input:focus{outline:2px solid var(--signal-ink);outline-offset:1px;border-color:transparent}
.vp .doc+.doc{margin-top:72px;padding-top:56px;border-top:1px solid var(--line)}
.vp.js-docs .doc{display:none}
.vp.js-docs .doc.active{display:block;margin-top:0;padding-top:0;border-top:0}
.vp .doc-kicker{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--signal-ink)}
.vp .doc .title{font-size:clamp(28px,3.4vw,42px);line-height:1.1;letter-spacing:-.045em;font-weight:800;margin:10px 0 10px}
.vp .doc-sub{font-size:16px;color:var(--mid);max-width:640px}
.vp .doc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.vp .doc-head{padding-bottom:28px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.vp .legal-body{max-width:760px}
.vp .legal-body section{padding:26px 0;border-bottom:1px solid #efefec}
.vp .legal-body section:last-child{border-bottom:0}
.vp .legal-body h3{font-size:18px;letter-spacing:-.02em;font-weight:700;margin:0 0 10px}
.vp .legal-body h4{font-size:15px;font-weight:700;margin:18px 0 6px}
.vp .legal-body p{font-size:15.5px;line-height:1.85;color:#4c4c48}
.vp .legal-body p+p{margin-top:12px}
.vp .legal-body strong{color:var(--ink)}
.vp .notice{margin:14px 0;padding:14px 18px;border-radius:10px;border:1px solid #cfe9d6;background:#f1fbf3;font-size:14.5px;line-height:1.7;color:#24402c}
.vp .notice.warn{border-color:#f0dcb4;background:#fdf7ea;color:#5a4316}
.vp mark.search-hit{background:var(--signal);color:var(--ink);border-radius:3px;padding:0 2px}

/* 404 */
.vp-404 .vp-hero.vp-hero{padding:96px 0 104px}

@media(max-width:960px){
  .vp-grid{grid-template-columns:1fr 1fr}
  .vp-company{grid-template-columns:1fr 1fr}
  .vp .legal-layout{grid-template-columns:1fr;gap:24px}
  .vp .side{position:static}
  .vp .side-card{display:none}
  .vp.js-docs .mobile-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:20px;scrollbar-width:none}
  .vp .mobile-tabs button{flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font:600 13px var(--sans);color:var(--mid);cursor:pointer}
  .vp .mobile-tabs button.primary{background:var(--ink);border-color:var(--ink);color:#fff}
}
@media(max-width:640px){
  .vp .wrap{width:calc(100% - 32px)}
  .vp .vp-hero{padding:40px 0 48px}
  .vp .vp-body{padding:44px 0 72px}
  .vp-grid,.vp-company{grid-template-columns:1fr}
  .vp-card{padding:22px}
}
@media(prefers-reduced-motion:reduce){.vp *{transition:none!important}}
/* Partners page: one block per partner group, logos in a grid of equal tiles. A tile shows the logo file when present, else the company name. */
.vp .vp-partners{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:40px;padding:40px 0;border-top:1px solid var(--line)}
.vp .vp-partners:first-child{border-top:0;padding-top:0}
.vp-partners-head h2{font-size:26px;letter-spacing:-.04em;font-weight:800;line-height:1.15;margin:10px 0 8px}
.vp-partners-head p{font-size:14.5px;line-height:1.7;color:var(--mid);margin:0}
.vp-partners .vp-label{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.vp-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-content:start;margin:0;padding:0;list-style:none}
.vp-logo{display:flex;align-items:center;justify-content:center;min-height:100px;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .15s}
.vp-logo:hover{border-color:#bdbdb8}
.vp-logo img{display:block;max-width:100%;max-height:44px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) brightness(.72);opacity:.9;transition:filter .15s,opacity .15s}
.vp-logo:hover img{filter:none;opacity:1}
.vp-logo.is-compact img{max-height:60px}
.vp-logo-name{font-size:22px;font-weight:800;letter-spacing:-.04em;color:var(--ink);text-align:center}
.vp-partners-cta{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;margin-top:40px}
.vp-partners-cta h2{margin-top:0}
.vp-partners-cta .vp-actions{margin-top:0;flex-shrink:0}
.vp-partners-cta .vp-btn.ghost{border-color:#5a5a57;color:#fff}
.vp-partners-note{margin:16px 0 0;font-size:12.5px;color:var(--mid)}
@media(max-width:960px){.vp .vp-partners{grid-template-columns:1fr;gap:20px}.vp-partners-cta{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.vp-logo-grid{grid-template-columns:1fr 1fr}.vp-logo{min-height:92px;padding:18px}.vp-logo-name{font-size:19px}.vp .vp-partners{padding:32px 0}}
