/* Venegas Capital Group — Verde Banquero + Oro Viejo */
:root{
  --verde:#1E4434; --verde-medio:#33705A; --verde-osc:#143026; --verde-noche:#0E231B;
  --oro:#A8894B; --oro-txt:#8A6E3B; --oro-claro:#C9AE74; --burdeos:#8C2F39;
  --carbon:#1C1F22; --gris:#55605F; --gris-2:#9BA3A8; --borde:#D9E2DC;
  --panel:#F4F7F5; --tinte:#EAF1ED; --blanco:#FFFFFF; --menta:#9CC7B2;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Calibri,Carlito,"Segoe UI",Arial,sans-serif;
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--carbon);background:var(--blanco);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--verde-medio);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-999px}
.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:8px 12px}

/* idioma */
[data-lang="es"] .en,[data-lang="en"] .es{display:none!important}

/* ---------- navegación ---------- */
header.nav{position:sticky;top:0;z-index:50;background:rgba(20,48,38,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(168,137,75,.35)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;white-space:nowrap}
.brand:hover{text-decoration:none}
.brand .mono{width:40px;height:40px;border:1px solid var(--oro);display:flex;align-items:center;justify-content:center;font:700 15px var(--serif);color:var(--oro);letter-spacing:.04em}
.brand .name{font:700 17px var(--serif);letter-spacing:.12em;line-height:1.1}
.brand .name small{display:block;font:400 11px var(--sans);letter-spacing:.32em;color:var(--oro)}
.menu{display:flex;align-items:center;list-style:none;gap:4px}
.menu > li{position:relative}
.menu > li > a{display:block;padding:26px 12px;color:#D5E2DA;font-size:14px;letter-spacing:.1em;text-transform:uppercase}
.menu > li > a:hover,.menu > li > a[aria-current="page"]{color:#fff;text-decoration:none}
.menu > li > a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--oro)}
.sub{display:none;position:absolute;top:100%;left:0;min-width:300px;background:var(--verde-osc);border:1px solid rgba(168,137,75,.4);border-top:2px solid var(--oro);list-style:none;padding:8px 0}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.sub a{display:block;padding:10px 20px;color:#D5E2DA;font-size:15px}
.sub a:hover{background:var(--verde);color:#fff;text-decoration:none}
.right{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid rgba(168,137,75,.6)}
.lang button{background:none;border:0;color:#D5E2DA;font:700 13px var(--sans);letter-spacing:.08em;padding:6px 10px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--oro);color:var(--verde-osc)}
.nav-cta{padding:10px 16px;border:1px solid var(--oro);color:var(--oro);font:700 13px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.nav-cta:hover{background:var(--oro);color:var(--verde-osc);text-decoration:none}
.burger{display:none;background:none;border:1px solid rgba(168,137,75,.6);color:#fff;width:42px;height:38px;cursor:pointer}
.burger svg{display:block;margin:auto}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--verde-osc);color:#fff;overflow:hidden}
.hero svg.bg{position:absolute;inset:0;width:100%;height:100%}
.hero .wrap{position:relative;padding:150px 32px 160px}
.hero.page .wrap{padding:110px 32px 100px}
.kicker{font:700 14px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--menta)}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(42px,7vw,88px);line-height:1.04;margin:22px 0 14px;max-width:900px}
.hero.page h1{font-size:clamp(36px,5.2vw,64px);max-width:860px}
.hero h1 em{font-style:italic;color:var(--oro-claro)}
.filete{width:120px;height:2px;background:var(--oro);margin:30px 0}
.lead{font-size:clamp(19px,1.9vw,22px);color:#D3E1D9;max-width:760px}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}
.btn{display:inline-block;padding:16px 28px;font:700 15px var(--sans);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--oro)}
.btn.primary{background:var(--oro);color:var(--verde-osc)}
.btn.ghost{color:#fff}
.btn.dark{color:var(--verde);border-color:var(--verde)}
.btn:hover{text-decoration:none;filter:brightness(1.08)}
.loc{margin-top:40px;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--menta)}
.crumbs{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--menta);margin-bottom:6px}
.crumbs a{color:var(--menta)}

/* ---------- cifras ---------- */
.stats{background:var(--verde);color:#fff}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:40px 26px;border-left:1px solid rgba(255,255,255,.12)}
.stat:first-child{border-left:0}
.stat b{display:block;font-family:var(--serif);font-size:clamp(28px,3.2vw,42px);white-space:nowrap;color:#fff;line-height:1.1}
.stat span{font-size:15px;color:#BFD3C7}

/* ---------- secciones ---------- */
section.block{padding:112px 0}
section.alt{background:var(--panel)}
section.dark{background:var(--verde-osc);color:#fff}
.band{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.band .num{font-family:var(--serif);font-weight:700;color:var(--oro-txt);font-size:15px;letter-spacing:.16em;text-transform:uppercase}
.dark .band .num{color:var(--oro)}
.band .rule{flex:0 0 60px;height:1px;background:var(--oro)}
h2{font-family:var(--serif);font-size:clamp(30px,3.8vw,46px);line-height:1.15;color:var(--verde);max-width:880px}
.dark h2{color:#fff}
.intro{margin-top:20px;color:var(--gris);max-width:800px;font-size:20px}
.dark .intro{color:#C6D6CD}
h3{font-family:var(--serif);color:var(--verde);line-height:1.25}

/* ---------- hub de estructuración ---------- */
.hub{margin:56px auto 0;max-width:820px}
.hub svg{display:block;width:100%;height:auto}
.hub a:hover{text-decoration:none}
.hub a:hover rect.lbl{fill:var(--verde)}
.hub a:hover text.lt{fill:#fff}

/* ---------- tarjetas ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;border-top:1px solid var(--borde);border-left:1px solid var(--borde)}
.grid.g4{grid-template-columns:repeat(4,1fr)}
.grid.g2{grid-template-columns:repeat(2,1fr)}
.card{display:block;background:#fff;padding:38px 32px;border-right:1px solid var(--borde);border-bottom:1px solid var(--borde);position:relative;color:var(--carbon)}
a.card:hover{text-decoration:none}
.card .ico{width:42px;height:42px;margin-bottom:20px}
.card h3{font-size:22px;margin-bottom:10px}
.card p{font-size:16.5px;color:var(--gris)}
.card .more{display:inline-block;margin-top:16px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-txt)}
.card:hover{background:var(--tinte)}
.card:hover::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--verde)}
.card.legal{grid-column:1/-1;background:var(--verde-osc);color:#fff;display:flex;gap:32px;align-items:center}
.card.legal h3{color:#fff}
.card.legal p{color:#C6D6CD}
.card.legal:hover{background:var(--verde)}
.card.legal .ico{flex:0 0 52px;width:52px;height:52px;margin:0}

/* ---------- pasos ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:52px}
.step{border-top:3px solid var(--verde);padding-top:22px}
.dark .step{border-top-color:var(--oro)}
.step .n{font-family:var(--serif);font-weight:700;font-size:15px;color:var(--oro-txt);letter-spacing:.14em}
.dark .step .n{color:var(--oro)}
.step h3{font-size:21px;margin:8px 0}
.dark .step h3{color:#fff}
.step p{font-size:16.5px;color:var(--gris)}
.dark .step p{color:#C6D6CD}

/* ---------- IA ---------- */
.ai-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:52px;background:rgba(168,137,75,.35);border:1px solid rgba(168,137,75,.35)}
.ai{background:var(--verde-osc);padding:38px 36px;color:#fff}
.ai .tag{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--oro)}
.ai h3{color:#fff;font-size:24px;margin:10px 0 12px}
.ai p{color:#C6D6CD;font-size:16.5px}
.ai ul{list-style:none;margin-top:16px}
.ai li{font-size:15.5px;color:#D5E2DA;padding:7px 0 7px 20px;position:relative;border-top:1px solid rgba(255,255,255,.08)}
.ai li::before{content:"";position:absolute;left:0;top:15px;width:8px;height:1px;background:var(--oro)}
.ai-light .ai{background:#fff;color:var(--carbon)}
.ai-light{background:var(--borde);border-color:var(--borde)}
.ai-light .ai h3{color:var(--verde)}
.ai-light .ai p{color:var(--gris)}
.ai-light .ai .tag{color:var(--oro-txt)}
.ai-light .ai li{color:var(--carbon);border-top-color:var(--borde)}
.principle{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.principle div{border-left:2px solid var(--oro);padding-left:20px}
.principle b{display:block;font-family:var(--serif);font-size:19px;color:var(--verde);margin-bottom:6px}
.dark .principle b{color:#fff}
.principle p{font-size:16px;color:var(--gris)}
.dark .principle p{color:#C6D6CD}

/* ---------- páginas de servicio ---------- */
.two{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;margin-top:52px;align-items:start}
.checks{list-style:none}
.checks li{padding:16px 0 16px 38px;border-bottom:1px solid var(--borde);position:relative;font-size:18px}
.checks li::before{content:"";position:absolute;left:0;top:22px;width:18px;height:10px;border-left:2px solid var(--verde-medio);border-bottom:2px solid var(--verde-medio);transform:rotate(-45deg)}
.panel{background:var(--tinte);border-left:3px solid var(--verde);padding:30px 32px}
.panel h3{font-size:21px;margin-bottom:14px}
.panel ul{list-style:none}
.panel li{padding:9px 0;border-bottom:1px solid var(--borde);font-size:16.5px}
.panel li:last-child{border-bottom:0}
.panel + .panel{margin-top:24px}
.panel.gold{background:#F7F2E8;border-left-color:var(--oro)}
.note{margin-top:28px;font-size:15px;color:var(--gris);border-top:1px solid var(--borde);padding-top:16px}
.related{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.related a{border:1px solid var(--borde);padding:10px 16px;font-size:15px;color:var(--verde);background:#fff}
.related a:hover{border-color:var(--verde);text-decoration:none}

/* ---------- firma ---------- */
.about{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;margin-top:48px;align-items:start}
.about p{margin-bottom:18px}
.callout{background:var(--tinte);border-left:3px solid var(--verde);padding:30px 32px}
.callout h3{font-size:21px;margin-bottom:14px}
.callout ul{list-style:none}
.callout li{padding:9px 0;border-bottom:1px solid var(--borde);font-size:16px}
.callout li:last-child{border-bottom:0}
.callout li b{color:var(--verde)}
table.t{width:100%;border-collapse:collapse;margin-top:48px;font-size:16.5px;background:#fff}
table.t th{background:var(--verde);color:#fff;text-align:left;padding:15px 20px;font-weight:700;letter-spacing:.04em}
table.t td{padding:15px 20px;border-bottom:1px solid var(--borde);vertical-align:top}
table.t tr:nth-child(even) td{background:#F7FAF8}
table.t td:first-child{font-weight:700;width:28%}
.ventures{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.venture{background:var(--verde-osc);color:#fff;padding:32px;position:relative;overflow:hidden}
.venture::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border:1px solid rgba(168,137,75,.45);border-radius:50%}
.venture .tag{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--oro)}
.venture h3{color:#fff;font-size:24px;margin:8px 0 10px}
.venture p{font-size:16px;color:#C6D6CD}
.li-card{display:flex;gap:18px;align-items:center;margin-top:20px;background:var(--verde-osc);color:#fff;padding:22px 24px;border-top:2px solid var(--oro)}
.li-card:hover{text-decoration:none;background:var(--verde)}
.li-card b{display:block;font-family:var(--serif);font-size:18px;letter-spacing:.04em}
.li-card small{display:block;color:#BFD3C7;font-size:14px;line-height:1.4}
.li-card .go{display:block;margin-top:6px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--oro)}

/* ---------- contacto ---------- */
.contact{background:var(--verde-osc);color:#fff;position:relative;overflow:hidden}
.contact h2{color:#fff}
.contact .intro{color:#C6D6CD}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:48px;background:rgba(168,137,75,.35);border:1px solid rgba(168,137,75,.35)}
.contact-grid a{display:block;background:var(--verde-osc);padding:32px 28px;color:#fff}
.contact-grid a:hover{background:var(--verde);text-decoration:none}
.contact-grid small{display:block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--oro);margin-bottom:12px}
.contact-grid .ci{display:inline-flex;color:#fff}
.contact-grid a:hover .ci{color:var(--oro)}
.contact-grid em{display:block;font-style:normal;font-size:14px;color:var(--menta);margin-top:8px}

/* texto justificado en párrafos largos */
.about p,.intro,.lead,.card p,.step p,.venture p,.ai p,table.t td:last-child{text-align:justify;-webkit-hyphens:auto;hyphens:auto}

footer.foot{background:var(--verde-noche);color:var(--gris-2);font-size:14px;padding:56px 0 36px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot h4{font:700 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--oro);margin-bottom:14px}
.foot ul{list-style:none}
.foot li{padding:4px 0}
.foot a{color:#C6D6CD}
.foot b{color:#fff;font-family:var(--serif);letter-spacing:.1em}
.disc{font-size:13px;color:#7F8A8E;margin-top:24px;max-width:900px;line-height:1.55}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .menu{display:none}
  .burger{display:block}
  .nav-cta{display:none}
  .menu.open{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--verde-osc);border-bottom:1px solid rgba(168,137,75,.4);padding:8px 0 16px;max-height:calc(100vh - 76px);overflow:auto}
  .menu.open > li > a{padding:14px 32px}
  .menu.open .sub{display:block;position:static;border:0;min-width:0;background:none;padding:0 0 6px}
  .menu.open .sub a{padding:8px 48px;font-size:15px}
  .stats .wrap{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){border-left:0}
  .stat{border-top:1px solid rgba(255,255,255,.12)}
  .about,.two{grid-template-columns:1fr;gap:36px}
  .grid,.grid.g4,.ventures,.contact-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  body{font-size:17px}
  .wrap{padding:0 16px}
  .nav .wrap{height:64px}
  .menu.open{top:64px}
  .menu.open > li > a{padding:14px 16px}
  .menu.open .sub a{padding:8px 32px}
  .brand .name{font-size:14px}
  .brand .mono{width:34px;height:34px;font-size:13px}
  .hero .wrap{padding:84px 16px 92px}
  .hero.page .wrap{padding:64px 16px 64px}
  section.block{padding:72px 0}
  .grid,.grid.g4,.grid.g2,.ventures,.contact-grid,.steps,.ai-grid,.principle,.foot-grid{grid-template-columns:1fr}
  .card.legal{flex-direction:column;align-items:flex-start;gap:16px}
  .hub{display:none}
  .stat b{font-size:28px}
  .stat{padding:26px 14px}
  table.t td:first-child{width:auto}
  table.t th,table.t td{padding:12px}
  .ai{padding:30px 24px}
}
