/* ============================================================
   RGLOBAL 365 SL — sistema de diseño
   Identidad "terminal financiera": negro verdoso + verde menta eléctrico.
   Bricolage Grotesque (display) · Hanken Grotesk (texto) · Space Mono (datos)
   Diseño comprometido en modo oscuro (single-theme, deliberado).
   ============================================================ */
:root{
  --bg:#0A0D0A;
  --bg-2:#0F130E;
  --bg-3:#151B14;
  --ink:#ECF4EC;
  --ink-2:#B9C9BB;
  --muted:#7C8E7E;
  --faint:#54655A;
  --line:#1C261D;
  --line-2:#2A382C;
  --accent:#22D257;
  --accent-2:#63EE96;
  --accent-ink:#052012;
  --glow:rgba(34,210,87,.16);
  --shadow:0 30px 80px -40px rgba(0,0,0,.85);
  color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.mono{font-family:"Space Mono",ui-monospace,"SFMono-Regular",Menlo,monospace}
.disp{font-family:"Bricolage Grotesque","Archivo",sans-serif;font-weight:800;letter-spacing:-.02em;line-height:.98;text-wrap:balance}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,4vw,48px)}
.wrap.narrow{max-width:820px}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--accent-ink);padding:10px 16px;z-index:200;font-weight:700}
.skip:focus{left:0}
.eyebrow{font-family:"Space Mono",monospace;font-size:12.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:inline-flex;gap:10px;align-items:center}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--accent);display:inline-block}
.grn{color:var(--accent)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:"Space Mono",monospace;font-size:14px;font-weight:700;
  letter-spacing:.02em;padding:14px 24px;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:transform .16s,box-shadow .2s,background .16s,color .16s}
.btn.solid{background:var(--accent);color:var(--accent-ink)}
.btn.solid:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px var(--accent)}
.btn.ghost{border-color:var(--line-2);color:var(--ink)}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}

/* ---- header ---- */
header.site{position:sticky;top:0;z-index:60;background:rgba(10,13,10,.72);backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:30px;height:70px}
.brand{display:inline-flex;align-items:center;gap:11px;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--ink)}
.brand .mark{width:30px;height:30px;border-radius:7px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:17px;font-weight:800;box-shadow:0 0 0 4px var(--glow)}
.brand .sl{font-family:"Space Mono",monospace;font-weight:400;font-size:10.5px;letter-spacing:.14em;color:var(--muted);border:1px solid var(--line-2);border-radius:3px;padding:2px 5px}
.brand .logo{height:27px;width:auto;display:block}
footer.site .fbrand .logo{height:32px;width:auto;display:block}
nav.top{margin-left:auto;display:flex;gap:30px;align-items:center}
nav.top a{font-family:"Space Mono",monospace;font-size:13px;color:var(--muted);letter-spacing:.02em;transition:color .15s}
nav.top a:hover,nav.top a[aria-current="page"]{color:var(--ink)}
nav.top .btn{padding:10px 18px;font-size:13px}
@media(max-width:860px){nav.top a:not(.btn){display:none}}

/* ---- hero ---- */
.hero{position:relative;overflow:hidden;padding-top:clamp(56px,9vw,110px)}
.hero .aura{position:absolute;width:900px;height:900px;left:-260px;top:-360px;border-radius:50%;
  background:radial-gradient(circle,var(--glow),transparent 60%);filter:blur(20px);animation:breathe 10s ease-in-out infinite;pointer-events:none}
@keyframes breathe{0%,100%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:60px 60px;opacity:.5;mask-image:radial-gradient(120% 80% at 20% 0%,#000,transparent 70%);pointer-events:none}
.hero-inner{position:relative;display:grid;gap:clamp(26px,4vw,40px);padding-bottom:clamp(40px,6vw,64px)}
h1.head{font-size:clamp(46px,11vw,132px);letter-spacing:-.035em}
h1.head .l1{display:block;font-weight:700;color:var(--ink-2);font-size:.42em;letter-spacing:-.02em;margin-bottom:.12em}
h1.head .l2{display:block}
h1.head .l2 .dot{color:var(--accent)}
.lead{font-size:clamp(18px,2.2vw,23px);color:var(--ink-2);max-width:58ch;line-height:1.45}
.lead b{color:var(--ink);font-weight:600}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 26px;font-family:"Space Mono",monospace;font-size:13px;color:var(--muted);padding-top:6px}
.hero-meta b{color:var(--accent);font-weight:700}
.hero-meta .sep{color:var(--line-2)}

/* ---- ticker / marquee ---- */
.ticker{margin-top:clamp(30px,5vw,54px);border-block:1px solid var(--line);background:var(--bg-2);overflow:hidden;position:relative}
.ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.ticker::before{left:0;background:linear-gradient(90deg,var(--bg-2),transparent)}
.ticker::after{right:0;background:linear-gradient(270deg,var(--bg-2),transparent)}
.ticker__row{display:flex;width:max-content;animation:scroll 34s linear infinite}
.ticker__row .it{display:inline-flex;align-items:center;gap:22px;padding:18px 0;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:clamp(18px,2.4vw,26px);letter-spacing:-.01em;color:var(--ink)}
.ticker__row .it .b{width:9px;height:9px;border-radius:50%;background:var(--accent);margin:0 26px;box-shadow:0 0 12px var(--accent)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---- section frame ---- */
section{padding:clamp(64px,9vw,120px) 0}
.kicker{display:grid;gap:16px;max-width:56ch;margin-bottom:clamp(38px,5vw,58px)}
.kicker h2{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1;font-size:clamp(30px,5.2vw,58px)}
.kicker p{color:var(--muted);margin:0;font-size:clamp(16px,1.8vw,19px)}

/* ---- capabilities (lista editorial) ---- */
.caps{border-top:1px solid var(--line)}
.cap{display:grid;grid-template-columns:minmax(0,86px) 1fr minmax(0,1.15fr);gap:clamp(18px,3vw,44px);
  padding:clamp(26px,3.4vw,42px) 0;border-bottom:1px solid var(--line);align-items:baseline;transition:padding-left .25s}
.cap:hover{padding-left:14px}
.cap .idx{font-family:"Space Mono",monospace;font-size:15px;font-weight:700;letter-spacing:.1em;color:var(--accent)}
.cap h3{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;letter-spacing:-.02em;font-size:clamp(24px,3.4vw,40px);line-height:1;transition:color .2s}
.cap:hover h3{color:var(--accent)}
.cap .d{color:var(--muted);font-size:16px;line-height:1.55}
.cap .d .chips{margin-top:14px;display:flex;flex-wrap:wrap;gap:7px}
.cap .d .chips span{font-family:"Space Mono",monospace;font-size:11.5px;color:var(--ink-2);border:1px solid var(--line-2);border-radius:2px;padding:3px 9px}
@media(max-width:800px){.cap{grid-template-columns:1fr;gap:12px}.cap .idx{order:-1}}

/* ---- sectors band ---- */
.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.sector{background:var(--bg);padding:clamp(26px,2.6vw,36px);display:flex;flex-direction:column;gap:14px;min-height:230px;transition:background .2s}
.sector:hover{background:var(--bg-2)}
.sector .ic{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:9px;color:var(--accent);transition:border-color .2s,background .2s}
.sector:hover .ic{border-color:var(--accent);background:var(--glow)}
.sector .ic svg{width:23px;height:23px}
.sector h3{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:22px;letter-spacing:-.01em;margin-top:auto}
.sector p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}
@media(max-width:900px){.sectors{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.sectors{grid-template-columns:1fr}.sector{min-height:0}}

/* ---- markets ---- */
.markets{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(34px,5vw,72px);align-items:center}
.mk-copy h2{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;letter-spacing:-.025em;font-size:clamp(30px,4.6vw,54px);line-height:1;margin:16px 0 20px}
.mk-copy p{color:var(--muted);margin:0 0 16px;font-size:17px}
.mk-copy .badge{font-family:"Space Mono",monospace;font-size:12.5px;color:var(--accent);letter-spacing:.04em}
.mk-list{display:grid;border:1px solid var(--line)}
.mk{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 24px}
.mk+.mk{border-top:1px solid var(--line)}
.mk .flag{font-size:24px;line-height:1}
.mk .name{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:19px;color:var(--ink)}
.mk .role{font-family:"Space Mono",monospace;font-size:11px;color:var(--muted);display:block;letter-spacing:.06em;margin-top:2px}
.mk .coord{font-family:"Space Mono",monospace;font-size:12.5px;color:var(--faint);white-space:nowrap}
.mk.hq{background:linear-gradient(90deg,var(--glow),transparent 80%)}
.mk.hq .coord{color:var(--accent)}
@media(max-width:840px){.markets{grid-template-columns:1fr;gap:30px}}

/* ---- statement ---- */
.statement{border-block:1px solid var(--line);background:var(--bg-2)}
.statement .wrap{padding-block:clamp(64px,9vw,120px)}
.statement q{quotes:none}
.statement .big{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.02;font-size:clamp(30px,6vw,72px);max-width:20ch}
.statement .big em{font-style:normal;color:var(--accent)}
.statement .by{font-family:"Space Mono",monospace;font-size:13px;color:var(--muted);margin-top:30px;display:flex;gap:12px;align-items:center}
.statement .by::before{content:"";width:30px;height:1px;background:var(--accent)}

/* ---- contact ---- */
.contact{position:relative;overflow:hidden}
.contact .aura{position:absolute;width:800px;height:800px;right:-260px;bottom:-360px;border-radius:50%;background:radial-gradient(circle,var(--glow),transparent 60%);pointer-events:none}
.contact .inner{position:relative;display:grid;gap:26px;max-width:22ch}
.contact h2{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;letter-spacing:-.035em;line-height:.96;font-size:clamp(46px,10vw,120px)}
.contact h2 .dot{color:var(--accent)}
.contact p{color:var(--ink-2);max-width:46ch;font-size:clamp(17px,2vw,20px);margin:0}
.contact .mailbig{font-family:"Space Mono",monospace;font-size:clamp(16px,2.4vw,26px);color:var(--accent);border-bottom:2px solid var(--line-2);padding-bottom:6px;transition:border-color .2s;display:inline-block;width:fit-content}
.contact .mailbig:hover{border-color:var(--accent)}
.contact .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}

/* ---- footer ---- */
footer.site{border-top:1px solid var(--line);padding:clamp(46px,6vw,66px) 0 38px;color:var(--muted);font-size:14px;background:var(--bg-2)}
footer.site .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:36px;padding-bottom:34px;border-bottom:1px solid var(--line)}
footer.site .fbrand{display:inline-flex;align-items:center;gap:10px;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;color:var(--ink);font-size:20px;margin-bottom:12px}
footer.site .fbrand .mark{width:26px;height:26px;border-radius:6px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:15px}
footer.site .fcol h4{font-family:"Space Mono",monospace;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 14px}
footer.site .fcol a{display:block;color:var(--muted);padding:5px 0;transition:color .15s}
footer.site .fcol a:hover{color:var(--accent)}
footer.site .fcol p{margin:0 0 6px;max-width:34ch}
footer.site .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;padding-top:24px}
footer.site .legal .meta{font-family:"Space Mono",monospace;font-size:11.5px;letter-spacing:.02em}
footer.site .legal nav{display:flex;gap:20px;flex-wrap:wrap}
footer.site .legal nav a{color:var(--muted);font-size:12.5px}
footer.site .legal nav a:hover{color:var(--accent)}
@media(max-width:720px){footer.site .cols{grid-template-columns:1fr 1fr}footer.site .fcol.about{grid-column:1/-1}}

/* ---- legal / prose ---- */
.page-head{border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.page-head .hero-grid{opacity:.4}
.page-head .wrap{position:relative;padding:clamp(48px,7vw,80px) 0 clamp(30px,4vw,44px)}
.page-head h1{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;letter-spacing:-.03em;font-size:clamp(34px,6vw,58px);margin:14px 0 10px;line-height:1}
.page-head .upd{font-family:"Space Mono",monospace;font-size:12.5px;color:var(--muted)}
.prose{padding:clamp(44px,6vw,68px) 0 clamp(64px,8vw,90px)}
.prose h2{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:23px;letter-spacing:-.01em;margin:40px 0 13px;scroll-margin-top:90px}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:"Hanken Grotesk";font-weight:600;font-size:16px;margin:22px 0 8px;color:var(--ink)}
.prose p,.prose li{color:var(--ink-2);font-size:16px;line-height:1.72}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 16px;padding-left:22px}
.prose li{margin-bottom:7px}
.prose li::marker{color:var(--accent)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink);font-weight:600}
.datacard{border:1px solid var(--line);border-radius:10px;background:var(--bg-2);padding:24px 26px;margin:6px 0 26px}
.datacard dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:11px 24px}
.datacard dt{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.datacard dd{margin:0;color:var(--ink);font-size:15.5px}
.todo{background:var(--glow);color:var(--accent);border:1px dashed var(--accent);border-radius:3px;padding:1px 7px;font-family:"Space Mono",monospace;font-size:12.5px}
.tblwrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tbl th,.tbl td{text-align:left;padding:12px 15px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.tbl th{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg-3)}
.tbl tr:last-child td{border-bottom:none}

/* ---- cookie banner ---- */
#cookiebar{position:fixed;left:16px;right:16px;bottom:16px;z-index:120;max-width:540px;margin-inline:auto;
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow);padding:22px 24px;display:none}
#cookiebar.show{display:block;animation:rise .35s ease}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
#cookiebar h4{font-family:"Bricolage Grotesque",sans-serif;font-size:17px;font-weight:800;margin:0 0 7px}
#cookiebar p{margin:0 0 15px;color:var(--muted);font-size:13.5px;line-height:1.55}
#cookiebar p a{color:var(--accent);text-decoration:underline}
#cookiebar .row{display:flex;gap:10px;flex-wrap:wrap}

@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
