/* ============================================================
   IdHound — landing.css
   Estilos decorativos EXCLUSIVOS de la landing.
   Requiere idhound.css cargado ANTES (tokens + componentes).
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&display=swap');

:root{ --nav-h:64px; --rail-w:34%; }
body{ padding-top:var(--nav-h); }

/* ============ NAVBAR ============ */
.navbar{
  position:fixed; top:0; left:0; right:0; height:var(--nav-h); z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--space-8);
  background:rgba(19,76,101,0.95);
  backdrop-filter:blur(8px);
  border-bottom:0.5px solid rgba(240,236,218,0.12);
}
.nav-actions{display:flex;align-items:center;gap:var(--space-3)}
/* navbar buttons sit on navy */
.navbar .btn-secondary{background:transparent;color:var(--on-dark-primary);border-color:rgba(240,236,218,0.35)}
.navbar .btn-secondary:hover{background:rgba(240,236,218,0.10);color:var(--on-dark-primary)}
.navbar .btn-primary{background:var(--color-teal);color:var(--on-dark-primary)}
.navbar .btn-primary:hover{background:#3f7077}

/* ============ HERO RAIL (left third, fixed) ============ */
.rail{
  position:fixed; top:var(--nav-h); left:0; width:var(--rail-w);
  height:calc(100vh - var(--nav-h));
  background:var(--color-navy-dark);
  padding:var(--space-12) var(--space-12);
  display:flex; flex-direction:column; justify-content:center;
  overflow:hidden; z-index:50;
}
.rail-inner{position:relative;z-index:1;max-width:380px}

.hero-eyebrow{
  font-family:var(--font-ui); font-size:11px; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--color-teal); margin-bottom:var(--space-6);
}
.hero-title{
  font-family:var(--font-editorial); font-weight:700; font-size:34px;
  line-height:1.15; color:var(--on-dark-primary); margin-bottom:var(--space-4);
  letter-spacing:-0.01em;
}
.hero-sectors{
  font-family:var(--font-data); font-size:11px; letter-spacing:0.04em;
  color:var(--on-dark-muted); margin-bottom:var(--space-4);
}
.hero-pitch{
  font-family:var(--font-ui); font-size:14px; line-height:1.6;
  color:var(--on-dark-secondary); margin-bottom:var(--space-8);
}

/* nav links — refined list, not a navbar */
.rail-nav{list-style:none;margin-bottom:var(--space-8)}
.rail-nav li{margin:0}
.rail-nav a{
  display:flex; align-items:baseline; gap:10px; text-decoration:none;
  font-family:var(--font-ui); font-size:13px; font-weight:500;
  color:var(--on-dark-secondary);
  padding:7px 0; border-top:0.5px solid rgba(240,236,218,0.10);
  transition:color .15s ease, padding-left .15s ease;
}
.rail-nav li:last-child a{border-bottom:0.5px solid rgba(240,236,218,0.10)}
.rail-nav a .idx{font-family:var(--font-data);font-size:10px;color:var(--color-teal);opacity:0.7}
.rail-nav a:hover{color:var(--on-dark-primary);padding-left:6px}
.rail-nav a.active{color:var(--on-dark-primary)}
.rail-nav a.active .idx{opacity:1}
.rail-nav a.active::before{
  content:""; position:absolute; left:0; width:2px; height:18px;
  background:var(--color-teal); margin-top:1px;
}
.rail-nav a{position:relative}

.cta-block{margin-top:auto}
.cta-btn{
  width:100%; text-align:center; font-size:12.5px; font-weight:600;
  line-height:1.4; padding:14px 18px; letter-spacing:0.02em;
}
.cta-promo{
  font-family:var(--font-ui); font-size:13px; font-weight:600; letter-spacing:0.01em;
  color:var(--color-teal); text-align:center; margin-top:12px;
}

/* ============ SCROLL CONTENT (right two-thirds) ============ */
.content{
  margin-left:var(--rail-w);
  padding:0 var(--space-16) var(--space-16);
}

/* globe hero of scroll area */
.globe-stage{
  min-height:calc(100vh - var(--nav-h));
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:var(--space-6);
}
#globe{
  font-family:var(--font-mono); font-size:10px; line-height:0.92;
  color:var(--color-teal); white-space:pre; user-select:none;
  letter-spacing:0;
}
.globe-caption{font-family:var(--font-editorial);font-style:italic;font-weight:400;
  font-size:15px;color:rgba(21,39,64,0.55)}
.scroll-hint{font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--color-teal);opacity:0.6;
  animation:bob 1.8s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

/* code-build transition: content appears as raw HTML, then morphs to rendered view */
.cg-overlay{
  position:absolute; inset:0; z-index:3; overflow:hidden; pointer-events:none;
  opacity:0; filter:blur(3px);
  transition:opacity .42s ease, filter .42s ease;
}
.cg-pre{
  font-family:var(--font-mono); font-size:12px; line-height:1.5;
  color:var(--color-teal); white-space:pre-wrap; word-break:break-word; margin:0;
}
.cg-cursor{display:none; width:7px; height:13px; background:var(--color-teal);
  vertical-align:-2px; margin-left:1px}
.section.coding .cg-overlay,
.section.reverting .cg-overlay{opacity:1; filter:none}
.section.coding .cg-cursor{display:inline-block; animation:cgblink 1s steps(1) infinite}
@keyframes cgblink{0%,50%{opacity:1}50.01%,100%{opacity:0}}

/* sections */
.section{position:relative;padding-bottom:var(--space-12);scroll-margin-top:calc(var(--nav-h) + 16px)}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease}
.section.built .reveal{opacity:1;transform:none}
.section.reverting .reveal{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}
.eyebrow{
  font-family:var(--font-mono); font-size:10px; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--color-teal); margin-bottom:var(--space-3);
}
.section h2{font-family:var(--font-editorial);font-weight:600;font-size:28px;
  line-height:1.2;margin-bottom:var(--space-4);letter-spacing:-0.01em}
.section .lede{font-family:var(--font-editorial);font-style:italic;font-weight:400;
  font-size:16px;line-height:1.5;color:rgba(21,39,64,0.7);margin-bottom:var(--space-6);max-width:60ch}
.section p{font-family:var(--font-ui);font-size:15px;line-height:1.65;
  color:var(--color-navy-dark);max-width:62ch;margin-bottom:var(--space-4)}
.section p.muted{color:rgba(21,39,64,0.75)}

/* cards */
.card{background:var(--color-white);border:0.5px solid var(--color-bg-dark);
  border-radius:var(--radius-xl);padding:var(--space-8)}
.card-beige{background:var(--color-bg-mid);border:0.5px solid var(--color-bg-dark);
  border-radius:var(--radius-xl);padding:var(--space-8)}
.card-dark{background:var(--color-navy-dark);border-radius:var(--radius-xl);
  padding:var(--space-8);color:var(--on-dark-primary)}
.card-eyebrow{font-family:var(--font-mono);font-size:9px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--color-teal);margin-bottom:8px}

/* lists of sources (semantic mono badges) */
.source-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:var(--space-3);margin:var(--space-6) 0}
.source{display:flex;align-items:center;gap:9px;background:var(--color-white);
  border:0.5px solid var(--color-bg-dark);border-radius:var(--radius-md);
  padding:11px 13px}
.source .dot{width:6px;height:6px;border-radius:99px;background:var(--color-teal);flex:none}
.source .name{font-family:var(--font-ui);font-size:12.5px;font-weight:500;color:var(--color-navy-dark)}
.source .sub{font-family:var(--font-data);font-size:10px;color:rgba(21,39,64,0.5);display:block;margin-top:1px}

/* numbered flow (servicio / metodología) */
.flow{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-6) 0}
.flow-step{display:flex;gap:var(--space-4);align-items:flex-start;
  background:var(--color-bg-mid);border:0.5px solid var(--color-bg-dark);
  border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6)}
.flow-step .n{font-family:var(--font-mono);font-size:12px;color:var(--color-teal);
  font-weight:500;flex:none;width:26px}
.flow-step .ft{font-family:var(--font-ui);font-size:13.5px;line-height:1.55;color:var(--color-navy-dark)}
.flow-step .ft b{font-weight:600}

/* ===== code window: demo de metodología (ventana a la cocina) ===== */
.code-window{
  background:var(--color-navy-dark);
  border:0.5px solid var(--teal-border);
  border-radius:var(--radius-xl);
  font-family:var(--font-mono);
  overflow:hidden;
  margin:var(--space-6) 0;
}
.cw-chrome{display:flex;align-items:center;gap:10px;padding:11px 15px;
  border-bottom:0.5px solid rgba(240,236,218,0.12)}
.cw-dots{display:flex;gap:6px}
.cw-dots i{width:9px;height:9px;border-radius:99px;display:block;background:rgba(240,236,218,0.22)}
.cw-dots i.live{background:var(--color-teal)}
.cw-title{font-size:11px;color:var(--on-dark-secondary);letter-spacing:0.03em}
.cw-step{margin-left:auto;font-size:10px;color:var(--on-dark-muted);letter-spacing:0.14em}
.cw-header{padding:16px 16px 13px;font-family:var(--font-mono);font-size:13.5px;line-height:1.45;
  color:var(--on-dark-primary);min-height:54px;border-bottom:0.5px solid rgba(240,236,218,0.08)}
.cw-caret{display:inline-block;width:8px;height:14px;background:var(--color-teal);
  vertical-align:-2px;margin-left:2px;animation:cwblink 1s steps(1) infinite}
@keyframes cwblink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
.cw-body{padding:14px 16px;min-height:212px}
.cw-line{font-size:12px;line-height:1.78;white-space:pre-wrap;word-break:break-word;
  opacity:0;animation:cwline .28s ease forwards}
@keyframes cwline{to{opacity:1}}
.cw-prompt{color:var(--color-teal)}
.cw-scan{color:var(--on-dark-secondary)}
.cw-dim{color:rgba(240,236,218,0.45)}
.cw-ok{color:var(--color-teal);font-weight:500}
.cw-risk{color:#E85D24}
.cw-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;
  border-top:0.5px solid rgba(240,236,218,0.12);font-size:10px;letter-spacing:0.06em;color:var(--on-dark-muted)}
.cw-status{color:var(--color-teal)}

/* ===== carta mockup con membrete personalizado (marca ajena a IdHound) ===== */
.cw-letter{display:none;padding:18px;opacity:0;transform:translateY(10px) scale(.985);
  transition:opacity .5s ease, transform .5s ease}
.cw-letter.show{opacity:1;transform:none}
.cw-letter .doc{background:#FCFBF7;border:1px solid #E7E2D5;border-radius:4px;
  padding:22px 24px;box-shadow:0 14px 36px rgba(0,0,0,0.34);
  font-family:Georgia,'Times New Roman',serif;color:#2A2A28}
.cw-letter .doc-head{display:flex;align-items:center;gap:13px}
.cw-letter .doc-emblem{width:42px;height:42px;border-radius:3px;background:#1E4636;color:#C9A961;
  display:flex;align-items:center;justify-content:center;flex:none;border:1px solid #B08D4C;
  font-family:'Playfair Display',serif;font-weight:700;font-size:23px}
.cw-letter .doc-co{font-family:'Playfair Display',serif;font-weight:700;font-size:17.5px;
  color:#1E4636;letter-spacing:0.01em;line-height:1.12}
.cw-letter .doc-tag{font-family:Georgia,serif;font-size:10px;font-style:italic;
  color:#8a7f63;margin-top:3px;letter-spacing:0.04em}
.cw-letter .doc-meta{margin-left:auto;text-align:right;font-size:9px;color:#7a7363;
  line-height:1.65;font-family:Georgia,serif}
.cw-letter .doc-rule{height:2px;margin:13px 0 14px;
  background:linear-gradient(90deg,#1E4636 0%,#B08D4C 55%,transparent 100%)}
.cw-letter .doc-title{font-family:'Playfair Display',serif;font-weight:700;font-size:13px;
  color:#1E4636;text-align:center;letter-spacing:0.08em;margin:0 0 12px;text-transform:uppercase}
.cw-letter .doc-body{font-family:Georgia,serif;font-size:10.5px;line-height:1.7;
  color:#33322e;margin:0 0 8px;max-width:none}
.cw-letter .doc-body b{color:#1E4636}
.cw-letter .doc-sign{margin-top:16px;text-align:center}
.cw-letter .doc-sign-line{width:170px;height:1px;background:#9a917a;margin:0 auto 6px}
.cw-letter .doc-sign-name{font-family:'Playfair Display',serif;font-weight:600;font-size:11px;color:#1E4636}
.cw-letter .doc-sign-role{font-family:Georgia,serif;font-size:9px;font-style:italic;color:#7a7363;margin-top:2px}
.cw-letter .doc-foot{margin-top:15px;border-top:1px dashed #ddd6c4;padding-top:8px;
  font-family:Georgia,serif;font-size:8px;color:#a59c84;text-align:center;letter-spacing:0.03em}

/* activities grid */
.act-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:var(--space-3);margin:var(--space-6) 0}
.act{background:var(--color-white);border:0.5px solid var(--color-bg-dark);
  border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6)}
.act .at{font-family:var(--font-editorial);font-weight:600;font-size:15px;color:var(--color-navy-dark)}
.act .ad{font-family:var(--font-data);font-size:11px;color:rgba(21,39,64,0.6);margin-top:4px;line-height:1.45}

/* plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:var(--space-4);margin:var(--space-6) 0}
.plan{border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:column}
.plan-free{background:var(--color-white);border:0.5px solid var(--color-bg-dark)}
.plan-pro{background:var(--color-navy-dark);color:var(--on-dark-primary);position:relative}
.plan-custom{background:var(--color-bg-mid);border:0.5px solid var(--color-bg-dark)}
.plan-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--color-teal);margin-bottom:10px}
.plan-name{font-family:var(--font-editorial);font-weight:600;font-size:22px;margin-bottom:6px}
.plan-pro .plan-name{color:var(--on-dark-primary)}
.plan-price{font-family:var(--font-editorial);font-weight:700;font-size:30px;margin-bottom:4px}
.plan-price .per{font-family:var(--font-ui);font-size:13px;font-weight:400;color:rgba(21,39,64,0.55)}
.plan-pro .plan-price .per{color:var(--on-dark-secondary)}
.plan-desc{font-family:var(--font-ui);font-size:13px;line-height:1.55;margin:var(--space-4) 0;
  color:rgba(21,39,64,0.7)}
.plan-pro .plan-desc{color:var(--on-dark-secondary)}
.plan .btn{margin-top:auto;width:100%}
.plan-best{position:absolute;top:-9px;right:18px;background:var(--color-teal);
  color:var(--on-dark-primary);font-family:var(--font-mono);font-size:9px;
  letter-spacing:0.1em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-pill)}

/* final cta */
.final-cta{background:var(--color-navy-dark);border-radius:var(--radius-xl);
  padding:var(--space-12) var(--space-8);text-align:center;margin-top:var(--space-8);position:relative;overflow:hidden}
.final-cta::before{content:"AML · KYC · COMPLIANCE · OFAC · ONU · INTERPOL · FBI · DEA · SAT 69-B";
  position:absolute;top:14px;left:0;right:0;text-align:center;
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.2em;
  color:var(--on-dark-primary);opacity:0.10}
.final-cta h2{font-family:var(--font-editorial);font-weight:700;font-size:26px;
  color:var(--on-dark-primary);margin-bottom:var(--space-3);position:relative}
.final-cta p{font-family:var(--font-ui);font-size:14px;color:var(--on-dark-secondary);
  margin:0 auto var(--space-6);max-width:46ch;position:relative}
.final-cta .btn{font-size:13px;font-weight:600;letter-spacing:0.02em}

footer{margin-left:var(--rail-w);padding:var(--space-8) var(--space-16);
  border-top:0.5px solid var(--color-bg-dark);display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:var(--space-3)}
footer .fw{font-family:var(--font-editorial);font-weight:700;font-size:15px;display:flex;align-items:baseline;gap:8px}
footer .fw .hound{color:#0d0d0d}
footer .fw .fby{font-family:var(--font-ui);font-weight:500;font-size:11px;color:rgba(21,39,64,0.5);letter-spacing:0.01em}
footer .fnote{font-family:var(--font-data);font-size:11px;color:rgba(21,39,64,0.5)}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  :root{--rail-w:100%}
  .rail{position:static;width:100%;height:auto;padding:var(--space-12) var(--space-8)}
  .rail-inner{max-width:none}
  .cta-block{margin-top:var(--space-8)}
  .content{margin-left:0;padding:0 var(--space-8) var(--space-12)}
  footer{margin-left:0;padding:var(--space-8)}
  .globe-stage{min-height:auto;padding:var(--space-16) 0}
  .hero-title{font-size:30px}
}
@media (max-width:560px){
  .navbar{padding:0 var(--space-4)}
  .nav-actions .btn{padding:8px 14px;font-size:12px}
  .content{padding:0 var(--space-4) var(--space-12)}
  .section h2{font-size:24px}
}
