/* PINTA - nosotros.css
   Estilos especificos de esta pagina. Requiere base.css cargado antes. */

  .model, .ecosystem, .reviews, footer, .n-origin, .n-etapa, .n-vision {
    cursor: url('/assets/images/cursor-interactive.png') 4 4, auto;
  }

  /* ===== SECTION 11 — CLOSE (reused from Home) ===== */
  .close{ padding:170px 0; text-align:center; background:var(--bg-light); color:var(--ink); }

  /* ===== FOOTER (reused from Home) ===== */
  footer{ background:#262626; color:var(--paper); padding:80px 0 34px; }
  .footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:50px; padding-bottom:60px; border-bottom:1px solid var(--paper-14); align-items:start; }
  .footer-bottom .legal{ display:flex; gap:24px; }

  /* ===== PAGE HERO — NOSOTROS ===== */
  .n-hero{
    padding:150px 0 110px; border-bottom:1px solid var(--ink-12);
  }
  .n-hero .eyebrow{ margin-bottom:22px; }
  .n-hero h1{
    font-size:76px; max-width:920px; margin-bottom:36px; line-height:1.0;
  }
  .n-hero-lead{ display:flex; gap:80px; align-items:flex-start; }
  .n-hero-lead-text{ flex:1 1 0; max-width:600px; }
  .n-hero-lead-text p{ font-size:18px; line-height:1.6; color:var(--ink-65); margin-bottom:20px; }
  .n-hero-side{ flex:0 0 420px; }
  .n-highlight{
    font-family:var(--display); font-weight:900; font-size:28px; line-height:1.22;
    color:var(--ink); margin-bottom:22px;
  }
  .n-highlight .hl{ background:var(--yellow); color:var(--ink); padding:2px 6px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
  .n-complement{ font-size:15.5px; color:var(--ink-45); line-height:1.6; }

  /* ===== DE DÓNDE VENIMOS ===== */
  .n-origin{ padding:150px 0; background:var(--bg-dark); color:var(--paper); }
  .n-origin-grid{ display:grid; grid-template-columns:280px 1fr; gap:60px; }
  .n-origin h2{ font-family:var(--display); font-weight:900; font-size:46px; margin-bottom:8px; }
  .n-origin-body p{ font-size:18px; line-height:1.6; color:var(--paper-65); max-width:680px; margin-bottom:24px; }
  .n-origin-callout{
    font-family:var(--display); font-weight:900; font-size:32px; line-height:1.2;
    color:var(--paper); border-left:3px solid var(--yellow); padding:6px 0 6px 28px; margin:36px 0;
    max-width:680px;
  }

  /* ===== QUIÉNES LIDERAN PINTA ===== */
  .n-leaders{ padding:150px 0; background:var(--bg-light); }
  .n-leaders-grid-head{ display:grid; grid-template-columns:280px 1fr; gap:60px; margin-bottom:80px; }
  .n-leaders-grid-head h2{ font-family:var(--display); font-weight:900; font-size:46px; }
  .n-leaders-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; }
  .n-leader{ display:flex; flex-direction:column; }
  .n-leader-name-row{ display:flex; align-items:center; gap:14px; margin-bottom:6px; }
  .n-leader-name{ font-family:var(--display); font-weight:900; font-size:32px; margin-bottom:0; }
  .n-leader-bee{ flex:0 0 auto; color:var(--yellow); transition:color .25s ease; order:-1; }
  .n-leader:hover .n-leader-bee{ color:var(--ink-45); }
  .n-leader-role{
    font-family:var(--mono); font-size:12.5px; text-transform:uppercase; letter-spacing:.05em;
    color:var(--ink-45); margin-bottom:20px;
  }
  .n-leader-bio p{ font-size:15.5px; line-height:1.6; color:var(--ink-65); margin-bottom:16px; text-align:left; }
  .n-leader-bio p:last-child{ margin-bottom:0; }
  .n-leader-bio strong{ color:var(--ink); }

  /* ===== HACIA DÓNDE VAMOS ===== */
  .n-vision{ padding:150px 0; background:var(--bg-dark); color:var(--paper); }
  .n-vision-head{ display:grid; grid-template-columns:280px 1fr; gap:60px; margin-bottom:60px; text-align:left; }
  .n-vision-head .eyebrow{ color:var(--paper-45,rgba(250,249,246,.45)); }
  .n-vision-head h2{ font-family:var(--display); font-weight:900; font-size:46px; color:var(--paper); }
  .n-vision-body{ text-align:center; }
  .n-vision-body p{ font-size:19px; line-height:1.6; color:var(--paper-65); max-width:680px; margin:0 auto 30px; }
  .n-vision-stack{
    font-family:var(--display); font-weight:900; font-size:38px; color:var(--yellow);
    margin:34px auto; padding:22px 0; border-top:1px solid var(--paper-14); border-bottom:1px solid var(--paper-14);
    max-width:680px; line-height:1.3; transition:color .25s ease; cursor:default;
  }
  .n-vision-body p.n-vision-stack:hover{ color:var(--paper-45,rgba(250,249,246,.45)); }
  .n-vision-flow{
    font-size:19px; line-height:1.6; color:var(--paper); max-width:680px; margin:0 auto 30px;
  }
  .n-vision-body p.n-vision-flow{ color:var(--paper); }
  .n-vision-close{
    font-family:var(--display); font-weight:900; font-size:30px; line-height:1.3; color:var(--yellow);
    max-width:640px; margin:34px auto 0; transition:color .25s ease; cursor:default;
  }
  .n-vision-body p.n-vision-stack{ color:var(--yellow); }
  .n-vision-body p.n-vision-close{ color:var(--yellow); }
  .n-vision-body p.n-vision-close:hover{ color:var(--paper-45,rgba(250,249,246,.45)); }

  /* ============================================================
     MOBILE — 320px a 767px
     ============================================================ */
  @media (max-width: 767px){
    .wrap{ padding:0 20px; }
    header{ padding:16px 20px; } header.scrolled{ padding:12px 20px; }
    .logo-iso{ height:28px; } nav{ display:none; } .nav-cta{ display:none; } .hamburger{ display:flex; }

    .n-hero{ padding:120px 0 64px; }
    .n-hero h1{ font-size:38px; max-width:100%; margin-bottom:28px; line-height:1.06; }
    .n-hero-lead{ flex-direction:column; gap:36px; }
    .n-hero-side{ flex:0 0 auto; width:100%; }
    .n-highlight{ font-size:21px; }
    .n-hero-lead-text p{ font-size:16px; }

    .n-origin{ padding:72px 0; }
    .n-origin-grid{ grid-template-columns:1fr; gap:28px; }
    .n-origin h2{ font-size:30px; }
    .n-origin-body p{ font-size:16px; }
    .n-origin-callout{ font-size:22px; margin:26px 0; }

    .n-leaders{ padding:72px 0; }
    .n-leaders-grid-head{ grid-template-columns:1fr; gap:16px; margin-bottom:44px; }
    .n-leaders-grid-head h2{ font-size:30px; }
    .n-leaders-grid{ grid-template-columns:1fr; gap:52px; }
    .n-leader-name{ font-size:26px; }
    .n-leader-role{ font-size:13.5px; color:var(--ink-65); }

    .n-vision{ padding:72px 0; }
    .n-vision-head{ grid-template-columns:1fr; gap:16px; margin-bottom:36px; }
    .n-vision-head h2{ font-size:30px; }
    .n-vision-body{ text-align:left; }
    .n-vision-body p{ font-size:16px; margin:0 0 24px; }
    .n-vision-stack{ font-size:24px; margin:26px 0; padding:18px 0; }
    .n-vision-close{ font-size:22px; margin:26px 0 0; }

    .close{ padding:88px 0; } .close h2{ font-size:38px; }
    .footer-top{ grid-template-columns:1fr; gap:36px; padding-bottom:36px; }
    .footer-bottom{ flex-direction:column; align-items:flex-start; gap:16px; }
  }

  /* ============================================================
     TABLET — 768px a 1023px
     ============================================================ */
  @media (min-width: 768px) and (max-width: 1023px){
    .wrap{ padding:0 48px; }
    header{ padding:20px 48px; } header.scrolled{ padding:14px 48px; }
    nav{ display:none; } .nav-cta{ display:none; } .hamburger{ display:flex; }
    .mobile-nav{ width:56%; max-width:380px; padding:110px 40px 40px; }

    .n-hero{ padding:132px 0 72px; }
    .n-hero h1{ font-size:clamp(48px,7vw,64px); max-width:100%; }
    .n-hero-lead{ flex-direction:column; gap:40px; }
    .n-hero-side{ flex:0 0 auto; width:100%; max-width:520px; }

    .n-origin{ padding:110px 0; }
    .n-origin-grid{ grid-template-columns:200px 1fr; gap:40px; }
    .n-origin h2{ font-size:36px; }

    .n-leaders{ padding:110px 0; }
    .n-leaders-grid-head{ grid-template-columns:200px 1fr; gap:40px; }
    .n-leaders-grid-head h2{ font-size:36px; }
    .n-leaders-grid{ grid-template-columns:1fr 1fr; gap:40px; }

    .n-vision-head{ grid-template-columns:200px 1fr; gap:40px; margin-bottom:50px; }
    .n-vision-stack, .n-vision-close{ max-width:90%; }

    .close{ padding:120px 0; }
    .footer-top{ grid-template-columns:1fr 1fr; gap:44px; }
  }

  /* ============================================================
     LAPTOP — 1024px a 1439px
     ============================================================ */
  @media (min-width: 1024px) and (max-width: 1439px){
    .wrap{ padding:0 clamp(28px,3vw,40px); }
    header{ padding:20px clamp(28px,3vw,40px); }
    .n-hero{ padding:clamp(120px,13vw,150px) 0 clamp(80px,9vw,110px); }
    .n-hero h1{ font-size:clamp(56px,6vw,76px); }
    .n-origin, .n-leaders, .n-vision{ padding:clamp(110px,12vw,150px) 0; }
    .n-origin h2{ font-size:clamp(38px,4vw,46px); }
    .n-leaders-grid-head h2{ font-size:clamp(38px,4vw,46px); }
    .n-vision-head h2{ font-size:clamp(38px,4vw,46px); }
  }

