/* V17 reviewed: consistent typography, contrast, navigation and resilient media fallbacks. */
:root { --rp-review-brand:#00aad4; --rp-review-navy:#00374f; }
html { scroll-padding-top: 108px; }
main > section[id], main section[id] { scroll-margin-top: 108px; }
.header { z-index: 1000; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid #00aad4;outline-offset:3px; }
#clientes.clients-showcase,.section.clients-showcase{background:linear-gradient(180deg,#06354b,#002b40)!important;}
#clientes .section-heading {color:#fff!important}
#clientes .section-lead{color:#daeff4!important}
#clientes .eyebrow{color:#9ee8f5!important}
#clientes .rv8-client-counter {background:rgba(255,255,255,.09)!important;color:#fff!important;border-color:rgba(184,239,250,.3)!important}
#clientes .rv8-client-counter small,#clientes .rv8-client-under small {color:#d5ecf2!important}
#clientes .rv8-client-logo-card {border-color:#d4e7ee!important;}
#clientes .rv8-client-logo-card > span {color:#30596c!important;white-space:normal;text-overflow:clip;overflow:visible;line-height:1.25;max-height:30px}
#clientes .rv8-client-logo-card.is-logo-missing {background:linear-gradient(140deg,#f6fbfd,#e9f6fa)!important;border-color:#abd8e6!important;gap:4px;}
#clientes .rv8-client-logo-card.is-logo-missing .rv8-client-logo-pad{height:auto;min-height:12px}
#clientes .rv8-client-logo-card.is-logo-missing .rv8-client-logo-pad img{display:none!important}
#clientes .rv8-client-logo-card.is-logo-missing>span {font:800 13px/1.35 Manrope,Arial,sans-serif;color:#034e68!important;max-width:100%;max-height:none;text-align:center;white-space:normal;overflow-wrap:anywhere;}
.rv8-photo {background:linear-gradient(125deg,#066381,#00a2c4)}
.rv8-photo > img {object-fit:cover;object-position:center top!important}
.rv8-person-card:first-child .rv8-photo>img,.rv8-person-card:last-child .rv8-photo>img {object-position:center 7%!important}
#inteligencia .rv8-stat h3 {overflow-wrap:break-word}
#inteligencia .rv8-stat-flag {letter-spacing:.10em}
#inteligencia .rv8-metrics-disclaimer {font-size:11px;line-height:1.6;color:#466c7d}
#contacto .rp17-privacy-compact a {color:#006580;font-weight:700}
#contacto .rp17-privacy-compact details[open] {padding-bottom:6px}
.footer .footer-columns a {text-decoration-thickness:1px;text-underline-offset:3px}
@media (max-width:650px) {html {scroll-padding-top:80px;} main section[id] {scroll-margin-top:80px;}
 #clientes .rv8-client-logo-card.is-logo-missing>span{font-size:12px}
 .rv8-photo{height:310px}
 .rv8-client-counter small{max-width:115px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Restore original coloured client marks, align heights and avoid image clipping. */
#clientes .rv8-client-logo-pad {display:flex;justify-content:center;align-items:center;min-height:66px;}
#clientes .rv8-client-logo-card img {max-height:64px;max-width:138px;object-fit:contain;mix-blend-mode:normal;filter:none!important;}
#clientes .rv8-client-logo-card img[src*="mar-blanca"] {max-width:142px;max-height:70px;}
#clientes .rv8-client-logo-card img[src*="lonja-suites"] {max-width:148px;}
#clientes .rv8-client-logo-card.is-logo-missing {background:#fff!important;}
#clientes .rv8-client-logo-card.is-logo-missing .rv8-client-logo-pad {min-height:10px;}
/* Normalize visible area: source logos retain proportions and brand colours. */
#clientes .rv8-client-logo-pad > img {width:100%!important;height:100%!important;max-width:138px;max-height:64px;object-fit:contain;}


/* Contact simplification and two-metric layout */
#inteligencia .rv8-metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch}
#inteligencia .rv8-stat{min-height:175px;padding:26px 28px;display:flex;flex-direction:column;justify-content:center}
#inteligencia .rv9-stat-experience{grid-column:auto!important;grid-row:auto!important}
#inteligencia .rv8-stat-flag{font-size:10px;min-height:0}
#inteligencia .rv8-stat-number{font-size:clamp(43px,5vw,65px)}
#inteligencia .rv8-stat h3{font-size:16px}
#inteligencia .rv8-stat p{font-size:12px}
#inteligencia .rv9-experience-cell .rv8-stat-number{font-size:clamp(43px,5vw,65px)}
.rp20-contact-section{background:linear-gradient(130deg,#f0f8fa,#e5f4f8)!important}
.rp20-contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,6vw,90px);align-items:center}
.rp20-contact-copy .section-heading{max-width:530px}
.rp20-contact-copy .section-lead{font-size:clamp(15px,1.4vw,18px);max-width:480px}
.rp20-based{display:flex;align-items:center;gap:10px;color:#286479;margin-top:26px;font:700 13px/1.45 Manrope,Arial,sans-serif}
.rp20-pin{display:grid;place-items:center;width:33px;height:33px;background:#d0eff5;color:#006680;border-radius:50%;font-size:21px}
.rp20-contact-panel{background:#fff;border:1px solid #c9e6ef;border-radius:23px;padding:clamp(22px,3vw,36px);box-shadow:0 28px 70px rgba(4,59,81,.075)}
.rp20-contact-overline{font:800 10px/1.3 Manrope,Arial,sans-serif;letter-spacing:.18em;color:#0085a6}
.rp20-contact-panel h3{font:850 clamp(22px,2.6vw,30px)/1.18 Manrope,Arial,sans-serif;letter-spacing:-.035em;color:#033d55;margin:10px 0 9px}
.rp20-contact-desc{font:400 13px/1.65 'DM Sans',Arial,sans-serif;color:#476f7e;margin:0 0 22px}
.rp20-contact-actions{display:grid;gap:10px}
.rp20-action{display:flex;gap:15px;align-items:center;min-width:0;text-decoration:none!important;padding:16px 18px;border:1px solid #bddfe9;border-radius:14px;color:#06435b;background:#f2f9fb;transition:transform .2s,box-shadow .2s,border-color .2s}
.rp20-action:hover{transform:translateY(-2px);box-shadow:0 10px 25px #09576f16;border-color:#00aad4}
.rp20-action-primary{background:linear-gradient(125deg,#006680,#00506d);color:#fff;border-color:#006680}
.rp20-action-primary:hover{color:#fff}
.rp20-action-icon{flex:none;display:grid;place-items:center;height:40px;width:40px;border-radius:11px;background:#d7eef4;color:#006680}
.rp20-action-primary .rp20-action-icon{background:#ffffff25;color:#fff}
.rp20-action-icon svg{height:23px;width:23px}
.rp20-action>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:4px;flex:1}
.rp20-action strong{font:800 14px/1.3 Manrope,Arial,sans-serif}
.rp20-action small{font:500 12px/1.5 'DM Sans',Arial,sans-serif;overflow-wrap:anywhere;color:inherit;opacity:.85}
.rp20-arrow{font-weight:800;font-size:18px}
.rp20-wa-note{font:500 11px/1.55 'DM Sans',Arial,sans-serif;color:#648291;margin:10px 2px 0}
.rp20-social-row{display:flex;align-items:center;gap:17px;margin-top:23px;flex-wrap:wrap;border-top:1px solid #e1ecf0;padding-top:19px}
.rp20-social-row>span{font:800 11px/1.3 Manrope,Arial,sans-serif;color:#38687b}
.rp20-socials{display:flex;align-items:center;gap:9px}
.rp20-socials a{display:grid;place-items:center;border-radius:10px;height:36px;width:36px;background:#e6f4f8;color:#006680;border:1px solid #c9e7ee;transition:background .2s,color .2s}
.rp20-socials a:hover{background:#006680;color:white}
.rp20-socials svg{width:18px;height:18px}
.rp20-privacy-note{font:400 11px/1.55 'DM Sans',Arial,sans-serif;color:#657f8a;margin:18px 0 0}
.rp20-privacy-note a{color:#006680;text-decoration:underline}
@media(max-width:900px){.rp20-contact-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:650px){#inteligencia .rv8-metrics{grid-template-columns:1fr!important;gap:10px!important}#inteligencia .rv8-stat{min-height:150px;padding:22px} .rp20-contact-panel{padding:22px 18px}.rp20-action{padding:14px}.rp20-contact-section{padding-block:65px!important}}
@media(prefers-reduced-motion:reduce){.rp20-action:hover{transform:none}}
