/* ============================================================
   SUBI · hoja de estilo
   Importada del rediseno hecho en Claude Design (Rediseno Landing SUBI).
   ============================================================ */

:root{
  --ink:#070B14; --ink2:#0B1120; --ink3:#0E1524;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.17);
  --txt:#EDF1F7; --txt-2:#A7B0C2; --txt-3:#6B7689;
  --gold:#F0A34B; --mint:#6FD3D8; --red:#E4776B;
  --sans:'IBM Plex Sans',system-ui,sans-serif;
  --serif:'Newsreader',Georgia,serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--txt);font-family:var(--sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--mint);text-decoration:none;border-bottom:1px solid rgba(111,211,216,.3)}
a:hover{color:var(--gold);border-bottom-color:rgba(240,163,75,.5)}
img{display:block;max-width:100%}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1160px;margin:0 auto;padding:0 34px}
section{padding:104px 0;border-top:1px solid var(--line);position:relative}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(33px,4.3vw,53px);line-height:1.06;letter-spacing:-.02em;margin:0 0 24px;max-width:26ch}
h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.2;margin:0 0 14px}
h4{font-size:16px;font-weight:600;margin:0 0 10px}
p{margin:0 0 16px;color:var(--txt-2);max-width:70ch;text-wrap:pretty}
b,strong{color:var(--txt);font-weight:600}
.lead{font-family:var(--serif);font-size:clamp(20px,2.1vw,26px);line-height:1.44;color:var(--txt);max-width:56ch}
.eyebrow{display:flex;align-items:center;gap:18px;margin-bottom:26px}
.eyebrow span{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--line)}
.ref{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);border-bottom:1px dotted rgba(240,163,75,.45);margin-left:6px;white-space:nowrap}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--ink2);border:1px solid var(--line);padding:26px 26px 22px}
.card .num{font-family:var(--serif);font-size:66px;line-height:1;color:var(--gold);letter-spacing:-.03em;margin-bottom:8px}
.card h4{font-family:var(--serif);font-size:23px;font-weight:400;color:var(--txt);margin:0 0 14px}
.card p{font-size:15.5px}
.srcline{margin-top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--txt-3)}
.srcline a{color:var(--txt-3);border-bottom-color:var(--line2)}
ul.plain{list-style:none;padding:0;margin:0;display:grid;gap:13px}
ul.plain li{position:relative;padding-left:20px;color:var(--txt-2);max-width:72ch}
ul.plain li::before{content:"";position:absolute;left:2px;top:.66em;width:5px;height:5px;background:var(--gold);opacity:.55}
.tl{margin-top:30px;border-top:1px solid var(--line)}
.tl-row{display:grid;grid-template-columns:118px 1fr;gap:26px;padding:19px 0;border-bottom:1px solid var(--line)}
.tl-row .yr{font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--txt-3);padding-top:2px}
.tl-row .txt{color:var(--txt-2);max-width:74ch}
.tl-row.now{background:linear-gradient(90deg,rgba(240,163,75,.08),transparent 65%)}
.tl-row.now .yr{color:var(--gold)}
.note{margin-top:30px;padding:22px 26px;border-left:2px solid var(--gold);background:rgba(240,163,75,.055)}
.note p{margin:0}
.note.mint{border-left-color:var(--mint);background:rgba(111,211,216,.055)}
.layer{display:grid;grid-template-columns:92px 1fr;gap:22px;padding:36px 0;border-top:1px solid var(--line)}
.layer .n{font-family:var(--serif);font-size:46px;line-height:.9;color:var(--txt-3)}
.tw{overflow-x:auto;border:1px solid var(--line);background:var(--ink2)}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{text-align:left;vertical-align:bottom;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);padding:14px 16px;border-bottom:1px solid var(--line2)}
td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--txt-2);vertical-align:top}
tbody tr:last-child td{border-bottom:none}
td.yes{color:var(--mint)}
td.no{color:var(--red)}
td.mid{color:var(--gold)}
tr.hlrow td{background:rgba(240,163,75,.07)}
td.hi{color:var(--gold);font-weight:600}
code{font-family:var(--mono);font-size:.86em;color:var(--mint);background:rgba(111,211,216,.09);padding:1px 5px}
pre{font-family:var(--mono);font-size:13px;line-height:1.75;background:var(--ink2);border:1px solid var(--line);padding:22px;overflow-x:auto;color:var(--txt-2);margin:0 0 22px}
pre .k{color:var(--gold)}
pre .c{color:var(--txt-3)}
.formula{font-family:var(--mono);font-size:14px;line-height:2;background:var(--ink);border:1px solid var(--line2);padding:20px;margin:18px 0;color:var(--txt-2);overflow-x:auto}
.formula .hl{color:var(--gold)}
.formula .dim{color:var(--txt-3)}
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);margin-top:26px;counter-reset:s}
.step{counter-increment:s;background:var(--ink);padding:22px 18px}
.step::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--gold);margin-bottom:14px}
.step h4{font-size:15px;margin:0 0 8px;line-height:1.3}
.step p{margin:0;font-size:13.5px;color:var(--txt-3)}
.chip{font-family:var(--mono);font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-3);border:1px solid var(--line);padding:7px 13px;border-radius:999px}
.chip b{color:var(--txt);font-weight:500}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.thesis b{font-weight:400;color:var(--gold)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(36px,6vw,84px);align-items:center}
.btn{display:inline-flex;align-items:center;white-space:nowrap;font-family:var(--mono);font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;padding:14px 22px;border:1px solid var(--line2);color:var(--txt);border-bottom:1px solid var(--line2);transition:.15s}
.btn:hover{border-color:var(--gold);color:var(--gold)}
.btn.primary{background:var(--gold);border-color:var(--gold);color:#17110A;font-weight:500}
.btn.primary:hover{background:#fff;border-color:#fff;color:#17110A}
.ask{background:var(--ink2);border:1px solid var(--line);border-top:2px solid var(--gold);padding:26px}
.ask .n{font-family:var(--serif);font-size:40px;line-height:1;color:var(--gold);margin-bottom:14px}
.ask h4{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.24;margin:0 0 12px}
.ask p{font-size:14.5px;margin:0}
.author{display:grid;grid-template-columns:290px 1fr;gap:44px;margin-top:36px;align-items:start}
.author .photo{width:100%;height:auto;border:1px solid var(--line2);filter:grayscale(.25) contrast(1.05)}
.author h4{font-family:var(--serif);font-size:27px;font-weight:400;margin:0}
.role{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--gold);margin:6px 0 20px}
.calc{margin-top:40px;border:1px solid var(--line2);background:var(--ink2)}
.calc-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:15px 22px;border-bottom:1px solid var(--line)}
.calc-head h4{margin:0;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt);font-weight:500}
.tag{font-family:var(--mono);font-size:11px;color:var(--txt-3)}
.calc-body{display:grid;grid-template-columns:1fr 1fr}
.calc-controls{padding:26px 24px;display:grid;gap:24px;align-content:start;border-right:1px solid var(--line)}
.calc-out{padding:28px 24px;background:var(--ink3)}
.ctrl label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);margin-bottom:11px}
.ctrl .v{color:var(--gold);font-size:12.5px;letter-spacing:.02em;text-transform:none}
.seg{display:flex;border:1px solid var(--line)}
.seg button{flex:1;background:transparent;border:none;color:var(--txt-3);font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;padding:11px 8px;cursor:pointer;transition:.15s}
.seg button:hover{color:var(--txt)}
.seg button.on{background:var(--gold);color:#17110A}
select{width:100%;background:var(--ink);color:var(--txt);border:1px solid var(--line2);padding:11px 12px;font-family:var(--mono);font-size:13px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--line2);outline:none;margin:8px 0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--gold);cursor:pointer;box-shadow:0 0 0 4px var(--ink2)}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--gold);cursor:pointer}
.bignum{font-family:var(--serif);font-size:clamp(44px,5.6vw,74px);line-height:1;letter-spacing:-.03em;color:var(--gold)}
.bignum small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--txt-3);margin-top:14px}
.subnum{font-family:var(--mono);font-size:11.5px;line-height:1.9;color:var(--txt-2);margin-top:20px}
.verdict{margin-top:20px;padding-top:17px;border-top:1px solid var(--line);font-size:14px;color:var(--txt-2)}
.verdict.good{color:var(--mint)}
.verdict.mid{color:var(--gold)}
.verdict.bad{color:var(--red)}
.bar{height:4px;background:var(--line);margin-top:22px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--gold);transition:width .18s}
.barlab{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);margin-top:8px}
.coingroup{margin-top:30px}
.coingroup h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3);margin:0 0 12px;font-weight:500}
.coins{display:grid;grid-template-columns:repeat(auto-fill,minmax(114px,1fr));gap:1px;background:var(--line)}
.coin{background:var(--ink2);padding:14px 12px}
.coin .sym{font-family:var(--mono);font-size:13px;color:var(--txt)}
.coin .cty{font-size:11px;color:var(--txt-3);margin-top:3px}
.coin.ripio .sym{color:var(--mint)}
.disclaimer{font-size:12.5px;color:var(--txt-3);margin-top:18px}
.navlinks{display:flex;gap:19px;flex-wrap:wrap}
.navlinks a{position:relative;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);border-bottom:none;padding-bottom:5px;transition:color .25s}
.navlinks a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .32s cubic-bezier(.2,.7,.3,1)}
.navlinks a:hover{color:var(--txt)}
.navlinks a:hover::after,.navlinks a.on::after{transform:scaleX(1)}
.navlinks a.on{color:var(--txt-2)}
.lang{display:flex;border:1px solid var(--line)}
.lang button{background:transparent;border:none;color:var(--txt-3);font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;padding:7px 11px;cursor:pointer}
.lang button.on{background:var(--txt);color:var(--ink)}
.ph{position:relative;background:
  repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 9px),
  var(--ink2);border:1px solid var(--line);display:grid;place-items:center}
.ph span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3);text-align:center;padding:14px;max-width:24ch;line-height:1.7}
.srcs{columns:2;column-gap:54px}
.srcs h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:26px 0 10px;font-weight:500;break-after:avoid}
.srcs h4:first-child{margin-top:0}
.srcs ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.srcs li{font-size:13px;line-height:1.5}
.srcs a{color:var(--txt-3);border-bottom:none}
.srcs a:hover{color:var(--txt)}
/* --- movimiento: hover y aparición --- */
.card,.ask{position:relative;transition:transform .3s cubic-bezier(.2,.7,.3,1),border-color .3s,background .3s}
.card::after,.ask::after{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.card:hover,.ask:hover{transform:translateY(-4px);border-color:var(--line2);background:var(--ink3)}
.card:hover::after,.ask:hover::after{transform:scaleX(1)}
.card .num,.ask .n{transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.card:hover .num,.ask:hover .n{transform:translateY(-2px) scale(1.03)}
.coin{transition:background .22s,transform .22s}
.coin:hover{background:var(--ink3);transform:translateY(-2px)}
.step{transition:background .28s}
.step:hover{background:var(--ink2)}
.tl-row{transition:background .3s}
.tl-row:hover{background:rgba(255,255,255,.028)}
tbody tr{transition:background .22s}
tbody tr:hover td{background:rgba(255,255,255,.03)}
.btn{transition:transform .22s cubic-bezier(.2,.7,.3,1),border-color .22s,color .22s,background .22s}
.btn:hover{transform:translateY(-2px)}
.author .photo{transition:filter .5s,transform .5s cubic-bezier(.2,.7,.3,1)}
.author .photo:hover{filter:grayscale(0) contrast(1.05);transform:scale(1.015)}
.layer .n{transition:color .35s}
.layer:hover .n{color:var(--gold)}
.rv{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
/* --- animación orbital del hero --- */
.orbits{position:relative;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}
.orb-glow{position:absolute;width:74%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(240,163,75,.18),transparent 70%);animation:orb-breathe 8s ease-in-out infinite}
.orb-core{position:absolute;width:19%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 33% 27%,#FBE7C6,var(--gold) 46%,#6E4210 100%);box-shadow:0 0 70px rgba(240,163,75,.32)}
.orb-ring{position:absolute;border:1px solid var(--line2);border-radius:50%;animation:orb-spin linear infinite}
.orb-ring i{position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px rgba(111,211,216,.85)}
.orb-ring.r1{width:42%;aspect-ratio:1;animation-duration:11s}
.orb-ring.r2{width:64%;aspect-ratio:1;animation-duration:19s;animation-direction:reverse}
.orb-ring.r2 i{background:var(--gold);box-shadow:0 0 14px rgba(240,163,75,.85)}
.orb-ring.r3{width:88%;aspect-ratio:1;animation-duration:31s;border-style:dashed;border-color:var(--line)}
.orb-ring.r3 i{width:5px;height:5px;margin-left:-2.5px;top:-3px;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.8)}
.orb-pulse{position:absolute;width:19%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(240,163,75,.45);animation:orb-emit 6s ease-out infinite}
.orb-pulse.p2{animation-delay:2s}
.orb-pulse.p3{animation-delay:4s}
@keyframes orb-spin{to{transform:rotate(360deg)}}
@keyframes orb-breathe{0%,100%{opacity:.62;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
@keyframes orb-emit{0%{transform:scale(1);opacity:.65}100%{transform:scale(4.4);opacity:0}}
@media(prefers-reduced-motion:reduce){
  .orb-glow,.orb-ring,.orb-pulse{animation:none}
  .rv{opacity:1;transform:none;transition:none}
}
@media(max-width:1180px){.navlinks{display:none}}
@media(max-width:980px){
  section{padding:76px 0}
  .g2,.g3{grid-template-columns:1fr}
  .calc-body{grid-template-columns:1fr}
  .calc-controls{border-right:none;border-bottom:1px solid var(--line)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .author{grid-template-columns:1fr;gap:26px}
  .author .photo{max-width:290px}
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero-grid>.orbits{order:2;width:100%;max-width:400px;margin:0 auto}
  .srcs{columns:1}
  .tl-row{grid-template-columns:76px 1fr;gap:16px}
  .layer{grid-template-columns:1fr;gap:10px;padding:30px 0}
}
@media(max-width:620px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .steps{grid-template-columns:1fr}
}
