/* PINTA - politica.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); }
  }


  /* ===== CONTACT — HERO + FORM ===== */
  .c-main{ padding:150px 0 130px; border-bottom:1px solid var(--ink-12); position:relative; overflow:hidden; }
  .c-form-col{ position:relative; }
  .c-bee-deco{
    position:absolute; top:-70px; right:-40px; width:230px; aspect-ratio:290/248;
    pointer-events:none; z-index:0; opacity:.55;
  }
  .c-bee-deco img{ position:absolute; height:auto; }
  .c-grid{ display:grid; grid-template-columns:440px 1fr; gap:90px; align-items:start; position:relative; z-index:1; }
  .c-intro .eyebrow{ margin-bottom:22px; }
  .c-intro h1{ font-size:56px; line-height:1.02; max-width:460px; margin-bottom:28px; }
  .c-lead{ font-size:19px; line-height:1.55; color:var(--ink-65); max-width:420px; margin-bottom:24px; }

  .c-form{ display:flex; flex-direction:column; gap:22px; }
  .c-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
  .c-field{ display:flex; flex-direction:column; gap:8px; }
  .c-field label{
    font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.06em;
    color:var(--ink-45);
  }
  .c-field input, .c-field select, .c-field textarea{
    font-family:var(--body); font-size:15px; color:var(--ink);
    background:var(--bg-light); border:1px solid var(--ink-12); border-radius:8px;
    padding:10px 16px; transition:border-color .15s ease, background .15s ease;
    width:100%;
  }
  .c-field input::placeholder, .c-field textarea::placeholder{ color:var(--ink-45); }
  .c-field input:hover, .c-field select:hover, .c-field textarea:hover{ border-color:rgba(30,18,11,.22); }
  .c-field input:focus, .c-field select:focus, .c-field textarea:focus{
    outline:none; border-color:var(--ink); background:#fff;
  }
  .c-field select{ appearance:none; cursor:pointer;
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="9" viewBox="0 0 14 9"><path d="M1 1l6 6 6-6" stroke="%231E120B" stroke-width="1.6" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-repeat:no-repeat; background-position:right 16px center; padding-right:40px;
  }
  .c-field select:invalid{ color:var(--ink-45); }
  .c-field textarea{ min-height:90px; resize:vertical; font-family:var(--body); line-height:1.5; }
  .c-field.has-error input, .c-field.has-error select, .c-field.has-error textarea{
    border-color:#B3261E;
  }
  .c-field-error{ font-size:12.5px; color:#B3261E; display:none; }
  .c-field.has-error .c-field-error{ display:block; }

  .c-submit{ align-self:flex-start; margin-top:6px; position:relative; }
  .c-submit[disabled]{ opacity:.7; cursor:default; }

  .c-captcha{
    display:inline-flex; align-items:center; gap:7px; padding:1px 8px;
    border:1px solid var(--ink-12); border-radius:5px; background:var(--bg-light);
    width:auto;
  }
  .c-captcha-q{ font-size:10.5px; color:var(--ink-45); white-space:nowrap; }
  .c-captcha input{
    width:32px; flex:0 0 auto; font-family:var(--body); font-size:10.5px; color:var(--ink);
    background:#fff; border:1px solid var(--ink-12); border-radius:4px; padding:0 4px; text-align:center;
    line-height:1.4;
  }
  .c-captcha input:focus{ outline:none; border-color:var(--ink); }
  .c-field.has-error .c-captcha{ border-color:#B3261E; }
  .c-captcha-note{
    font-family:var(--mono); font-size:8px; text-transform:uppercase; letter-spacing:.05em;
    color:var(--ink-45);
  }
  .c-legal{ font-size:12.5px; color:var(--ink-45); line-height:1.5; margin-top:-6px; }
  .c-legal a{ color:var(--ink-65); text-decoration:underline; text-underline-offset:2px; }
  .c-legal a:hover{ color:var(--ink); }

  .c-form-status{
    font-family:var(--mono); font-size:13.5px; padding:14px 16px; border-radius:10px;
    display:none; margin-top:4px;
  }
  .c-form-status.show{ display:block; }
  .c-form-status.ok{ background:rgba(241,232,1,.18); color:var(--ink); display:block; }
  .c-form-status.err{ background:rgba(179,38,30,.08); color:#B3261E; display:block; }

  /* ============================================================
     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; }

    .c-main{ padding:120px 0 72px; }
    .c-grid{ grid-template-columns:1fr; gap:56px; }
    .c-bee-deco{ top:-56px; right:-6px; width:105px; opacity:.5; }
    .c-intro h1{ font-size:36px; max-width:100%; margin-bottom:20px; }
    .c-lead{ font-size:17px; max-width:100%; }
    .c-row-2{ grid-template-columns:1fr; gap:22px; }
    .c-submit{ width:100%; text-align:center; }
  }

  /* ============================================================
     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; }

    .c-main{ padding:132px 0 90px; }
    .c-grid{ grid-template-columns:1fr; gap:64px; }
    .c-bee-deco{ top:-50px; right:-20px; width:170px; opacity:.5; }
    .c-intro h1{ font-size:44px; max-width:600px; }
    .c-lead{ max-width:560px; }
    .c-form{ max-width:600px; }
  }

  /* ============================================================
     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); }
    .c-main{ padding:clamp(120px,13vw,150px) 0 clamp(90px,10vw,130px); }
    .c-grid{ grid-template-columns:380px 1fr; gap:clamp(50px,6vw,90px); }
    .c-intro h1{ font-size:clamp(42px,4.6vw,56px); }
  }


  /* ===== LEGAL — POLÍTICA DE PRIVACIDAD ===== */
  .legal-hero{ padding:150px 0 60px; border-bottom:1px solid var(--ink-12); }
  .legal-hero .eyebrow{ margin-bottom:22px; }
  .legal-hero h1{ font-size:52px; max-width:700px; margin-bottom:20px; }
  .legal-hero p{ font-size:18px; line-height:1.6; color:var(--ink-65); max-width:640px; }
  .legal-updated{
    font-family:var(--mono); font-size:12.5px; color:var(--ink-45); margin-top:22px;
    text-transform:uppercase; letter-spacing:.05em;
  }
  .legal-main{ padding:70px 0 130px; }
  .legal-content{ max-width:720px; }
  .legal-content h2{
    font-family:var(--display); font-weight:900; font-size:26px; margin:44px 0 16px;
  }
  .legal-content h2:first-child{ margin-top:0; }
  .legal-content p{ font-size:16px; line-height:1.7; color:var(--ink-65); margin-bottom:16px; }
  .legal-content ul{ margin:0 0 16px; padding-left:22px; }
  .legal-content li{ font-size:16px; line-height:1.7; color:var(--ink-65); margin-bottom:8px; }
  .legal-content a{ color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
  .legal-content a:hover{ color:var(--ink-65); }
  .legal-note{
    background:var(--bg-light); border:1px solid var(--ink-12); border-radius:10px;
    padding:20px 22px; font-size:14px; line-height:1.6; color:var(--ink-65); margin:30px 0;
  }
  .legal-note strong{ color:var(--ink); }

  @media (max-width: 767px){
    .legal-hero{ padding:120px 0 44px; }
    .legal-hero h1{ font-size:32px; }
    .legal-hero p{ font-size:16px; }
    .legal-main{ padding:44px 0 80px; }
    .legal-content h2{ font-size:21px; margin:32px 0 12px; }
  }
  @media (min-width: 768px) and (max-width: 1023px){
    .legal-hero{ padding:132px 0 50px; }
    .legal-hero h1{ font-size:42px; }
  }
  @media (min-width: 1024px) and (max-width: 1439px){
    .legal-hero{ padding:clamp(120px,13vw,150px) 0 60px; }
    .legal-hero h1{ font-size:clamp(38px,4.4vw,52px); }
  }
