/* SOTVIDA 5.5 — ajuste de composición, legibilidad y móvil */
:root{--sv55-blue:#07366b;--sv55-bright:#028fcc;--sv55-ink:#0a345c;--sv55-sky:#eff9ff;--sv55-border:#d9eaf6}
html{scroll-padding-top:88px}
body{overflow-x:hidden}
.sv55-page{background:#fff;color:var(--sv55-ink);overflow:clip}
.sv55-page .container{max-width:1180px}
.sv55-intro{background:linear-gradient(126deg,#eef8ff 0%,#e7f5ff 58%,#f9fcff 100%);border-bottom:1px solid #e0edf5;position:relative;overflow:hidden}
.sv55-intro:before{content:"";position:absolute;pointer-events:none;width:600px;height:600px;right:-260px;top:-200px;border:1px solid rgba(8,129,197,.10);border-radius:50%;box-shadow:0 0 0 85px rgba(255,255,255,.18),0 0 0 170px rgba(255,255,255,.13)}
.sv55-intro-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,4.5vw,76px);align-items:center;padding-top:clamp(48px,6vw,95px);padding-bottom:clamp(55px,6vw,86px);position:relative}
.sv55-intro-copy{min-width:0;position:relative;z-index:2}
.sv55-intro .breadcrumb{color:#5b7f9d;font-size:12px;margin:0 0 48px;display:flex;gap:12px}
.sv55-intro .breadcrumb a{color:#346c9b}
.sv55-label{display:block;color:#127caa;font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1.5}
.sv55-intro h1{font-size:clamp(42px,5.8vw,81px);line-height:1.07;letter-spacing:-.072em;color:#0a356a;font-weight:780;margin:21px 0 20px;max-width:770px}
.sv55-intro h1 em,.sv55-values h2 em{font-style:normal;color:#058bd0}
.sv55-intro-copy>p{max-width:530px;font-size:clamp(14px,1.3vw,17px);line-height:1.76;color:#4b708e;margin:0 0 26px}
.sv55-intro .button{margin-top:3px}
.sv55-link{font-size:13px;font-weight:800;display:inline-flex;gap:15px;align-items:center;color:#0a63a0;border-bottom:1px solid #91c1e0;padding-bottom:8px}
.sv55-link:hover{color:#06345e}
.sv55-photo{border-radius:28px;background:linear-gradient(130deg,#d4eef9,#e8f7ff);min-height:380px;height:min(550px,45vw);overflow:hidden;position:relative;margin:0;box-shadow:0 28px 75px rgba(19,77,123,.11);border:1px solid #d7e9f5;isolation:isolate}
.sv55-photo>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center;display:block}
.sv55-photo::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,35,76,.46));pointer-events:none}
.sv55-photo figcaption{position:absolute;z-index:2;bottom:22px;left:24px;right:18px;color:#fff;font-size:10px;letter-spacing:.09em;font-weight:700;text-shadow:0 1px 7px #14395c}
.sv55-section-intro{max-width:850px;margin-bottom:46px}
.sv55-section-intro h2{font-size:clamp(36px,4.1vw,61px);letter-spacing:-.06em;line-height:1.12;color:#0a356a;margin:18px 0}
.sv55-section-intro p{font-size:16px;line-height:1.8;color:#597a94;max-width:740px}
.sv55-company{padding:92px 0 100px!important}
.sv55-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sv55-purpose-card{border:1px solid #d9e8f5;border-radius:23px;padding:clamp(25px,3.3vw,44px);background:linear-gradient(155deg,#f6fbff,#fff);min-height:250px}
.sv55-purpose-card>span,.sv55-contact-cards article>span{font-size:10px;color:#1682b8;font-weight:800;letter-spacing:.15em}
.sv55-purpose-card h3{font-size:clamp(24px,2.7vw,35px);letter-spacing:-.045em;margin:22px 0 12px;color:#0c3e72}
.sv55-purpose-card p{font-size:15px;line-height:1.8;color:#587993}
.sv55-values{margin:84px 0 58px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(25px,6vw,86px);align-items:start}
.sv55-values h2{font-size:clamp(33px,3.8vw,55px);color:#0b3a70;letter-spacing:-.06em;line-height:1.13;margin:18px 0}
.sv55-values-list>div{display:flex;align-items:center;gap:28px;border-bottom:1px solid #d9e7f1;padding:22px 0}
.sv55-values-list>div:first-child{border-top:1px solid #d9e7f1}
.sv55-values-list span{font-weight:800;font-size:12px;color:#088dc0}
.sv55-values-list strong{color:#103e70;font-size:20px;letter-spacing:-.03em}
.sv55-company-cta{border:1px solid #d9e9f5;background:linear-gradient(120deg,#e5f4ff,#f7fbff);padding:37px 41px;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.sv55-company-cta h2{font-size:clamp(24px,2.8vw,37px);color:#0c3b6f;line-height:1.22;letter-spacing:-.04em;margin:13px 0 0}
.sv55-company-cta .button{flex-shrink:0}
.sv55-contact-body{padding:90px 0 105px!important}
.sv55-contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,100px)}
.sv55-contact-layout>div:first-child h2{font-size:clamp(36px,4vw,59px);letter-spacing:-.07em;line-height:1.12;color:#0c3b6c;margin:18px 0}
.sv55-contact-layout>div:first-child>p{max-width:420px;color:#63829a;line-height:1.85}
.sv55-contact-cta{display:flex;gap:19px;flex-direction:column;margin-top:28px}
.sv55-contact-cta a{display:flex;justify-content:space-between;border-bottom:1px solid #d9e6f2;padding-bottom:14px;color:#075e96;font-weight:750;font-size:14px}
.sv55-contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.sv55-contact-cards article{background:#f8fbfe;border:1px solid #dcecf7;border-radius:19px;padding:24px 23px;min-width:0;min-height:174px}
.sv55-contact-cards h3{font-size:21px;color:#0b3c73;letter-spacing:-.035em;line-height:1.25;margin:17px 0 9px}
.sv55-contact-cards p,.sv55-contact-cards a{font-size:13px;color:#486f8d;line-height:1.65;overflow-wrap:anywhere}
.sv55-contact-cards .social-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.sv55-contact-cards .social-link{padding:6px;min-width:0;border-radius:10px}
.sv55-contact-cards .social-link>span:last-child{font-size:10px}
.sv55-contact-cards .social-link small{display:none}
.sv55-contact-cards .social-symbol{width:24px;height:24px;font-size:15px}
/* El emoji verde grande en iOS provenía de símbolos ✳, no de una fotografía. */
.v5-intro::after{content:none!important;display:none!important}
.v5-intro{padding:clamp(46px,6vw,76px) 0!important}
.v5-intro:before{content:"";position:absolute;right:8%;top:18%;width:clamp(180px,27vw,410px);height:clamp(180px,27vw,410px);border-radius:50%;border:1px solid rgba(6,134,198,.12);box-shadow:0 0 0 53px rgba(255,255,255,.3);pointer-events:none}
.v5-intro>.container{position:relative;z-index:1}
.v5-intro h1{font-size:clamp(39px,5vw,72px);max-width:760px;line-height:1.1}
.v5-intro p{max-width:630px;font-size:clamp(14px,1.35vw,17px);line-height:1.75}
.v5-empty{padding:43px 25px!important}
.sv55-empty-icon{width:86px;height:86px;display:grid;place-items:center;border-radius:24px;margin:0 auto 22px;color:#1675ac;background:linear-gradient(130deg,#e1f6ff,#f0f9ff);border:1px solid #cbe8f5}
.sv55-empty-icon svg{display:block}
.sv55-empty h3{margin:8px 0 12px}
.sv55-empty>p{line-height:1.6}
/* La estrella decorativa en la última CTA se suprime de verdad, sin símbolo emoji */
.closing-cta::before{content:none!important;display:none!important}
.closing-cta{isolation:isolate;background:linear-gradient(110deg,#eaf6ff,#d9eefc 65%,#eef9ff)!important;padding:clamp(46px,5vw,75px) 0!important}
.closing-cta .closing-inner{max-width:790px}
.closing-cta h2{font-size:clamp(37px,5.8vw,68px)!important;line-height:1.1!important;letter-spacing:-.065em;margin:15px 0 15px!important}
.closing-cta p{font-size:14px;line-height:1.7;margin-bottom:22px}
.editorial-visual{background:linear-gradient(132deg,#06336a,#0b548c 65%,#076da2)!important}
.editorial-center i,.editorial-outline{font-size:0!important}
.sv55-editorial-rule{display:block!important;width:85px;height:3px;background:linear-gradient(90deg,#5dd9ff,transparent);margin:35px auto 0}
.premium-empty>span{font-size:0!important}
.premium-empty>span:before{content:"";display:block;width:54px;height:54px;margin:0 auto 16px;border-radius:15px;border:2px solid #77bfdf;transform:rotate(-10deg)}
.sv55-tiny-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4bd1ee;box-shadow:0 0 0 4px #4bd1ee29}
/* Evitar solapamientos de CTA, navegación y pies en 375px. */
.sv-footer-main>*{min-width:0}
.sv-footer-links{min-width:0}
.v5-quote-layout>*{min-width:0}
@media(max-width:920px){
 .sv55-intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
 .sv55-intro h1{font-size:clamp(39px,5.6vw,61px)}
 .sv55-photo{min-height:330px;height:440px}
 .sv55-contact-layout{grid-template-columns:1fr;gap:37px}
}
@media(max-width:760px){
 .sv55-intro-grid{grid-template-columns:1fr;padding-top:32px;padding-bottom:38px;gap:25px}
 .sv55-intro .breadcrumb{margin-bottom:37px}
 .sv55-intro h1{font-size:clamp(39px,9.3vw,59px);line-height:1.09;letter-spacing:-.066em;max-width:630px}
 .sv55-intro-copy>p{font-size:15px;line-height:1.72}
 .sv55-photo{height:260px;min-height:0;border-radius:19px}
 .sv55-photo figcaption{font-size:9px;bottom:15px;left:17px}
 .sv55-company{padding:56px 0 68px!important}
 .sv55-section-intro{margin-bottom:26px}
 .sv55-section-intro h2{font-size:clamp(32px,8vw,48px)}
 .sv55-purpose-grid{grid-template-columns:1fr;gap:12px}
 .sv55-purpose-card{min-height:0;padding:24px}
 .sv55-purpose-card h3{font-size:26px;margin:13px 0 8px}
 .sv55-purpose-card p{font-size:14px}
 .sv55-values{grid-template-columns:1fr;gap:15px;margin:56px 0 42px}
 .sv55-values-list>div{padding:17px 0}
 .sv55-company-cta{display:flex;align-items:flex-start;flex-direction:column;padding:27px 24px}
 .sv55-contact-body{padding:54px 0 74px!important}
 .sv55-contact-layout>div:first-child h2{font-size:clamp(35px,9vw,48px)}
 .sv55-contact-cards{grid-template-columns:1fr 1fr;gap:10px}
 .sv55-contact-cards article{padding:19px 17px;min-height:150px}
 .sv55-contact-cards h3{font-size:18px}
 .sv55-contact-cards .social-link{flex:0 0 auto}
 .v5-intro{padding:48px 0 42px!important}
 .v5-intro h1{font-size:clamp(38px,9vw,58px);line-height:1.13;letter-spacing:-.06em}
 .v5-intro p{font-size:14px}
 .v5-quote-layout{padding-top:32px!important}
 .v5-empty{padding:36px 20px!important}
 .closing-cta h2{font-size:clamp(36px,8.7vw,50px)!important}
 .sv-footer-social{gap:12px}
}
@media(max-width:420px){
 .sv55-intro h1{font-size:clamp(35px,9.5vw,43px)}
 .sv55-contact-cards{grid-template-columns:1fr}
 .sv55-contact-cards article{min-height:0}
 .sv55-contact-cards h3{font-size:19px}
 .sv55-photo{height:225px}
 .v5-intro h1{font-size:clamp(34px,9.2vw,43px)}
 .sv-footer-links{grid-template-columns:1fr 1fr!important;gap:15px}
 .sv-footer-main{gap:22px}
 .sv-footer-col a,.sv-footer-col span{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.sv55-page *{scroll-behavior:auto;transition:none!important}}
