/* Sotvida 5.7 · Interacciones sobrias y experienca móvil */
:root{--sv57-deep:#073565;--sv57-blue:#047ac9;--sv57-cyan:#08b9dd;--sv57-pale:#eaf7ff}
.sv57-finder{padding:clamp(62px,7vw,110px) 0;background:#f9fcff;border-bottom:1px solid #e4eef6}
.sv57-finder-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,90px);align-items:center}
.sv57-finder h2{font-size:clamp(36px,4.9vw,68px);line-height:1.04;letter-spacing:-.065em;color:#08386d;margin:16px 0 20px}
.sv57-finder h2 em{color:#078bc8;font-style:normal}
.sv57-finder p{max-width:420px;line-height:1.8;color:#57778e;font-size:14px}
.sv57-finder-ui{min-width:0;background:linear-gradient(140deg,#e5f6ff,#fff);padding:clamp(18px,3vw,31px);border:1px solid #d7e9f6;border-radius:25px;box-shadow:0 25px 65px #124c7d0c}
.sv57-project-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}
.sv57-project-tabs button{border:1px solid #d3e3f2;background:#fff;border-radius:100px;padding:11px 15px;cursor:pointer;font-size:12px;color:#315b7e;font-weight:750;transition:background .2s,color .2s,box-shadow .2s}
.sv57-project-tabs button.is-current,.sv57-project-tabs button[aria-pressed=true]{background:#074579;color:#fff;border-color:#074579;box-shadow:0 6px 22px #0d5e9e22}
.sv57-project-preview{position:relative;overflow:hidden;border-radius:18px;padding:28px;background:linear-gradient(133deg,#083e79,#056eaf);color:#fff;min-height:228px;isolation:isolate}
.sv57-project-preview:after{content:"";position:absolute;width:210px;height:210px;border:1px solid #ffffff34;border-radius:50%;right:-62px;top:-56px;box-shadow:0 0 0 34px #ffffff0b,0 0 0 72px #ffffff07;pointer-events:none}
.sv57-project-preview[data-mode=clinica]{background:linear-gradient(125deg,#074c80,#1584c0)}
.sv57-project-preview[data-mode=laboratorio]{background:linear-gradient(125deg,#073d78,#3475ba)}
.sv57-project-preview small{letter-spacing:.2em;font-weight:800;font-size:10px;color:#93e8fc}
.sv57-project-preview h3{font-size:clamp(29px,3vw,43px);margin:19px 0 12px;color:#fff;letter-spacing:-.05em}
.sv57-project-preview p{color:#d7efff;max-width:360px;font-size:13px;position:relative;z-index:2}
.sv57-project-link{display:inline-flex;align-items:center;gap:16px;color:#083769;background:#fff;padding:14px 17px;border-radius:10px;font-weight:800;font-size:12px;margin-top:22px;min-height:44px;transition:transform .2s,box-shadow .2s}
.sv57-project-link:hover{transform:translateY(-2px);box-shadow:0 9px 24px #001e4260}
.sv57-quote-steps{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 22px}
.sv57-quote-steps li{font-size:11px;border:1px solid #d7e8f3;border-radius:30px;background:#f7fbfe;color:#446f89;padding:8px 11px;font-weight:750}
.sv57-quote-steps b{color:#0587ba;margin-right:4px}
.sv57-progress{background:#e8f3fb;border-radius:20px;overflow:hidden;height:5px;margin:14px 0}
.sv57-progress>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#0868b7,#03b0d8);transition:width .2s ease}
.sv57-progress-hint{font-size:11px!important;color:#608099;margin:0 0 15px!important}
.sv57-quote-faq{margin:38px 0 50px;max-width:770px}
.sv57-quote-faq h2{font-size:clamp(24px,3vw,33px);color:#0b3865;letter-spacing:-.045em}
.sv57-quote-faq details{border-bottom:1px solid #d9e7f1;padding:15px 0}
.sv57-quote-faq summary{cursor:pointer;color:#0c3c65;font-size:14px;font-weight:750;list-style:none;display:flex;justify-content:space-between;gap:15px;align-items:center}
.sv57-quote-faq summary::-webkit-details-marker{display:none}
.sv57-quote-faq summary::after{content:'+';font-size:23px;color:#008ec3;line-height:1}
.sv57-quote-faq details[open] summary::after{content:'−'}
.sv57-quote-faq details p{font-size:13px;line-height:1.8;color:#5b7891;margin:12px 0 3px}
.v5-main-image[role=button]{cursor:zoom-in;outline-offset:6px}
.sv57-image-dialog{margin:auto;max-width:min(1000px,95vw);max-height:92vh;border:0;border-radius:22px;padding:20px;background:#f9fcff;box-shadow:0 24px 120px #041e3d6b;overflow:auto}
.sv57-image-dialog::backdrop{background:#041b31dc;backdrop-filter:blur(5px)}
.sv57-image-dialog img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}
.sv57-dialog-close{display:block;margin:0 0 12px auto;background:#0a487a;color:#fff;border:0;border-radius:9px;padding:9px 15px;cursor:pointer;font-weight:700}
.sv57-floating-quote{display:none}
a:focus-visible,button:focus-visible,summary:focus-visible,.v5-main-image[role=button]:focus-visible{outline:3px solid #00a8d4;outline-offset:3px}
@media(max-width:820px){
  .sv57-finder-grid{grid-template-columns:1fr;gap:28px}
  .sv57-finder{padding:55px 0}
}
@media(max-width:650px){
  .sv57-finder h2{font-size:clamp(35px,9vw,47px)}
  .sv57-finder-ui{border-radius:18px;padding:14px}
  .sv57-project-tabs button{font-size:12px;flex:1;min-width:85px;padding:10px 7px}
  .sv57-project-preview{padding:22px;min-height:245px}
  .sv57-floating-quote{display:flex;position:fixed;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));z-index:22;background:#083f78;color:white;text-decoration:none;box-shadow:0 12px 34px #0b345d50;border:1px solid #69a9ce70;border-radius:15px;padding:15px 18px;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:800}
  body:has(.sv57-floating-quote) .site-footer{padding-bottom:80px}
  .sv57-quote-steps{gap:5px;margin-bottom:15px}
  .sv57-quote-steps li{font-size:10px;padding:8px 9px}
  .sv57-image-dialog{width:95vw;padding:12px}
}
@media(prefers-reduced-motion:reduce){.sv57-progress>span,.sv57-project-link,.sv57-project-tabs button{transition:none}}

.sv57-confirm-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:12px 0 22px;color:#53758c;font-size:12px}
.sv57-copy-ref{cursor:pointer;border:1px solid #b6d8eb;border-radius:9px;background:#eaf7fd;padding:10px 15px;color:#075c9b;font-size:12px;font-weight:800}
.sv57-copy-ref:hover{background:#d3effc}
.sv57-confirm-next{background:#f3faff;padding:20px 22px;border:1px solid #d8eaf7;border-radius:14px;margin:0 0 22px;max-width:560px}
.sv57-confirm-next strong{color:#083766;font-size:14px}
.sv57-confirm-next p{font-size:12px;line-height:1.65;margin:11px 0 0;color:#54758e}
