:root{
  --paper:#f6f1e7;--paper-2:#fffdf9;--ink:#1b241f;--ink-soft:#586259;
  --brand:#80B048;--forest:#1e4a2a;--forest-2:#2a5e37;--foliage:#4f8a3d;
  --tint:#accc88;--terra:#c2703d;--terra-2:#d4884f;--line:#e0d9c8;--dark:#0d2014;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
a{color:inherit;text-decoration:none;}
.serif{font-family:"Fraunces",Georgia,serif;}
.draft{position:fixed;top:0;left:0;z-index:10001;background:var(--terra);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-bottom-right-radius:10px;opacity:.92;}
.lf{display:inline-block;vertical-align:-1px;color:var(--foliage);}

/* scroll progress */
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:10002;background:linear-gradient(90deg,var(--foliage),var(--brand));transition:width .1s linear;}

/* shared FX: aurora + grid */
.fx-aurora{position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(90% 80% at 84% 4%, rgba(98,152,78,.30), transparent 60%),
    radial-gradient(80% 90% at 4% 102%, rgba(15,46,27,.55), transparent 58%),
    linear-gradient(162deg, #163a21 0%, #0f2719 52%, #0b1c12 100%);}
@keyframes drift{0%{transform:none;}100%{transform:none;}}
.fx-grid{display:none;}

/* nav */
nav{position:sticky;top:0;z-index:100;background:transparent;border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease;}
nav.solid{background:rgba(246,241,231,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brandlock{display:flex;align-items:center;gap:11px;}
.brandlock .navlogo{height:44px;width:auto;display:block;}
.navlogo.dark{display:none;}
nav.solid .navlogo.light{display:none;}
nav.solid .navlogo.dark{display:block;}
.navlinks{display:flex;gap:30px;align-items:center;}
.nav-colab{display:inline-flex;align-items:center;gap:6px;font-size:13px;opacity:.85;}
.nav-colab:hover{opacity:1;}
.navlinks a{font-size:14px;font-weight:500;color:rgba(255,255,255,.92);transition:color .2s;text-shadow:0 1px 12px rgba(8,20,12,.45);}
.navlinks a:hover{color:#fff;}
nav.solid .navlinks a{color:var(--ink-soft);text-shadow:none;}
nav.solid .navlinks a:hover{color:var(--forest);}
.btn{font-family:"Hanken Grotesk";font-weight:600;font-size:14px;padding:10px 20px;border-radius:30px;background:var(--forest);color:#fff;transition:transform .2s,background .2s,color .2s,border-color .2s;border:none;cursor:pointer;display:inline-block;}
.btn:hover{background:var(--foliage);transform:translateY(-1px);}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);}
.btn.ghost:hover{background:#fff;color:var(--forest);}
nav.solid .btn.ghost{color:var(--forest);border-color:var(--forest);}
nav.solid .btn.ghost:hover{background:var(--forest);color:#fff;}
.btn.ghost-d{background:transparent;color:var(--forest);border:1.5px solid var(--forest);}
.btn.ghost-d:hover{background:var(--forest);color:#fff;}
/* menú móvil */
.navburger{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-right:-8px;color:rgba(255,255,255,.92);position:relative;z-index:102;}
nav.solid .navburger{color:var(--forest);}
body.menu-open .navburger{color:#fff;}
.navburger span{display:block;width:23px;height:2px;background:currentColor;border-radius:2px;margin:5px 0;transition:transform .3s ease,opacity .3s ease;}
body.menu-open .navburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.menu-open .navburger span:nth-child(2){opacity:0;}
body.menu-open .navburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@keyframes menuIn{from{opacity:0;}to{opacity:1;}}
@media(max-width:900px){
  .navburger{display:block;}
  .navlinks{display:none;}
  body.menu-open .navlinks{display:flex;position:fixed;inset:0;z-index:99;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:0 34px;background:linear-gradient(162deg,#163a21 0%,#0f2719 52%,#0b1c12 100%);animation:menuIn .3s ease both;}
  body.menu-open .navlinks a:not(.btn){display:block;width:100%;font-family:"Fraunces",Georgia,serif;font-size:30px;font-weight:500;color:#f3f1ea;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);text-shadow:none;}
  body.menu-open .navlinks a:not(.btn):hover{color:#fff;}
  body.menu-open .navlinks .btn.ghost{margin-top:28px;color:#fff;border-color:rgba(255,255,255,.7);font-size:16px;padding:12px 26px;}
  body.menu-open nav{background:transparent;border-color:transparent;backdrop-filter:none;}
  body.menu-open .brandlock{position:relative;z-index:102;}
  body.menu-open nav .navlogo.dark{display:none;}
  body.menu-open nav .navlogo.light{display:block;}
  body.menu-open{overflow:hidden;}
}

/* HERO — sistema de diseño (aurora) */
.hero{position:relative;min-height:clamp(640px,93vh,920px);display:flex;align-items:center;overflow:hidden;margin-top:-74px;background:var(--dark);}
.hero-content{display:grid;grid-template-columns:1.5fr 1fr;gap:46px;align-items:center;}
@media(max-width:900px){.hero-content{grid-template-columns:1fr;gap:28px;}}
.hero-dato{border-left:1px solid rgba(255,255,255,.14);padding-left:36px;}
@media(max-width:900px){.hero-dato{border-left:none;border-top:1px solid rgba(255,255,255,.14);padding:26px 0 0;}}
.dato-fila{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.nino{width:56px;height:56px;border-radius:50%;border:1.5px solid rgba(172,204,136,.45);background:rgba(172,204,136,.08);display:grid;place-items:center;opacity:0;transform:scale(.3);}
.nino svg{width:30px;height:30px;stroke:var(--tint);fill:none;stroke-width:2;stroke-linecap:round;}
.nino.on{border-color:var(--terra-2);background:rgba(194,112,61,.22);}
.nino.on svg{stroke:#e8a06a;}
.hero .nino{animation:ninoPop .55s cubic-bezier(.34,1.56,.64,1) forwards,ninoBob 4.5s ease-in-out infinite;}
.hero .nino:nth-child(1){animation-delay:.7s,1.3s;}
.hero .nino:nth-child(2){animation-delay:.85s,2.1s;}
.hero .nino:nth-child(3){animation-delay:1s,.5s;}
.hero .nino:nth-child(4){animation-delay:1.15s,2.9s;}
.hero .nino:nth-child(5){animation-delay:1.3s,1.7s;}
.hero .nino.on{animation:ninoPop .55s .7s cubic-bezier(.34,1.56,.64,1) forwards,ninoBob 4.5s 1.3s ease-in-out infinite,ninoGlow 3s 1.9s ease-in-out infinite;}
@keyframes ninoPop{to{opacity:1;transform:scale(1);}}
@keyframes ninoBob{0%,100%{translate:0 0;}50%{translate:0 -5px;}}
@keyframes ninoGlow{0%,100%{box-shadow:0 0 0 0 rgba(212,136,79,0);}50%{box-shadow:0 0 22px 6px rgba(212,136,79,.5);}}
.dato-n{font-family:"Fraunces",serif;font-size:clamp(22px,2.4vw,28px);font-weight:600;color:#fff;}
.dato-d{font-size:13.5px;color:rgba(255,255,255,.72);line-height:1.5;max-width:26ch;margin-top:6px;}
.hero-glow{position:absolute;inset:0;z-index:1;background:radial-gradient(60% 70% at 22% 60%, rgba(8,20,12,.45), transparent 70%);}
.hero-content{position:relative;z-index:3;padding:120px 32px 96px;width:100%;}
.hero-eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tint);margin-bottom:24px;display:flex;align-items:center;gap:9px;}
.hero-eyebrow .lf{color:var(--tint);}
h1.hero-t{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(40px,5.6vw,72px);line-height:1.0;letter-spacing:-.024em;max-width:16ch;margin-bottom:26px;color:#fff;}
.hero-sub{font-size:clamp(16px,1.55vw,20px);line-height:1.55;color:rgba(255,255,255,.9);max-width:54ch;margin-bottom:36px;}
.hero-sub .count{font-family:"Fraunces",serif;font-weight:600;font-style:italic;color:var(--brand);font-size:1.18em;}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.hero-cta .link{font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:7px;}
.btn-light{background:#fff;color:var(--forest);}
.btn-light:hover{background:var(--paper);color:var(--forest);transform:translateY(-1px);}
.link-light{color:#fff;}
.hero-rule{margin-top:46px;display:flex;align-items:center;gap:22px;max-width:560px;}
.hero-rule .ln{flex:1;height:1px;background:rgba(255,255,255,.18);}
.hero-rule span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.scroller{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;}
.scroller .mouse{width:22px;height:34px;border:1.5px solid rgba(255,255,255,.5);border-radius:12px;position:relative;display:block;}
.scroller .mouse::after{content:"";position:absolute;left:50%;top:6px;transform:translateX(-50%);width:3px;height:6px;border-radius:3px;background:#fff;animation:wheel 1.6s ease-in-out infinite;}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0);}40%{opacity:1;}100%{opacity:0;transform:translate(-50%,9px);}}
.rv{opacity:0;transform:translateY(20px);animation:rise 1s cubic-bezier(.2,.7,.3,1) forwards;}
@keyframes rise{to{opacity:1;transform:none;}}
.d1{animation-delay:.10s;}.d2{animation-delay:.24s;}.d3{animation-delay:.40s;}.d4{animation-delay:.54s;}

/* page hero (interiores) */
.pagehero{position:relative;overflow:hidden;background:var(--dark);margin-top:-74px;display:flex;align-items:flex-end;min-height:clamp(360px,48vh,480px);padding:150px 0 60px;}
.pagehero .wrap{position:relative;z-index:3;}
.pagehero-motif{position:absolute;right:-70px;top:50%;transform:translateY(-50%);width:520px;max-width:55%;opacity:.10;z-index:1;}
.crumb{font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.6);margin-bottom:18px;}
.crumb a{color:rgba(255,255,255,.82);}
.crumb a:hover{color:#fff;}
.pagehero-t{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.022em;color:#fff;}
.pagehero-sub{margin-top:18px;font-size:clamp(15px,1.5vw,19px);line-height:1.5;color:rgba(255,255,255,.9);max-width:58ch;}

/* sections */
section.blk{padding:104px 0;}
.page-blk{padding:88px 0;}
.sec-head{margin-bottom:28px;}
.kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin-bottom:16px;display:flex;align-items:center;gap:9px;}
.kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);flex:none;}
.sec-h{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.018em;max-width:20ch;color:var(--forest);}
.sec-p{font-size:17.5px;color:var(--ink-soft);max-width:62ch;margin-bottom:15px;}
.sec-p strong{color:var(--forest);font-weight:600;}
.lead-p{font-size:18px;color:var(--ink-soft);max-width:64ch;margin-bottom:18px;}

/* en desarrollo */
.wip{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--terra);background:#fbeee4;border:1px solid #eccdb5;padding:5px 12px;border-radius:30px;}
.wip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--terra);}
.note-box{margin-top:20px;background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--tint);border-radius:0 12px 12px 0;padding:16px 18px;font-size:14.5px;color:var(--ink-soft);max-width:64ch;}
.note-box b{color:var(--forest);}

/* tarjetas de opción / acción */
.opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:28px;}
.opt-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 12px 30px -26px rgba(30,74,42,.3);transition:transform .25s,box-shadow .25s,border-color .25s;}
.opt-card:hover{transform:translateY(-3px);box-shadow:0 24px 48px -26px rgba(30,74,42,.45);border-color:var(--tint);}
.opt-card .ic{width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#fff,#f1ece0);border:1px solid var(--line);display:grid;place-items:center;margin-bottom:18px;}
.opt-card .ic svg{width:30px;height:31px;}
.opt-card h3{font-family:"Fraunces",serif;font-weight:600;font-size:22px;color:var(--forest);margin-bottom:10px;}
.opt-card p{font-size:15px;color:var(--ink-soft);margin-bottom:18px;}
.opt-card .go{margin-top:auto;font-weight:600;font-size:14px;color:var(--foliage);display:inline-flex;align-items:center;gap:6px;}
.opt-card:hover .go{color:var(--forest);}

/* bloque destacado (sección con marca de agua) */
.feature{position:relative;overflow:hidden;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.feature .wm-leaf{position:absolute;right:0;top:0;bottom:0;width:34%;background:linear-gradient(270deg,rgba(172,204,136,.18),transparent 75%);animation:colluz 9s ease-in-out infinite;z-index:0;pointer-events:none;}
.feature .wrap{position:relative;z-index:1;}

/* legal / prosa */
.legal{max-width:780px;}
.legal h3{font-family:"Fraunces",serif;font-weight:600;font-size:20px;color:var(--forest);margin:32px 0 10px;}
.legal p{font-size:15.5px;color:var(--ink-soft);margin-bottom:12px;}
.legal ul{margin:0 0 14px 22px;color:var(--ink-soft);font-size:15.5px;}
.legal li{margin-bottom:6px;}

/* lista de documentos (informe) */
.docs{display:grid;gap:12px;margin-top:26px;max-width:620px;}
.doc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:18px 22px;}
.doc-row .yr{font-family:"Fraunces",serif;font-weight:600;color:var(--forest);font-size:18px;}
.doc-row .st{font-size:12px;color:var(--ink-soft);}

/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
.reveal.delay{transition-delay:.12s;}

/* quiénes somos con logo de marca de agua */
#quienes{position:relative;overflow:hidden;}
#quienes .logo-wm{position:absolute;right:36px;top:50%;transform:translateY(-50%);width:420px;max-width:42%;opacity:.06;z-index:0;pointer-events:none;filter:grayscale(1);}
#quienes .wrap{position:relative;z-index:1;}

/* qué hacemos — banda tecnológica */
.band{position:relative;overflow:hidden;}
.techband{min-height:clamp(440px,58vh,580px);display:flex;align-items:center;background:#0e2316;}
.techband .bcurvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.5;}
.techband .bveil{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(8,20,12,.58),rgba(8,20,12,.06) 62%);}
.techband::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;z-index:2;background:linear-gradient(to bottom,rgba(14,35,22,0),var(--paper));pointer-events:none;}
.techband .band-content{position:relative;z-index:3;width:100%;}
.techband .kicker{color:var(--tint);}
.techband .band-h{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(30px,4.6vw,52px);line-height:1.05;letter-spacing:-.02em;color:#fff;max-width:18ch;text-shadow:0 2px 30px rgba(8,20,12,.5);}

/* qué hacemos — tarjetas */
.trabajo{background:var(--paper);}
.lineas{display:grid;gap:18px;margin-top:10px;}
.linea{display:grid;grid-template-columns:auto 1fr;gap:28px;padding:32px 34px;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px -26px rgba(30,74,42,.30);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.linea:hover{transform:translateY(-3px);box-shadow:0 24px 48px -26px rgba(30,74,42,.48);border-color:var(--tint);}
.linea .mk{width:62px;height:62px;flex-shrink:0;border-radius:50%;background:radial-gradient(circle at 50% 38%, #ffffff, #f1ece0);border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 8px 20px -12px rgba(30,74,42,.4);}
.linea .mk svg{width:34px;height:35px;}
.linea .mk svg.mk-ic{width:32px;height:32px;stroke:var(--forest-2);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.linea .lk{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:9px;}
.linea h3{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(22px,2.6vw,28px);color:var(--forest);margin-bottom:14px;letter-spacing:-.01em;}
.honest{margin-top:18px;font-size:14.5px;color:var(--ink-soft);display:flex;gap:11px;align-items:flex-start;max-width:64ch;background:var(--paper);border:1px solid var(--line);border-radius:0 12px 12px 0;border-left:3px solid var(--tint);padding:14px 17px;}
.honest .lf{color:var(--foliage);margin-top:3px;flex-shrink:0;}
.honest b{color:var(--forest);font-weight:600;}
@media(max-width:680px){.linea{grid-template-columns:1fr;gap:14px;}}

/* marco — sección clara con marca de agua de hojas */
.marco-sec{position:relative;overflow:hidden;background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.marco-sec .marco-wm{position:absolute;right:0;top:0;bottom:0;width:34%;background:linear-gradient(270deg,rgba(172,204,136,.20),transparent 75%);animation:colluz 9s ease-in-out infinite;z-index:0;pointer-events:none;}
@keyframes colluz{0%,100%{opacity:.55;}50%{opacity:.9;}}
.marco-sec .wrap{position:relative;z-index:1;}
.marco-sec .intro{font-size:17.5px;color:var(--ink-soft);max-width:66ch;margin-bottom:40px;}
.frame-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
@media(max-width:760px){.frame-cols{grid-template-columns:1fr;gap:30px;}}
.lvl{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--foliage);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.lvl::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--brand);flex:none;}
.ods-fila{display:flex;gap:36px;flex-wrap:wrap;}
.ods .n{font-family:"Fraunces",serif;font-style:italic;font-weight:600;font-size:clamp(40px,4.6vw,54px);color:var(--forest);line-height:1;}
.ods .n.terra{color:var(--terra);}
.ods .l{font-size:13px;color:var(--ink-soft);margin-top:7px;max-width:16ch;line-height:1.4;}
.frame-nac{border-left:1px solid var(--line);padding-left:36px;}
@media(max-width:760px){.frame-nac{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:24px;}}
.chips{display:flex;gap:12px;flex-wrap:wrap;}
.chip{display:flex;flex-direction:column;gap:3px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:15px 18px;box-shadow:0 10px 26px -24px rgba(30,74,42,.4);transition:transform .2s,border-color .2s;}
.chip:hover{transform:translateY(-2px);border-color:var(--tint);}
.chip b{font-family:"Fraunces",serif;font-size:15px;color:var(--forest);font-weight:600;}
.chip span{font-size:12px;color:var(--ink-soft);}
.frame-note{font-size:13.5px;color:var(--ink-soft);margin-top:32px;max-width:72ch;border-left:3px solid var(--tint);padding-left:14px;}

/* timeline — zigzag vertical que se dibuja al entrar en vista */
.timeline-sec{background:var(--paper);}
.tlz{position:relative;margin-top:44px;display:flex;flex-direction:column;gap:18px;}
.tlz::before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:2px;margin-left:-1px;background:var(--tint);transform:scaleY(0);transform-origin:top;transition:transform 1.6s cubic-bezier(.2,.7,.3,1);}
.tlz.in::before{transform:scaleY(1);}
.tlz .hito{position:relative;display:flex;}
.tlz .hito:nth-child(even){justify-content:flex-end;}
.tlz .hito::before{content:"";position:absolute;left:50%;top:16px;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:var(--brand);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--tint);z-index:1;}
.tlz .tarj{width:46%;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:0 12px 30px -26px rgba(30,74,42,.3);opacity:0;transform:translateX(-24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1),box-shadow .25s,border-color .25s;}
.tlz .hito:nth-child(even) .tarj{transform:translateX(24px);}
.tlz.in .tarj,.tlz.in .hito:nth-child(even) .tarj{opacity:1;transform:none;}
.tlz.in .hito:nth-child(1) .tarj{transition-delay:.15s;}
.tlz.in .hito:nth-child(2) .tarj{transition-delay:.4s;}
.tlz.in .hito:nth-child(3) .tarj{transition-delay:.65s;}
.tlz.in .hito:nth-child(4) .tarj{transition-delay:.9s;}
.tlz.in .hito:nth-child(5) .tarj{transition-delay:1.15s;}
.tlz .tarj:hover{border-color:var(--tint);box-shadow:0 24px 48px -26px rgba(30,74,42,.45);}
.tlz .yr{font-family:"Fraunces",serif;font-weight:600;font-size:22px;color:var(--forest);}
.tlz .yr span{font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:13.5px;font-weight:700;color:var(--ink);}
.tlz .dd{font-size:13px;color:var(--ink-soft);margin-top:5px;line-height:1.5;}
@media(max-width:700px){
  .tlz::before{left:8px;margin-left:0;}
  .tlz .hito::before{left:8px;transform:none;margin-left:-6px;}
  .tlz .hito,.tlz .hito:nth-child(even){justify-content:flex-start;}
  .tlz .tarj{width:100%;margin-left:26px;}
}

/* cinta de líneas de trabajo (marquesina) */
.cinta{overflow:hidden;background:var(--forest);padding:11px 0;}
.cinta-rw{display:inline-flex;white-space:nowrap;animation:cinta 26s linear infinite;}
.cinta:hover .cinta-rw{animation-play-state:paused;}
.cinta-set{display:inline-flex;gap:46px;padding-right:46px;}
.cinta a{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#cfe0c2;transition:color .2s;}
.cinta a::after{content:"→";color:var(--brand);}
.cinta a:hover{color:#fff;}
@keyframes cinta{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* divisor minimal: línea con punto verde */
.leaf-div{display:flex;align-items:center;gap:18px;max-width:1180px;margin:0 auto;padding:0 32px;}
.leaf-div .ln{flex:1;height:1px;background:var(--line);}
.leaf-div .dot{width:7px;height:7px;border-radius:50%;background:var(--brand);flex:none;}

.resp-chips{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}

/* transparencia — sello SAT verificable + placas de alianzas */
.sat-chip{display:inline-flex;align-items:center;gap:9px;background:#eef4e4;border:1px solid var(--tint);border-radius:30px;padding:10px 18px;font-size:13.5px;font-weight:600;color:var(--forest-2);margin:6px 0 18px;transition:transform .2s,box-shadow .2s,border-color .2s;}
.sat-chip:hover{transform:translateY(-2px);border-color:var(--foliage);box-shadow:0 12px 24px -18px rgba(30,74,42,.5);}
.sat-chip .ver{color:var(--foliage);font-weight:700;}
.alianzas-t{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:6px 0 10px;}
.alianzas{display:flex;gap:12px;flex-wrap:wrap;}
.alianza{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;flex-direction:column;gap:3px;min-width:200px;flex:1;transition:transform .2s,border-color .2s;}
.alianza:hover{transform:translateY(-2px);border-color:var(--tint);}
.alianza .rel{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);}
.alianza b{font-family:"Fraunces",serif;font-size:15px;color:var(--forest);font-weight:600;}
.alianza .det{font-size:12px;color:var(--ink-soft);}
.reveal.d2{transition-delay:.24s;}
.reveal.d3{transition-delay:.36s;}
.contacto{position:relative;overflow:hidden;background:var(--paper-2);border-top:1px solid var(--line);}
.contacto .c-glow{position:absolute;right:-40px;top:-70px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(172,204,136,.22),transparent 65%);pointer-events:none;z-index:0;}
.contacto .wrap{position:relative;z-index:1;}
.contacto .mail{font-family:"Fraunces",serif;font-size:18px;color:var(--forest);font-weight:500;}

/* footer */
footer{background:var(--forest);color:#bccfb7;padding:64px 0 34px;position:relative;overflow:hidden;}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--foliage),var(--brand) 40%,var(--tint));}
.fbase{position:relative;z-index:1;max-width:1180px;margin:26px auto 0;padding:14px 32px 0;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:#9fb89a;}
.fbase a{color:#bccfb7;transition:color .2s;}
.fbase a:hover{color:#fff;}
footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;position:relative;z-index:1;}
footer .fbrand{max-width:330px;}
footer .fbrand .flogo{height:78px;width:auto;display:block;margin-bottom:18px;}
footer .fbrand p{font-size:13px;color:#aec5a9;}
footer .fcol b{font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--tint);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:11px;}
footer .fcol a{display:block;color:#bccfb7;margin-bottom:7px;font-size:13.5px;transition:color .2s;}
footer .fcol a:hover{color:#fff;}
.fbrand .fmail{font-size:13px;margin-top:12px;}
.fbrand .fmail a{color:#cfe0c2;}
.fbrand .fmail a:hover{color:#fff;}
.social{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;}
.social a{font-size:13px;font-weight:600;color:var(--foliage);display:inline-flex;align-items:center;gap:6px;transition:color .2s;}
.social a:hover{color:var(--forest);}
footer .social a{color:#bccfb7;font-weight:400;}
footer .social a:hover{color:#fff;}
.contacto .social a{color:var(--foliage);}

/* iconos de contacto / redes (footer) */
.iconlink{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:#cfe0c2;margin-top:14px;}
.iconlink:hover{color:#fff;}
.iconlink .ico{display:inline-flex;color:var(--brand);}
.socialicons{display:flex;gap:10px;margin-top:14px;}
.socialicons a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#cfe0c2;transition:background .2s,color .2s,border-color .2s;}
.socialicons a:hover{background:#fff;color:var(--forest);border-color:#fff;}

/* formularios */
.form{max-width:580px;margin-top:28px;display:grid;gap:16px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:560px){.grid2{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:7px;}
.form label{font-size:13px;font-weight:600;color:var(--forest);}
.form input,.form textarea,.form select{font-family:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;width:100%;transition:border-color .2s,box-shadow .2s;}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--foliage);box-shadow:0 0 0 3px rgba(128,176,72,.18);}
.form textarea{min-height:130px;resize:vertical;}
.form .actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px;}
.form .actions button{cursor:pointer;}
.fineprint{font-size:12px;color:var(--ink-soft);max-width:44ch;}
.form-ok{margin-top:14px;font-size:14px;color:var(--forest);font-weight:600;display:none;}
.form-ok.show{display:block;}
.form-ok.err{color:var(--terra);}

/* cursor aro + punto (zonas oscuras) */
.cur-dot{position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;background:var(--brand);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:0;transition:opacity .25s;}
.cur-ring{position:fixed;top:0;left:0;width:34px;height:34px;border:1.5px solid var(--tint);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:0;transition:opacity .25s,width .25s ease,height .25s ease,border-color .25s;}
.cur-ring.grow{width:58px;height:58px;border-color:var(--brand);}

@media(prefers-reduced-motion:reduce){
  .rv,.reveal{animation:none;opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  .scroller .mouse::after{animation:none;}
  .fx-aurora{animation:none;}
  .cinta-rw{animation:none;}
  .tlz::before{transform:scaleY(1);transition:none;}
  .tlz .tarj{opacity:1;transform:none;transition:none;}
  .hero .nino,.hero .nino.on{animation:none;opacity:1;transform:none;}
  .marco-wm,.feature .wm-leaf{animation:none;}
}
