/*
Theme Name: DICIENTS
Theme URI: https://dicients.org
Author: Red DICIENTS
Description: Tema oficial DICIENTS - Red de Diplomacia Científica
Version: 1.0.0
*/

:root {
  --ink:#08101E;--blue:#1E5FCC;--blue-lt:#4B87F5;--teal:#14A897;--teal-lt:#3ECFC4;--cyan:#7EEAE2;
  --t1:#F2F5FF;--t2:#9BAABF;--t3:#56677F;
  --s0:#080F1C;--s1:#0D1829;--s2:#121F34;--s3:#182840;
  --font-d:'Cormorant Garamond',Georgia,serif;
  --font-b:'DM Sans',system-ui,sans-serif;
  --font-m:'DM Mono',monospace;
  --nav-h:70px;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --spring:cubic-bezier(0.34,1.56,0.64,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-b);color:var(--t1);background:var(--s0);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--blue);color:#fff;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--s0);}
::-webkit-scrollbar-thumb{background:var(--s3);border-radius:3px;}

body::after{content:'';position:fixed;inset:0;z-index:999;pointer-events:none;opacity:0.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

#cur-dot{position:fixed;width:7px;height:7px;border-radius:50%;background:var(--teal-lt);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:background .2s;}
#cur-ring{position:fixed;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(62,207,196,.45);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),border-color .25s;}
body.ch #cur-ring{width:52px;height:52px;border-color:rgba(62,207,196,.75);background:rgba(62,207,196,.05);}
@media(max-width:720px){#cur-dot,#cur-ring{display:none;}}

#nav{position:fixed;top:0;left:0;right:0;z-index:800;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.5rem,5vw,4rem);transition:background .4s,box-shadow .4s;}
#nav.solid{background:rgba(8,15,28,.93);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(255,255,255,.05),0 4px 24px rgba(0,0,0,.35);}
.nav-logo{display:flex;align-items:center;gap:12px;}
.nav-mark svg{width:36px;height:36px;animation:breathe 4s ease-in-out infinite;}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.nav-wm{font-family:var(--font-b);font-weight:700;font-size:1.1rem;letter-spacing:.1em;background:linear-gradient(135deg,var(--blue-lt),var(--teal-lt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.nav-sub{font-family:var(--font-m);font-size:.58rem;letter-spacing:.12em;color:var(--t3);text-transform:uppercase;-webkit-text-fill-color:var(--t3);display:block;}
.nav-links{display:flex;align-items:center;gap:2.5rem;}
.nav-lk{font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--t2);position:relative;padding:4px 0;transition:color .25s;}
.nav-lk::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--teal-lt);transition:width .3s var(--ease);}
.nav-lk:hover{color:var(--t1);}
.nav-lk:hover::after{width:100%;}
.nav-cta{font-size:.8rem;font-weight:700;letter-spacing:.06em;padding:.6rem 1.5rem;border-radius:100px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;border:none;cursor:pointer;transition:transform .3s var(--spring),box-shadow .3s;box-shadow:0 4px 20px rgba(30,95,204,.4);position:relative;overflow:hidden;}
.nav-cta::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent);opacity:0;transition:opacity .2s;}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(30,95,204,.55);}
.nav-cta:hover::before{opacity:1;}
.ham{display:none;background:none;border:none;color:var(--t1);cursor:pointer;padding:6px;}
.mob-nav{display:none;flex-direction:column;position:fixed;top:var(--nav-h);left:0;right:0;z-index:750;background:rgba(8,15,28,.97);backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.06);padding:1rem clamp(1.5rem,5vw,4rem) 2rem;}
.mob-nav.open{display:flex;}
.mob-nav a{padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:1rem;font-weight:500;color:var(--t2);}
@media(max-width:720px){.nav-links{display:none;}.ham{display:block;}}

#hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:calc(var(--nav-h) + 4rem) clamp(1.5rem,5vw,4rem) 5rem;overflow:hidden;}
#globe-canvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  pointer-events: none;
}
#globe-canvas.rdy{opacity:1;}
.hero-ov{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 65% 90% at 15% 50%,rgba(8,15,28,.9) 25%,transparent 70%),radial-gradient(ellipse 40% 60% at 82% 50%,rgba(8,15,28,.25) 0%,transparent 65%),linear-gradient(to bottom,rgba(8,15,28,.5) 0%,transparent 18%,transparent 82%,var(--s0) 100%);}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.hero-eyebrow{display:flex;align-items:center;gap:10px;font-family:var(--font-m);font-size:.68rem;color:var(--teal-lt);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.75rem;}
.eyebrow-line{width:28px;height:1px;background:var(--teal-lt);}
.eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--teal-lt);animation:breathe 2s ease-in-out infinite;}
.hero-h1{font-family:var(--font-d);font-size:clamp(3rem,6.5vw,5.2rem);font-weight:600;line-height:1.06;letter-spacing:-.02em;color:var(--t1);margin-bottom:1.75rem;}
.hero-h1 .acc{font-style:italic;font-weight:300;background:linear-gradient(135deg,var(--blue-lt),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-desc{font-size:1.05rem;line-height:1.8;color:var(--t2);max-width:480px;margin-bottom:2.5rem;font-weight:300;}
.hero-acts{display:flex;gap:1rem;flex-wrap:wrap;}
.btn-p{display:inline-flex;align-items:center;gap:8px;padding:.9rem 2rem;border-radius:100px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:600;font-size:.88rem;font-family:var(--font-b);border:none;cursor:pointer;transition:transform .3s var(--spring),box-shadow .3s;box-shadow:0 8px 28px rgba(30,95,204,.4);letter-spacing:.03em;position:relative;overflow:hidden;}
.btn-p::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translateX(-100%);transition:transform .5s;}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 14px 42px rgba(30,95,204,.55);}
.btn-p:hover::after{transform:translateX(100%);}
.btn-p .arr{transition:transform .2s var(--ease);}
.btn-p:hover .arr{transform:translateX(4px);}
.btn-g{display:inline-flex;align-items:center;gap:8px;padding:.9rem 2rem;border-radius:100px;border:1px solid rgba(62,207,196,.3);color:var(--teal-lt);font-size:.88rem;font-weight:500;font-family:var(--font-b);background:rgba(62,207,196,.04);cursor:pointer;transition:all .3s;}
.btn-g:hover{border-color:rgba(62,207,196,.7);background:rgba(62,207,196,.1);transform:translateY(-2px);}
.hero-stats{margin-top:3rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.07);display:flex;gap:3rem;flex-wrap:wrap;}
.sn{font-family:var(--font-d);font-size:2.8rem;font-weight:700;line-height:1;background:linear-gradient(135deg,var(--blue-lt),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sl{font-family:var(--font-m);font-size:.65rem;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;}
.hero-right{display:flex;flex-direction:column;gap:1rem;}
.kpi{background:rgba(18,31,52,.7);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.25rem;transition:transform .3s var(--ease),border-color .25s;}
.kpi:hover{transform:translateX(5px);border-color:rgba(62,207,196,.25);}
.kpi-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;font-size:1.3rem;}
.kpi:nth-child(1) .kpi-ico{background:rgba(30,95,204,.2);}
.kpi:nth-child(2) .kpi-ico{background:rgba(20,168,151,.2);}
.kpi:nth-child(3) .kpi-ico{background:rgba(155,108,232,.2);}
.kpi-lbl{font-family:var(--font-m);font-size:.65rem;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2px;}
.kpi-val{font-size:1.05rem;font-weight:600;color:var(--t1);}
.scue{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-m);font-size:.62rem;color:var(--t3);letter-spacing:.15em;text-transform:uppercase;animation:sbounce 2.5s ease-in-out infinite;}
@keyframes sbounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
@media(max-width:1024px){.hero-inner{grid-template-columns:1fr;gap:2.5rem;}.hero-right{display:none;}}

section{padding:7rem clamp(1.5rem,5vw,4rem);position:relative;}
.si{max-width:1200px;margin:0 auto;}
.slbl{display:flex;align-items:center;gap:10px;margin-bottom:1rem;font-family:var(--font-m);font-size:.68rem;color:var(--teal-lt);letter-spacing:.18em;text-transform:uppercase;}
.slbl::before{content:'';width:24px;height:1px;background:var(--teal-lt);}
.sh2{font-family:var(--font-d);font-size:clamp(2.1rem,4vw,3.3rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;color:var(--t1);margin-bottom:1.25rem;}
.sh2 em{font-style:italic;font-weight:300;color:var(--teal-lt);}
.slead{font-size:1rem;color:var(--t2);line-height:1.8;max-width:560px;font-weight:300;}

.rv{opacity:0;transform:translateY(32px);transition:opacity .75s var(--ease),transform .75s var(--ease);}
.rv.on{opacity:1;transform:none;}
.rvl{opacity:0;transform:translateX(-28px);transition:opacity .75s var(--ease),transform .75s var(--ease);}
.rvl.on{opacity:1;transform:none;}
.rvr{opacity:0;transform:translateX(28px);transition:opacity .75s var(--ease),transform .75s var(--ease);}
.rvr.on{opacity:1;transform:none;}

#pillars{background:var(--s0);overflow:hidden;}
#pillars::before{content:'';position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(30,95,204,.05),transparent 70%);top:-200px;right:-150px;pointer-events:none;}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem;}
.pc{position:relative;border-radius:20px;border:1px solid rgba(255,255,255,.06);background:rgba(18,31,52,.55);backdrop-filter:blur(14px);padding:2.5rem 2rem;overflow:hidden;transition:transform .55s var(--ease),border-color .3s,box-shadow .3s;}
.pc:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.12);box-shadow:0 24px 56px rgba(0,0,0,.4);}
.pc::before{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 55%);opacity:0;transition:opacity .3s;}
.pc:hover::before{opacity:1;}
.pc::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.pc:hover::after{transform:scaleX(1);}
.pc-n::after{background:linear-gradient(90deg,var(--blue),var(--blue-lt));}
.pc-t::after{background:linear-gradient(90deg,var(--teal),var(--teal-lt));}
.pc-s::after{background:linear-gradient(90deg,#9B6CE8,#C4A0FF);}
.pnum{font-family:var(--font-d);font-size:4.5rem;font-weight:700;line-height:1;position:absolute;top:1rem;right:1.5rem;opacity:.05;pointer-events:none;}
.pico{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;font-size:1.4rem;margin-bottom:1.5rem;}
.pc-n .pico{background:rgba(30,95,204,.18);}
.pc-t .pico{background:rgba(20,168,151,.18);}
.pc-s .pico{background:rgba(155,108,232,.18);}
.ptitle{font-size:1.1rem;font-weight:600;margin-bottom:.75rem;}
.pc-n .ptitle{color:var(--blue-lt);}
.pc-t .ptitle{color:var(--teal-lt);}
.pc-s .ptitle{color:#C4A0FF;}
.pbody{font-size:.875rem;color:var(--t2);line-height:1.75;font-weight:300;}
@media(max-width:900px){.pgrid{grid-template-columns:1fr;}}

#mission{background:var(--s1);overflow:hidden;}
#mission::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(30,95,204,.06),transparent 70%);top:-150px;right:-100px;pointer-events:none;}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:5.5rem;align-items:center;margin-top:4rem;}
.mquote{font-family:var(--font-d);font-style:italic;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:300;line-height:1.55;color:var(--t1);padding-left:2rem;border-left:2px solid var(--teal-lt);margin-bottom:2rem;}
.mquote strong{font-style:normal;font-weight:600;color:var(--teal-lt);}
.mbody{font-size:.92rem;color:var(--t2);line-height:1.85;font-weight:300;}
.mbody+.mbody{margin-top:1rem;}
.dlist{list-style:none;margin-top:2rem;display:flex;flex-direction:column;gap:.7rem;}
.di{display:flex;gap:14px;align-items:flex-start;padding:1rem 1.25rem;border-radius:12px;background:rgba(24,40,64,.6);border:1px solid rgba(255,255,255,.05);font-size:.875rem;line-height:1.6;color:var(--t2);transition:border-color .3s,transform .3s;}
.di:hover{border-color:rgba(20,168,151,.3);transform:translateX(4px);}
.ddot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.di strong{color:var(--t1);}
.gcard{background:rgba(18,31,52,.6);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:2rem;overflow:hidden;}
.gcl{font-family:var(--font-m);font-size:.65rem;color:var(--t3);text-transform:uppercase;letter-spacing:.14em;margin-bottom:1.25rem;}
.gtags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;}
.gtag{font-family:var(--font-m);font-size:.65rem;padding:4px 12px;border-radius:100px;background:rgba(30,95,204,.14);color:var(--blue-lt);border:1px solid rgba(30,95,204,.24);transition:all .2s;}
.gtag:hover{background:rgba(30,95,204,.28);border-color:rgba(30,95,204,.5);}
@media(max-width:900px){.mgrid{grid-template-columns:1fr;gap:3rem;}}

#members{background:var(--s0);overflow:hidden;}
#members::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 90% 50% at 50% 0%,rgba(30,95,204,.07),transparent 65%);}
.mctrl{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;margin:3rem 0 1.5rem;}
.fpills{display:flex;gap:.5rem;flex-wrap:wrap;}
.fp{font-family:var(--font-m);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1.1rem;border-radius:100px;border:1px solid rgba(255,255,255,.1);color:var(--t3);background:transparent;cursor:pointer;transition:all .25s;}
.fp:hover{color:var(--teal-lt);border-color:rgba(62,207,196,.4);}
.fp.on{color:var(--teal-lt);border-color:var(--teal-lt);background:rgba(20,168,151,.1);box-shadow:0 0 18px rgba(20,168,151,.14);}
.vbtns{display:flex;gap:6px;}
.vb{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--s2);border:1px solid rgba(255,255,255,.07);cursor:pointer;color:var(--t3);transition:all .2s;}
.vb.on,.vb:hover{background:rgba(30,95,204,.2);border-color:rgba(30,95,204,.5);color:var(--blue-lt);}
.mtally{font-family:var(--font-m);font-size:.65rem;color:var(--t3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:2rem;}
#netc{width:100%;height:500px;border-radius:20px;background:var(--s1);border:1px solid rgba(255,255,255,.05);display:none;cursor:crosshair;margin-bottom:2rem;}
#netc.show{display:block;}
.mgr{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));gap:1.25rem;}
.mc{background:rgba(18,31,52,.6);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:1.75rem;cursor:pointer;position:relative;overflow:hidden;transition:transform .5s var(--ease),border-color .3s,box-shadow .3s;}
.mc::before{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(135deg,rgba(30,95,204,.08),rgba(20,168,151,.05));opacity:0;transition:opacity .3s;}
.mc:hover{transform:translateY(-5px);border-color:rgba(62,207,196,.22);box-shadow:0 16px 48px rgba(0,0,0,.35);}
.mc:hover::before{opacity:1;}
.mctop{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;position:relative;z-index:1;}
.mav{width:52px;height:52px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-family:var(--font-d);font-weight:700;font-size:1rem;color:#fff;position:relative;}
.mav img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.mring{position:absolute;inset:-2px;border-radius:50%;opacity:0;background:conic-gradient(from 0deg,var(--blue-lt),var(--teal-lt),var(--blue-lt));animation:spin 3s linear infinite;padding:2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;}
@keyframes spin{to{transform:rotate(360deg)}}
.mc:hover .mring{opacity:1;}
.mname{font-weight:600;font-size:.95rem;line-height:1.3;color:var(--t1);}
.mloc{font-family:var(--font-m);font-size:.62rem;color:var(--t3);margin-top:3px;text-transform:uppercase;letter-spacing:.08em;}
.mbio{font-size:.82rem;color:var(--t2);line-height:1.7;margin-bottom:1rem;font-weight:300;position:relative;z-index:1;}
.mtr{display:flex;gap:5px;flex-wrap:wrap;position:relative;z-index:1;}
.mtag{font-family:var(--font-m);font-size:.6rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:100px;background:rgba(255,255,255,.05);color:var(--t3);border:1px solid rgba(255,255,255,.07);}
.mtag.Neurociencia{background:rgba(30,95,204,.15);color:var(--blue-lt);border-color:rgba(30,95,204,.25);}
.mtag.Diplomacia{background:rgba(20,168,151,.15);color:var(--teal-lt);border-color:rgba(20,168,151,.25);}
.mtag.Tecnologia{background:rgba(155,108,232,.15);color:#C4A0FF;border-color:rgba(155,108,232,.25);}
.mtag.Psicologia{background:rgba(232,144,74,.15);color:#F0A870;border-color:rgba(232,144,74,.25);}
.mtag.Educacion{background:rgba(84,200,124,.15);color:#80D8A0;border-color:rgba(84,200,124,.25);}
.mtag.Derecho{background:rgba(222,85,117,.15);color:#F0809C;border-color:rgba(222,85,117,.25);}
.mtag.Politica{background:rgba(242,203,82,.15);color:#F8D870;border-color:rgba(242,203,82,.25);}
.marr{position:absolute;bottom:1.5rem;right:1.5rem;z-index:1;color:var(--teal-lt);font-size:1rem;opacity:0;transform:translate(-5px,5px);transition:opacity .3s,transform .3s var(--ease);}
.mc:hover .marr{opacity:1;transform:translate(0,0);}
@media(max-width:600px){.mgr{grid-template-columns:1fr;}}

#projects{background:var(--s1);}
.proj-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:4rem;}
.pcard{border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:2rem;background:rgba(18,31,52,.55);position:relative;overflow:hidden;cursor:pointer;transition:transform .5s var(--ease),border-color .3s,box-shadow .3s;}
.pcard:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.1);box-shadow:0 20px 52px rgba(0,0,0,.4);}
.pbar{position:absolute;top:0;left:0;right:0;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);}
.pcard:hover .pbar{transform:scaleX(1);}
.pn .pbar{background:linear-gradient(90deg,var(--blue),var(--blue-lt));}
.pd .pbar{background:linear-gradient(90deg,var(--teal),var(--teal-lt));}
.ps .pbar{background:linear-gradient(90deg,#9B6CE8,#C4A0FF);}
.ptag{font-family:var(--font-m);font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;padding:3px 10px;border-radius:100px;margin-bottom:1.1rem;display:inline-block;}
.pn .ptag{background:rgba(30,95,204,.2);color:var(--blue-lt);}
.pd .ptag{background:rgba(20,168,151,.2);color:var(--teal-lt);}
.ps .ptag{background:rgba(155,108,232,.2);color:#C4A0FF;}
.ph{font-size:1rem;font-weight:600;margin-bottom:.65rem;color:var(--t1);line-height:1.35;}
.pp{font-size:.875rem;color:var(--t2);line-height:1.7;margin-bottom:1.25rem;font-weight:300;}
.pmeta{font-family:var(--font-m);font-size:.65rem;color:var(--t3);display:flex;gap:8px;align-items:center;text-transform:uppercase;letter-spacing:.08em;}
.psep{width:3px;height:3px;border-radius:50%;background:var(--t3);}
@media(max-width:1024px){.proj-g{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.proj-g{grid-template-columns:1fr;}}

#impact{background:var(--s0);overflow:hidden;}
#impact::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 50% 50%,rgba(20,168,151,.05),transparent);}
.igrid{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center;margin-top:4rem;}
.inums{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.inc{background:var(--s2);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1.5rem;text-align:center;transition:transform .3s var(--ease),border-color .3s;}
.inc:hover{transform:translateY(-3px);border-color:rgba(62,207,196,.2);}
.inn{font-family:var(--font-d);font-size:2.4rem;font-weight:700;background:linear-gradient(135deg,var(--blue-lt),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.inl{font-family:var(--font-m);font-size:.62rem;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;line-height:1.4;}
.iblurb{margin-top:2rem;font-size:.92rem;color:var(--t2);line-height:1.85;font-weight:300;}
@media(max-width:900px){.igrid{grid-template-columns:1fr;gap:3rem;}}

#join{background:var(--s1);position:relative;overflow:hidden;}
#join::after{content:'';position:absolute;bottom:-250px;right:-200px;z-index:0;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(20,168,151,.07),transparent 70%);pointer-events:none;}
.jgrid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;margin-top:4rem;position:relative;z-index:1;}
.jcopy{font-size:.95rem;color:var(--t2);line-height:1.85;font-weight:300;margin-bottom:2rem;}
.blist{list-style:none;display:flex;flex-direction:column;gap:.65rem;}
.bf{display:flex;align-items:center;gap:12px;padding:.85rem 1.1rem;border-radius:12px;background:rgba(20,34,54,.6);border:1px solid rgba(255,255,255,.05);font-size:.875rem;color:var(--t2);font-weight:300;transition:border-color .3s,transform .3s;}
.bf:hover{border-color:rgba(20,168,151,.3);transform:translateX(4px);}
.bfi{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:rgba(20,168,151,.15);display:grid;place-items:center;color:var(--teal-lt);font-size:.65rem;}
.fcard{background:rgba(18,31,52,.7);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2.5rem;transition:border-color .4s,box-shadow .4s;}
.fcard:focus-within{border-color:rgba(62,207,196,.2);box-shadow:0 0 40px rgba(20,168,151,.07);}
.ftitle{font-family:var(--font-d);font-size:1.5rem;font-weight:600;margin-bottom:.25rem;}
.fsub{font-family:var(--font-m);font-size:.62rem;color:var(--t3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:2rem;}
.fg{margin-bottom:1.1rem;}
.fl{display:block;font-family:var(--font-m);font-size:.62rem;font-weight:500;color:var(--t3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem;}
.fi,.fsel,.fta{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(8,15,28,.6);color:var(--t1);font-family:var(--font-b);font-size:.9rem;font-weight:300;transition:border-color .25s,background .25s,box-shadow .25s;outline:none;}
.fi:focus,.fsel:focus,.fta:focus{border-color:var(--teal-lt);background:rgba(20,168,151,.04);box-shadow:0 0 0 3px rgba(20,168,151,.1);}
.fi::placeholder,.fta::placeholder{color:var(--t3);}
.fsel option{background:var(--s2);}
.fta{resize:vertical;min-height:90px;}
.fsbt{width:100%;padding:.9rem;border-radius:100px;background:linear-gradient(135deg,var(--blue),var(--teal));color:#fff;font-weight:700;font-size:.9rem;font-family:var(--font-b);border:none;cursor:pointer;letter-spacing:.04em;transition:transform .3s var(--spring),box-shadow .3s;box-shadow:0 8px 28px rgba(30,95,204,.4);position:relative;overflow:hidden;}
.fsbt::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translateX(-100%);transition:transform .5s;}
.fsbt:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(30,95,204,.55);}
.fsbt:hover::before{transform:translateX(100%);}
.fok{display:none;text-align:center;padding:2.5rem 1rem;}
.fok-ico{font-size:3rem;margin-bottom:1rem;}
.fok-h{font-family:var(--font-d);font-size:1.75rem;font-weight:600;margin-bottom:.5rem;}
.fok-p{font-size:.9rem;color:var(--t2);font-weight:300;}
@media(max-width:900px){.jgrid{grid-template-columns:1fr;gap:3rem;}}

footer{background:var(--s0);padding:5rem clamp(1.5rem,5vw,4rem) 2.5rem;border-top:1px solid rgba(255,255,255,.05);}
.fti{max-width:1200px;margin:0 auto;}
.ftg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem;}
.ftbr{font-family:var(--font-d);font-size:1.5rem;font-weight:700;margin-bottom:.75rem;background:linear-gradient(135deg,var(--blue-lt),var(--teal-lt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fttg{font-size:.875rem;color:var(--t3);line-height:1.7;font-weight:300;}
.ftc h4{font-family:var(--font-m);font-size:.62rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--t3);margin-bottom:1.25rem;}
.ftc ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;}
.ftc a{font-size:.875rem;color:rgba(255,255,255,.35);transition:color .2s;}
.ftc a:hover{color:var(--t1);}
.ftb{border-top:1px solid rgba(255,255,255,.05);padding-top:1.75rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;}
.ftcp{font-family:var(--font-m);font-size:.65rem;color:var(--t3);letter-spacing:.06em;}
@media(max-width:900px){.ftg{grid-template-columns:1fr 1fr;}}
@media(max-width:500px){.ftg{grid-template-columns:1fr;}}

.modal-bg{position:fixed;inset:0;z-index:1000;background:rgba(4,8,16,.88);backdrop-filter:blur(20px);display:none;align-items:center;justify-content:center;padding:2rem;}
.modal-bg.open{display:flex;}
.modal{background:var(--s2);border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:3rem;max-width:580px;width:100%;max-height:88vh;overflow-y:auto;position:relative;animation:modalin .4s var(--spring);}
@keyframes modalin{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
.mox{position:absolute;top:1.5rem;right:1.5rem;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--s3);border:1px solid rgba(255,255,255,.08);color:var(--t3);cursor:pointer;transition:all .2s;font-size:1rem;}
.mox:hover{background:var(--s2);color:var(--t1);}
.mhd{display:flex;gap:1.5rem;margin-bottom:2rem;align-items:flex-start;}
.mhav{width:80px;height:80px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-family:var(--font-d);font-size:1.5rem;font-weight:700;color:#fff;position:relative;}
.mhav img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.mhnm{font-family:var(--font-d);font-size:1.6rem;font-weight:600;line-height:1.2;margin-bottom:.35rem;}
.mhar{font-family:var(--font-m);font-size:.65rem;color:var(--teal-lt);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem;}
.mhco{font-family:var(--font-m);font-size:.65rem;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;}
.mdiv{height:1px;background:rgba(255,255,255,.07);margin:1.5rem 0;}
.mbio-txt{font-size:.93rem;color:var(--t2);line-height:1.85;font-weight:300;}
.mtags{display:flex;flex-wrap:wrap;gap:6px;margin-top:1.5rem;}

/* ── FALLBACK: mostrar todo si JS no activa las animaciones ── */
/* ── Fallback: contenido siempre visible ────────────── */
.rv {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .75s, transform .75s;
  animation: showUp 0s 1.5s both;
}
.rvl {
  opacity: 0;
  transform: translateX(-28px);
  transition: opacity .75s, transform .75s;
  animation: showUp 0s 1.5s both;
}
.rvr {
  opacity: 0;
  transform: translateX(28px);
  transition: opacity .75s, transform .75s;
  animation: showUp 0s 1.5s both;
}
@keyframes showUp {
  to {
    opacity: 1;
    transform: none;
  }
}
.rv.on, .rvl.on, .rvr.on {
  animation: none;
  opacity: 1;
  transform: none;
  transition: opacity .75s, transform .75s;
}
