
:root{--brand:#0d6efd;}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto;background:#f7f8fb;color:#111}
a{text-decoration:none;color:var(--brand)}
.container{max-width:1040px;margin:0 auto;padding:0 16px}
.header{background:var(--brand);color:#fff}
.header a{color:#fff;margin-right:12px}
.header .bar{display:flex;justify-content:space-between;align-items:center;padding:12px 0}
h1,h2,h3{margin:.4rem 0}
.card{background:#fff;border:1px solid #eee;border-radius:10px;box-shadow:0 .25rem .75rem rgba(0,0,0,.04)}
.card-body{padding:14px}
.row{display:flex;gap:14px;flex-wrap:wrap}
.col-4{flex:1 1 31%}
.col-6{flex:1 1 48%}
.col-12{flex:1 1 100%}
.input,select,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px}
.btn{display:inline-block;padding:10px 14px;border-radius:8px;border:1px solid var(--brand);background:var(--brand);color:#fff}
.btn.secondary{background:#fff;color:var(--brand)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid #eee;padding:8px 6px;text-align:left}
.small{color:#666;font-size:.92rem}
.alert{padding:10px;border-radius:8px;margin:10px 0}
.alert-success{background:#e7f7ee;border:1px solid #b7e4c1}
.alert-danger{background:#fde2e1;border:1px solid #f5b5b2}
.footer{color:#666;padding:16px 0}
.cover{width:100%;height:150px;object-fit:cover;border-top-left-radius:10px;border-top-right-radius:10px}

/* ===== Landing extras ===== */
.full-bleed{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw}
.hero{min-height:68vh;display:grid;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(10%) brightness(.8)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.55))}
.hero-content{position:relative;color:#fff;padding:60px 16px}
.hero-kicker{letter-spacing:.08em;text-transform:uppercase;font-weight:600;opacity:.9;margin-bottom:.3rem}
.hero h1{font-size:clamp(28px,5vw,48px);line-height:1.1;margin:.25rem 0}
.grad{background:linear-gradient(90deg,#a5d6ff,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{max-width:760px;font-size:clamp(16px,1.8vw,20px);opacity:.95;margin:.4rem 0 1rem}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:.5rem}
.hero-logos{margin-top:18px;display:flex;gap:22px;align-items:center;flex-wrap:wrap;opacity:.9}
.hero-logos img{height:32px;filter:brightness(100%) contrast(105%)}

.section{padding:40px 0}
.section-title{font-size:clamp(22px,2.6vw,32px);margin:0 0 14px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.grid-3{grid-template-columns:1fr}}
.muted{color:#666}

.feature-img,.tile-img{width:100%;height:180px;object-fit:cover;border-top-left-radius:10px;border-top-right-radius:10px}
.tile .card-body{display:grid;gap:8px}

.band{background:linear-gradient(90deg,#0d6efd,#2563eb);color:#fff;padding:32px 0}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;justify-items:center}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat{display:block;font-weight:800;font-size:clamp(24px,4vw,36px)}
.stat-label{display:block;opacity:.9}

.quote .card-body{font-style:italic;position:relative}
.quote .card-body:before{content:"“";position:absolute;left:-6px;top:-8px;font-size:40px;opacity:.2}
.quote-author{margin-top:8px;font-style:normal;color:#555}

.cta{text-align:center}
.cta .card-body>div{margin-top:10px}

/* sobreeescribir ancho de main cuando lo necesitemos */
.full-bleed + .container, .container .full-bleed {width:100%}
