/* NORTE VERDE — PÁGINA INSTITUCIONAL */

:root {
  --nv-deep:#08271c;
  --nv-deep-2:#0d3a2a;
  --nv-lime:#a8d61f;
  --nv-lime-dark:#82ad08;
  --nv-blue:#2e97d4;
  --nv-ink:#14231b;
  --nv-muted:#65736b;
  --nv-line:#dfe7e1;
  --nv-soft:#f4f8f1;
  --nv-white:#fff;
}

.nv-eyebrow{margin:0 0 10px;color:var(--nv-lime-dark);font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.nv-eyebrow-light{color:#b9e33c}
.nv-section-heading{max-width:820px;margin-bottom:43px}
.nv-section-heading-centered{margin-inline:auto;text-align:center}
.nv-section-heading h2,.nv-story-copy h2,.nv-territory-copy h2,.nv-closing h2{margin:0;color:var(--nv-ink);font-size:clamp(2.15rem,4.7vw,4rem);line-height:1.02;letter-spacing:-.052em}
.nv-section-heading h2 span,.nv-story-copy h2 span,.nv-territory-copy h2 span,.nv-closing h2 span{display:block;color:var(--nv-lime-dark)}
.nv-section-heading>p:last-child{max-width:660px;margin:16px auto 0;color:var(--nv-muted);font-size:.96rem;line-height:1.68}
.nv-button{min-height:53px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-size:.88rem;font-weight:830;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.nv-button:hover{transform:translateY(-2px)}
.nv-button-primary{background:var(--nv-lime);color:#17250e;box-shadow:0 14px 35px rgba(125,168,10,.22)}
.nv-button-primary:hover{background:#b4df29}

/* HERO */
.nv-about-hero{position:relative;min-height:680px;display:grid;align-items:center;overflow:hidden;color:#fff;background:var(--nv-deep)}
.nv-about-hero-bg{position:absolute;inset:0;background:url("../img/institucional/banner-campo-norte-verde.png") center/cover no-repeat;transform:scale(1.01)}
.nv-about-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,25,17,.91) 0%,rgba(3,28,19,.77) 44%,rgba(3,25,17,.34) 70%,rgba(3,25,17,.18) 100%)}
.nv-about-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--nv-lime) 0 55%,var(--nv-blue) 55% 100%)}
.nv-about-hero-inner{position:relative;z-index:2;width:min(var(--container),calc(100% - 44px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:70px;align-items:end;padding:90px 0 87px}
.nv-about-hero-copy{max-width:780px}
.nv-about-hero h1{margin:0;color:#fff;font-size:clamp(3.8rem,7.3vw,7rem);line-height:.89;letter-spacing:-.065em}
.nv-about-hero h1 span{display:block;color:#b8df3d}
.nv-hero-lead{max-width:650px;margin:25px 0 0;color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.68}
.nv-hero-tags{margin:29px 0 31px;display:flex;flex-wrap:wrap;gap:8px}
.nv-hero-tags span{padding:8px 11px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.88);font-size:.73rem;font-weight:720}
.nv-hero-quote{max-width:365px;justify-self:end;padding:28px 27px;border:1px solid rgba(255,255,255,.17);border-radius:22px;background:rgba(5,30,21,.48);backdrop-filter:blur(9px)}
.nv-quote-mark{display:block;height:34px;color:#b8df3d;font-family:Georgia,serif;font-size:3.6rem;line-height:.9}
.nv-hero-quote p{margin:6px 0 0;color:#fff;font-size:1.08rem;font-weight:750;line-height:1.45}
.nv-hero-quote small{display:block;margin-top:14px;color:rgba(255,255,255,.58);font-size:.7rem}

/* HISTORIA */
.nv-story{padding:105px 0;background:#fff}
.nv-story-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);gap:78px;align-items:center}
.nv-story-media{position:relative}
.nv-photo-placeholder{position:relative;min-height:525px;overflow:hidden;display:flex;align-items:end;border-radius:26px;background:linear-gradient(145deg,rgba(8,39,28,.36),rgba(8,39,28,.75)),url("../img/banner/pasto-365.jpg") center/cover no-repeat;box-shadow:0 30px 70px rgba(27,57,39,.14)}
.nv-photo-placeholder>div{width:100%;padding:29px 190px 29px 29px;background:linear-gradient(180deg,transparent,rgba(4,26,18,.88))}
.nv-photo-placeholder span,.nv-photo-placeholder strong,.nv-photo-placeholder small{display:block}
.nv-photo-placeholder span{color:#bce347;font-size:.68rem;font-weight:900;letter-spacing:.11em}
.nv-photo-placeholder strong{margin-top:5px;color:#fff;font-size:1.6rem}
.nv-photo-placeholder small{margin-top:4px;color:rgba(255,255,255,.57);font-size:.68rem}
.nv-story-year{position:absolute;right:-26px;bottom:58px;width:155px;min-height:140px;padding:22px;display:grid;align-content:center;border-radius:18px;background:var(--nv-lime);color:#1b2c10;box-shadow:0 18px 42px rgba(83,113,20,.23)}
.nv-story-year strong{display:block;font-size:2.45rem;line-height:1;letter-spacing:-.05em}
.nv-story-year span{display:block;margin-top:5px;font-size:.72rem;font-weight:800;line-height:1.3}
.nv-story-intro{margin-top:27px!important;color:#2b3a32!important;font-size:1.02rem!important;font-weight:680}
.nv-story-copy>p{max-width:720px;margin:16px 0 0;color:var(--nv-muted);font-size:.92rem;line-height:1.72}
.nv-story-callout{max-width:680px;margin-top:29px;padding:18px 20px;display:grid;grid-template-columns:30px 1fr;gap:8px;border-left:4px solid var(--nv-lime);background:#f5f9ec}
.nv-story-callout>span{color:var(--nv-lime-dark);font-weight:900}
.nv-story-callout p{margin:0;color:#425147;font-size:.83rem;font-weight:730;line-height:1.5}

/* TIMELINE */
.nv-timeline-section{padding:95px 0;background:var(--nv-soft)}
.nv-timeline{position:relative;margin-top:30px}
.nv-timeline::before{content:"";position:absolute;top:0;bottom:0;left:128px;width:1px;background:#cad6cd}
.nv-timeline-item{position:relative;min-height:115px;display:grid;grid-template-columns:105px 46px minmax(0,1fr);align-items:start}
.nv-timeline-year{padding-top:9px;color:var(--nv-lime-dark);font-size:1.18rem;font-weight:900;letter-spacing:-.02em}
.nv-timeline-dot{position:relative;width:15px;height:15px;margin:12px auto 0;border:4px solid var(--nv-soft);border-radius:50%;background:var(--nv-lime-dark);box-shadow:0 0 0 1px #a7bcab}
.nv-timeline-content{padding:5px 0 30px 21px}
.nv-timeline-content h3{margin:0;color:var(--nv-ink);font-size:1.06rem}
.nv-timeline-content p{max-width:730px;margin:7px 0 0;color:var(--nv-muted);font-size:.82rem;line-height:1.58}

/* ECOSISTEMA */
.nv-ecosystem{padding:100px 0;background:#fff}
.nv-ecosystem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.nv-ecosystem-card{padding:31px 27px 29px;border:1px solid var(--nv-line);border-radius:22px;background:#fff;box-shadow:0 14px 42px rgba(33,62,45,.05)}
.nv-ecosystem-card-featured{border-color:#a6cc30;background:radial-gradient(circle at 90% 10%,rgba(167,213,31,.12),transparent 30%),#fff}
.nv-ecosystem-icon{width:50px;height:50px;margin-bottom:24px;display:grid;place-items:center;border-radius:14px;background:#edf5da;color:var(--nv-lime-dark);font-size:1.2rem;font-weight:900}
.nv-ecosystem-logo{height:86px;margin-bottom:23px;display:flex;align-items:center}
.nv-ecosystem-logo img{max-width:190px;max-height:86px;display:block;object-fit:contain}
.nv-ecosystem-card:nth-child(3) .nv-ecosystem-logo img{max-width:210px;max-height:78px}
.nv-card-kicker{margin:0 0 6px;color:var(--nv-lime-dark);font-size:.62rem;font-weight:900;letter-spacing:.09em}
.nv-ecosystem-card h3{margin:0;color:var(--nv-ink);font-size:1.28rem;line-height:1.18}
.nv-ecosystem-card p:not(.nv-card-kicker){margin:14px 0 0;color:var(--nv-muted);font-size:.81rem;line-height:1.62}
.nv-ecosystem-card a{display:inline-block;margin-top:20px;color:#47700b;font-size:.79rem;font-weight:800;text-decoration:none}

/* TERRITORIO */
.nv-territory{padding:100px 0;background:radial-gradient(circle at 10% 10%,rgba(167,213,31,.10),transparent 30%),linear-gradient(135deg,#08271d,#103c2c);color:#fff}
.nv-territory-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.84fr);gap:72px;align-items:center}
.nv-territory-copy h2{color:#fff}
.nv-territory-copy h2 span{color:#b8df3d}
.nv-territory-copy>p:not(.nv-eyebrow){max-width:690px;margin:17px 0 0;color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.68}
.nv-territory-stats{margin-top:33px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.nv-territory-stats>div{padding:16px 14px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.06)}
.nv-territory-stats strong{display:block;color:#b9e13d;font-size:1.25rem;line-height:1}
.nv-territory-stats span{display:block;margin-top:5px;color:rgba(255,255,255,.64);font-size:.66rem}
.nv-photo-territory{min-height:440px;background:linear-gradient(145deg,rgba(8,39,28,.18),rgba(8,39,28,.66)),url("../img/banner/asesoramiento-tecnico.jpg") center/cover no-repeat}

/* PERSONAS */
.nv-people{padding:105px 0;background:#fff}
.nv-people-grid{display:grid;gap:25px}
.nv-person-card{overflow:hidden;display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);border:1px solid var(--nv-line);border-radius:26px;background:#fff;box-shadow:0 20px 55px rgba(34,60,44,.07)}
.nv-person-card-reverse{grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr)}
.nv-person-card-reverse .nv-person-photo{order:2}
.nv-person-card-reverse .nv-person-copy{order:1}
.nv-person-photo{min-height:465px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(167,213,31,.17),transparent 27%),linear-gradient(145deg,#0b3023,#164b37)}
.nv-person-photo img{width:100%;height:100%;min-height:465px;display:block;object-fit:cover}
.nv-person-victor img{object-position:center center}
.nv-person-victoria img{object-position:65% center}
.nv-person-victoria{background:radial-gradient(circle at 50% 35%,rgba(46,151,212,.17),transparent 27%),linear-gradient(145deg,#0b3023,#173f31)}
.nv-person-photo-placeholder{width:170px;height:170px;display:grid;place-items:center;align-content:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;background:rgba(255,255,255,.06)}
.nv-person-photo-placeholder span{font-size:3.1rem;font-weight:900;letter-spacing:-.06em}
.nv-person-photo-placeholder small{max-width:120px;margin-top:5px;color:rgba(255,255,255,.55);font-size:.62rem;line-height:1.3;text-align:center}
.nv-person-copy{padding:43px 45px;align-self:center}
.nv-person-copy h3{margin:0;color:var(--nv-ink);font-size:2rem;line-height:1.05;letter-spacing:-.04em}
.nv-person-role{margin:8px 0 21px!important;color:var(--nv-lime-dark)!important;font-size:.78rem!important;font-weight:800}
.nv-person-copy>p:not(.nv-card-kicker):not(.nv-person-role){margin:13px 0 0;color:var(--nv-muted);font-size:.84rem;line-height:1.68}
.nv-person-copy blockquote{margin:25px 0 0;padding:14px 0 14px 19px;border-left:3px solid var(--nv-lime);color:#35443a;font-size:.87rem;font-weight:730;line-height:1.52}

/* VIDEOS */
.nv-videos{padding:100px 0;background:var(--nv-soft)}
.nv-video-featured{overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);align-items:stretch;border:1px solid #dce5de;border-radius:22px;background:#fff;box-shadow:0 16px 45px rgba(34,62,45,.06)}
.nv-video-frame{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;background:#061b14}
.nv-video-frame iframe{width:100%;height:100%;display:block;border:0}
.nv-video-featured-copy{padding:30px 27px;align-self:center}
.nv-video-featured-copy h3,.nv-video-card-copy h3{margin:0;color:var(--nv-ink);font-size:1.34rem;line-height:1.18}
.nv-video-featured-copy>p:not(.nv-card-kicker),.nv-video-card-copy p{margin:12px 0 0;color:var(--nv-muted);font-size:.79rem;line-height:1.58}
.nv-video-link{display:inline-block;margin-top:14px;color:#47700b;font-size:.78rem;font-weight:820;text-decoration:none}
.nv-video-grid{margin-top:17px;display:grid;grid-template-columns:1fr 1fr;gap:17px}
.nv-video-card{overflow:hidden;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);border:1px solid #dce5de;border-radius:19px;background:#fff}
.nv-video-card .nv-video-frame{height:100%;min-height:230px}
.nv-video-placeholder{min-height:230px;display:grid;place-items:center;align-content:center;padding:20px;background:radial-gradient(circle at 50% 45%,rgba(167,213,31,.18),transparent 28%),linear-gradient(145deg,#09281e,#153e30);color:#fff;text-align:center}
.nv-play{width:55px;height:55px;margin-bottom:13px;display:grid;place-items:center;border-radius:50%;background:var(--nv-lime);color:#20320f;font-size:1rem}
.nv-video-placeholder strong{display:block;font-size:.88rem}
.nv-video-placeholder small{display:block;margin-top:5px;color:rgba(255,255,255,.53);font-size:.62rem}
.nv-video-card-copy{padding:25px 22px;align-self:center}

/* CIERRE */
.nv-closing{padding:79px 0;background:linear-gradient(112deg,#779f0e,#a7d51f)}
.nv-closing-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:65px;align-items:center}
.nv-closing .nv-eyebrow{color:rgba(18,48,21,.63)}
.nv-closing h2{color:#13281d}
.nv-closing h2 span{color:#23400f}
.nv-closing p:not(.nv-eyebrow){max-width:750px;margin:16px 0 0;color:rgba(18,43,27,.78);font-size:.9rem;line-height:1.65}
.nv-closing-actions{display:grid;justify-items:start;gap:13px}
.nv-closing-actions .nv-button-primary{background:#fff;color:var(--nv-deep)}
.nv-closing-link{min-height:49px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(19,40,29,.22);border-radius:999px;background:rgba(255,255,255,.16);color:#203c19;font-size:.84rem;font-weight:850;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.nv-closing-link::after{content:"→";font-size:1rem;line-height:1;transition:transform .2s ease}
.nv-closing-link:hover,.nv-closing-link:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.32);border-color:rgba(19,40,29,.34);box-shadow:0 12px 26px rgba(44,78,20,.13)}
.nv-closing-link:hover::after,.nv-closing-link:focus-visible::after{transform:translateX(3px)}

/* RESPONSIVE */
@media (max-width:1050px){
  .nv-about-hero-inner{grid-template-columns:1fr;gap:35px}
  .nv-hero-quote{justify-self:start}
  .nv-story-grid{grid-template-columns:.8fr 1.2fr;gap:55px}
  .nv-ecosystem-grid{grid-template-columns:1fr}
  .nv-territory-grid{grid-template-columns:1fr 390px;gap:45px}
  .nv-video-featured{grid-template-columns:1fr}
  .nv-video-featured-copy{padding:26px}
  .nv-video-grid{grid-template-columns:1fr}
}

@media (max-width:820px){
  .nv-about-hero{min-height:630px}
  .nv-about-hero-bg{background-position:61% center}
  .nv-about-hero-overlay{background:linear-gradient(90deg,rgba(3,25,17,.91),rgba(3,28,19,.67))}
  .nv-story-grid,.nv-territory-grid{grid-template-columns:1fr}
  .nv-story-media{width:min(610px,100%)}
  .nv-story-year{right:18px}
  .nv-territory-media{width:min(620px,100%)}
  .nv-person-card,.nv-person-card-reverse{grid-template-columns:1fr}
  .nv-person-card-reverse .nv-person-photo,.nv-person-card-reverse .nv-person-copy{order:initial}
  .nv-person-photo{min-height:350px}
  .nv-closing-inner{grid-template-columns:1fr;gap:35px}
}

@media (max-width:620px){
  .nv-about-hero{min-height:650px;align-items:start;background:#0e2a20}
  .nv-about-hero-bg{height:210px;inset:0 0 auto;background-size:100% auto;background-position:center center;transform:none}
  .nv-about-hero-overlay{z-index:1;background:linear-gradient(180deg,rgba(5,28,21,.05) 0,rgba(5,28,21,.06) 135px,rgba(10,37,28,.55) 205px,#0e2a20 265px,#0e2a20 100%)}
  .nv-about-hero-inner{width:min(100% - 30px,var(--container));grid-template-columns:1fr;gap:22px;align-items:start;padding:230px 0 74px}
  .nv-about-hero h1{font-size:clamp(2.35rem,11vw,3.15rem);line-height:1.01;letter-spacing:-.035em}
  .nv-hero-lead{font-size:.95rem}
  .nv-hero-tags{gap:6px}
  .nv-hero-quote{display:none}
  .nv-story,.nv-ecosystem,.nv-territory,.nv-people,.nv-videos{padding:70px 0}
  .nv-timeline-section{padding:70px 0 58px}
  .nv-photo-placeholder{min-height:400px}
  .nv-story-year{width:132px;min-height:116px;right:12px;bottom:30px;padding:17px}
  .nv-story-year strong{font-size:2rem}
  .nv-photo-placeholder>div{padding:25px 158px 25px 25px}
  .nv-timeline::before{left:22px}
  .nv-timeline-item{min-height:0;grid-template-columns:45px 1fr}
  .nv-timeline-year{grid-column:2;grid-row:1;padding-top:0;margin-bottom:3px;font-size:.92rem}
  .nv-timeline-dot{grid-column:1;grid-row:1/span 2;margin-top:4px}
  .nv-timeline-content{grid-column:2;grid-row:2;padding:0 0 31px 0}
  .nv-territory-stats{grid-template-columns:1fr}
  .nv-photo-territory{min-height:360px}
  .nv-person-photo img{min-height:350px}
  .nv-person-copy{padding:31px 23px}
  .nv-person-copy h3{font-size:1.65rem}
  .nv-video-card{grid-template-columns:1fr}
  .nv-video-placeholder{min-height:205px}
  .nv-closing{padding:60px 0}
  .nv-closing-actions,.nv-closing-actions .nv-button,.nv-closing-link{width:100%}
}

@media (max-width:460px){
  .nv-photo-placeholder>div{padding:24px}
  .nv-story-year{position:relative;right:auto;bottom:auto;width:100%;min-height:0;margin-top:14px;border-radius:14px}
}
