:root{
    /* Paleta ID One — azules, celeste, morado y rosa */
    --blue:#B55F12;
    --blue-hover:#9C5412;
    --celeste:#F2A541;
    --celeste-bright:#F5B968;
    --purple:#4A4A4A;
    --purple-deep:#111111;
    --pink:#B55F12;
    --pink-deep:#9C5412;
    --indigo:#111111;        /* fondos oscuros de sección */
    --indigo-mid:#1A1A1A;
    --ink:#111111;           /* texto principal */
    --muted:#757575;         /* texto secundario */
    --paper:#FAFAFA;         /* fondo general */
    --white:#FFFFFF;
    --line:#EFEFEF;
    --blue-tint:#F7EEE5;
    --purple-tint:#EFEFEF;
    --pink-tint:#F7EEE5;
    --celeste-tint:#FDF4EA;
    --on-dark:#FAFAFA;
    --on-dark-soft:#CCCCCC;
    /* aliases heredados para no romper reglas existentes */
    --sage:var(--blue);
    --sage-mid:var(--blue-hover);
    --sage-deep:var(--indigo);
    --sage-bright:var(--celeste);
    --sage-tint:var(--blue-tint);
    --oak:var(--purple);
    --oak-deep:var(--purple-deep);
    --oak-tint:var(--purple-tint);
    --yellow:var(--celeste);
    --yellow-bright:var(--celeste-bright);
    --yellow-tint:var(--celeste-tint);
    --taupe:var(--muted);
    --shadow-sm:0 1px 2px rgba(17,17,17,.05);
    --shadow-md:0 2px 8px rgba(17,17,17,.07);
    --r-lg:16px;
    --r-md:16px;
    --r-sm:8px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html,body{margin:0;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
    font-size:16px;line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:var(--sage);}
  ::selection{background:var(--celeste-tint);color:var(--ink);}
  :focus-visible{outline:2px solid var(--sage-bright);outline-offset:2px;}
  h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.025em;text-wrap:balance;line-height:1.12;}
  p{margin:0;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 clamp(20px,4vw,44px);}

  /* chips / etiquetas */
  .chip{
    display:inline-flex;align-items:center;gap:7px;
    font-size:.74rem;font-weight:600;letter-spacing:.02em;
    padding:6px 14px;border-radius:999px;
  }
  .chip-sage{background:var(--blue-tint);color:var(--blue);}
  .chip-oak{background:var(--purple-tint);color:var(--purple-deep);}
  .chip-yellow{background:var(--pink-tint);color:var(--pink-deep);}
  .chip-light{background:rgba(245,244,240,.16);color:var(--on-dark);}
  .chip-dot{width:7px;height:7px;border-radius:50%;background:currentColor;}

  /* botones */
  .btn{
    font-family:inherit;font-weight:600;font-size:.94rem;
    padding:13px 24px;border-radius:999px;border:1.5px solid transparent;
    cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;
    transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
  }
  .btn-primary{background:var(--blue);color:var(--white);box-shadow:var(--shadow-sm);}
  .btn-primary:hover{background:var(--blue-hover);transform:translateY(-1px);box-shadow:var(--shadow-md);}
  .btn-yellow{background:var(--celeste);color:#08283A;font-weight:700;}
  .btn-yellow:hover{background:var(--celeste-bright);transform:translateY(-1px);box-shadow:0 8px 24px rgba(214,125,42,.35);}
  .btn-ghost{background:transparent;border-color:var(--line);color:var(--ink);}
  .btn-ghost:hover{border-color:var(--sage);color:var(--sage);background:var(--sage-tint);}
  .btn-sm{padding:9px 18px;font-size:.84rem;}
  .btn-light{background:transparent;border-color:rgba(245,244,240,.45);color:var(--on-dark);}
  .btn-light:hover{background:rgba(243,242,251,.12);border-color:var(--celeste);color:var(--celeste);}

  /* ---------- header ---------- */
  header{
    position:sticky;top:0;z-index:60;
    padding:14px clamp(20px,4vw,44px);
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    background:rgba(17,17,17,.94);backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(245,244,240,.1);
  }
  .brand img{height:24px;width:auto;display:block;}
  nav.main-nav{display:flex;align-items:center;gap:26px;flex:1;justify-content:center;}
  nav.main-nav a{
    font-size:.88rem;font-weight:500;text-decoration:none;color:var(--on-dark-soft);
    display:inline-flex;align-items:center;gap:7px;white-space:nowrap;transition:color .15s ease;
  }
  nav.main-nav a:hover{color:var(--white);}
  .badge-free{
    background:var(--celeste);color:#0B1B33;
    font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    padding:3px 9px;border-radius:999px;
  }
  .hamburger{display:none;background:none;border:1px solid rgba(245,244,240,.25);color:var(--on-dark);
    border-radius:var(--r-sm);padding:8px 11px;cursor:pointer;font-size:1rem;}
  .mobile-nav{display:none;flex-direction:column;padding:6px clamp(20px,4vw,44px) 18px;background:var(--indigo);}
  .mobile-nav a{padding:12px 2px;color:var(--on-dark-soft);text-decoration:none;font-size:.95rem;
    border-bottom:1px solid rgba(245,244,240,.1);display:flex;justify-content:space-between;align-items:center;}
  .mobile-nav.open{display:flex;}

  /* ---------- hero ---------- */
  .hero{padding:0;}
  .hero-glow{
    position:absolute;width:460px;height:460px;right:-130px;top:-160px;border-radius:50%;
    background:rgba(214,125,42,.42);
    pointer-events:none;
  }
  .hero-glow-2{
    position:absolute;width:380px;height:380px;left:-140px;bottom:-180px;border-radius:50%;
    background:rgba(214,125,42,.34);
    pointer-events:none;
  }
  .hero-content{position:relative;max-width:1140px;margin:0 auto;}
  .hero-content h1,.hero-content .chip,.hero-content .hero-cta{max-width:820px;}
  .hero-content h1{
    margin-top:22px;color:var(--white);
    font-size:clamp(2.3rem,5vw,3.9rem);font-weight:800;letter-spacing:-.035em;
  }
  .hero-content h1 span{background:var(--celeste);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .hero-content .lede{margin-top:20px;font-size:clamp(1rem,1.5vw,1.16rem);color:#D6D3EE;max-width:56ch;}
  .hero-cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px;}

  /* ---------- franja de métricas ---------- */
  .proof{background:var(--indigo);color:var(--on-dark);}
  .proof-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:44px 0 34px;}
  .proof-tile .val{font-size:2.3rem;font-weight:800;letter-spacing:-.04em;color:var(--celeste);line-height:1;}
  .proof-tile .lab{margin-top:10px;font-size:.86rem;color:var(--on-dark-soft);}
  .proof-note{padding:0 0 40px;font-size:.92rem;color:var(--on-dark-soft);}
  .proof-note a{color:var(--pink);font-weight:600;}

  /* ---------- secciones ---------- */
  section{padding:clamp(64px,9vw,116px) 0;}
  .section-head{max-width:62ch;margin-bottom:44px;}
  .section-head h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-top:16px;}
  .section-head .sub{margin-top:16px;color:var(--taupe);font-size:1.02rem;}

  .card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-bottom:36px;}
  .card{
    background:var(--white);border-radius:var(--r-lg);padding:30px 28px;
    box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;
    border:1px solid rgba(226,225,242,.9);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
  .icon-tile{
    width:48px;height:48px;border-radius:var(--r-md);
    display:flex;align-items:center;justify-content:center;
  }
  .icon-tile svg{width:23px;height:23px;stroke-width:1.7;fill:none;}
  .tile-sage{background:var(--blue-tint);color:var(--blue);}
  .tile-oak{background:var(--purple-tint);color:var(--purple-deep);}
  .tile-yellow{background:var(--pink-tint);color:var(--pink-deep);}
  .card h3{font-size:1.14rem;}
  .card p{color:var(--taupe);font-size:.94rem;}

  /* ---------- B2C: bloque de color ---------- */
  #b2c{background:var(--indigo-mid);color:var(--on-dark);}
  #b2c .section-head h2{color:var(--white);}
  #b2c .section-head .sub{color:var(--on-dark-soft);}
  .b2c-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:36px;}
  .b2c-item{
    background:rgba(245,244,240,.07);border:1px solid rgba(245,244,240,.14);
    border-radius:var(--r-lg);padding:28px 26px;display:flex;flex-direction:column;gap:12px;
  }
  .b2c-item .num{font-size:.78rem;font-weight:700;color:var(--celeste);letter-spacing:.08em;}
  .b2c-item h3{font-size:1.1rem;color:var(--white);}
  .b2c-item p{color:#CFCBE9;font-size:.92rem;}
  .b2c-foot{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;
    background:rgba(214,125,42,.18);
    border:1px solid rgba(243,242,251,.16);border-radius:var(--r-lg);padding:24px 28px;}
  .b2c-foot p{color:#E7E4F7;font-size:.95rem;max-width:52ch;}

  /* ---------- PM Tools hub ---------- */
  #pmtools{background:var(--celeste-tint);}
  .hub-head{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-end;margin-bottom:40px;}
  .hub-head .section-head{margin-bottom:0;}
  .tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
  .tool-card{
    background:var(--white);border-radius:var(--r-lg);padding:26px 24px;
    border:1px solid rgba(139,92,246,.22);box-shadow:var(--shadow-sm);
    display:flex;flex-direction:column;gap:13px;min-height:212px;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
  .tool-card h3{font-size:1.04rem;}
  .tool-card p{color:var(--taupe);font-size:.88rem;flex:1;}
  .tool-card .tool-link{
    align-self:flex-start;color:var(--blue);text-decoration:none;
    font-weight:700;font-size:.9rem;
  }
  .tool-card .tool-link:hover{color:var(--pink-deep);}
  .tools-cta{
    margin-top:32px;border-radius:var(--r-lg);padding:32px;
    background:var(--indigo);color:var(--on-dark);
    display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;
  }
  .tools-cta h3{color:var(--white);font-size:1.3rem;}
  .tools-cta p{color:var(--on-dark-soft);font-size:.94rem;max-width:52ch;margin-top:10px;}

  .tool-tabs{margin-top:36px;background:var(--white);border-radius:var(--r-lg);
    border:1px solid rgba(139,92,246,.22);box-shadow:var(--shadow-sm);overflow:hidden;}
  .tool-tab-bar{display:flex;flex-wrap:wrap;gap:6px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--celeste-tint);}
  .tool-tab-btn{
    font-family:inherit;font-size:.85rem;font-weight:600;
    background:transparent;border:none;color:var(--taupe);
    padding:9px 16px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease;
  }
  .tool-tab-btn:hover{color:var(--ink);}
  .tool-tab-btn.active{background:var(--blue);color:var(--white);}
  .tool-panel{display:none;padding:clamp(22px,3vw,36px);}
  .tool-panel.active{display:block;}
  .tool-panel h4{font-size:1.28rem;}
  .tool-panel .tool-desc{color:var(--taupe);font-size:.92rem;margin:8px 0 24px;max-width:64ch;}

  .field{display:flex;flex-direction:column;gap:7px;}
  .field label{font-size:.76rem;font-weight:600;color:var(--taupe);}
  .field input,.field select,.field textarea{
    font-family:inherit;font-size:.94rem;padding:12px 14px;
    border:1.5px solid var(--line);border-radius:var(--r-sm);
    background:var(--paper);color:var(--ink);width:100%;transition:border-color .15s ease, background .15s ease;
  }
  .field input:focus,.field select:focus,.field textarea:focus{background:var(--white);border-color:var(--purple);box-shadow:0 0 0 3px rgba(139,92,246,.14);}
  .field select{
    appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%236E6B90' stroke-width='1.6' fill='none'/></svg>");
    background-repeat:no-repeat;background-position:right 14px center;padding-right:34px;
  }
  .field input::placeholder,.field textarea::placeholder{color:#A8A5C4;}
  .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;}

  .rice-table{width:100%;border-collapse:collapse;margin-top:22px;font-size:.9rem;}
  .rice-table th,.rice-table td{border-bottom:1px solid var(--line);padding:11px 12px;text-align:left;}
  .rice-table th{color:var(--taupe);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
  .rice-table td.score{font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums;}
  .rice-table tr:first-child td.score{color:var(--pink-deep);}

  .quiz-item{display:flex;flex-direction:column;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);}
  .quiz-item p{font-size:.94rem;font-weight:500;}
  .quiz-scale{display:flex;gap:18px;flex-wrap:wrap;}
  .quiz-scale label{display:flex;align-items:center;gap:7px;font-size:.84rem;color:var(--taupe);cursor:pointer;}
  .quiz-scale input{accent-color:var(--purple);}

  .result-box{margin-top:26px;padding:26px;border-radius:var(--r-md);
    background:var(--indigo);color:var(--on-dark);display:none;}
  .result-box.show{display:block;}
  .result-box .level{font-size:1.5rem;font-weight:800;color:var(--celeste);letter-spacing:-.02em;}
  .result-box p{color:#D6D3EE;font-size:.94rem;margin-top:10px;}

  .prompt-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
    padding:18px 18px 18px;margin-top:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
    font-size:.8rem;color:#4A4770;position:relative;white-space:pre-wrap;}
  .prompt-block .copy-btn{position:absolute;top:12px;right:12px;}

  .canvas-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;}
  .canvas-cell{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
    padding:16px;display:flex;flex-direction:column;gap:10px;}
  .canvas-cell .cell-label{font-size:.76rem;font-weight:700;color:var(--blue);}
  .canvas-cell:nth-child(2) .cell-label{color:var(--purple-deep);}
  .canvas-cell:nth-child(3) .cell-label{color:var(--pink-deep);}
  .canvas-cell:nth-child(4) .cell-label{color:var(--muted);}
  .canvas-cell textarea{min-height:108px;resize:vertical;background:var(--white);}

  .tool-actions{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap;}
  .tool-msg{font-size:.85rem;color:var(--blue);font-weight:500;margin-top:12px;display:none;}
  .tool-msg.show{display:block;}

  .lead-banner{
    margin-top:36px;border-radius:var(--r-lg);padding:30px;
    background:var(--indigo);color:var(--on-dark);
    display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between;
  }
  .lead-banner h3{color:var(--white);font-size:1.2rem;}
  .lead-banner p{max-width:40ch;font-size:.92rem;color:var(--on-dark-soft);margin-top:8px;}
  .lead-banner form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
  .lead-banner .field{min-width:170px;}
  .lead-banner .field label{color:var(--on-dark-soft);}
  .lead-banner .field input{background:rgba(245,244,240,.1);border-color:rgba(245,244,240,.22);color:var(--white);}
  .lead-banner .field input::placeholder{color:#8F8B84;}

  /* ---------- metodología ---------- */
  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;}
  .step{background:var(--white);border-radius:var(--r-lg);padding:30px 28px;border:1px solid rgba(226,225,242,.9);
    box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;}
  .step .step-num{
    width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-weight:800;font-size:1.05rem;
  }
  .step:nth-child(1) .step-num{background:var(--blue);color:var(--white);}
  .step:nth-child(2) .step-num{background:var(--purple);color:var(--white);}
  .step:nth-child(3) .step-num{background:var(--pink);color:var(--white);}
  .step h3{font-size:1.1rem;}
  .step p{color:var(--taupe);font-size:.93rem;}

  /* ---------- casos ---------- */
  .case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;}
  .case-card{border:2px dashed rgba(139,92,246,.4);border-radius:var(--r-lg);padding:28px;
    display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:180px;background:rgba(255,255,255,.5);}
  .case-card p{color:var(--taupe);font-size:.93rem;}

  /* ---------- contacto ---------- */
  #contacto{background:var(--white);}
  .contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);}
  .contact-brief{background:var(--indigo);color:var(--on-dark);padding:clamp(30px,4vw,48px);display:flex;flex-direction:column;gap:18px;}
  .contact-brief h3{color:var(--white);font-size:1.5rem;}
  .contact-brief p{color:var(--on-dark-soft);font-size:.94rem;max-width:38ch;}
  .contact-brief .brief-item{display:flex;gap:12px;align-items:flex-start;}
  .contact-brief .brief-item span{color:var(--celeste);font-weight:700;}
  .contact-form{background:var(--paper);padding:clamp(30px,4vw,48px);display:flex;flex-direction:column;gap:18px;}
  .form-msg{font-size:.88rem;padding:12px 14px;border-radius:var(--r-sm);display:none;
    background:var(--blue-tint);color:var(--blue);font-weight:500;}
  .form-msg.show{display:block;}

  /* ---------- footer ---------- */
  footer{background:var(--indigo);padding:56px clamp(20px,4vw,44px) 32px;}
  .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;max-width:1140px;margin:0 auto;}
  .footer-brand img{height:24px;}
  .footer-brand p{color:var(--on-dark-soft);font-size:.88rem;max-width:34ch;margin-top:14px;}
  .footer-col h4{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--celeste);margin-bottom:14px;}
  .footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
  .footer-col a{color:var(--on-dark-soft);text-decoration:none;font-size:.9rem;}
  .footer-col a:hover{color:var(--white);}
  .footer-social{display:flex;gap:10px;margin-top:18px;}
  .footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(245,244,240,.1);
    display:flex;align-items:center;justify-content:center;transition:background .15s ease;}
  .footer-social a:hover{background:var(--celeste);}
  .footer-social svg{width:17px;height:17px;fill:var(--on-dark-soft);}
  .footer-social a:hover svg{fill:var(--white);}
  .footer-bottom{max-width:1140px;margin:40px auto 0;padding-top:22px;border-top:1px solid rgba(245,244,240,.12);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--on-dark-soft);}

  @media (max-width:900px){
    nav.main-nav{display:none;}
    .hamburger{display:inline-flex;}
    .header-cta{display:none;}
    .proof-inner{grid-template-columns:repeat(2,1fr);}
    .contact-layout{grid-template-columns:1fr;}
    .canvas-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none !important;}
    html{scroll-behavior:auto;}
  }


  /* --- específico de la página de herramientas --- */
  .tools-hero{
    position:relative;overflow:hidden;
    background:var(--indigo);
    color:var(--on-dark);padding:clamp(48px,7vw,84px) 0 clamp(40px,6vw,68px);
  }
  .tools-hero h1{color:var(--white);font-size:clamp(2.1rem,4.4vw,3.3rem);font-weight:800;letter-spacing:-.035em;margin-top:20px;}
  .tools-hero h1 span{background:var(--celeste);
    -webkit-background-clip:text;background-clip:text;color:transparent;}
  .tools-hero .lede{margin-top:18px;font-size:clamp(1rem,1.4vw,1.12rem);color:#D6D3EE;max-width:60ch;}
  .tools-hero .hero-glow{right:-140px;top:-180px;}
  .tools-hero .wrap{position:relative;}
  .back-link{color:var(--on-dark-soft);text-decoration:none;font-size:.86rem;font-weight:500;
    display:inline-flex;align-items:center;gap:7px;}
  .back-link:hover{color:var(--celeste);}
  .tools-page{padding:clamp(48px,7vw,84px) 0 clamp(56px,8vw,96px);}
  .anchor-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
  .anchor-nav a{
    background:rgba(243,242,251,.1);border:1px solid rgba(243,242,251,.2);
    color:var(--on-dark);text-decoration:none;font-size:.84rem;font-weight:600;
    padding:8px 16px;border-radius:999px;transition:background .15s ease,border-color .15s ease;
  }
  .anchor-nav a:hover{background:rgba(214,125,42,.2);border-color:var(--celeste);}
  .tool-block{
    background:var(--white);border-radius:var(--r-lg);border:1px solid rgba(139,92,246,.2);
    box-shadow:var(--shadow-sm);padding:clamp(24px,3.5vw,42px);margin-bottom:28px;scroll-margin-top:90px;
  }
  .tool-block-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:24px;}
  .tool-block-head h2{font-size:clamp(1.35rem,2.4vw,1.75rem);}
  .tool-block-head p{color:var(--muted);font-size:.94rem;margin-top:8px;max-width:62ch;}
  .tool-num{font-size:.74rem;font-weight:700;color:var(--purple-deep);background:var(--purple-tint);
    padding:4px 10px;border-radius:999px;display:inline-block;margin-bottom:10px;}
  .group-head{margin:8px 0 22px;display:flex;align-items:center;gap:14px;}
  .group-head h2{font-size:1.05rem;color:var(--muted);font-weight:600;letter-spacing:0;white-space:nowrap;}
  .group-head::after{content:"";flex:1;height:1px;background:var(--line);}
  .moscow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;}
  .moscow-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;min-height:150px;}
  .moscow-col h5{margin:0 0 10px;font-size:.8rem;font-weight:700;}
  .moscow-col:nth-child(1) h5{color:var(--pink-deep);}
  .moscow-col:nth-child(2) h5{color:var(--blue);}
  .moscow-col:nth-child(3) h5{color:var(--purple-deep);}
  .moscow-col:nth-child(4) h5{color:var(--muted);}
  .moscow-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .moscow-col li{background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);
    padding:8px 10px;font-size:.84rem;display:flex;justify-content:space-between;gap:8px;align-items:flex-start;}
  .moscow-col li button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;line-height:1;padding:0;}
  .moscow-col li button:hover{color:var(--pink-deep);}
  .warn-box{margin-top:16px;padding:12px 14px;border-radius:var(--r-sm);background:var(--pink-tint);
    color:var(--pink-deep);font-size:.86rem;font-weight:500;display:none;}
  .warn-box.show{display:block;}
  .kano-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:end;
    padding:14px 0;border-bottom:1px solid var(--line);}
  .cat-badge{display:inline-block;padding:5px 12px;border-radius:999px;font-size:.78rem;font-weight:700;}
  .cat-A{background:var(--pink-tint);color:var(--pink-deep);}
  .cat-O{background:var(--blue-tint);color:var(--blue);}
  .cat-M{background:var(--purple-tint);color:var(--purple-deep);}
  .cat-I{background:var(--line);color:var(--muted);}
  .cat-R,.cat-Q{background:#FFF0E0;color:#A85B12;}
  .triage-out{display:none;margin-top:22px;padding:22px;border-radius:var(--r-md);
    background:var(--indigo);color:var(--on-dark);}
  .triage-out.show{display:block;}
  .triage-out .verdict{font-size:1.4rem;font-weight:800;color:var(--celeste);}
  .triage-out p{color:#D6D3EE;font-size:.92rem;margin-top:8px;}
  .horizon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px;}
  .horizon-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;min-height:160px;}
  .horizon-col h5{margin:0 0 4px;font-size:.84rem;font-weight:700;}
  .horizon-col .hint{font-size:.74rem;color:var(--muted);margin-bottom:12px;display:block;}
  .horizon-col:nth-child(1) h5{color:var(--blue);}
  .horizon-col:nth-child(2) h5{color:var(--purple-deep);}
  .horizon-col:nth-child(3) h5{color:var(--pink-deep);}
  .horizon-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .horizon-col li{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--purple);
    border-radius:var(--r-sm);padding:10px 12px;font-size:.85rem;}
  .horizon-col li .outcome{display:block;color:var(--muted);font-size:.76rem;margin-top:4px;}
  .horizon-col li .row-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;font-weight:600;}
  .horizon-col li button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;padding:0;line-height:1;}
  .horizon-col li button:hover{color:var(--pink-deep);}
  .okr-out{display:none;margin-top:22px;padding:24px;border-radius:var(--r-md);background:var(--paper);border:1px solid var(--line);}
  .okr-out.show{display:block;}
  .okr-out .obj{font-size:1.12rem;font-weight:700;}
  .okr-out ol{margin:14px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:10px;}
  .okr-out li{font-size:.92rem;}
  .okr-check{font-size:.8rem;font-weight:600;margin-left:8px;}
  .okr-ok{color:var(--blue);}
  .okr-bad{color:var(--pink-deep);}
  .kpi-tree{margin-top:22px;}
  .kpi-north{background:var(--indigo);color:var(--on-dark);
    border-radius:var(--r-md);padding:18px 20px;}
  .kpi-north .lbl{font-size:.72rem;font-weight:700;color:var(--celeste);letter-spacing:.06em;text-transform:uppercase;}
  .kpi-north .val{font-size:1.2rem;font-weight:700;color:var(--white);margin-top:4px;}
  .kpi-drivers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:14px;}
  .kpi-driver{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--blue);
    border-radius:var(--r-md);padding:14px;}
  .kpi-driver:nth-child(2n){border-top-color:var(--purple);}
  .kpi-driver:nth-child(3n){border-top-color:var(--pink);}
  .kpi-driver .dname{font-weight:700;font-size:.92rem;display:flex;justify-content:space-between;gap:8px;}
  .kpi-driver .dname button{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;line-height:1;}
  .kpi-driver ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
  .kpi-driver li{font-size:.82rem;color:var(--muted);padding-left:12px;border-left:2px solid var(--line);}
  .nsm-out{display:none;margin-top:22px;padding:24px;border-radius:var(--r-md);
    background:var(--indigo);color:var(--on-dark);}
  .nsm-out.show{display:block;}
  .nsm-out .metric{font-size:1.3rem;font-weight:800;color:var(--celeste);}
  .nsm-out p{color:#D6D3EE;font-size:.92rem;margin-top:10px;}
  .nsm-out ul{margin:12px 0 0;padding-left:20px;color:#D6D3EE;font-size:.9rem;display:flex;flex-direction:column;gap:6px;}
  .gen-out{display:none;margin-top:22px;padding:22px;border-radius:var(--r-md);
    background:var(--paper);border:1px solid var(--line);}
  .gen-out.show{display:block;}
  .gen-out .statement{font-size:1.05rem;font-weight:600;line-height:1.5;}
  .gen-out .statement em{color:var(--purple-deep);font-style:normal;}
  .checks{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .checks li{font-size:.86rem;display:flex;gap:8px;align-items:flex-start;}
  .checks .ok{color:var(--blue);font-weight:700;}
  .checks .bad{color:var(--pink-deep);font-weight:700;}
  .persona-card{display:none;margin-top:22px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);}
  .persona-card.show{display:block;}
  .persona-top{background:var(--indigo);color:var(--on-dark);padding:22px;}
  .persona-top .pname{font-size:1.3rem;font-weight:800;color:var(--white);}
  .persona-top .prole{color:var(--celeste);font-size:.9rem;font-weight:600;margin-top:4px;}
  .persona-body{background:var(--white);padding:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;}
  .persona-body h6{margin:0 0 6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;}
  .persona-body p{font-size:.9rem;}
  .conf-badge{display:inline-block;margin-top:12px;padding:5px 12px;border-radius:999px;font-size:.76rem;font-weight:700;}
  .conf-alta{background:var(--blue-tint);color:var(--blue);}
  .conf-media{background:var(--purple-tint);color:var(--purple-deep);}
  .conf-baja{background:var(--pink-tint);color:var(--pink-deep);}
  .canvas6{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;}
  .canvas6 .side{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;background:var(--paper);}
  .canvas6 .side h5{margin:0 0 12px;font-size:.82rem;font-weight:700;}
  .canvas6 .side:nth-child(1) h5{color:var(--blue);}
  .canvas6 .side:nth-child(2) h5{color:var(--purple-deep);}
  .canvas6 .field + .field{margin-top:12px;}
  .canvas6 textarea{min-height:78px;resize:vertical;background:var(--white);}
  .lean-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px;}
  .lean-cell{border:1px solid var(--line);border-radius:var(--r-md);padding:14px;background:var(--paper);}
  .lean-cell textarea{min-height:84px;resize:vertical;background:var(--white);}
  .note-row{display:grid;grid-template-columns:1fr 200px;gap:12px;align-items:center;
    padding:10px 0;border-bottom:1px solid var(--line);}
  .note-row .txt{font-size:.88rem;}
  .theme-group{margin-top:18px;border:1px solid var(--line);border-radius:var(--r-md);padding:16px;background:var(--paper);}
  .theme-group h5{margin:0 0 10px;font-size:.92rem;color:var(--purple-deep);}
  .theme-group ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:var(--muted);}
  .index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:36px;}
  .index-col{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:18px;}
  .index-col h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--purple-deep);margin-bottom:12px;}
  .index-col ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;}
  .index-col a{color:var(--ink);text-decoration:none;font-size:.87rem;}
  .index-col a:hover{color:var(--blue);text-decoration:underline;}

  /* ====== Término del glosario ====== */
  .glosario{margin:0 0 30px;border:1px solid var(--line);border-radius:var(--r-md);
    background:#FFFFFF;
    padding:22px clamp(18px,3vw,28px);display:flex;gap:22px;align-items:flex-start;
    flex-wrap:wrap;position:relative;overflow:hidden;}
  .glosario::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
    background:var(--celeste);}
  .glosario .g-main{flex:1 1 380px;min-width:0;}
  .glosario .g-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
  .glosario .g-label{font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
    color:var(--purple);}
  .glosario .g-count{font-size:.74rem;color:var(--muted);font-weight:600;}
  .glosario h3{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:800;letter-spacing:-.02em;
    color:var(--ink);margin:0 0 8px;line-height:1.25;}
  .glosario p{margin:0;font-size:.92rem;line-height:1.65;color:var(--muted);max-width:70ch;}
  .glosario .g-actions{display:flex;gap:10px;flex-wrap:wrap;align-self:center;}
  @media (max-width:640px){ .glosario{flex-direction:column;gap:16px;} .glosario .g-actions{align-self:flex-start;} }

  /* ====== RFM ====== */
  .rfm-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.74rem;font-weight:700;
    letter-spacing:.02em;white-space:nowrap;}
  .rfm-1{background:#E6F7EF;color:#0E7A57;}
  .rfm-2{background:#E8EFFE;color:#2647B8;}
  .rfm-3{background:#F1ECFE;color:#6D3FC4;}
  .rfm-4{background:#FEF3E2;color:#9A5B08;}
  .rfm-5{background:#FDEAEE;color:#B02A45;}
  .rfm-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:20px;}
  .rfm-legend div{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;}
  .rfm-legend p{margin:8px 0 0;font-size:.82rem;line-height:1.5;color:var(--muted);}

  /* ====== Resultados de la calculadora de ROI ====== */
  .roi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px;margin-top:20px;}
  .roi-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;}
  .roi-card span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;
    color:var(--muted);font-weight:700;margin-bottom:8px;}
  .roi-card b{font-size:1.5rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;}
  .roi-card.good b{color:#12855F;} .roi-card.bad b{color:#C2334D;}
  .roi-card small{display:block;margin-top:6px;font-size:.76rem;color:var(--muted);font-weight:500;}
  .roi-verdict{margin-top:18px;padding:16px 18px;border-radius:var(--r-md);
    border:1px solid var(--line);background:var(--white);font-size:.9rem;line-height:1.6;color:var(--ink);}
  .ai-check{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;}
  .ai-check label{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ink);
    font-weight:500;cursor:pointer;}

  /* ====== Catálogo en grilla ====== */
  #indice{scroll-margin-top:100px;}
  .cat-filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px;}
  .cat-filters button{font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;
    padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--white);
    color:var(--muted);transition:.18s;}
  .cat-filters button:hover{border-color:var(--blue);color:var(--blue);}
  .cat-filters button.on{background:var(--blue);border-color:var(--blue);color:#fff;}
  .catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:40px;}
  .cat-card{font:inherit;text-align:left;cursor:pointer;background:var(--white);
    border:1px solid var(--line);border-radius:var(--r-md);padding:20px;
    display:flex;flex-direction:column;gap:11px;transition:.18s;position:relative;}
  .cat-card:hover{transform:translateY(-4px);border-color:var(--blue);
    box-shadow:0 14px 30px rgba(17,17,17,.13);}
  .cat-card .icon-tile{width:40px;height:40px;border-radius:12px;}
  .cat-card .icon-tile svg{width:20px;height:20px;}
  .cat-card .c-num{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
    font-weight:700;color:var(--purple);}
  .cat-card h3{font-size:.98rem;line-height:1.3;color:var(--ink);margin:0;}
  .cat-card p{font-size:.82rem;line-height:1.5;color:var(--muted);margin:0;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  .cat-card .c-open{margin-top:auto;font-size:.8rem;font-weight:700;color:var(--blue);}
  .cat-card.hide{display:none;}
  .tool-back{display:none;margin-bottom:18px;}
  .tool-block{display:none;}
  body.tool-open .tool-block.active{display:block;}
  body.tool-open .tool-back{display:inline-flex;}
  body.tool-open .catalog,body.tool-open .cat-filters,body.tool-open #indice,body.tool-open .glosario{display:none;}
  .group-head:not(#indice){display:none;}
  @media (max-width:1150px){ .catalog{grid-template-columns:repeat(3,minmax(0,1fr));} }
  @media (max-width:860px){ .catalog{grid-template-columns:repeat(2,minmax(0,1fr));} }
  @media (max-width:520px){ .catalog{grid-template-columns:1fr;} }
  @media (max-width:760px){
    .lean-grid{grid-template-columns:1fr;}
    .canvas6{grid-template-columns:1fr;}
    .note-row{grid-template-columns:1fr;}
    .moscow-grid{grid-template-columns:1fr;}
    .kano-row{grid-template-columns:1fr;}
    .horizon-grid{grid-template-columns:1fr;}
  }

/* ---- cabecera ---- */
header.nav{
  position:sticky;top:0;z-index:60;
  background:var(--ink);
  border-bottom:1px solid #262626;
}
.nav-in{
  max-width:var(--max);margin:0 auto;padding:0 28px;
  height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.nav-in .marca img{height:26px;width:auto}
.menu{display:flex;align-items:center;gap:30px}
.menu a{
  color:var(--on-dark-soft);text-decoration:none;
  font-size:.94rem;font-weight:500;
}
.menu a:hover{color:var(--on-dark)}
.menu .btn{padding:11px 20px;font-size:.92rem}
.hamb{
  display:none;background:none;border:0;cursor:pointer;padding:8px;
  color:var(--on-dark);font-size:1.5rem;line-height:1;
}


/* ===== Identidad ID One 2026 — cabecera, pie y tipografía ===== */
body{font-weight:400;line-height:1.4;color:#4A4A4A;}
h1,h2,h3{font-weight:800;letter-spacing:-.035em;line-height:1.02;color:#111111;}
.pie{background:#0A0A0A;color:#CCCCCC;padding:76px 0 34px;}
.pie .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.pie img{height:24px;width:auto;margin-bottom:18px;}
.pie .desc{font-size:.94rem;max-width:30ch;color:#8A8A8A;}
.pie h5{font-size:.68rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#FAFAFA;margin:0 0 16px;}
.pie ul{list-style:none;margin:0;padding:0;}
.pie li{margin-bottom:11px;}
.pie a{color:#CCCCCC;text-decoration:none;font-size:.94rem;}
.pie a:hover{color:#F2A541;}
.pie-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.pie-base{border-top:1px solid #1F1F1F;margin-top:52px;padding-top:26px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.86rem;color:#6E6E6E;}
@media (max-width:900px){.pie-grid{grid-template-columns:1fr 1fr;gap:34px;}}


.hero-glow,.hero-glow-2{display:none !important;}

.btn.btn-primario{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-size:.92rem;font-weight:700;padding:11px 20px;border-radius:8px;border:1.5px solid transparent;background:#F2A541;color:#111111;text-decoration:none;cursor:pointer;}
.btn.btn-primario:hover{background:#B55F12;color:#FFFFFF;}

@media (max-width:900px){
  .nav-in .menu{
    display:none;position:absolute;top:74px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:#111111;border-bottom:1px solid #262626;padding:12px 28px 24px;z-index:70;
  }
  .nav-in .menu.abierto{display:flex;}
  .nav-in .menu a{padding:13px 0;font-size:1rem;}
  .nav-in .menu .btn{margin-top:12px;justify-content:center;}
  .hamb{display:block;}
  header.nav{position:sticky;}
}

  /* Tablas de resultados: se desplazan dentro de su caja en pantallas angostas,
     en vez de empujar toda la página hacia el costado. */
  .tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:22px;max-width:100%;}
  .tabla-scroll > table{margin-top:0;}
  .tabla-scroll::-webkit-scrollbar{height:7px;}
  .tabla-scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.22);border-radius:4px;}
  @media (max-width:700px){
    .rice-table th,.rice-table td{padding:9px 10px;font-size:.86rem;white-space:nowrap;}
    .rice-table td:first-child,.rice-table th:first-child{white-space:normal;min-width:11ch;}
  }
