
/* ── TOKENS ── */
:root {
  --ink:#1B222B; --navy:#1E2B38; --teal:#3E7CA6; --teal-dk:#2E6088;
  --gold:#D9822B; --cream:#F4F6F7; --paper:#FFFFFF; --bg:#FFFFFF;
  --bg-alt:#F6F8FA; --text:#1B222B; --text-soft:#5A6473;
  --border:#DDE2E8; --danger:#A4402F; --panel-bg:#1E2B38; --panel-text:#F4F6F7;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#141A22;--bg-alt:#1B222B;--text:#E9EDEF;--text-soft:#8A95A0;--border:#2C3540;--paper:#1B222B;}
}
:root[data-theme="dark"]{--bg:#141A22;--bg-alt:#1B222B;--text:#E9EDEF;--text-soft:#8A95A0;--border:#2C3540;--paper:#1B222B;}
html{scroll-padding-top:env(safe-area-inset-top,60px);}
*,*::before,*::after{box-sizing:inherit;}
body{margin:0;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:16px;color:var(--text);background:var(--bg);line-height:1.6;}
img{max-width:100%;display:block;}
a{color:var(--teal);text-decoration:none;}
a:hover{color:var(--teal-dk);}

/* ── LAYOUT ── */
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.section-pad{padding:72px 0;border-bottom:1px solid var(--border);}
.section-pad-alt{padding:72px 0;border-bottom:1px solid var(--border);background:var(--bg-alt);}

/* ── TYPOGRAPHY ── */
h1,h2,h3{font-family:"Source Serif 4",serif;line-height:1.2;margin:0 0 16px;}
h1{font-size:clamp(1.8rem,3.5vw,2.6rem);}
h2{font-size:clamp(1.4rem,2.5vw,1.9rem);}
h3{font-size:1.15rem;}
p{margin:0 0 16px;}
.mono{font-family:"IBM Plex Mono",monospace;}
.section-head{margin-bottom:36px;}
.section-head h2{margin-bottom:6px;}
.section-num{font-family:"IBM Plex Mono",monospace;font-size:.76rem;color:var(--teal);letter-spacing:.04em;}
.section-intro{color:var(--text-soft);font-size:.96rem;max-width:64ch;margin:0 0 12px;}
.section-disclaimer{font-size:.78rem;color:var(--text-soft);opacity:.75;max-width:64ch;margin:0 0 28px;font-style:italic;padding:8px 12px;border-left:2px solid var(--border);}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--teal);margin:0 0 16px;letter-spacing:.04em;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;font-size:.94rem;font-family:inherit;font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:opacity .15s,background .15s;}
.btn-gold{background:var(--gold);color:var(--paper);}
.btn-gold:hover{opacity:.88;color:var(--paper);}
.btn-primary{background:var(--teal);color:var(--paper);}
.btn-primary:hover{background:var(--teal-dk);color:var(--paper);}
.btn-ghost{border:1px solid var(--border);background:transparent;color:var(--text);}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}

/* ── HEADER ── */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:rgba(30,43,56,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.08);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:60px;max-width:1080px;margin:0 auto;padding:0 24px;}
.site-logo{font-family:"Source Serif 4",serif;font-size:1.05rem;color:var(--cream);font-weight:600;}
.site-logo span{color:var(--teal);}
.site-nav{display:flex;align-items:center;gap:4px;}
.site-nav a{font-size:.88rem;color:rgba(244,246,247,.75);padding:6px 10px;transition:color .15s;}
.site-nav a:hover,.site-nav a.active{color:var(--cream);}
.site-nav .nav-cta{background:var(--gold);color:var(--cream) !important;padding:7px 14px;font-weight:500;}
.site-nav .nav-cta:hover{opacity:.88;}
.nav-has-dropdown{position:relative;}
.nav-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--navy);min-width:220px;border:1px solid rgba(255,255,255,.1);padding:8px 0;z-index:200;}
.nav-has-dropdown:hover .nav-dropdown{display:block;}
.nav-dropdown a{display:block;padding:8px 16px;font-size:.84rem;color:rgba(244,246,247,.75);white-space:nowrap;}
.nav-dropdown a:hover{color:var(--cream);background:rgba(255,255,255,.06);}

/* ── HERO HOME ── */
.hero{position:relative;padding:80px 0 0;overflow:hidden;background:var(--navy);color:var(--cream);}
.hero-grid{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:center;padding-bottom:64px;}
.hero h1{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;max-width:18ch;color:var(--cream);margin-bottom:14px;}
.hero-tagline{font-family:"Source Serif 4",serif;font-size:clamp(1rem,1.8vw,1.2rem);color:var(--cream);opacity:.9;margin:0 0 16px;line-height:1.35;max-width:24ch;}
.hero-tagline mark{background:var(--gold);color:var(--ink);padding:0 5px;}
.hero p.lede{margin:0 0 28px;font-size:1rem;color:rgba(244,246,247,.78);max-width:48ch;}
.hero-marcos{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:rgba(244,246,247,.5);margin:20px 0 32px;letter-spacing:.03em;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.cred-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:24px;display:flex;flex-direction:column;gap:16px;}
.cred-label{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--teal);letter-spacing:.04em;margin-bottom:4px;}
.cred-item{display:flex;align-items:flex-start;gap:12px;}
.cred-item .icon{width:18px;height:18px;color:var(--teal);flex-shrink:0;margin-top:1px;}
.cred-name{font-size:.88rem;color:var(--cream);font-weight:500;}
.cred-issuer{font-size:.74rem;color:rgba(244,246,247,.55);font-family:"IBM Plex Mono",monospace;}
.cred-foot{font-size:.78rem;opacity:.6;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);color:var(--cream);}

/* ── HERO PÁGINA INTERIOR ── */
.page-hero{background:var(--navy);color:var(--cream);padding:64px 0 56px;}
.page-hero .breadcrumb{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:rgba(244,246,247,.5);margin-bottom:16px;}
.page-hero .breadcrumb a{color:rgba(244,246,247,.5);}
.page-hero .breadcrumb a:hover{color:var(--cream);}
.page-hero h1{color:var(--cream);max-width:22ch;}
.page-hero p.lede{color:rgba(244,246,247,.78);max-width:52ch;font-size:1.05rem;}
.page-hero .page-cta{margin-top:28px;}

/* ── TRES ÁREAS ── */
.tres-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.area-card{border:1px solid var(--border);padding:28px 24px;background:var(--bg);transition:border-color .2s;}
.area-card:hover{border-color:var(--teal);}
.area-icon{font-size:1.6rem;margin-bottom:12px;}
.area-name{font-family:"Source Serif 4",serif;font-size:1.05rem;font-weight:600;margin-bottom:10px;}
.area-desc{font-size:.86rem;color:var(--text-soft);line-height:1.6;margin:0 0 16px;}
.area-cta{font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--teal);}

/* ── SERVICIOS GRID ── */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.service-card{border:1px solid var(--border);padding:22px 20px;background:var(--bg-alt);}
.service-tag{font-family:"IBM Plex Mono",monospace;font-size:.68rem;color:var(--teal);margin-bottom:8px;letter-spacing:.03em;}
.service-card h3{font-size:.98rem;margin-bottom:6px;}
.service-card p{font-size:.84rem;color:var(--text-soft);margin:0;}

/* ── PROCESO ── */
.proceso-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;}
.proceso-step{padding:24px 16px;position:relative;}
.proceso-step:not(:last-child)::after{content:"→";position:absolute;right:-8px;top:24px;color:var(--teal);}
.paso-num{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--teal);margin-bottom:8px;}
.paso-title{font-weight:600;font-size:.92rem;margin-bottom:6px;}
.paso-desc{font-size:.8rem;color:var(--text-soft);}

/* ── PÁGINA INTERIOR CONTENIDO ── */
.page-content{max-width:800px;}
.page-content h2{font-size:1.5rem;margin:36px 0 12px;padding-top:12px;border-top:1px solid var(--border);}
.page-content h2:first-child{border-top:none;margin-top:0;padding-top:0;}
.page-content h3{font-size:1.05rem;margin:20px 0 8px;color:var(--text);}
.page-content ul{padding-left:20px;color:var(--text-soft);font-size:.95rem;}
.page-content ul li{margin-bottom:6px;}
.page-content .highlight-box{background:var(--bg-alt);border:1px solid var(--border);border-left:3px solid var(--teal);padding:20px 24px;margin:24px 0;}
.page-content .highlight-box p{margin:0;font-size:.95rem;}
.faq-item{border-bottom:1px solid var(--border);padding:16px 0;}
.faq-q{font-weight:600;font-size:.96rem;margin:0 0 8px;}
.faq-a{font-size:.9rem;color:var(--text-soft);margin:0;}
.entregables-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:16px 0;}
.entregable-item{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;}
.entregable-icon{color:var(--teal);flex-shrink:0;margin-top:2px;}

/* ── HERRAMIENTAS (teasers) ── */
.tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.tool-teaser{border:1px solid var(--border);padding:28px;background:var(--bg);position:relative;overflow:hidden;}
.tool-teaser::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--teal);}
.tool-badge{font-family:"IBM Plex Mono",monospace;font-size:.68rem;color:var(--teal);margin-bottom:10px;letter-spacing:.04em;}
.tool-teaser h3{font-size:1.08rem;margin-bottom:8px;}
.tool-teaser p{font-size:.86rem;color:var(--text-soft);margin:0 0 18px;}

/* ── SOBRE MÍ ── */
.about-grid{display:grid;grid-template-columns:1fr 280px;gap:56px;align-items:start;}
.avatar-badge img{width:220px;height:220px;object-fit:cover;border-radius:4px;}
.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.tag{font-family:"IBM Plex Mono",monospace;font-size:.72rem;padding:4px 10px;border:1px solid var(--border);color:var(--text-soft);}
.timeline{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.tl-item{display:flex;gap:12px;font-size:.84rem;}
.tl-yr{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--teal);white-space:nowrap;padding-top:2px;min-width:80px;}
.tl-co{color:var(--text-soft);}

/* ── CONTACTO ── */
.contact-panel{background:var(--panel-bg);color:var(--panel-text);padding:56px 48px;display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start;}
.contact-panel h2{color:var(--panel-text);font-size:1.75rem;margin-bottom:12px;}
.contact-main p{color:var(--panel-text);opacity:.82;max-width:48ch;margin-bottom:10px;font-size:.96rem;}
.cf-section-label{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--teal);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid rgba(244,246,247,.12);}
.cf-section-label:first-child{margin-top:0;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cf-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;}
.cf-field label{font-size:.78rem;color:rgba(244,246,247,.65);}
.cf-field input,.cf-field textarea,.cf-field select{padding:10px 12px;border:1px solid rgba(244,246,247,.18);background:rgba(244,246,247,.06);color:var(--cream);font-family:inherit;font-size:.9rem;resize:vertical;}
.cf-field select option{background:var(--navy);color:var(--cream);}
.cf-field input:focus,.cf-field textarea:focus,.cf-field select:focus{outline:none;border-color:var(--teal);}
.cf-err{font-size:.74rem;color:#E4967D;min-height:14px;}
.cf-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;}
.cf-or{font-size:.82rem;color:rgba(244,246,247,.4);}
.cf-wa{color:var(--cream) !important;border-color:rgba(244,246,247,.3) !important;}
.cf-sent{margin-top:14px;padding:12px 16px;background:rgba(76,140,90,.2);border:1px solid rgba(76,140,90,.4);}
.cf-sent p{margin:0;color:var(--cream);font-size:.9rem;opacity:1 !important;}
.contact-aside{border-left:1px solid rgba(244,246,247,.14);padding-left:40px;}
.contact-aside-label{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--teal);margin:0 0 10px;}
.contact-aside-note{font-size:.86rem;color:var(--panel-text);opacity:.72;margin:0 0 20px;}
.contact-aside-links{display:flex;flex-direction:column;gap:8px;font-size:.84rem;}
.contact-aside-links a{color:var(--panel-text);opacity:.75;}
.contact-aside-links a:hover{opacity:1;}

/* ── SIMULADOR ── */
.sim-shell{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start;}
.sim-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;}
.sim-field label{font-size:.78rem;color:var(--text-soft);}
.sim-field input,.sim-field select{padding:9px 11px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:.88rem;}
.sim-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:100%;max-width:360px;}
.sim-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px;border-radius:2px;}
.sim-axis-label{font-family:"IBM Plex Mono",monospace;font-size:.68rem;color:var(--text-soft);text-align:center;margin:4px 0;}
.sim-badge{background:var(--ink);color:var(--paper);border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;flex-shrink:0;font-family:"IBM Plex Mono",monospace;}
.sim-badge-res{background:transparent !important;border:2px solid var(--ink);color:var(--ink);}
.sim-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:.84rem;}
.sim-row-info{display:flex;flex-direction:column;gap:2px;}
.sim-name{font-weight:500;}
.sim-cat{font-size:.72rem;color:var(--text-soft);font-family:"IBM Plex Mono",monospace;}
.sim-tag{font-family:"IBM Plex Mono",monospace;font-size:.7rem;padding:3px 7px;color:var(--paper);white-space:nowrap;}
.sim-tag-res{background:transparent !important;border:1px solid;}
.sim-del{background:none;border:none;color:var(--text-soft);cursor:pointer;font-size:.78rem;padding:3px 5px;transition:color .15s;}
.sim-del:hover{color:var(--danger);}
.sim-empty{color:var(--text-soft);font-size:.88rem;padding:16px 0;}
.sim-summary{margin-top:14px;padding:12px 16px;background:var(--bg-alt);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px;font-size:.84rem;color:var(--text-soft);}
.sim-legend{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;}
.sim-legend-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-soft);}
.sim-cta{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);max-width:56ch;}
.sim-cta p{color:var(--text-soft);font-size:.92rem;margin:0 0 14px;}

/* ── DIAGNÓSTICO ── */
.diag-shell{max-width:740px;}
.diag-progress{height:3px;background:var(--border);margin-bottom:5px;}
.diag-progress-fill{height:100%;background:var(--teal);transition:width .3s;}
.diag-prog-label{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--text-soft);margin-bottom:20px;display:flex;justify-content:space-between;}
.diag-block{border:1px solid var(--border);background:var(--bg);padding:26px 28px;}
.diag-theme{font-family:"IBM Plex Mono",monospace;font-size:.74rem;color:var(--teal);margin-bottom:8px;}
.diag-q{font-family:"Source Serif 4",serif;font-size:1.1rem;line-height:1.38;margin-bottom:18px;}
.diag-why{font-size:.78rem;color:var(--text-soft);margin-bottom:18px;font-style:italic;}
.diag-opts{display:flex;flex-direction:column;gap:8px;}
.diag-opt{border:1px solid var(--border);background:var(--bg);padding:11px 14px;cursor:pointer;font-family:inherit;font-size:.9rem;color:var(--text);text-align:left;display:flex;align-items:center;gap:10px;transition:border-color .15s,background .15s;}
.diag-opt:hover{border-color:var(--teal);}
.diag-opt.selected{background:var(--teal);border-color:var(--teal);color:var(--paper);}
.diag-opt .opt-badge{width:20px;height:20px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0;font-family:"IBM Plex Mono",monospace;}
.diag-nav{display:flex;justify-content:space-between;margin-top:20px;}
.diag-result{border:1px solid var(--border);background:var(--bg);padding:28px;}
.diag-score-row{display:flex;align-items:baseline;gap:14px;margin-bottom:6px;}
.diag-pct{font-family:"Source Serif 4",serif;font-size:3rem;}
.diag-level{font-size:1.05rem;font-weight:600;}
.diag-verdict{color:var(--text-soft);font-size:.93rem;margin:6px 0 24px;max-width:54ch;}
.diag-themes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px;}
.diag-theme-card{border:1px solid var(--border);padding:14px;}
.diag-theme-card .dt-name{font-size:.78rem;color:var(--text-soft);margin-bottom:7px;font-family:"IBM Plex Mono",monospace;}
.diag-theme-card .dt-bar-track{height:5px;background:var(--border);margin-bottom:5px;}
.diag-theme-card .dt-score{font-size:.78rem;font-family:"IBM Plex Mono",monospace;}
.diag-gaps h3{font-size:.98rem;margin-bottom:10px;}
.gap-item{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border);font-size:.86rem;}
.gap-badge{background:var(--danger);color:#fff;font-family:"IBM Plex Mono",monospace;font-size:.66rem;padding:2px 6px;white-space:nowrap;flex-shrink:0;}
.gap-badge.medium{background:var(--gold);color:var(--ink);}
.diag-lead-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 14px;padding-top:20px;border-top:1px solid var(--border);}
.diag-lead-form .full{grid-column:1/-1;}
.diag-lead-form label{display:block;font-size:.78rem;color:var(--text-soft);margin-bottom:4px;}
.diag-lead-form input{width:100%;padding:9px 11px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:.9rem;}
.diag-cta-note{font-size:.76rem;color:var(--text-soft);margin-top:8px;}

/* ── RECURSOS ── */
.recursos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.recurso-card{border:1px solid var(--border);padding:24px;background:var(--bg);transition:border-color .2s;}
.recurso-card:hover{border-color:var(--teal);}
.recurso-tipo{font-family:"IBM Plex Mono",monospace;font-size:.68rem;color:var(--teal);margin-bottom:10px;letter-spacing:.03em;}
.recurso-card h3{font-size:1rem;margin-bottom:8px;}
.recurso-card p{font-size:.84rem;color:var(--text-soft);margin:0 0 14px;}
.recurso-link{font-size:.82rem;color:var(--teal);font-family:"IBM Plex Mono",monospace;}

/* ── CTA FINAL ── */
.cta-final{background:var(--navy);color:var(--cream);text-align:center;padding:64px 24px;}
.cta-final h2{color:var(--cream);font-size:1.8rem;margin-bottom:12px;}
.cta-final p{color:rgba(244,246,247,.75);margin:0 auto 28px;max-width:48ch;}
.cta-final .btn-ghost{border-color:rgba(244,246,247,.35);color:var(--cream);}

/* ── FOOTER ── */
.site-footer{background:var(--ink);color:rgba(244,246,247,.55);padding:24px 0;font-size:.8rem;}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;max-width:1080px;margin:0 auto;padding:0 24px;}

/* ── RESPONSIVE ── */
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;padding-bottom:48px;}
  .cred-panel{display:none;}
  .tres-areas{grid-template-columns:1fr;}
  .services-grid{grid-template-columns:1fr;}
  .proceso-grid{grid-template-columns:1fr;}
  .proceso-step:not(:last-child)::after{display:none;}
  .tools-grid{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;}
  .contact-panel{grid-template-columns:1fr;padding:36px 22px;gap:32px;}
  .contact-aside{border-left:none;border-top:1px solid rgba(244,246,247,.14);padding-left:0;padding-top:24px;}
  .cf-row{grid-template-columns:1fr;}
  .sim-shell{grid-template-columns:1fr;}
  .diag-themes-grid{grid-template-columns:1fr;}
  .diag-lead-form{grid-template-columns:1fr;}
  .recursos-grid{grid-template-columns:1fr;}
  .entregables-list{grid-template-columns:1fr;}
  .header-inner .site-nav{display:none;}
}

/* ── RECURSOS DINÁMICOS ── */
.recursos-grid a { color: var(--text); }
.recursos-grid a:hover { color: var(--teal); }
.recurso-link { font-size:.82rem; color: var(--teal); font-family:"IBM Plex Mono",monospace; display:inline-block; margin-top:4px; }
.page-numbers { display:inline-flex; align-items:center; padding:6px 12px; border:1px solid var(--border); font-size:.84rem; color:var(--text); margin-right:4px; }
.page-numbers.current { background:var(--teal); color:var(--paper); border-color:var(--teal); }
.page-numbers:hover { border-color:var(--teal); color:var(--teal); }

/* ── FONDO DE RED EN EL HERO ── */
.hero > #heroNet{z-index:0;}
.hero > .wrap{position:relative;z-index:1;}
