/* Select Partner: layout only where needed; typography and core treatments use the shared theme. */
.sp-page{color:inherit;font-family:inherit}
.sp-page .section_main h1{text-transform:uppercase}
.sp-page .section_main p{color:inherit}
.sp-hero-image{height:auto}
.sp-section{scroll-margin-top:110px}
.sp-section-heading p{max-width:900px;margin:16px auto 0}
.sp-intro-list{padding-left:20px;margin:16px 0 0}
.sp-intro-list li{margin-bottom:8px}
.sp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:center}
.sp-stats strong{display:block;font-size:30px;font-weight:700;color:#3485ff;line-height:1.3;margin-bottom:8px}
.sp-stats span{display:block;font-size:14px;line-height:1.5}
.sp-expertise-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:30px}
.sp-cert-panel h3{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-size:24px}
.sp-cert-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;list-style:none;margin:0;padding:0}
.sp-cert-list li{display:flex;gap:9px;font-size:16px;line-height:1.5;padding:12px 0;border-top:1px solid #ffffff42}
.sp-specializations>h3{font-size:24px;margin:0 0 20px}
.sp-specialization{margin-bottom:15px}
.sp-specialization:last-child{margin-bottom:0}
.sp-level{font-size:14px;font-weight:700}
.sp-specialization h4{font-size:20px;margin:8px 0 0}
.sp-additional{margin-top:24px;padding:24px;background:#d7e7ff;display:flex;align-items:center;gap:30px;border-radius:10px}
.sp-additional h3{font-size:20px;margin:0}
.sp-additional ul{display:flex;flex-wrap:wrap;gap:16px 26px;list-style:none;margin:0;padding:0}
.sp-additional li{display:flex;align-items:center;gap:10px}
.sp-additional i{color:#3485ff}
.sp-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.sp-icon{display:block;font-size:36px;line-height:1;margin-bottom:20px;color:#fff}
.sp-capability h3,.sp-platform-card h3,.sp-delivery-grid h3,.sp-project h3{font-size:24px;margin-bottom:16px}
.sp-capability p,.sp-platform-card p,.sp-delivery-grid p{margin-bottom:0}
.sp-stack{display:grid;grid-template-columns:1fr 1.65fr;gap:48px}
.sp-stack h3{font-size:28px;margin-bottom:16px}
.sp-accordions details{border:1px solid rgba(0,0,0,.125);border-radius:4px;margin-bottom:8px}
.sp-accordions summary{cursor:pointer;list-style:none;font-size:16px;font-weight:400;padding:16px;display:flex;gap:24px;align-items:center;justify-content:space-between}
.sp-accordions summary::-webkit-details-marker{display:none}
.sp-accordions summary span::after{content:'+';font-size:22px;color:#3485ff}
.sp-accordions details[open] summary span::after{content:'−'}
.sp-accordions details p{padding:0 16px 16px;margin:0}
.sp-platform-grid,.sp-delivery-grid,.sp-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.sp-tool-names{font-weight:700;margin-bottom:14px!important}
.sp-native{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:24px;background:#d7e7ff;border-radius:10px;margin-top:24px;align-items:center}
.sp-native h3{margin:0;font-size:24px}
.sp-native p{margin:0}
.sp-industries{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin:0 0 30px}
.sp-industries h3{font-size:20px;margin:0}
.sp-industries ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:0;margin:0}
.sp-industries li{font-size:14px;background:#d7e7ff;padding:6px 12px;border-radius:4px}
.sp-project{display:flex;flex-direction:column}
.sp-project-number{font-size:30px;font-weight:700;margin-bottom:16px;line-height:1.2}
.sp-project-category{font-size:14px;font-weight:700;margin-bottom:12px}
.sp-project>p:not(.sp-project-category){margin-bottom:24px}
.sp-project-result{border-top:1px solid #ffffff42;padding-top:20px;margin-top:auto}
.sp-project-result strong{display:block;font-size:24px;line-height:1.3;margin-bottom:8px}
.sp-project-result span{display:block;font-size:14px;line-height:1.5}
.sp-step{display:block;font-size:30px;line-height:1.2;font-weight:700;margin-bottom:16px}
.sp-documentation{margin-top:30px;padding:24px 0;border-top:1px solid #ddd;display:grid;grid-template-columns:1fr 2fr;gap:30px}
.sp-documentation h3{font-size:24px;margin:0}
.sp-documentation ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;list-style:none;margin:0;padding:0}
.sp-documentation li{display:flex;gap:10px}
.sp-documentation li span{color:#3485ff}
.sp-page .sp-brand-card,.sp-page .sp-brand-card h3,.sp-page .sp-brand-card h4,.sp-page .sp-brand-card p{color:#fff}
.sp-page a:focus-visible,.sp-page summary:focus-visible{outline:3px solid #3485ff;outline-offset:4px}
@media(max-width:991px){
.sp-expertise-grid{grid-template-columns:1fr}
.sp-stats{gap:12px}.sp-stats strong{font-size:24px}
.sp-additional{align-items:flex-start;flex-direction:column;gap:16px}
.sp-capability-grid,.sp-platform-grid,.sp-delivery-grid,.sp-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-stack{gap:30px}
.sp-documentation{grid-template-columns:1fr;gap:20px}
}
@media(max-width:767px){
.sp-page .section_main .sp-hero-image{display:block;max-width:420px;margin:0 auto 24px}
.sp-stats{margin-top:24px}
.sp-stack,.sp-native{grid-template-columns:1fr;gap:20px}
.sp-capability-grid,.sp-platform-grid,.sp-delivery-grid,.sp-project-grid{grid-template-columns:1fr;gap:20px}
.sp-cert-list,.sp-documentation ul{grid-template-columns:1fr}
}

/* Match the homepage service cards, including typography and hover treatment. */
.sp-page .sp-brand-card{display:flex;flex-direction:column;text-align:center;padding:22px 25px;font-family:inherit}
.sp-page .sp-brand-card .sp-card-icon{display:block;width:100%;height:50px;object-fit:contain;margin:0 auto 15px;flex-shrink:0;filter:brightness(0) invert(1);}
.sp-page .sp-brand-card h3,.sp-page .sp-brand-card h4{display:block;font-family:inherit;font-size:20px;font-weight:500;line-height:24px;text-transform:uppercase;letter-spacing:normal;margin:0 0 12px}
.sp-page .sp-brand-card p{font-family:inherit;font-size:14px;font-weight:400;line-height:21px;margin:0 0 16px}
.sp-page .sp-brand-card .sp-level{font-size:14px;font-weight:400;line-height:21px;margin-bottom:12px}
.sp-page .sp-brand-card .sp-cert-list li{justify-content:center;font-size:14px;line-height:21px}
.sp-page .sp-brand-card .sp-project-result strong{font-size:20px;font-weight:500;line-height:24px}
.sp-page .sp-brand-card .sp-project-result span{font-size:14px;line-height:21px}
.sp-page .sp-brand-card:hover,.sp-page .sp-brand-card:focus-within{background:#0b3247;cursor:default}
.sp-page .sp-brand-card:hover *,.sp-page .sp-brand-card:focus-within *{text-decoration:none}

/* The certification panel is informational, so it stays static and grows with its list. */
.sp-page .sp-expertise-grid{display:block}
.sp-page .sp-specializations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:30px}
.sp-page .sp-specializations>h3{grid-column:1/-1;text-align:center;margin:0}
.sp-page .sp-specializations .sp-specialization{height:100%;margin:0;justify-content:flex-start}
.sp-page .sp-specializations .sp-card-icon{margin-top:0}
.sp-page .sp-cert-panel{align-self:start;width:100%;height:auto;min-height:0;overflow:visible;padding:30px}
.sp-page .sp-cert-panel:hover,.sp-page .sp-cert-panel:focus-within{background:linear-gradient(132deg,#3485FF 0%,#4e7fc7 100%);cursor:default}
.sp-page .sp-cert-panel:hover h3,.sp-page .sp-cert-panel:hover li,
.sp-page .sp-cert-panel:focus-within h3,.sp-page .sp-cert-panel:focus-within li{text-decoration:none}
.sp-page .sp-cert-panel h3{justify-content:center;font-size:24px;font-weight:500;line-height:29px;margin-bottom:16px}
.sp-page .sp-cert-panel .sp-card-icon{height:58px;margin-bottom:16px}
.sp-page .sp-cert-panel .sp-cert-list{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.sp-page .sp-cert-panel .sp-cert-list li{justify-content:flex-start;text-align:left;align-items:flex-start;min-width:0;font-size:16px;line-height:24px;padding:14px 0;overflow-wrap:anywhere}
@media(max-width:991px){
.sp-page .sp-specializations{grid-template-columns:1fr;gap:20px}
}
@media(max-width:767px){
.sp-page .sp-cert-panel{padding:24px}
.sp-page .sp-cert-panel .sp-cert-list{grid-template-columns:1fr}
}

/* Chad testimonial: normal flow prevents image and quote overlap. */
.sp-author-section{overflow:hidden}
.sp-author-card{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:45px;padding:40px;border-radius:10px}
.sp-author-photo img{display:block;width:280px;height:280px;object-fit:cover;border-radius:50%;background:#3485ff;border:5px solid #5f77f1}
.sp-author-copy{min-width:0}
.sp-author-quote-mark{display:block;width:40px;height:auto;margin-bottom:16px}
.sp-author-copy blockquote{position:static;margin:0 0 24px;color:#212529;font-size:16px;line-height:1.65}
.sp-author-meta{display:flex;align-items:flex-start;gap:16px}
.sp-author-line{display:block;width:80px;height:2px;margin-top:9px;background:#000;flex-shrink:0}
.sp-author-meta h6{font-size:16px;line-height:1.4;margin:0 0 6px}
@media(max-width:991px){
.sp-author-card{grid-template-columns:220px minmax(0,1fr);gap:30px;padding:30px}
.sp-author-photo img{width:220px;height:220px}
}
@media(max-width:767px){
.sp-author-card{grid-template-columns:1fr;gap:24px;padding:24px}
.sp-author-photo img{width:220px;height:220px;margin:0 auto}
.sp-author-quote-mark{margin-left:auto;margin-right:auto}
.sp-author-copy blockquote{text-align:center}
.sp-author-meta{justify-content:center;text-align:left}
}

/* Refined Select Partner sections: balanced layouts and clearer scanning. */
.sp-page #select-expertise .sp-section-heading{margin-bottom:34px!important}
.sp-page .sp-cert-panel{display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-areas:"icon list" "title list";align-items:center;column-gap:34px;padding:34px}
.sp-page .sp-cert-panel .sp-card-icon{grid-area:icon;align-self:end;width:64px;height:64px;margin:0 auto 14px}
.sp-page .sp-cert-panel h3{grid-area:title;align-self:start;text-align:center;margin:0;font-size:22px;line-height:1.3}
.sp-page .sp-cert-panel .sp-cert-list{grid-area:list;gap:10px 12px}
.sp-page .sp-cert-panel .sp-cert-list li{align-items:center;border:0;border-radius:6px;background:rgba(255,255,255,.1);padding:12px 14px;min-height:50px}
.sp-page .sp-cert-panel .sp-cert-list li span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.18);flex:0 0 20px;font-size:12px}
.sp-page .sp-specializations{margin-top:34px}
.sp-page .sp-specializations>h3{margin-bottom:-4px}
.sp-page .sp-specializations .sp-specialization{min-height:210px;justify-content:center;padding:26px}

.sp-page .sp-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:930px;margin:0 auto;gap:24px}
.sp-page .sp-capability{min-height:245px;justify-content:center;padding:30px 36px}
.sp-page .sp-capability .sp-card-icon{height:56px;margin-bottom:18px}
.sp-page .sp-capability h3{max-width:360px;margin-left:auto;margin-right:auto}
.sp-page .sp-capability p{max-width:360px;margin-left:auto;margin-right:auto!important}

.sp-page .sp-technical .sp-section-heading{margin-bottom:34px!important}
.sp-page .sp-stack{grid-template-columns:minmax(250px,.75fr) minmax(0,1.65fr);gap:28px;align-items:start}
.sp-page .sp-stack>div:first-child{position:relative;overflow:hidden;background:#edf5ff;border:1px solid #d8e8ff;border-top:4px solid #3485ff;border-radius:8px;padding:30px}
.sp-page .sp-stack>div:first-child::after{content:'';position:absolute;right:-45px;bottom:-55px;width:140px;height:140px;border:28px solid rgba(52,133,255,.08);border-radius:50%;pointer-events:none}
.sp-page .sp-stack h3{font-size:25px;line-height:1.3;margin-bottom:14px}
.sp-page .sp-stack>div:first-child p{position:relative;z-index:1;font-size:15px;line-height:1.65;margin:0}
.sp-page .sp-accordions{display:grid;gap:10px}
.sp-page .sp-accordions details{overflow:hidden;margin:0;border:1px solid #dbe3ef;border-left:4px solid #3485ff;border-radius:7px;background:#fff;box-shadow:0 6px 18px rgba(25,64,116,.06)}
.sp-page .sp-accordions summary{min-height:62px;padding:17px 20px;font-size:16px;font-weight:500;line-height:1.4}
.sp-page .sp-accordions summary span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#edf5ff;flex:0 0 28px}
.sp-page .sp-accordions summary span::after{font-size:20px;line-height:1}
.sp-page .sp-accordions details[open] summary{color:#174f9f;background:#f7faff}
.sp-page .sp-accordions details p{padding:0 60px 19px 20px;font-size:14px;line-height:1.65;color:#33455f}

@media(max-width:991px){
.sp-page .sp-cert-panel{grid-template-columns:170px minmax(0,1fr);column-gap:24px;padding:28px}
.sp-page .sp-capability-grid{gap:20px}
.sp-page .sp-capability{padding:26px 24px}
.sp-page .sp-stack{grid-template-columns:1fr;gap:20px}
}
@media(max-width:767px){
.sp-page .sp-cert-panel{display:flex;grid-template-columns:none;padding:24px}
.sp-page .sp-cert-panel .sp-card-icon{margin:0 auto 14px}
.sp-page .sp-cert-panel h3{margin:0 0 16px}
.sp-page .sp-cert-panel .sp-cert-list{width:100%;gap:8px}
.sp-page .sp-cert-panel .sp-cert-list li{min-height:0;padding:11px 12px}
.sp-page .sp-specializations{margin-top:26px}
.sp-page .sp-specializations .sp-specialization{min-height:190px}
.sp-page .sp-capability-grid{grid-template-columns:1fr}
.sp-page .sp-capability{min-height:0;padding:26px 22px}
.sp-page .sp-stack>div:first-child{padding:24px}
.sp-page .sp-accordions details p{padding-right:20px}
}
