/* Partners: the customer relationship, a useful workspace, and one-customer bespoke hosting. */
.partners-page { --wrap:1320px; }
.partners-page .eyebrow { color:var(--deep); font-size:.7rem; text-transform:uppercase; letter-spacing:.14em; font-weight:600; margin-bottom:22px; }
.partners-page h1,.partners-page h2,.partners-page h3 { overflow-wrap:anywhere; }
.partners-page .btn { white-space:normal; text-align:center; }
.partners-page .btn-row { align-items:center; gap:25px; }
.partners-hero { padding:calc(var(--nav-h) + 65px) 0 70px; background:radial-gradient(ellipse at 65% 45%,#e3f1f8,transparent 62%),#fbfbfd; overflow:hidden; }
.partners-hero-grid { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:60px; min-height:650px; }
.partners-hero-copy { position:relative; z-index:2; }
.partners-hero h1 { font-size:clamp(3rem,4.8vw,5rem); line-height:1.03; letter-spacing:-.045em; max-width:14ch; }
.partners-hero h1 .accent { display:block; margin-top:.08em; }
.partners-hero .lede { margin:28px 0 32px; max-width:39ch; font-size:1.13rem; }
.partners-hero .link { font-size:.88rem; }
.partners-hero-art { position:relative; min-width:0; }
.partners-photo { overflow:hidden; border-radius:180px 180px 28px 28px; aspect-ratio:4/5; background:#d7d5cf; }
.partners-photo img { width:100%; height:100%; object-fit:cover; object-position:35% center; }
.partners-hero-art figcaption { display:flex; align-items:center; gap:12px; position:absolute; left:-30px; right:30px; bottom:35px; background:#fbfbfdef; -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); padding:22px 25px; border-radius:16px; color:#15374b; box-shadow:0 18px 50px #051e2b20; font-size:.88rem; }
.partners-hero-art figcaption svg { width:26px; height:26px; color:var(--deep); flex-shrink:0; }
.partners-heading { max-width:790px; margin:0 auto 55px; text-align:center; }
.partners-heading .eyebrow { margin-inline:auto; }
.partners-heading>p:last-child:not(.eyebrow) { margin:24px auto 0; max-width:61ch; }
.partners-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px; }
.partners-symbol { display:flex; align-items:center; justify-content:center; width:58px; height:58px; background:#e4f1f8; border-radius:18px; color:var(--deep); margin-bottom:26px; }
.partners-symbol svg { width:27px; height:27px; }
.partners-benefits article { border-top:1px solid #d5e1ea; padding-top:30px; }
.partners-benefits h3 { font-size:1.7rem; max-width:17ch; margin-bottom:20px; }
.partners-benefits p { font-size:.97rem; }
.partners-experience { background:linear-gradient(120deg,#eef4f9,#fafbfd); }
.partners-experience-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:center; }
.partners-hub-art { position:relative; border-radius:50%; overflow:hidden; box-shadow:0 30px 80px #18395816; }
.partners-hub-art img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.partners-intro { margin-top:26px; }
.partners-experience-list { margin-top:35px; }
.partners-experience-list article { display:flex; gap:20px; border-top:1px solid #1d43551c; padding:24px 0; }
.partners-experience-list article>svg { width:23px; height:23px; color:var(--deep); flex-shrink:0; }
.partners-experience-list h3 { font-size:1.14rem; margin-bottom:12px; }
.partners-experience-list p { font-size:.93rem; margin-bottom:10px; }
.partners-experience-list .link { font-size:.83rem; }
.partners-portal { background:radial-gradient(ellipse at 90% 5%,#17394e,transparent 55%),#09121d; color:#b2c2d1; }
.partners-portal .eyebrow { color:#8fdaed; }
.partners-portal h2,.partners-portal h3 { color:#f3f8fc; }
.partners-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.partners-tools article { padding:36px; border:1px solid #728a9f2b; background:#ffffff04; border-radius:24px; }
.partners-tools .partners-symbol { background:#6bc9e217; color:#8ed8ed; width:50px; height:50px; border-radius:15px; }
.partners-tools h3 { font-size:1.35rem; margin-bottom:18px; }
.partners-tools p { font-size:.91rem; line-height:1.7; }
.partners-trust { display:flex; align-items:center; gap:18px; margin-top:35px; padding-top:30px; border-top:1px solid #728a9f2b; }
.partners-trust>svg { width:24px; height:24px; color:#8ed8ed; flex-shrink:0; }
.partners-trust p { font-size:.85rem; max-width:none; flex:1; }
.partners-trust .link { color:#8ed8ed; border-color:#54849a; font-size:.86rem; }
.partners-steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; }
.partners-steps li { position:relative; padding-top:30px; border-top:1px solid #d6e5ee; }
.partners-steps li::before { content:''; position:absolute; left:0; top:-1px; width:100%; height:2px; background:linear-gradient(90deg,var(--deep),#6dcee5); transform:scaleX(var(--step-progress,1)); transform-origin:left; }
.partners-step-number { display:block; color:var(--deep); font-family:var(--mono); font-size:.88rem; margin-bottom:26px; }
.partners-steps h3 { margin-bottom:20px; max-width:19ch; }
.partners-steps p { font-size:.94rem; }
.partners-faq { background:#f4f6f9; }
.partners-faq>.wrap { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.partners-faq h2 { max-width:13ch; }
.partners-faq details { border-top:1px solid #cad8e3; }
.partners-faq details:last-child { border-bottom:1px solid #cad8e3; }
.partners-faq summary { display:flex; align-items:center; justify-content:space-between; gap:25px; cursor:pointer; list-style:none; padding:25px 0; font-weight:500; color:#1b3448; }
.partners-faq summary::-webkit-details-marker { display:none; }
.partners-faq summary svg { width:20px; height:20px; flex-shrink:0; transition:transform .2s; }
.partners-faq [open] summary svg { transform:rotate(45deg); }
.partners-faq details p { font-size:.93rem; padding-bottom:26px; }
.partners-close { background:radial-gradient(ellipse at 50% 80%,#dceff8,transparent 65%),#fbfbfd; text-align:center; }
.partners-close .eyebrow { margin-inline:auto; }
.partners-close h2 { max-width:19ch; margin:auto; font-size:clamp(2.7rem,5.2vw,4.7rem); }
.partners-close .wrap>p:not(.eyebrow) { margin:27px auto 30px; max-width:57ch; }
.partners-close .btn-row { justify-content:center; }
.partners-page [id] { scroll-margin-top:calc(var(--nav-h) + 25px); }
@media(min-width:1500px) { .partners-hero { min-height:100svh; display:flex; align-items:center; } }
@media(max-width:1000px) { .partners-hero-grid { gap:35px; min-height:550px; } .partners-hero h1 { font-size:clamp(2.7rem,5vw,4rem); } .partners-tools { grid-template-columns:repeat(2,minmax(0,1fr)); } .partners-experience-grid { gap:45px; } .partners-deploy-grid>article { padding:28px; } .partners-faq>.wrap { gap:45px; } }
@media(max-width:759px) {
 .partners-hero { padding:calc(var(--nav-h) + 40px) 0 45px; }
 .partners-hero-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 .partners-hero h1 { font-size:clamp(2.75rem,10.8vw,4.5rem); max-width:15ch; }
 .partners-hero .lede { font-size:1.03rem; margin-top:24px; }
 .partners-page .eyebrow { font-size:.64rem; margin-bottom:20px; }
 .partners-page .btn-row { gap:18px; }
 .partners-page .btn { font-size:.9rem; }
 .partners-hero-art { width:min(100%,500px); margin:auto; }
 .partners-photo { aspect-ratio:1.2; border-radius:100px 100px 23px 23px; }
 .partners-photo img { object-position:center; }
 .partners-hero-art figcaption { position:relative; left:auto; right:auto; bottom:auto; margin:-35px 15px 0; padding:18px; font-size:.77rem; }
 .partners-heading { text-align:left; margin-bottom:35px; }
 .partners-heading .eyebrow { margin-inline:0; }
 .partners-heading>p:last-child:not(.eyebrow) { margin:20px 0 0; font-size:.98rem; }
 .partners-benefits,.partners-experience-grid,.partners-tools,.partners-deploy-grid,.partners-steps,.partners-faq>.wrap { grid-template-columns:minmax(0,1fr); }
 .partners-benefits { gap:30px; }
 .partners-symbol { width:50px; height:50px; margin-bottom:22px; }
 .partners-benefits h3 { max-width:none; font-size:1.6rem; }
 .partners-experience-grid { gap:40px; }
 .partners-hub-art { width:min(75%,350px); margin:auto; }
 .partners-tools article { padding:28px; }
 .partners-trust { flex-wrap:wrap; gap:15px; }
 .partners-trust p { min-width:calc(100% - 40px); }
 .partners-trust .link { margin-left:39px; }
 .partners-deploy-grid { gap:22px; }
 .partners-deploy-grid>article { padding:28px 24px; border-radius:23px; }
 .partners-deploy-grid h3 { font-size:2rem; }
 .partners-deployment-note { text-align:left; }
 .partners-steps { gap:35px; }
 .partners-steps h3 { max-width:none; }
 .partners-faq>.wrap { gap:30px; }
 .partners-faq h2 { max-width:17ch; }
 .partners-faq summary { font-size:.94rem; gap:15px; }
 .partners-close { text-align:left; }
 .partners-close .eyebrow,.partners-close h2,.partners-close .wrap>p:not(.eyebrow) { margin-left:0; }
 .partners-close .btn-row { justify-content:flex-start; }
}
@media(prefers-reduced-motion:reduce) { .partners-faq summary svg { transition:none; } }

/* A compact upcoming capability within the workspace, not another page section. */
.partners-jobs { display:grid; grid-template-columns:.9fr 1.4fr; gap:50px; margin-top:28px; padding:38px; border:1px solid #81c8e13b; border-radius:24px; background:linear-gradient(120deg,#14384c,#102838); }
.partners-jobs-label { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.partners-jobs-label p { color:#9bdff0; font-size:.75rem; font-weight:600; }
.partners-jobs-intro h3 { font-size:clamp(1.55rem,2.3vw,2rem); max-width:20ch; margin-bottom:20px; }
.partners-jobs-intro>p { font-size:.88rem; max-width:39ch; }
.partners-jobs-benefits>div { display:flex; align-items:flex-start; gap:16px; padding:18px 0; border-top:1px solid #97c7df28; }
.partners-jobs-benefits>div:first-child { padding-top:0; border-top:0; }
.partners-jobs-benefits>div:last-child { padding-bottom:0; }
.partners-jobs-benefits svg { width:22px; height:22px; color:#9bdff0; flex-shrink:0; }
.partners-jobs-benefits h4 { color:#eaf6fc; font-size:.99rem; margin-bottom:9px; }
.partners-jobs-benefits p { font-size:.84rem; line-height:1.65; }
@media(max-width:759px) { .partners-jobs { grid-template-columns:minmax(0,1fr); gap:28px; padding:28px; } .partners-jobs-intro h3 { max-width:100%; } .partners-jobs-intro>p { max-width:none; } }
