/* Clean More & Height — Básicos */
:root{
  --bg:#ffffff;
  --paper:#ffffff;
  --ink:#111827;
  --muted:#24518f;
  --brand:#0d152a;
  --brand-2:#0d152a;
  --card:#ffffff;
  --ring:rgba(15,118,110,.25);
  --radius:14px;
  /* --hero-title:#363a69; azul solicitado */
  --hero-title:white;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink); background:var(--paper);
}
img{max-width:100%; display:block; border-radius:12px}
a{color:inherit; text-decoration:none}

.container{width:min(1120px, 92%); margin-inline:auto}
.bgts{
  font-size: 19px;
  margin-bottom: 32px !important;
  margin-top: 32px !important;
}
.muted{color:var(--muted)}

/* Header / Nav */
.header{position:sticky; top:0; z-index:30; background:#1e3444; border-bottom:0px solid #e5e7eb; backdrop-filter:saturate(160%) blur(6px)}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{font-weight:800; letter-spacing:.2px; font-size:1.2rem}
.brand span{color:var(--brand-2)}
.menu{display:flex; gap:18px; align-items:center}
.menu a{opacity:.9; color:white;}
.menu a:nth-child(4){color:white;}
.menu .btn-sm{padding:8px 14px}
.nav-toggle{display:none; background:transparent; border:0; color:white ; font-size:22px; padding:8px; border-radius:10px}

/* Buttons */
.btn{display:inline-block; padding:12px 18px; background:linear-gradient(135deg, var(--brand), var(--brand-2)); color:#041017; border-radius:12px; font-weight:700; box-shadow:0 10px 24px -10px var(--ring); border:1px solid rgba(2,6,23,.05)}
.btn:hover{transform:translateY(-1px); box-shadow:0 16px 30px -14px var(--ring)}
.btn-ghost{background:#f1f5f9; color:var(--ink)}

/* Hero */
.hero{position:relative; min-height:78vh; display:grid; place-items:center; overflow:hidden}
.hero-bg{position:absolute; inset:0; background:
  linear-gradient(180deg, rgba(11, 11, 17, 0.874), rgba(255,255,255,.65)),
  radial-gradient(60% 60% at 50% 0%, rgba(255,255,255,.55), rgba(255,255,255,0) 70%),
  var(--hero) center/cover no-repeat;
  filter:saturate(1.02) contrast(1.02);
}
.hero-content{position:relative; text-align:center; padding:72px 0 56px}
.hero h1{font-size:clamp(32px, 5.2vw, 56px); margin:0 0 12px; line-height:1.05; color:var(--hero-title);}
.hero p{max-width:720px; margin:0 auto 20px; color:#ffffff}
.actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:10px;}
.actions a:nth-child(1){color:white;}
.trust{margin-top:16px; font-size:.95rem; color:#ffffff; opacity:.95}

/* Sections */
.section{padding:64px 0}
.section.alt{background:#f8fafc}
.section h2{font-size:clamp(26px, 3.4vw, 34px); margin:0 0 8px}
.section-lead{margin:0 0 24px; color:#293543}

.grid{display:grid; gap:18px}
.cards{grid-template-columns:repeat( auto-fit, minmax(240px, 1fr) )}
.card{background:var(--card); border:1px solid #e5e7eb; padding:18px; border-radius:var(--radius); box-shadow:0 10px 22px -18px rgba(2,6,23,.25)}
.card h3{margin:4px 0 6px}
.card p{margin:0; color:#475569}

.features{grid-template-columns:repeat( auto-fit, minmax(220px, 1fr) )}
.feature{background:linear-gradient(180deg, rgba(2,6,23,.02), rgba(2,6,23,.00)); padding:18px; border-radius:var(--radius); border:1px solid #e5e7eb}
.feature .icon{font-size:22px; margin-bottom:6px}

/* Carrusel */
.carousel{position:relative}
.c-viewport{overflow:hidden; width:100%}
.c-track{display:flex; gap:12px; will-change:transform; transition:transform .28s ease}
.c-slide{flex:0 0 auto}
.carousel .c-btn{position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; border:1px solid #e5e7eb; background:#ffffff; color:#111827; display:grid; place-items:center; font-size:24px; cursor:pointer; box-shadow:0 8px 24px -12px rgba(2,6,23,.25)}
.carousel .c-prev{left:-6px}
.carousel .c-next{right:-6px}
.gallery img{aspect-ratio: 4/3; object-fit:cover; cursor:zoom-in; border-radius:12px}

/* Contact */
.contact .contact-cards{display:grid; gap:16px; grid-template-columns:repeat( auto-fit, minmax(260px, 1fr) )}
.contact-item{display:flex; align-items:center; gap:12px; padding:14px; background:var(--card); border:1px solid #e5e7eb; border-radius:var(--radius)}
.contact-item:hover{border-color:#cbd5e1}
.contact-icon{width:40px; height:40px; display:grid; place-items:center; background:rgba(20,184,166,.12); color:#9ef7ea; border-radius:12px}

/* Contact form */
.contact-form{display:grid; gap:14px; max-width:640px}
.form-group{display:grid; gap:6px}
.form-group label{font-weight:600; color:#0d83bc}
.contact-form input,
.contact-form textarea{width:100%; padding:12px 14px; border:1px solid #e5e7eb; border-radius:var(--radius); font:inherit; color:var(--ink); background:#fff}
.contact-form input:focus,
.contact-form textarea:focus{outline:2px solid var(--ring); outline-offset:2px; border-color:#94a3b8}
.contact-form button{justify-self:start}

/* Footer */
.footer{padding:28px 0 40px; border-top:1px solid #e5e7eb; background:#ffffff}
.footer-grid{display:grid; gap:18px; grid-template-columns: 1.5fr 1fr}
.footer-links{display:flex; gap:16px; align-items:center; flex-wrap:wrap}
.brand.small{font-size:1rem}
.copy{grid-column:1/-1}

#alturas{
  display: flex;
  align-items: center;
  justify-content: center;
}
.nospr{
  width: 80%;
  display: flex;

}
#nospr1{
  width: 50%;
}
.nospr img{
  width: 50%;
}

/* To top */
.to-top{position:fixed; right:20px; bottom:20px; width:42px; height:42px; border-radius:11px; border:1px solid #e5e7eb; background:#ffffff; color:var(--ink); display:grid; place-items:center; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s; box-shadow:0 8px 24px -12px rgba(2,6,23,.25)}
.to-top.show{opacity:1; visibility:visible; transform:none}

/* Responsive nav */
@media (max-width: 860px){
  .nav-toggle{display:block}
  .menu{position:fixed; inset:80px 0 auto 0; background:#090318; border-bottom:1px solid #e5e7eb; padding:12px 4%; transform:translateY(-12px); opacity:0; visibility:hidden; transition:.2s; flex-direction:column; align-items:flex-start; gap:12px}
  .menu.open{transform:none; opacity:1; visibility:visible}
  .footer-grid{grid-template-columns:1fr}
  .hero{position:relative; min-height:62vh;}
  .nospr{
    flex-direction: column;
    width: 90%
  }
  #nospr1{
    width: 100%;
  }
  .nospr img{
    width: 95%;
  }
}

/* Contact form */
.contact-form{display:grid; gap:14px; max-width:640px}
.form-group{display:grid; gap:6px}
.form-group label{font-weight:600; color:#0d83bc}
.contact-form input,
.contact-form textarea{width:100%; padding:12px 14px; border:1px solid #e5e7eb; border-radius:var(--radius); font:inherit; color:var(--ink); background:#fff}
.contact-form input:focus,
.contact-form textarea:focus{outline:2px solid var(--ring); outline-offset:2px; border-color:#94a3b8}
.contact-form button{justify-self:start}

/* Listas */
.list{margin:0; padding-left:18px; color:#475569; line-height:1.7}
.list li{margin-bottom:4px; font-size: 18px;}

/* Lightbox / Carrusel ampliado */
.lightbox{position:fixed; inset:0; background:rgba(2,6,23,.75); display:grid; grid-template-columns:1fr; place-items:center; padding:20px; opacity:0; visibility:hidden; transform:scale(1.01); transition:.18s ease; z-index:50}
.lightbox.open{opacity:1; visibility:visible; transform:none}
.lb-figure{position:relative; margin:0; max-width:92vw; max-height:90vh; display:flex; align-items:center; justify-content:center}
.lb-image{width:auto; height:auto; max-width:min(92vw, 1100px); max-height:86vh; object-fit:contain; border-radius:12px; background:#fff}
.lb-caption{margin-top:10px; text-align:center; color:#e5e7eb; font-size:.95rem}
.lb-btn{position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.6); background:rgba(17,24,39,.6); color:#fff; display:grid; place-items:center; font-size:28px; cursor:pointer}
.lb-prev{left:24px}
.lb-next{right:24px}
.lb-close{top:20px; right:20px; transform:none; font-size:24px; width:40px; height:40px}

body.modal-open{overflow:hidden}
