/* Mejoras de la vista pública: conserva estilos y componentes existentes. */
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{line-height:1.55}
:focus-visible{outline:3px solid #04559d;outline-offset:4px}
.hero :focus-visible,footer :focus-visible{outline-color:#fff}
.nav nav{gap:18px;font-size:.93rem}
.nav a:hover{font-weight:inherit}
.hero{background:radial-gradient(ellipse at 90% 20%,#123b62,transparent 65%),#0b1728}
.hero .grid{padding:64px 0;gap:48px}
.hero h1{font-size:clamp(34px,4.6vw,58px);letter-spacing:-1.8px;line-height:1.06;max-width:17ch}
.hero .sub{line-height:1.75;color:#d4e0ec}
.hero .shot{position:relative;border-radius:24px;transform:rotate(2deg)}
.hero .shot img{width:100%;aspect-ratio:1.12;object-fit:cover}
.badge{font-size:.8rem;background:#ffffff0d;border-color:#ffffff24;color:#e5eefb}
.btn{min-height:48px;transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
section{padding:48px 0}
.section-title .mark{background-image:url('favicon.png');flex-shrink:0}
.muted{color:#586779}
.card{box-shadow:0 4px 18px #0b172806;border-color:#e1e7ef;padding:24px}
.card h3{color:#04559d}
.card p{margin-bottom:0;color:#526174}
.shot-sm{margin:0}
#precios{background:#edf3f8;border-block:1px solid #e0e8f0}
.pricing{gap:20px}
.pricing .price:nth-child(n){background:#fff;color:#152439;box-shadow:0 6px 22px #142b4710;border:1px solid #dae3ee;border-top:4px solid #04559d;text-align:left;padding:24px;display:flex;flex-direction:column;align-items:flex-start}
.pricing .price:nth-child(4n+2){border-top-color:#c80077}
.pricing .price:nth-child(4n+3){border-top-color:#d4b300}
.pricing .price:nth-child(4n+4){border-top-color:#00a2ce}
.pricing .price:nth-child(n) .pill{background:#edf3fa;color:#20486e;font-size:.78rem}
.pricing .price:nth-child(n) .money{color:#10263e;font-size:1.8rem;letter-spacing:-.8px}
.pricing .price:nth-child(n) p,.pricing .price:nth-child(n) .u{color:#586779}
.price h4{font-size:1.12rem;margin:16px 0 10px}
.price .price-meta{font-size:.82rem;font-weight:500}
.price .featured-desc{margin-bottom:20px}
.price .featured-cta{margin-top:auto;min-height:44px;align-items:center;border:1px solid #cddded;background:#f0f6fc;color:#04559d;border-radius:10px;padding:10px 14px;text-decoration:none;font-family:inherit;cursor:pointer}
.price .featured-cta:hover{background:#deecfa}
.cta-wide{margin-top:32px!important;box-shadow:none;padding:24px}
.table-card{padding:24px;box-shadow:0 6px 24px #142b4708}
.price-tools{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:20px 0 8px}
.price-tools label{margin-top:0}
.price-count{font-size:.9rem;color:#586779;min-height:24px}
table{min-width:0}
td:last-child{white-space:nowrap}
.table-quote{border:1px solid #cddded;border-radius:8px;background:#f0f6fc;color:#04559d;font:inherit;font-size:.85rem;padding:9px 12px;cursor:pointer;min-height:44px}
.quote-head{background:#eff5fc;border-bottom:1px solid #dce6f1}
.quote-head h3{color:#153957}
.quote-note{margin-top:0}
.quote-close{background:#fff;color:#173d60}
body.quote-open{overflow:hidden}
.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.quick-links a{padding:8px 14px;border:1px solid #ffffff30;border-radius:999px;color:#e5eefb;font-size:.85rem}
.quick-links a:hover{background:#ffffff14}
.mobile-actions{display:none}
@media(min-width:641px) and (max-width:980px){.cards,.gallery{grid-template-columns:repeat(2,1fr)}.pricing{grid-template-columns:repeat(2,1fr)}.cta-row{flex-direction:row}.cta-row .btn{width:auto}}
@media(max-width:980px){.hero .grid{gap:28px;padding:40px 0}.hero h1{max-width:22ch}.hero .shot{transform:none}.hero .shot img{aspect-ratio:2;object-position:center}.nav .logo-img{width:155px}.nav nav{gap:12px}.nav nav>.cta{padding:8px 12px;font-size:.86rem}.cta-wide{flex-direction:column;align-items:stretch}}
@media(max-width:640px){html{scroll-padding-top:145px}.wrap{width:92%}.nav nav{gap:8px 14px}.nav nav>a:last-child{display:none}.nav nav>button.cta{box-shadow:none}.hero h1{letter-spacing:-1px}.hero .grid{padding:30px 0}.hero .shot img{aspect-ratio:1.8}.badges{gap:6px}.badge{padding:6px 8px}.quick-links{gap:8px}.quick-links a{padding:6px 10px}section{padding:32px 0}.price-tools{grid-template-columns:1fr;gap:8px}.table-card{padding:16px}.scroll-x{overflow:visible}thead{display:none}tbody tr{display:grid;grid-template-columns:1fr auto;padding:14px 0;border-bottom:1px solid #e3e8ef;gap:6px 12px}tbody td{border:0;padding:0}tbody td:first-child{grid-column:1/-1}tbody td:nth-child(2){font-size:.85rem;color:#586779}tbody td:nth-child(3){grid-column:1;white-space:normal}tbody td:last-child{grid-column:2;grid-row:2/4;align-self:center}tbody td[colspan]{grid-column:1/-1;grid-row:auto}.quote-box{width:100%;max-height:90dvh}.quote-body{padding:16px}.quote-head{padding:14px 16px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:45;background:#fff;padding:10px 4% calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -4px 20px #10263e18}.mobile-actions .btn{font-size:.9rem;padding:10px;min-height:44px}.mobile-actions a{background:#edf3fa;color:#04559d}body{padding-bottom:80px}body.quote-open .mobile-actions{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;transform:none!important}}
