/* Homepage partners: native, scoped and independent of external widgets. */
.mvs-native-partners { --partners-blue:#153855; --partners-mint:#53d0bc; padding:52px 0 36px; background:#fff; color:var(--partners-blue); scroll-margin-top:105px; }
.mvs-native-partners *, .mvs-native-partners *::before, .mvs-native-partners *::after { box-sizing:border-box; }
.mvs-native-partners .mvs-partners-inner { width:calc(100% - 40px); max-width:1320px; margin:0 auto; }
.mvs-native-partners .mvs-partners-heading { max-width:750px; margin:0 auto 28px; text-align:center; }
.mvs-public-refresh .page > .mvs-native-partners .mvs-partners-eyebrow { margin:0 0 14px; color:#42637c; font-size:11px; font-weight:600; line-height:1.5; letter-spacing:2.2px; text-transform:uppercase; }
.mvs-native-partners .mvs-partners-heading h2 { margin:0; color:var(--partners-blue); font-size:clamp(29px,3vw,40px); line-height:1.14; font-weight:500; letter-spacing:-1.1px; }
.mvs-native-partners .mvs-partners-heading h2 span { display:block; color:#53d0bc; }
.mvs-public-refresh .page > .mvs-native-partners .mvs-partners-intro { max-width:670px; margin:18px auto 0; color:#536675; font-size:15px; line-height:1.75; }
.mvs-native-partners .mvs-partners-rail { --visible:5; display:flex; gap:20px; overflow-x:auto; overflow-y:hidden; margin:0; padding:4px 2px 15px; list-style:none; scroll-snap-type:x mandatory; scroll-padding-inline:2px; scrollbar-width:thin; scrollbar-color:#9eb9c7 transparent; overscroll-behavior-x:contain; }
.mvs-native-partners[data-enhanced] .mvs-partners-rail { scrollbar-width:none; scroll-snap-type:none; scroll-behavior:auto; overflow-anchor:none; -webkit-mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent); mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent); }
.mvs-native-partners .mvs-partner[hidden] { display:none; }
.mvs-native-partners[data-enhanced] .mvs-partners-rail::-webkit-scrollbar { display:none; }
.mvs-native-partners .mvs-partner { flex:0 0 calc((100% - (var(--visible) - 1)*20px)/var(--visible)); min-width:0; margin:0; padding:0; scroll-snap-align:start; }
.mvs-native-partners .mvs-partner::before { display:none; }
.mvs-native-partners .mvs-partner-body { display:flex; flex-direction:column; align-items:center; gap:14px; width:100%; height:100%; padding:16px 14px 19px; color:var(--partners-blue); border-bottom:1px solid #dce6ed; text-align:center; text-decoration:none; transition:border-color .2s,color .2s; }
.mvs-native-partners a.mvs-partner-body:hover { color:#53d0bc; border-bottom-color:var(--partners-mint); }
.mvs-native-partners .mvs-partner-visual { display:flex; align-items:center; justify-content:center; width:100%; height:130px; }
.mvs-native-partners .mvs-partner-visual img { display:block; width:auto; max-width:100%; height:auto; max-height:130px; object-fit:contain; margin:0; border:0; box-shadow:none; }
.mvs-native-partners .mvs-partner-name { display:flex; justify-content:center; align-items:center; gap:6px; min-height:34px; max-width:100%; font-size:12px; font-weight:500; line-height:1.45; }
.mvs-native-partners .mvs-partner-arrow { color:#608198; font-size:14px; flex:none; }
.mvs-native-partners .mvs-partners-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:12px; }
.mvs-native-partners .mvs-partners-controls[hidden] { display:none; }
.mvs-native-partners .mvs-partners-count { color:#607588; font-size:12px; line-height:1.5; font-variant-numeric:tabular-nums; }
.mvs-native-partners .mvs-partners-buttons { display:flex; align-items:center; gap:8px; }
.mvs-native-partners .mvs-partners-control { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:1px solid #cedee6; border-radius:50%; background:#fff; color:var(--partners-blue); cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.mvs-native-partners .mvs-partners-control:hover { background:var(--partners-blue); border-color:var(--partners-blue); color:white; }
.mvs-native-partners .mvs-partners-control:disabled { opacity:.35; cursor:default; background:#fff; color:var(--partners-blue); border-color:#cedee6; }
.mvs-native-partners .mvs-partners-control svg { width:17px; height:17px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; }
.mvs-native-partners :focus-visible { outline:2px solid #287a9c; outline-offset:3px; }
.mvs-public-refresh .page > .mvs-native-partners .mvs-partners-hint { margin:0; color:#607588; font-size:11px; line-height:1.5; }
@media(max-width:1100px) { .mvs-native-partners .mvs-partners-rail { --visible:4; } }
@media(max-width:900px) { .mvs-native-partners .mvs-partners-rail { --visible:3; } }
@media(max-width:600px) {
  .mvs-native-partners { padding:38px 0 28px; scroll-margin-top:68px; }
  .mvs-native-partners .mvs-partners-heading { margin-bottom:20px; }
  .mvs-native-partners .mvs-partners-heading h2 { font-size:30px; letter-spacing:-.8px; }
  .mvs-public-refresh .page > .mvs-native-partners .mvs-partners-intro { font-size:14px; line-height:1.65; margin-top:15px; }
  .mvs-public-refresh .page > .mvs-native-partners .mvs-partners-eyebrow { font-size:10px; letter-spacing:1.3px; }
  .mvs-native-partners .mvs-partners-rail { --visible:2; gap:14px; }
  .mvs-native-partners .mvs-partner { flex-basis:calc((100% - 14px)/2); }
  .mvs-native-partners .mvs-partner-body { padding:10px 8px 15px; gap:11px; }
  .mvs-native-partners .mvs-partner-visual { height:110px; }
  .mvs-native-partners .mvs-partner-visual img { max-height:110px; }
  .mvs-native-partners .mvs-partner-name { min-height:48px; font-size:11px; }
  .mvs-native-partners .mvs-partners-control { width:36px; height:36px; }
  .mvs-native-partners .mvs-partners-hint { max-width:150px; }
}
@media(prefers-reduced-motion:reduce) { .mvs-native-partners * { transition:none !important; scroll-behavior:auto !important; } }

/* Stable viewport: only the track transform is animated by the compositor. */
.mvs-native-partners .mvs-partners-viewport { overflow:hidden; width:100%; touch-action:pan-y pinch-zoom; overscroll-behavior-x:contain; overflow-anchor:none; -webkit-mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent); mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent); }
.mvs-native-partners[data-enhanced="compositor"] .mvs-partners-rail { overflow:visible; width:100%; will-change:transform; -webkit-mask-image:none; mask-image:none; scroll-snap-type:none; transform:translate3d(0,0,0); }
.mvs-native-partners[data-enhanced="compositor"] .mvs-partner-body { -webkit-user-drag:none; user-select:none; }
.mvs-native-partners[data-enhanced="compositor"] .mvs-partner-visual img { -webkit-user-drag:none; }
.mvs-public-refresh .page > .mvs-collaboration { background:#263b54; color:#fff; padding:60px 0 42px; scroll-margin-top:110px; }
.mvs-collaboration *, .mvs-collaboration *::before, .mvs-collaboration *::after { box-sizing:border-box; }
.mvs-collaboration .mvs-collaboration-inner { width:calc(100% - 40px); max-width:1320px; margin:0 auto; }
.mvs-collaboration .mvs-collaboration-grid { display:grid; grid-template-columns:1fr 1.12fr; gap:clamp(38px,6vw,100px); align-items:center; }
.mvs-public-refresh .page > .mvs-collaboration .mvs-collaboration-eyebrow { color:#53d0bc; font-size:11px; font-weight:600; line-height:1.5; letter-spacing:2px; text-transform:uppercase; margin:0 0 18px; }
.mvs-public-refresh .page > .mvs-collaboration h2 { color:#fff !important; font-size:clamp(36px,4vw,55px); font-weight:500; line-height:1.08; letter-spacing:-1.6px; margin:0; }
.mvs-public-refresh .page > .mvs-collaboration h2 span { color:#53d0bc !important; }
.mvs-public-refresh .page > .mvs-collaboration .mvs-collaboration-intro { max-width:500px; color:#e0e8f0; font-size:16px; line-height:1.75; margin:22px 0 0; }
.mvs-collaboration .mvs-collaboration-person { display:flex; align-items:center; gap:15px; margin-top:27px; }
.mvs-collaboration .mvs-collaboration-person img { display:block; width:64px; height:64px; flex:none; object-fit:cover; border-radius:50%; border:1px solid #647b8e; }
.mvs-collaboration .mvs-collaboration-person strong { display:block; color:#fff; font-size:15px; font-weight:600; line-height:1.5; }
.mvs-collaboration .mvs-collaboration-person span { display:block; color:#b9cbd9; font-size:12px; line-height:1.5; margin-top:3px; }
.mvs-collaboration .mvs-collaboration-steps { list-style:none; margin:0; padding:0; }
.mvs-collaboration .mvs-collaboration-steps li { display:grid; grid-template-columns:38px 1fr; gap:16px; margin:0; padding:20px 0; border-bottom:1px solid #496075; }
.mvs-collaboration .mvs-collaboration-steps li:first-child { padding-top:0; }
.mvs-collaboration .mvs-collaboration-steps li:last-child { border:0; padding-bottom:0; }
.mvs-collaboration .mvs-collaboration-steps li::before { display:none; }
.mvs-collaboration .mvs-collaboration-number { color:#53d0bc; font-size:13px; font-weight:600; letter-spacing:1px; padding-top:4px; }
.mvs-public-refresh .page > .mvs-collaboration h3 { font-size:21px; line-height:1.3; font-weight:500; color:#fff !important; margin:0; letter-spacing:-.3px; }
.mvs-public-refresh .page > .mvs-collaboration .mvs-collaboration-steps p { font-size:14px; line-height:1.65; color:#d3e0ea; margin:8px 0 0; }
.mvs-collaboration .mvs-collaboration-bottom { display:flex; align-items:center; justify-content:space-between; gap:42px; margin-top:37px; padding-top:24px; border-top:1px solid #536b7f; }
.mvs-collaboration .mvs-collaboration-scope { max-width:865px; }
.mvs-collaboration .mvs-collaboration-scope strong { color:#53d0bc; font-size:13px; font-weight:600; }
.mvs-public-refresh .page > .mvs-collaboration .mvs-collaboration-scope p { color:#bfcfdc; font-size:12px; line-height:1.65; margin:6px 0 0; }
.mvs-collaboration .mvs-collaboration-link { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:20px; padding:15px 20px; border:1px solid #53d0bc; color:#fff; border-radius:4px; text-decoration:none; font-size:13px; font-weight:600; transition:background .2s,color .2s; }
.mvs-collaboration .mvs-collaboration-link:hover { color:#153855; background:#53d0bc; }
.mvs-collaboration .mvs-collaboration-link:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(max-width:900px) {
  .mvs-collaboration .mvs-collaboration-grid { gap:32px; }
  .mvs-collaboration .mvs-collaboration-bottom { gap:24px; align-items:flex-start; }
  .mvs-public-refresh .page > .mvs-collaboration h3 { font-size:19px; }
}
@media(max-width:650px) {
  .mvs-public-refresh .page > .mvs-collaboration { padding:38px 0 32px; scroll-margin-top:68px; }
  .mvs-collaboration .mvs-collaboration-grid { grid-template-columns:1fr; gap:32px; }
  .mvs-public-refresh .page > .mvs-collaboration h2 { font-size:39px; letter-spacing:-1.2px; }
  .mvs-public-refresh .page > .mvs-collaboration .mvs-collaboration-intro { font-size:15px; margin-top:18px; }
  .mvs-collaboration .mvs-collaboration-person { margin-top:22px; }
  .mvs-collaboration .mvs-collaboration-steps li { grid-template-columns:28px 1fr; gap:12px; padding:18px 0; }
  .mvs-collaboration .mvs-collaboration-bottom { flex-direction:column; align-items:stretch; margin-top:28px; padding-top:22px; gap:21px; }
}
@media(prefers-reduced-motion:reduce) { .mvs-collaboration .mvs-collaboration-link { transition:none; } }

/* Same mint as the Delineación/Planos 3D icons on MVSantolalla. */
.mvs-public-refresh .page > .mvs-native-partners .mvs-partners-heading h2 span { color:#53d0bc !important; }
