
:root{--blue:#3b82f6;--blue-d:#2563eb;--green:#2ad167;--green-d:#209d4e;--ink:#000;--mut:#556987;--bg:#f7f8f9}
*{box-sizing:border-box;margin:0}
body{font-family:Poppins,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
header{position:sticky;top:0;background:#fff;z-index:10;box-shadow:0 1px 0 #eef0f2}
nav{display:flex;align-items:center;justify-content:space-between;height:76px}
nav img{height:44px}
nav ul{display:flex;gap:4px;list-style:none;padding:0}
nav ul a{display:block;padding:8px 14px;color:#64748b;font-weight:500;border-radius:6px}
nav ul a:hover{color:#0f172a;background:var(--bg)}
.btn{display:inline-block;padding:14px 28px;border-radius:6px;color:#fff;font-weight:500;background:var(--green);box-shadow:0 1px 2px #0002;transition:.2s}
.btn:hover{background:#22b857}
.btn.blue{background:var(--blue)}.btn.blue:hover{background:var(--blue-d)}
.burger{display:none;background:none;border:0;font-size:28px;cursor:pointer}
.hero{position:relative;overflow:hidden;padding:80px 0 100px}
.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.tag{display:inline-block;background:var(--blue);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:3px 12px;border-radius:99px;margin-bottom:20px}
h1{font-size:clamp(40px,6vw,72px);line-height:1.05;font-weight:700;letter-spacing:-.02em;margin-bottom:24px}
.hero p{color:var(--mut);font-size:18px;margin-bottom:32px;max-width:520px}
.media{position:relative}
.media video,.media img.v{width:100%;border-radius:32px;display:block;position:relative}
.media .c{position:absolute;top:-40px;left:-50px;width:130px}
.media .d{position:absolute;bottom:-40px;right:-30px;width:150px}
.sec{padding:96px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}
.cards .circ{width:256px;height:256px;margin:0 auto 24px;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 10px 30px #0002}
.cards img.logo{height:56px;margin-bottom:12px}
.cards h3{font-size:22px;margin-bottom:8px}
.cards p{color:var(--mut);font-size:15px}
.news{background:#fff;padding:80px 0 120px}
.news .row{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.news h2,.contact h2{font-size:clamp(32px,4vw,48px);line-height:1.15;margin:10px 0}
.news p,.contact p.lead{color:var(--mut)}
.contact{background:var(--bg);padding:80px 0}
.contact .container{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.info{display:grid;gap:20px;margin-top:28px}
.info h4{font-size:15px;color:var(--blue-d)}
.info p{color:var(--mut);font-size:15px}
form{background:#fff;padding:28px;border-radius:16px;box-shadow:0 4px 20px #0001;display:grid;gap:14px;align-self:start}
input,textarea{font:inherit;padding:12px 14px;border:1px solid #dde2e8;border-radius:6px;width:100%}
textarea{min-height:120px;resize:vertical}
footer{padding:56px 0 24px;background:url(data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23e5e9ee'/%3E%3C/svg%3E)}
footer .top{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid #eef0f2}
footer .top img{height:44px}
footer ul{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0;color:#64748b;font-weight:500}
footer .bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:20px;color:var(--mut);font-size:14px}
footer .bot span a{margin-left:18px}
@media(max-width:860px){
 nav ul{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;padding:12px 16px;box-shadow:0 8px 16px #0001}
 nav ul.open{display:flex}.burger{display:block}
 .hero .container,.contact .container,.cards{grid-template-columns:1fr}
 .media .c,.media .d{display:none}
}

/* subpáginas */
nav ul a{white-space:nowrap}
nav ul{align-items:center}
nav .btn.sm{padding:8px 16px;font-size:14px;margin-left:8px}
.dd{position:relative}
.dd .sub{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0002;padding:6px;z-index:20}
.dd:hover .sub{display:block}
.dd .sub a{padding:8px 12px;border-radius:6px}
.dd .sub a:hover{background:var(--blue);color:#fff}
.tag.light{background:#dbeafe;color:var(--blue)}
.narrow{max-width:900px}.center{text-align:center}
.sec.alt{background:var(--bg)}
.sec h2{font-size:clamp(26px,3.5vw,38px);line-height:1.2;margin:8px 0 16px}
.lead{color:var(--mut);font-size:18px}
.banner{position:relative;padding:90px 0 110px;text-align:center;background:linear-gradient(rgba(215,220,226,.86),rgba(215,220,226,.86)),var(--bgimg) center/cover}
.banner img{height:110px;margin-bottom:16px}
.banner h1{font-size:clamp(34px,5vw,60px);margin-bottom:12px}
.banner h3{font-size:22px}
.card{background:#fff;border-radius:14px;padding:28px;box-shadow:0 4px 20px #0001;margin-top:24px;text-align:left}
.card h3{font-size:20px;margin-bottom:12px;color:var(--blue-d)}
.card p{color:var(--mut);margin-bottom:10px}
ul.chk{list-style:none;padding:0;display:grid;gap:10px}
ul.chk li{position:relative;padding-left:28px;color:#334155}
ul.chk li::before{content:"✓";position:absolute;left:0;color:var(--green-d);font-weight:700}
.minis{display:flex;flex-wrap:wrap;gap:10px}
.mini{padding:8px 16px;border-radius:99px;background:#dbeafe;color:var(--blue-d);font-weight:500;font-size:14px}
.mini:hover{background:var(--blue);color:#fff}
.cards2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.cards2.two{grid-template-columns:1fr 1fr}
.cards2 .card{margin-top:0}
.oth{display:flex;gap:16px;align-items:center;background:#fff;border-radius:14px;padding:20px;box-shadow:0 4px 20px #0001;text-align:left;transition:.2s}
.oth:hover{transform:translateY(-3px)}
.oth img{height:56px}
.oth h4{font-size:18px}.oth p{color:var(--mut);font-size:14px}
.tt{margin:28px 0 8px;font-size:20px}.txt{color:var(--mut);margin-bottom:10px;font-size:15px}
a.circ,.cards a{display:block}
footer a:hover{color:var(--blue)}
@media(max-width:860px){.cards2.two{grid-template-columns:1fr}.dd .sub{position:static;display:block;box-shadow:none;padding-left:14px}nav .btn.sm{display:none}}
.banner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.banner::before{content:"";position:absolute;inset:0;background:rgba(200,200,200,.8);z-index:1}
.banner{background:#d7dce2}
.banner .container{position:relative;z-index:2}
.gal{width:100%;border-radius:16px;margin-top:32px;transition:opacity .4s}
nav ul .mob{display:none}
@media(max-width:860px){
 nav ul.open{max-height:calc(100vh - 76px);overflow-y:auto}
 nav ul li,nav ul a{text-align:left}
 nav ul .mob{display:block}nav ul .mob a{background:var(--green);color:#fff;text-align:center;margin-top:8px}
}
@media(max-width:860px){nav ul{align-items:stretch}}
.langs{display:flex;gap:6px;margin-left:8px}
.langs .lg img{width:22px;height:16px;object-fit:cover;border-radius:2px;display:block;opacity:.55}
.langs .lg.on img,.langs .lg:hover img{opacity:1}
@media(max-width:860px){.langs{margin-left:auto;margin-right:8px}}
.contact .container.one{grid-template-columns:1fr;max-width:760px}.info a{color:var(--blue-d)}
