:root{
  --bg:#eef3f7;
  --surface:#ffffff;
  --surface-soft:#f7fafc;
  --line:rgba(15,43,70,.11);
  --line-strong:rgba(15,43,70,.18);
  --text:#10293f;
  --muted:#4f667a;
  --primary:#0f2b46;
  --primary-2:#173a5c;
  --accent:#70c48c;
  --accent-dark:#2a7d48;
  --accent-soft:#ebf7ef;
  --warm:#fff5e4;
  --danger:#9f2d2d;
  --success:#1d6e40;
  --shadow:0 22px 54px rgba(8,25,39,.08);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --container:min(1120px, calc(100% - 1.4rem));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:linear-gradient(180deg,#f6fafc 0%, var(--bg) 100%);
  color:var(--text);
  line-height:1.68;
  font-size:18px;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
strong{font-weight:800}
.container{width:var(--container);margin:0 auto}
.skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden
}
.skip-link:focus{
  left:1rem;top:1rem;width:auto;height:auto;padding:.8rem 1rem;background:#fff;border-radius:14px;z-index:999
}
.site-header{
  position:sticky;top:0;z-index:110;
  background:rgba(248,251,253,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(15,43,70,.06);
}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:84px;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1 1 auto;max-width:470px}
.brand > img{width:auto;height:58px;max-width:min(100%, 372px);}
.brand-mark{width:54px;height:54px;flex:0 0 auto}
.brand-copy{display:grid;line-height:1.02;min-width:0}
.brand-copy strong{font-size:1.35rem;letter-spacing:-.03em;color:var(--primary)}
.brand-copy small{font-size:1rem;color:var(--muted);font-weight:800;white-space:nowrap}
.brand-copy-mobile{display:none}
.nav-toggle{
  display:none;border:1px solid var(--line);background:#fff;color:var(--primary);border-radius:14px;padding:.85rem 1rem;font-weight:800;font-size:1rem
}
.nav-links{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.12rem;white-space:nowrap;flex:0 1 auto;margin-left:auto}
.nav-links a{
  padding:.72rem .88rem;border-radius:999px;font-size:.95rem;font-weight:800;color:var(--muted);transition:.2s ease
}
.nav-links a:hover,.nav-links a.active{background:#fff;color:var(--primary);box-shadow:0 14px 34px rgba(8,25,39,.08)}
.nav-links .nav-strong{background:var(--accent-soft);color:var(--primary)}
.notice-bar{
  padding:.8rem 0;background:linear-gradient(90deg,var(--primary),var(--primary-2));color:#fff;font-weight:800
}
.hero{
  position:relative;background:#081726;color:#fff;overflow:hidden
}
.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%}
.hero-media img{object-fit:cover;object-position:center}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(6,18,28,.86) 0%, rgba(6,18,28,.72) 42%, rgba(6,18,28,.58) 60%, rgba(6,18,28,.78) 100%),
    linear-gradient(180deg, rgba(6,18,28,.12) 0%, rgba(6,18,28,.28) 100%);
}
.hero-content{position:relative;z-index:1;padding:6.4rem 0 4rem}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:1.25rem;align-items:end}
.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;padding:.56rem .92rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-weight:800;font-size:.94rem;color:#fff;backdrop-filter:blur(10px)
}
.eyebrow::before{content:"";width:.62rem;height:.62rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 .22rem rgba(112,196,140,.18)}
.hero h1,.page-hero h1{
  margin:.9rem 0 1rem;line-height:1;letter-spacing:-.055em;font-size:clamp(2.45rem,5.3vw,4.4rem)
}
.hero p{max-width:36rem;margin:0 0 1.2rem;color:rgba(255,255,255,.94);font-size:1.08rem}
.hero-card{
  background:rgba(8,26,41,.62);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-xl);padding:1.35rem;box-shadow:0 22px 60px rgba(0,0,0,.22);backdrop-filter:blur(12px)
}
.hero-card h2{margin:0 0 .75rem;font-size:1.3rem;color:#fff}
.hero-card p,.hero-card li{color:rgba(255,255,255,.92);font-size:1rem}
.hero-card ul{margin:.8rem 0 0;padding-left:1.15rem}
.hero-actions,.action-row{display:flex;flex-wrap:wrap;gap:.8rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.95rem 1.25rem;border-radius:999px;border:1px solid transparent;font-weight:900;font-size:1rem;transition:transform .2s ease, box-shadow .2s ease, background .2s ease
}
.btn:hover{transform:translateY(-1px);box-shadow:0 16px 40px rgba(0,0,0,.12)}
.btn-primary{background:var(--accent);color:#0b2417}
.btn-secondary{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);color:#fff}
.btn-outline{background:#fff;border-color:var(--line-strong);color:var(--primary)}
.btn-light{background:#fff;color:var(--primary)}
main{display:block}
.section{padding:4.4rem 0}
.section-soft{background:rgba(255,255,255,.58);border-top:1px solid rgba(15,43,70,.04);border-bottom:1px solid rgba(15,43,70,.04)}
.page-hero{
  padding:7.3rem 0 2.8rem;
  background:radial-gradient(circle at top left, rgba(112,196,140,.15), transparent 30%), linear-gradient(180deg,#f7fbfd 0%, #edf3f7 100%);
}
.kicker{font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.08;letter-spacing:-.045em;margin:.5rem 0 .95rem;color:var(--primary)}
.lead{max-width:46rem;color:var(--muted);font-size:1.1rem}
.grid-2,.grid-3,.grid-4{display:grid;gap:1.1rem}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{
  background:rgba(255,255,255,.96);border:1px solid rgba(15,43,70,.08);border-radius:var(--radius-xl);padding:1.45rem;box-shadow:var(--shadow)
}
.card h2,.card h3{margin:0 0 .6rem;line-height:1.18;color:var(--primary)}
.card p{margin:.45rem 0 0;color:var(--muted)}
.card ul{margin:.8rem 0 0;padding-left:1.15rem;color:var(--muted)}
.card li+li{margin-top:.45rem}
.card-dark{background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:rgba(255,255,255,.08);color:#fff}
.card-dark h2,.card-dark h3,.card-dark p,.card-dark li{color:#fff}
.card-soft{background:#fbfefc;border-color:rgba(112,196,140,.28)}
.card-callout{background:linear-gradient(180deg,#fff 0%,#f9fcff 100%)}
.pillar-number{
  display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--accent-soft);color:var(--primary);font-size:1rem;font-weight:900;margin-bottom:.9rem
}
.feature-list{display:grid;gap:.8rem}
.feature{
  display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;padding:1rem;border-radius:18px;background:#fff;border:1px solid rgba(15,43,70,.08)
}
.feature-icon{
  width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:14px;background:var(--accent-soft);color:var(--primary);font-weight:900;font-size:.92rem
}
.photo-panel{overflow:hidden;border-radius:var(--radius-xl);border:1px solid rgba(15,43,70,.08);box-shadow:var(--shadow);background:#fff}
.photo-panel img{width:100%;height:auto}
.photo-caption{padding:1rem 1.1rem;color:var(--muted);font-size:.98rem}
.tag-list{display:flex;flex-wrap:wrap;gap:.55rem;margin:.85rem 0 0}
.tag{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:999px;background:var(--accent-soft);color:var(--primary);font-weight:800;font-size:.93rem}
.check-list{display:grid;gap:.65rem;margin-top:1rem}
.check-item{display:flex;gap:.75rem;align-items:flex-start}
.check-dot{flex:0 0 auto;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--accent);margin-top:.32rem;box-shadow:0 0 0 .2rem rgba(112,196,140,.18)}
.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1.6rem}
.metric{padding:1rem 1.1rem;border-radius:22px;background:#fff;border:1px solid rgba(15,43,70,.08);box-shadow:var(--shadow)}
.metric strong{display:block;font-size:1.6rem;line-height:1;color:var(--primary);letter-spacing:-.04em}
.metric span{display:block;margin-top:.35rem;color:var(--muted);font-size:.98rem}
.timeline{display:grid;gap:.95rem}
.timeline-step{padding:1.1rem 1.2rem;border-radius:20px;background:#fff;border:1px solid rgba(15,43,70,.08);box-shadow:var(--shadow)}
.timeline-step strong{display:block;margin-bottom:.3rem;color:var(--primary);font-size:1.06rem}
.news-list{display:grid;gap:1rem}
.news-item{padding:1.2rem 1.25rem;border-radius:22px;background:#fff;border:1px solid rgba(15,43,70,.08);box-shadow:var(--shadow)}
.news-item time{display:inline-block;margin-bottom:.55rem;color:var(--muted);font-size:.94rem;font-weight:800}
.form{display:grid;gap:1rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
label{display:grid;gap:.45rem;font-weight:800;color:var(--primary)}
input,select,textarea{
  width:100%;padding:1rem 1rem;border-radius:16px;border:1px solid rgba(15,43,70,.16);background:#fff;color:var(--text);font:inherit;font-size:1rem
}
textarea{min-height:160px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:rgba(112,196,140,.85);box-shadow:0 0 0 4px rgba(112,196,140,.14)}
.form-note,.small{font-size:.96rem;color:var(--muted)}
.hidden-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.alert{margin:1rem auto 0;padding:1rem 1.1rem;border-radius:18px;border:1px solid transparent;font-weight:800}
.alert-success{background:#effaf3;border-color:rgba(29,110,64,.18);color:var(--success)}
.alert-error{background:#fff2f2;border-color:rgba(159,45,45,.18);color:var(--danger)}
.notice{padding:1rem 1.1rem;border-radius:18px;background:var(--warm);border:1px solid rgba(153,102,0,.12);color:#6a5312;font-weight:800}
.cta-band{padding:1.5rem;border-radius:var(--radius-xl);background:linear-gradient(135deg,#fefefe 0%,#f4faf6 100%);border:1px solid rgba(112,196,140,.24);box-shadow:var(--shadow)}
.cta-band h2{margin:0 0 .55rem;color:var(--primary)}
.footer{padding:2.2rem 0 6rem;background:#081624;color:#eef5fb;margin-top:2.5rem}
.footer-grid{display:grid;grid-template-columns:1.35fr .72fr;gap:1.4rem}
.footer a{color:#d9e6f0}
.footer-brand{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:.6rem}
.footer-brand img{width:48px;height:48px}
.footer-copy{max-width:40rem}
.footer-links{display:grid;gap:.55rem;align-content:start}
.mobile-cta{
  position:fixed;left:0;right:0;bottom:0;display:none;gap:.75rem;padding:.75rem;background:rgba(8,22,36,.96);backdrop-filter:blur(12px);z-index:120;border-top:1px solid rgba(255,255,255,.08)
}
.mobile-cta a{
  flex:1;display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:14px;font-weight:900
}
.mobile-cta a:first-child{background:var(--accent);color:#0b2417}
.mobile-cta a:last-child{background:#fff;color:var(--primary)}
.mt-0{margin-top:0}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
#contenido{scroll-margin-top:100px}
@media (max-width: 1180px){
  .brand{max-width:410px}
  .brand > img{height:54px;max-width:min(100%, 340px);}
  .brand-copy strong{font-size:1.25rem}
  .brand-copy small{font-size:.88rem}
  .nav-links a{padding:.68rem .72rem;font-size:.92rem}
}
@media (max-width: 980px){
  .brand{max-width:none}
  .brand > img{height:54px;max-width:min(100%, 320px);}
  .brand-copy-desktop{display:none}
  .brand-copy-mobile{display:grid}
  .nav-toggle{display:inline-flex}
  .nav-links{
    position:absolute;top:calc(100% + .5rem);left:.7rem;right:.7rem;display:none;flex-direction:column;align-items:stretch;padding:.55rem;background:rgba(255,255,255,.98);border:1px solid rgba(15,43,70,.08);border-radius:22px;box-shadow:0 20px 48px rgba(8,25,39,.14);white-space:normal
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:1rem 1rem}
  .hero-grid,.grid-4,.grid-3,.grid-2,.form-grid,.footer-grid,.metric-strip{grid-template-columns:1fr}
  .hero-content{padding:5.8rem 0 3.1rem}
  .hero h1,.page-hero h1{font-size:clamp(2.2rem,8.8vw,3.2rem)}
}
@media (max-width: 720px){
  body{font-size:18px}
  .brand > img{height:48px;max-width:min(100%, 280px);}
  .brand-copy strong{font-size:1.18rem}
  .brand-copy small{font-size:.88rem}
  .navbar{min-height:76px}
  .hero-media::after{background:linear-gradient(180deg, rgba(6,18,28,.68) 0%, rgba(6,18,28,.72) 24%, rgba(6,18,28,.86) 100%)}
  .hero-content{padding:5.2rem 0 2.7rem}
  .hero p,.lead{font-size:1.02rem}
  .btn{width:100%}
  .hero-actions{display:grid}
  .section{padding:3.4rem 0}
  .page-hero{padding:6.2rem 0 2.1rem}
  .card,.hero-card,.cta-band{padding:1.2rem}
  .feature{padding:.9rem}
  .photo-caption{font-size:.96rem}
  .mobile-cta{display:flex}
}
