/* CuencaVerde · Especial El Niño · v1.0.1 */
:root {
  --cvnino-green-950:#073b31;
  --cvnino-green-900:#0a5140;
  --cvnino-green-800:#0f6a52;
  --cvnino-green-700:#13805f;
  --cvnino-cyan:#4db8cc;
  --cvnino-cyan-deep:#1999bd;
  --cvnino-lime:#84c63f;
  --cvnino-yellow:#f3d12c;
  --cvnino-ink:#17342d;
  --cvnino-muted:#60746d;
  --cvnino-paper:#f7faf8;
  --cvnino-white:#fff;
  --cvnino-border:rgba(10,81,64,.12);
  --cvnino-shadow:0 30px 90px rgba(4,42,34,.22);
}

.cvnino-shell,
.cvnino-experience { box-sizing:border-box; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; }
.cvnino-shell *, .cvnino-shell *::before, .cvnino-shell *::after,
.cvnino-experience *, .cvnino-experience *::before, .cvnino-experience *::after { box-sizing:border-box; }
.cvnino-experience img { max-width:100%; height:auto; }
.cvnino-experience a { text-decoration:none; }

/* Floating trigger */
.cvnino-trigger {
  position:fixed; z-index:99991; bottom:24px; display:flex; align-items:center; gap:12px;
  width:min(360px,calc(100vw - 32px)); padding:11px 14px 11px 11px; border:1px solid rgba(255,255,255,.4);
  border-radius:999px; background:linear-gradient(135deg,#073b31,#0c6650); color:#fff; cursor:pointer;
  box-shadow:0 16px 46px rgba(5,54,43,.28); transition:transform .25s ease,box-shadow .25s ease;
  text-align:left; -webkit-font-smoothing:antialiased; pointer-events:auto; appearance:none; -webkit-appearance:none;
}
.cvnino-pos-right .cvnino-trigger { right:24px; }
.cvnino-pos-left .cvnino-trigger { left:24px; }
.cvnino-trigger:hover { transform:translateY(-3px); box-shadow:0 20px 58px rgba(5,54,43,.34); }
.cvnino-trigger:focus-visible { outline:3px solid #8fd6df; outline-offset:4px; }
.cvnino-trigger__icon { position:relative; flex:0 0 46px; width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--cvnino-cyan-deep); }
.cvnino-trigger__icon::after { content:""; position:absolute; inset:-5px; border:1px solid rgba(255,255,255,.35); border-radius:50%; animation:cvnino-pulse 2.4s ease-out infinite; }
.cvnino-trigger__icon svg { width:24px; height:24px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cvnino-trigger__copy { min-width:0; flex:1; display:grid; gap:2px; }
.cvnino-trigger__copy small { font-size:10px; line-height:1.1; letter-spacing:.12em; text-transform:uppercase; opacity:.68; font-weight:800; }
.cvnino-trigger__copy strong { display:block; font-size:13.5px; line-height:1.25; font-weight:720; white-space:normal; }
.cvnino-trigger__arrow { flex:0 0 auto; font-size:19px; opacity:.82; }
@keyframes cvnino-pulse { 0%{transform:scale(.82);opacity:.75} 100%{transform:scale(1.45);opacity:0} }

/* Overlay / dialog */
.cvnino-overlay { position:fixed; z-index:99999; inset:0; display:grid; place-items:center; padding:28px; background:rgba(5,30,25,.66); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); opacity:0; visibility:hidden; transition:opacity .25s ease,visibility .25s ease; }
.cvnino-overlay.is-open { opacity:1; visibility:visible; }
.cvnino-dialog { position:relative; width:min(1120px,96vw); max-height:90vh; overflow:hidden; border-radius:28px; background:#f7faf8; box-shadow:var(--cvnino-shadow); transform:translateY(18px) scale(.985); transition:transform .28s cubic-bezier(.2,.8,.2,1); outline:none; }
.cvnino-overlay.is-open .cvnino-dialog { transform:none; }
.cvnino-dialog__scroll { max-height:90vh; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(13,105,82,.4) transparent; }
.cvnino-close { position:absolute; z-index:5; top:16px; right:16px; width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; background:rgba(5,45,37,.55); color:#fff; cursor:pointer; backdrop-filter:blur(8px); }
.cvnino-close:hover { background:rgba(5,45,37,.86); }
.cvnino-close:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.cvnino-close svg { width:20px; height:20px; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
body.cvnino-lock { overflow:hidden !important; }

/* Experience */
.cvnino-experience { --gutter:clamp(20px,4.8vw,66px); color:var(--cvnino-ink); background:var(--cvnino-paper); overflow:hidden; }
.cvnino-experience--page { width:100%; border-radius:0; }
.cvnino-hero { position:relative; min-height:clamp(430px,52vw,630px); display:flex; align-items:flex-end; isolation:isolate; background-image:var(--cvnino-hero); background-size:cover; background-position:center center; }
.cvnino-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,35,29,.08) 0%,rgba(5,35,29,.28) 36%,rgba(4,39,31,.86) 100%); }
.cvnino-hero::after { content:""; position:absolute; z-index:-1; right:-8%; bottom:-30%; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(77,184,204,.3),transparent 67%); }
.cvnino-hero__shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(4,43,34,.58),transparent 62%); }
.cvnino-hero__content { position:relative; z-index:1; width:100%; max-width:980px; padding:52px var(--gutter) 54px; color:#fff; }
.cvnino-logo { width:138px; margin:0 0 22px; filter:drop-shadow(0 7px 20px rgba(0,0,0,.18)); }
.cvnino-eyebrow,.cvnino-kicker { display:flex; align-items:center; gap:9px; color:inherit; font-size:10.5px; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.cvnino-eyebrow { margin-bottom:13px; color:rgba(255,255,255,.82); }
.cvnino-eyebrow span { width:26px; height:2px; border-radius:999px; background:var(--cvnino-cyan); }
.cvnino-hero h1 { max-width:890px; margin:0; color:#fff; font-size:clamp(38px,5.8vw,70px); line-height:.98; letter-spacing:-.052em; font-weight:520; }
.cvnino-hero h1 em { color:#c7ecf2; font-style:normal; font-weight:760; }
.cvnino-hero p { max-width:780px; margin:22px 0 0; color:rgba(255,255,255,.84); font-size:clamp(15px,1.65vw,18px); line-height:1.65; }
.cvnino-hero__meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.cvnino-hero__meta span { padding:8px 13px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.08); font-size:12px; color:rgba(255,255,255,.82); backdrop-filter:blur(6px); }
.cvnino-hero__meta b { color:#fff; }

.cvnino-body { padding:0 var(--gutter) 52px; }
.cvnino-section { max-width:1080px; margin:0 auto; padding:68px 0; border-bottom:1px solid var(--cvnino-border); }
.cvnino-kicker { color:var(--cvnino-green-700); margin-bottom:12px; }
.cvnino-intro__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:50px; align-items:start; }
.cvnino-intro h2,.cvnino-section-head h2,.cvnino-community h2,.cvnino-monitor h2,.cvnino-footer-cta h2 { margin:0; color:var(--cvnino-green-950); font-size:clamp(28px,3.3vw,43px); line-height:1.08; letter-spacing:-.036em; font-weight:650; }
.cvnino-prose p { margin:0 0 16px; color:var(--cvnino-muted); font-size:16px; line-height:1.75; }
.cvnino-prose strong { color:var(--cvnino-green-900); }

.cvnino-truth { max-width:1080px; margin:0 auto; padding:24px 26px; display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; border:1px solid rgba(21,123,93,.16); border-radius:22px; background:linear-gradient(120deg,#e7f5f0,#eef8fa); }
.cvnino-truth__icon { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; background:#fff; color:var(--cvnino-green-700); box-shadow:0 8px 25px rgba(21,123,93,.08); }
.cvnino-truth__icon svg { width:27px; height:27px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cvnino-truth strong { color:var(--cvnino-green-950); font-size:16px; }
.cvnino-truth p { margin:4px 0 0; color:var(--cvnino-muted); line-height:1.6; font-size:14px; }

.cvnino-section-head { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr); gap:44px; align-items:end; margin-bottom:30px; }
.cvnino-section-head p { margin:0; color:var(--cvnino-muted); font-size:14px; line-height:1.7; }
.cvnino-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.cvnino-stat { position:relative; min-height:260px; padding:26px 23px; display:flex; flex-direction:column; overflow:hidden; border-radius:22px; border:1px solid rgba(10,81,64,.08); background:#fff; box-shadow:0 10px 30px rgba(5,61,48,.045); }
.cvnino-stat::after { content:""; position:absolute; width:130px; height:130px; right:-45px; top:-45px; border-radius:50%; background:var(--stat-soft); }
.cvnino-stat--aqua { --stat-soft:rgba(77,184,204,.16); }
.cvnino-stat--blue { --stat-soft:rgba(25,153,189,.13); }
.cvnino-stat--green { --stat-soft:rgba(19,128,95,.13); }
.cvnino-stat--lime { --stat-soft:rgba(132,198,63,.16); }
.cvnino-stat__number { position:relative; z-index:1; display:block; margin-top:auto; color:var(--cvnino-green-950); font-size:clamp(36px,4vw,54px); line-height:.95; letter-spacing:-.05em; font-weight:760; }
.cvnino-stat__unit { margin-top:5px; color:var(--cvnino-green-700); font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.cvnino-stat p { margin:16px 0 0; color:var(--cvnino-muted); font-size:13px; line-height:1.58; }

.cvnino-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cvnino-feature { min-width:0; padding:28px 26px 30px; border-radius:24px; background:#fff; border:1px solid var(--cvnino-border); }
.cvnino-feature__icon { width:50px; height:50px; display:grid; place-items:center; margin-bottom:24px; border-radius:15px; color:var(--cvnino-cyan-deep); background:#eaf7fa; }
.cvnino-feature__icon svg { width:27px; height:27px; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.cvnino-feature__eyebrow { margin-bottom:10px; color:var(--cvnino-green-700); font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.cvnino-feature h3 { margin:0; color:var(--cvnino-green-950); font-size:22px; line-height:1.16; letter-spacing:-.026em; font-weight:700; }
.cvnino-feature p { margin:15px 0 0; color:var(--cvnino-muted); font-size:14px; line-height:1.65; }

.cvnino-community { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:54px; }
.cvnino-community__items { display:grid; gap:12px; }
.cvnino-mini-stat { display:grid; grid-template-columns:100px 1fr; gap:18px; align-items:center; padding:15px 0; border-bottom:1px solid var(--cvnino-border); }
.cvnino-mini-stat:last-child { border-bottom:0; }
.cvnino-mini-stat b { color:var(--cvnino-cyan-deep); font-size:34px; letter-spacing:-.04em; }
.cvnino-mini-stat span { color:var(--cvnino-muted); font-size:14px; line-height:1.55; }

.cvnino-monitor { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); gap:56px; align-items:center; }
.cvnino-monitor__graphic { min-height:300px; display:grid; place-items:center; border-radius:26px; background:radial-gradient(circle at center,#f2fbfc 0,#e7f4f1 68%,#eaf5f1 100%); overflow:hidden; }
.cvnino-radar { position:relative; width:230px; height:230px; border-radius:50%; border:1px solid rgba(25,153,189,.28); background:repeating-radial-gradient(circle,transparent 0 37px,rgba(25,153,189,.13) 38px 39px); }
.cvnino-radar::before,.cvnino-radar::after { content:""; position:absolute; left:50%; top:0; width:1px; height:100%; background:rgba(25,153,189,.14); transform:translateX(-50%); }
.cvnino-radar::after { transform:translateX(-50%) rotate(90deg); }
.cvnino-radar span { position:absolute; width:10px; height:10px; border-radius:50%; background:var(--cvnino-green-700); box-shadow:0 0 0 6px rgba(19,128,95,.12); }
.cvnino-radar span:nth-child(1){left:44px;top:62px}.cvnino-radar span:nth-child(2){right:42px;top:92px}.cvnino-radar span:nth-child(3){left:92px;bottom:36px}.cvnino-radar span:nth-child(4){right:70px;bottom:73px}
.cvnino-radar i { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--cvnino-cyan-deep); }
.cvnino-radar i:nth-of-type(1){left:70px;top:103px}.cvnino-radar i:nth-of-type(2){left:126px;top:50px}.cvnino-radar i:nth-of-type(3){right:30px;bottom:52px}.cvnino-radar i:nth-of-type(4){left:40px;bottom:71px}.cvnino-radar i:nth-of-type(5){left:145px;bottom:93px}
.cvnino-monitor p { margin:17px 0 0; color:var(--cvnino-muted); font-size:15px; line-height:1.7; }

.cvnino-closing { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:58px; }
.cvnino-closing blockquote { margin:13px 0 0; color:var(--cvnino-green-950); font-size:clamp(26px,3.4vw,42px); line-height:1.12; letter-spacing:-.035em; font-weight:600; }
.cvnino-closing__copy p { margin:0 0 17px; color:var(--cvnino-muted); font-size:15px; line-height:1.72; }
.cvnino-closing__copy strong { color:var(--cvnino-green-900); }
.cvnino-signature { display:grid; gap:2px; margin-top:25px; padding-top:20px; border-top:1px solid var(--cvnino-border); }
.cvnino-signature span { color:var(--cvnino-green-950); font-weight:750; }
.cvnino-signature small { color:var(--cvnino-muted); font-size:12px; }

.cvnino-footer-cta { max-width:1080px; margin:40px auto 0; padding:28px; display:flex; align-items:center; justify-content:space-between; gap:28px; border-radius:25px; background:linear-gradient(120deg,#073b31,#0b5f4b); color:#fff; }
.cvnino-footer-cta .cvnino-kicker { color:#8fd6df; margin-bottom:8px; }
.cvnino-footer-cta h2 { color:#fff; font-size:clamp(22px,2.7vw,32px); }
.cvnino-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.cvnino-btn { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:11px 17px; border-radius:999px; font-size:13px; font-weight:750; transition:transform .2s ease,background .2s ease; }
.cvnino-btn:hover { transform:translateY(-1px); }
.cvnino-btn--primary { background:#fff; color:var(--cvnino-green-950); }
.cvnino-btn--secondary { border:1px solid rgba(255,255,255,.25); color:#fff; background:rgba(255,255,255,.08); }
.cvnino-btn svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cvnino-btn:focus-visible { outline:3px solid #8fd6df; outline-offset:3px; }

@media (max-width:900px) {
  .cvnino-stats { grid-template-columns:repeat(2,1fr); }
  .cvnino-feature-grid { grid-template-columns:1fr; }
  .cvnino-feature { display:grid; grid-template-columns:auto 1fr; column-gap:18px; }
  .cvnino-feature__icon { grid-row:1/5; }
  .cvnino-community,.cvnino-monitor,.cvnino-closing { grid-template-columns:1fr; gap:32px; }
  .cvnino-monitor__graphic { min-height:260px; }
}

@media (max-width:700px) {
  .cvnino-overlay { padding:8px; align-items:end; }
  .cvnino-dialog { width:100%; max-height:96vh; border-radius:22px 22px 14px 14px; }
  .cvnino-dialog__scroll { max-height:96vh; }
  .cvnino-close { position:sticky; float:right; top:10px; right:10px; margin:10px 10px -54px 0; }
  .cvnino-hero { min-height:520px; background-position:60% center; }
  .cvnino-hero__content { padding-top:100px; padding-bottom:38px; }
  .cvnino-logo { width:116px; }
  .cvnino-hero h1 { font-size:42px; }
  .cvnino-intro__grid,.cvnino-section-head { grid-template-columns:1fr; gap:22px; }
  .cvnino-section { padding:48px 0; }
  .cvnino-stats { grid-template-columns:1fr; }
  .cvnino-stat { min-height:220px; }
  .cvnino-feature { display:block; }
  .cvnino-mini-stat { grid-template-columns:82px 1fr; gap:13px; }
  .cvnino-mini-stat b { font-size:28px; }
  .cvnino-footer-cta { align-items:flex-start; flex-direction:column; padding:24px; }
  .cvnino-actions { width:100%; justify-content:stretch; }
  .cvnino-btn { width:100%; }
  .cvnino-trigger { bottom:14px; width:calc(100vw - 28px); }
  .cvnino-pos-right .cvnino-trigger,.cvnino-pos-left .cvnino-trigger { left:14px; right:14px; }
  .cvnino-trigger__copy strong { font-size:12.5px; }
}

@media (max-width:420px) {
  .cvnino-trigger__copy small { display:none; }
  .cvnino-trigger { padding-right:11px; }
  .cvnino-trigger__icon { flex-basis:42px; width:42px; height:42px; }
  .cvnino-hero h1 { font-size:36px; }
  .cvnino-body { padding-bottom:34px; }
}

@media (prefers-reduced-motion:reduce) {
  .cvnino-trigger__icon::after { animation:none; }
  .cvnino-trigger,.cvnino-overlay,.cvnino-dialog,.cvnino-btn { transition:none !important; }
}
