/* ─────────────────────────────────────────
       TOKENS
    ───────────────────────────────────────── */
    :root {
      --red:    #F95760;
      --yellow: #F5A623;
      --ink:    #0E0E0E;
      --ash:    #F2F1EF;
      --mist:   #E8E6E3;
      --stone:  #6B6661;
      --white:  #FFFFFF;

      --display: "Barlow Condensed", "Helvetica Neue", Helvetica, sans-serif;
      --body:    "Barlow", "Helvetica Neue", Helvetica, sans-serif;

      --ease: cubic-bezier(0.22, 1, 0.36, 1);
      --pad: clamp(24px, 5vw, 72px);
      --max: 1360px;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }
    body { font-family: var(--body); background: var(--white); color: var(--ink); overflow-x: hidden; cursor: none; }
    a { text-decoration: none; color: inherit; }
    img { display: block; max-width: 100%; }
    ul { list-style: none; }
    button { border: none; background: none; font-family: inherit; cursor: none; }

    /* ─────────────────────────────────────────
       CURSOR
    ───────────────────────────────────────── */
    #cur { position: fixed; width: 10px; height: 10px; background: var(--red); border-radius: 50%; pointer-events: none; z-index: 9999; transform: translate(-50%,-50%); transition: width .15s, height .15s; }
    #cur2 { position: fixed; width: 40px; height: 40px; border: 1.5px solid var(--red); border-radius: 50%; pointer-events: none; z-index: 9998; transform: translate(-50%,-50%); opacity: .5; transition: width .3s, height .3s, opacity .3s; }
    body.hovering #cur { width: 18px; height: 18px; }
    body.hovering #cur2 { width: 60px; height: 60px; opacity: .25; }

    /* ─────────────────────────────────────────
       LAYOUT
    ───────────────────────────────────────── */
    .wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--pad); }
    .section { padding: clamp(72px, 10vw, 140px) 0; }

    /* ─────────────────────────────────────────
       REVEAL
    ───────────────────────────────────────── */
    [data-r] { opacity: 0; transform: translateY(32px); transition: opacity .75s var(--ease), transform .75s var(--ease); }
    [data-r].on { opacity: 1; transform: none; }
    [data-r][data-d="1"]{ transition-delay: .08s; }
    [data-r][data-d="2"]{ transition-delay: .16s; }
    [data-r][data-d="3"]{ transition-delay: .24s; }
    [data-r][data-d="4"]{ transition-delay: .32s; }
    [data-r][data-d="5"]{ transition-delay: .40s; }

    /* ─────────────────────────────────────────
       TYPOGRAPHY SYSTEM
    ───────────────────────────────────────── */
    .t-hero {
      font-family: var(--display);
      font-size: clamp(66px, 9.75vw, 150px);
      font-weight: 900;
      line-height: .84;
      letter-spacing: -0.02em;
      text-transform: uppercase;
    }
    .t-xl {
      font-family: var(--display);
      font-size: clamp(48px, 7vw, 104px);
      font-weight: 900;
      line-height: .9;
      letter-spacing: -0.025em;
      text-transform: uppercase;
    }
    .t-lg {
      font-family: var(--display);
      font-size: clamp(36px, 4.5vw, 64px);
      font-weight: 800;
      line-height: 1;
      letter-spacing: -0.02em;
      text-transform: uppercase;
    }
    .t-md {
      font-size: clamp(15px, 1.1vw, 18px);
      font-weight: 400;
      line-height: 1.65;
    }
    .t-sm { font-size: 16px; font-weight: 400; line-height: 1.7; }
    .t-label {
      font-family: var(--display);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: .22em;
      text-transform: uppercase;
    }
    .t-num {
      font-family: var(--display);
      font-size: clamp(52px, 7vw, 88px);
      font-weight: 900;
      line-height: 1;
      letter-spacing: -0.04em;
    }

    /* ─────────────────────────────────────────
       BUTTONS
    ───────────────────────────────────────── */
    .btn {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--display); font-weight: 700; font-size: 16px;
      letter-spacing: .12em; text-transform: uppercase;
      padding: 14px 32px; border-radius: 2px;
      transition: all .25s var(--ease);
    }
    .btn svg { width: 16px; height: 16px; flex-shrink: 0; transition: transform .25s; }
    .btn:hover svg { transform: translateX(4px); }

    .btn-red { background: var(--red); color: var(--white); }
    .btn-red:hover { background: #e0454e; box-shadow: 0 12px 32px rgba(249,87,96,.3); transform: translateY(-2px); }
    .btn-yellow { background: var(--yellow); color: var(--ink); }
    .btn-yellow:hover { background: #e09518; box-shadow: 0 12px 32px rgba(245,166,35,.3); transform: translateY(-2px); }
    .btn-outline-dark { border: 1.5px solid var(--ink); color: var(--ink); }
    .btn-outline-dark:hover { background: var(--ink); color: var(--white); }
    .btn-outline-white { border: 1.5px solid rgba(255,255,255,.5); color: var(--white); }
    .btn-outline-white:hover { border-color: var(--white); background: rgba(255,255,255,.1); }

    .btn-lg { padding: 11px 28px; font-size: 15px; }
    .btn-arrow::after { content: '→'; margin-left: 6px; }

    /* ─────────────────────────────────────────
       NAV — 48 px, 10 px texto, separadores
    ───────────────────────────────────────── */
    .nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      height: 48px;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 clamp(12px, 2.5vw, 44px);
      background: rgba(255,255,255,.97);
      backdrop-filter: blur(20px);
      border-bottom: 1px solid transparent;
      transition: border-color .3s, background .3s;
      gap: 8px;
    }
    .nav.sc { border-bottom-color: var(--mist); }

    .nav-logo { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }
    .nav-logomark {
      width: 24px; height: 24px;
      background: var(--red); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .nav-logomark svg { width: 12px; height: 12px; }
    .nav-wordmark { font-family: var(--display); font-size: 15px; font-weight: 900; letter-spacing: .01em; text-transform: uppercase; white-space: nowrap; }
    .nav-wordmark sup { font-size: 9px; letter-spacing: .1em; color: var(--stone); font-weight: 500; margin-left: 2px; vertical-align: super; }

    /* separador vertical entre grupos */
    .nav-sep {
      width: 1px; height: 16px; background: var(--mist);
      flex-shrink: 0;
    }

    .nav-center {
      display: flex; gap: 0; flex: 1 1 auto;
      overflow: hidden; justify-content: center; align-items: center;
      min-width: 0;
    }
    .nav-center a {
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: .08em; text-transform: uppercase; color: var(--stone);
      transition: color .2s; white-space: nowrap;
      padding: 0 9px;
    }
    .nav-center a:hover { color: var(--red); }
    .nav-center a.active { color: var(--ink); }

    .nav-right { display: flex; gap: 7px; align-items: center; flex-shrink: 0; }
    .nav-right .btn { font-size: 11px; padding: 6px 14px; letter-spacing: .08em; }

    .nav-burger { display: none; flex-direction: column; justify-content: center; align-items: center; gap: 4px; min-width: 44px; min-height: 44px; padding: 5px; cursor: pointer; background: none; border: none; }
    .nav-burger span { width: 18px; height: 2px; background: var(--ink); border-radius: 2px; display: block; transition: all .3s; }

    /* Mobile drawer */
    .nav-drawer {
      position: fixed; top: 48px; left: 0; right: 0; bottom: 0;
      background: var(--ash); z-index: 99;
      padding: 36px var(--pad);
      display: flex; flex-direction: column; gap: 20px;
      transform: translateY(-110%); transition: transform .45s var(--ease);
    }
    .nav-drawer.open { transform: none; }
    .nav-drawer a { font-family: var(--display); font-size: 28px; font-weight: 900; text-transform: uppercase; color: var(--ink); transition: color .2s; }
    .nav-drawer a:hover { color: var(--red); }

    /* ─────────────────────────────────────────
       HERO  — full bleed, editorial split
    ───────────────────────────────────────── */
    .hero {
      height: 100svh;
      min-height: 540px;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: 1fr 420px;
      padding-top: 48px;
      position: relative;
      overflow: hidden;
    }

    .hero-left {
      background: var(--ash);
      padding: clamp(10px, 1.2vw, 20px) var(--pad);
      display: flex; flex-direction: column; justify-content: space-between;
      border-right: 1px solid var(--mist);
    }

    .hero-pill {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 6px 14px; border-radius: 100px;
      background: rgba(249,87,96,.1);
      width: fit-content; margin-bottom: 8px;
    }
    .hero-pill-dot { width: 7px; height: 7px; background: var(--red); border-radius: 50%; animation: blink 1.8s ease-in-out infinite; }
    @keyframes blink { 0%,100%{ opacity:1 } 50%{ opacity:.25 } }

    .hero-heading { color: var(--ink); }
    .hero-heading .ln-red { color: var(--red); display: block; }
    .hero-heading .ln-out {
      -webkit-text-stroke: 3px var(--ink);
      color: transparent; display: block;
    }

    .hero-bottom { margin-top: 8px; display: flex; flex-direction: column; gap: 8px; }
    .hero-sub { color: #555; max-width: 480px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
    .hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }

    .hero-right {
      background: var(--red);
      display: flex; flex-direction: column; justify-content: space-between;
      padding: clamp(14px, 1.6vw, 28px) 28px;
      position: relative; overflow: hidden;
    }
    .hero-right::before {
      content: 'SB';
      position: absolute;
      bottom: -20px; right: -20px;
      font-family: var(--display); font-weight: 900; font-size: 200px;
      color: rgba(0,0,0,.08); line-height: 1; pointer-events: none;
      text-transform: uppercase; letter-spacing: -0.05em;
    }

    .hero-stats-vert { display: flex; flex-direction: column; gap: 20px; }
    .hero-stat-item { border-top: 1px solid rgba(255,255,255,.2); padding-top: 14px; }
    .hero-stat-n { font-family: var(--display); font-size: clamp(28px, 3vw, 48px); font-weight: 900; color: var(--white); letter-spacing: -0.04em; line-height: 1; }
    .hero-stat-n span { color: rgba(255,255,255,.5); font-size: 32px; }
    .hero-stat-l { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-top: 4px; }

    .hero-right-cta { position: relative; z-index: 2; }
    .hero-right-cta p { color: rgba(255,255,255,.7); font-size: clamp(13px,1vw, 15px); margin-bottom: 10px; line-height: 1.5; }

    .hero-scroll-hint {
      position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%);
      display: flex; flex-direction: column; align-items: center; gap: 8px;
      color: var(--stone); animation: bob 2s ease-in-out infinite;
    }
    .hero-scroll-hint span { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
    .scroll-track { width: 1px; height: 44px; background: linear-gradient(to bottom, var(--red), transparent); }
    @keyframes bob { 0%,100%{ transform: translateX(-50%) translateY(0) } 50%{ transform: translateX(-50%) translateY(8px) } }

    /* ─────────────────────────────────────────
       MARQUEE
    ───────────────────────────────────────── */
    .ticker { background: var(--ink); padding: 13px 0; overflow: hidden; }
    .ticker-track {
      display: flex; gap: 0; white-space: nowrap;
      animation: tick 30s linear infinite;
    }
    .ticker-track:hover { animation-play-state: paused; }
    @keyframes tick { from{ transform: translateX(0) } to{ transform: translateX(-50%) } }
    .ticker-item {
      display: inline-flex; align-items: center; gap: 20px;
      padding: 0 28px;
      font-family: var(--display); font-size: 14px; font-weight: 700;
      letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.45);
    }
    .ticker-item b { color: var(--red); }
    .ticker-dot { width: 4px; height: 4px; background: rgba(255,255,255,.2); border-radius: 50%; flex-shrink: 0; }

    /* ─────────────────────────────────────────
       NOSOTROS  — yellow block editorial
    ───────────────────────────────────────── */
    .about { background: var(--white); }
    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      min-height: 700px;
    }
    .about-left {
      background: var(--yellow);
      padding: clamp(48px, 7vw, 96px) clamp(36px, 5vw, 80px);
      display: flex; flex-direction: column; justify-content: space-between;
      position: relative; overflow: hidden;
    }
    .about-left::after {
      content: '9'; font-family: var(--display); font-size: 400px; font-weight: 900;
      color: rgba(0,0,0,.06); position: absolute; bottom: -80px; right: -40px;
      line-height: 1; pointer-events: none;
    }
    .about-year-tag { display: inline-flex; gap: 10px; align-items: center; }
    .about-year-tag span { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(0,0,0,.5); }
    .about-year { font-family: var(--display); font-size: clamp(80px, 10vw, 140px); font-weight: 900; color: var(--ink); line-height: 1; letter-spacing: -0.04em; }
    .about-founded { font-family: var(--display); font-size: 15px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(0,0,0,.5); margin-top: 4px; }

    .about-left-bottom { position: relative; z-index: 2; }
    .about-left-bottom h2 { font-family: var(--display); font-size: clamp(32px, 4vw, 54px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; line-height: .95; color: var(--ink); margin-bottom: 20px; }
    .about-left-bottom p { font-size: 15px; color: rgba(0,0,0,.65); line-height: 1.7; max-width: 340px; }

    .about-right {
      padding: clamp(48px, 7vw, 96px) clamp(36px, 5vw, 80px);
      background: var(--ash);
      display: flex; flex-direction: column; justify-content: space-between;
    }
    .about-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
    .about-tag {
      padding: 6px 14px; background: var(--white);
      border: 1px solid var(--mist); border-radius: 2px;
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .12em; text-transform: uppercase; color: var(--stone);
      transition: all .25s;
    }
    .about-tag:hover { background: var(--red); color: var(--white); border-color: var(--red); }

    .about-body p { font-size: 16px; color: #555; line-height: 1.75; margin-bottom: 20px; }

    .about-pillars { display: flex; flex-direction: column; gap: 0; margin-top: 36px; }
    .ap-item {
      display: flex; align-items: center; gap: 20px;
      padding: 18px 0; border-bottom: 1px solid var(--mist);
      transition: gap .3s;
    }
    .ap-item:last-child { border-bottom: none; }
    .ap-item:hover { gap: 28px; }
    .ap-n { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--red); min-width: 28px; letter-spacing: .06em; }
    .ap-title { font-family: var(--display); font-size: 18px; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; }
    .ap-sub { font-size: 14px; color: var(--stone); margin-top: 2px; }

    /* ── Team ── */
    .team-section { background: var(--white); }
    .team-header { margin-bottom: 64px; }
    .team-label { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(0,0,0,.35); margin-bottom: 12px; }
    .team-header h2 { font-family: var(--display); font-size: clamp(52px, 8vw, 110px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.03em; line-height: .9; color: var(--ink); }

    .founders-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 80px; }
    .founder-card {
      background: var(--ash);
      padding: clamp(32px, 4vw, 56px);
      display: grid;
      grid-template-columns: 140px 1fr;
      gap: 36px;
      align-items: start;
      transition: background .3s;
    }
    .founder-card:hover { background: #e8e8e8; }
    .founder-photo {
      width: 140px; height: 140px;
      border-radius: 50%;
      border: 3px solid var(--ink);
      background: var(--ink);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .founder-initials { font-family: var(--display); font-size: 36px; font-weight: 900; color: var(--white); letter-spacing: -0.02em; }
    .founder-role { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
    .founder-name { font-family: var(--display); font-size: clamp(22px, 2.5vw, 32px); font-weight: 900; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 16px; line-height: 1; }
    .founder-bio { font-size: 16px; color: rgba(0,0,0,.6); line-height: 1.7; margin-bottom: 20px; }
    .founder-bg { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
    .bg-tag { font-size: 13px; font-family: var(--display); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border: 1.5px solid rgba(0,0,0,.15); border-radius: 2px; color: rgba(0,0,0,.5); }
    .founder-li { display: inline-flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 600; color: var(--ink); text-decoration: none; border-bottom: 1.5px solid var(--ink); padding-bottom: 1px; transition: color .2s, border-color .2s; }
    .founder-li:hover { color: var(--red); border-color: var(--red); }

    .bookers-divider { display: flex; align-items: center; gap: 24px; margin-bottom: 40px; }
    .bookers-label { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(0,0,0,.35); white-space: nowrap; }
    .bookers-line { flex: 1; height: 1px; background: rgba(0,0,0,.12); }

    .bookers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
    .booker-card {
      background: var(--ash);
      padding: 36px 28px;
      display: flex; flex-direction: column; align-items: center; text-align: center;
      transition: background .3s;
    }
    .booker-card:hover { background: #e8e8e8; }
    .booker-photo {
      width: 80px; height: 80px; border-radius: 50%;
      border: 2.5px solid var(--ink);
      background: var(--ink);
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 20px;
    }
    .booker-initials { font-family: var(--display); font-size: 20px; font-weight: 900; color: var(--white); }
    .booker-name { font-family: var(--display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; color: var(--ink); margin-bottom: 6px; }
    .booker-role { font-size: 14px; color: rgba(0,0,0,.5); font-weight: 500; }

    @media (max-width: 900px) {
      .founders-grid { grid-template-columns: 1fr; }
      .bookers-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 580px) {
      .founder-card { grid-template-columns: 1fr; }
      .founder-photo { width: 100px; height: 100px; }
    }

    /* ─────────────────────────────────────────
       FRACTIONAL HR
    ───────────────────────────────────────── */
    .fhr { background: var(--ink); color: #fff; overflow: hidden; }
    .fhr-header { margin-bottom: 56px; }
    .fhr-label { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 16px; }
    .fhr-header h2 { font-family: var(--display); font-size: clamp(42px, 7vw, 90px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.03em; line-height: .92; }
    .fhr-header h2 em { font-style: italic; color: var(--yellow); }
    .fhr-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; margin-bottom: 72px; }
    .fhr-intro-text { font-size: 16px; line-height: 1.75; color: rgba(255,255,255,.55); }
    .fhr-intro-text strong { color: #fff; font-weight: 600; }

    .fhr-models-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.12); }
    .fhr-models-label > span:first-child { font-family: var(--display); font-size: 14px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--red); }
    .fhr-models-count { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.45); }

    .fhr-tandem { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: 6px; padding: clamp(28px, 3vw, 48px); margin-bottom: 24px; }
    .fhr-tandem-head { margin-bottom: 28px; display: flex; flex-direction: column; gap: 10px; }
    .fhr-tandem-badge { display: inline-flex; align-self: flex-start; background: var(--red); color: #fff; font-family: var(--display); font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; padding: 6px 12px; border-radius: 3px; }
    .fhr-tandem-title-new { font-family: var(--display); font-size: clamp(24px, 3vw, 38px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; line-height: 1; color: #fff; }
    .fhr-tandem-title-new span { color: rgba(255,255,255,.45); font-weight: 700; font-size: .6em; letter-spacing: .02em; }
    .fhr-tandem-pitch { font-size: 16px; line-height: 1.65; color: rgba(255,255,255,.55); max-width: 720px; margin: 0; }
    .fhr-tandem-title { font-family: var(--display); font-size: 15px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--yellow); margin-bottom: 32px; display: flex; align-items: center; gap: 12px; }
    .fhr-tandem-title::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,.1); }
    .fhr-tandem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
    .fhr-role-card { background: rgba(255,255,255,.04); padding: 36px; transition: background .3s; }
    .fhr-role-card:hover { background: rgba(255,255,255,.08); }
    .fhr-role-badge { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }
    .fhr-role-name { font-family: var(--display); font-size: 22px; font-weight: 800; margin-bottom: 6px; }
    .fhr-role-hours { font-size: 15px; color: var(--yellow); font-weight: 600; margin-bottom: 16px; }
    .fhr-role-desc { font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.5); }

    .fhr-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-bottom: 72px; }
    .fhr-pillar { background: rgba(255,255,255,.04); padding: clamp(24px, 3vw, 40px); transition: background .3s; }
    .fhr-pillar:hover { background: rgba(255,255,255,.08); }
    .fhr-pillar-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--red); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
    .fhr-pillar-icon svg { width: 20px; height: 20px; stroke: #fff; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .fhr-pillar h3 { font-family: var(--display); font-size: 17px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 12px; }
    .fhr-pillar p { font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.45); }

    .fhr-cta { display: flex; align-items: center; gap: 32px; padding-top: 12px; }
    .fhr-price { font-family: var(--display); font-size: clamp(28px, 4vw, 48px); font-weight: 900; letter-spacing: -0.02em; }
    .fhr-price span { font-size: 16px; font-weight: 500; color: rgba(255,255,255,.55); letter-spacing: 0; }

    @media (max-width: 900px) {
      .fhr-intro { grid-template-columns: 1fr; gap: 28px; }
      .fhr-tandem-grid { grid-template-columns: 1fr; }
      .fhr-pillars { grid-template-columns: 1fr; }
      .fhr-cta { flex-direction: column; align-items: flex-start; gap: 20px; }
    }

    /* ─────────────────────────────────────────
       TANDEM 2 — Tarjeta interna dentro de Fractional HR
    ───────────────────────────────────────── */
    .fhr-ai-card { background: rgba(255,255,255,.04); color: #fff; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; padding: clamp(28px, 3vw, 48px); display: flex; flex-direction: column; gap: 28px; position: relative; margin-bottom: 72px; transition: background .3s, border-color .3s; }
    .fhr-ai-card:hover { background: rgba(255,255,255,.055); border-color: rgba(255,255,255,.18); }
    .fhr-ai-card.is-featured { background: rgba(249,197,64,.04); border-color: rgba(249,197,64,.22); }
    .fhr-ai-card.is-featured:hover { background: rgba(249,197,64,.07); border-color: rgba(249,197,64,.35); }
    .fhr-ai-card.is-featured::before { content: 'Opcional · Con Agentes IA'; position: absolute; top: 18px; right: 18px; background: var(--yellow); color: var(--ink); font-family: var(--display); font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; padding: 6px 12px; border-radius: 3px; }

    .fhr-ai-card-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; max-width: calc(100% - 200px); }
    .fhr-ai-tag { font-family: var(--display); font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--yellow); }
    .fhr-ai-agents { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.6); background: rgba(255,255,255,.08); padding: 6px 10px; border-radius: 3px; }

    .fhr-ai-title { font-family: var(--display); font-size: clamp(26px, 3.2vw, 42px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; line-height: 1; color: #fff; }
    .fhr-ai-title em { font-style: italic; color: var(--yellow); }
    .fhr-ai-pitch { font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.65); max-width: 860px; }
    .fhr-ai-pitch strong { color: #fff; font-weight: 700; }

    .fhr-ai-split { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; border-top: 1px solid rgba(255,255,255,.1); padding-top: 28px; }

    .fhr-ai-block-label { font-family: var(--display); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 14px; }

    .fhr-ai-stack { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
    .fhr-ai-stack li { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: rgba(255,255,255,.05); border-left: 3px solid rgba(255,255,255,.25); border-radius: 3px; gap: 12px; }
    .fhr-ai-stack li.is-ai { background: rgba(249,197,64,.12); border-left-color: var(--yellow); }
    .fhr-ai-stack-role { font-family: var(--display); font-size: 15px; font-weight: 700; letter-spacing: .02em; color: #fff; }
    .fhr-ai-stack-type { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.55); letter-spacing: .02em; text-align: right; }

    .fhr-ai-gains { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
    .fhr-ai-gains.fhr-ai-gains-stacked { grid-template-columns: 1fr; gap: 6px; }
    .fhr-ai-gain { background: rgba(255,255,255,.05); padding: 18px 16px; border-radius: 3px; text-align: left; display: flex; align-items: baseline; gap: 14px; }
    .fhr-ai-gains:not(.fhr-ai-gains-stacked) .fhr-ai-gain { flex-direction: column; text-align: center; gap: 6px; }
    .fhr-ai-gain .n { font-family: var(--display); font-size: 28px; font-weight: 900; color: var(--yellow); letter-spacing: -0.02em; line-height: 1; flex-shrink: 0; min-width: 80px; }
    .fhr-ai-gain .l { font-size: 14px; font-weight: 600; color: rgba(255,255,255,.6); letter-spacing: .01em; line-height: 1.4; }

    .fhr-ai-agents-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; border-top: 1px solid rgba(255,255,255,.1); padding-top: 28px; }
    .fhr-ai-agent-block { padding: 24px 28px; background: rgba(255,255,255,.04); border-radius: 4px; }
    .fhr-ai-agent-head { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
    .fhr-ai-agent-num { font-family: var(--display); font-size: 28px; font-weight: 900; color: var(--yellow); letter-spacing: -0.02em; line-height: 1; opacity: .85; }
    .fhr-ai-agent-name { font-family: var(--display); font-size: 18px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.1; color: #fff; }
    .fhr-ai-agent-role { font-size: 14px; font-weight: 600; color: rgba(255,255,255,.55); letter-spacing: .01em; margin-top: 3px; }

    .fhr-ai-tasks { display: flex; flex-wrap: wrap; gap: 6px; }
    .fhr-ai-tasks span { font-size: 14px; font-weight: 500; padding: 6px 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 100px; color: rgba(255,255,255,.85); }

    .fhr-ai-footer { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
    .fhr-ai-for { font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.72); }
    .fhr-ai-for strong { color: #fff; font-weight: 700; }

    /* Pillars label */
    .fhr-pillars-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.12); }
    .fhr-pillars-label > span:first-child { font-family: var(--display); font-size: 14px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--red); }
    .fhr-pillars-sub { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.45); }

    /* Callouts — versión dark dentro de Fractional HR */
    .fhr-ai-notes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 48px 0 32px; }
    .fhr-ai-note { display: flex; gap: 20px; align-items: flex-start; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-left: 4px solid var(--red); border-radius: 6px; padding: 24px 26px; }
    .fhr-ai-note:nth-child(2) { border-left-color: var(--yellow); }
    .fhr-ai-note-icon { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; background: rgba(249,87,96,.15); display: flex; align-items: center; justify-content: center; color: var(--red); }
    .fhr-ai-note:nth-child(2) .fhr-ai-note-icon { background: rgba(249,197,64,.18); color: var(--yellow); }
    .fhr-ai-note-icon svg { width: 20px; height: 20px; }
    .fhr-ai-note-title { font-family: var(--display); font-size: 14px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: #fff; margin-bottom: 8px; }
    .fhr-ai-note-body p { font-size: 15.5px; line-height: 1.65; color: rgba(255,255,255,.65); }
    .fhr-ai-note-body strong { color: #fff; font-weight: 700; }

    @media (max-width: 900px) {
      .fhr-ai-card.is-featured::before { position: static; display: inline-block; margin-bottom: 12px; }
      .fhr-ai-card-top { max-width: 100%; }
      .fhr-ai-split { grid-template-columns: 1fr; gap: 24px; }
      .fhr-ai-agents-grid { grid-template-columns: 1fr; gap: 12px; }
      .fhr-ai-gains:not(.fhr-ai-gains-stacked) { grid-template-columns: 1fr; gap: 6px; }
      .fhr-ai-notes-grid { grid-template-columns: 1fr; }
      .fhr-ai-note { flex-direction: column; gap: 12px; padding: 20px; }
      .fhr-models-label, .fhr-pillars-label { flex-direction: column; align-items: flex-start; gap: 6px; }
    }

    /* ─────────────────────────────────────────
       PROPUESTA DE VALOR  — 3-col dark
    ───────────────────────────────────────── */
    .valor { background: var(--ink); }

    .valor-header { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; margin-bottom: 72px; }
    .valor-header p { color: rgba(255,255,255,.45); font-size: 16px; line-height: 1.7; }

    .valor-cols { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.1); }
    .valor-col { padding: clamp(28px, 4vw, 52px) clamp(20px, 3vw, 44px); border-right: 1px solid rgba(255,255,255,.1); transition: background .3s; }
    .valor-col:last-child { border-right: none; }
    .valor-col:hover { background: rgba(249,87,96,.07); }
    .valor-col-num { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 28px; }
    .valor-col-icon { width: 52px; height: 52px; background: rgba(249,87,96,.15); border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 28px; }
    .valor-col-icon svg { width: 26px; height: 26px; color: var(--red); }
    .valor-col h3 { font-family: var(--display); font-size: 28px; font-weight: 800; text-transform: uppercase; color: var(--white); letter-spacing: -.01em; line-height: 1.05; margin-bottom: 16px; }
    .valor-col p { font-size: 16px; color: rgba(255,255,255,.45); line-height: 1.75; }
    .valor-col-features { margin-top: 28px; display: flex; flex-direction: column; gap: 10px; }
    .vcf-item { display: flex; align-items: center; gap: 10px; font-size: 15px; color: rgba(255,255,255,.6); }
    .vcf-dot { width: 5px; height: 5px; background: var(--red); border-radius: 50%; flex-shrink: 0; }

    /* ─────────────────────────────────────────
       SERVICIOS  — asymmetric accordion-grid
    ───────────────────────────────────────── */
    .services { background: var(--ash); }

    .services-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; margin-bottom: 72px; }
    .services-intro p { color: var(--stone); font-size: 16px; line-height: 1.75; }

    /* Tab switcher */
    .svc-tabs { display: flex; gap: 0; border: 1.5px solid var(--mist); border-radius: 3px; overflow: hidden; margin-bottom: 48px; width: fit-content; }
    .svc-tab {
      padding: 11px 28px; font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .14em; text-transform: uppercase; color: var(--stone);
      transition: all .25s; background: transparent; border-right: 1.5px solid var(--mist);
    }
    .svc-tab:last-child { border-right: none; }
    .svc-tab.active { background: var(--red); color: var(--white); }

    .svc-panel { display: none; }
    .svc-panel.active { display: block; }

    .svc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; background: var(--mist); }
    .svc-card {
      background: var(--white);
      padding: clamp(28px, 4vw, 48px);
      display: flex; flex-direction: column; gap: 16px;
      transition: background .3s;
      position: relative; overflow: hidden;
    }
    .svc-card:hover { background: var(--ink); }
    .svc-card:hover .svc-title { color: var(--white); }
    .svc-card:hover .svc-desc { color: rgba(255,255,255,.5); }
    .svc-card:hover .svc-icon { background: rgba(249,87,96,.2); }
    .svc-card:hover .svc-chips .chip { background: rgba(249,87,96,.2); color: var(--red); }
    .svc-card-full { grid-column: span 2; }

    .svc-icon { width: 48px; height: 48px; background: rgba(249,87,96,.08); border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background .3s; }
    .svc-icon svg { width: 24px; height: 24px; color: var(--red); }
    .svc-title { font-family: var(--display); font-size: clamp(20px, 2.5vw, 28px); font-weight: 800; text-transform: uppercase; letter-spacing: -0.01em; line-height: 1.05; transition: color .3s; }
    .svc-desc { font-size: 16px; color: #666; line-height: 1.75; transition: color .3s; }
    .svc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; }
    .chip { padding: 4px 10px; background: var(--ash); border-radius: 100px; font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--stone); transition: all .25s; }

    /* ─────────────────────────────────────────
       POR QUÉ — diagonal split
    ───────────────────────────────────────── */
    .why { background: var(--white); }
    .why-split { display: grid; grid-template-columns: 5fr 7fr; min-height: 640px; }
    .why-left {
      background: var(--red);
      padding: clamp(40px, 6vw, 80px) clamp(32px, 4vw, 64px);
      display: flex; flex-direction: column; justify-content: space-between;
      position: relative; overflow: hidden;
      clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
    }
    .why-left::before {
      content: '';
      position: absolute; inset: 0;
      background: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 1px, transparent 28px);
    }
    .why-left-top { position: relative; z-index: 2; }
    .why-left h2 { font-family: var(--display); font-size: clamp(40px, 5.5vw, 80px); font-weight: 900; text-transform: uppercase; color: var(--white); line-height: .9; letter-spacing: -.02em; }
    .why-left-sub { font-size: 15px; color: rgba(255,255,255,.7); margin-top: 20px; line-height: 1.65; max-width: 280px; }
    .why-left-metrics { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 20px; }
    .why-left-metric { }
    .why-left-metric-n { font-family: var(--display); font-size: clamp(42px, 5vw, 64px); font-weight: 900; color: var(--white); letter-spacing: -0.04em; line-height: 1; }
    .why-left-metric-n span { font-size: .6em; color: rgba(255,255,255,.5); }
    .why-left-metric-l { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-top: 3px; }

    .why-right {
      padding: clamp(40px, 6vw, 80px) clamp(40px, 6vw, 80px) clamp(40px, 6vw, 80px) clamp(56px, 8vw, 96px);
      background: var(--ash);
    }
    .why-list { display: flex; flex-direction: column; gap: 0; margin-top: 40px; }
    .why-row {
      display: grid; grid-template-columns: 52px 1fr auto;
      align-items: start; gap: 20px;
      padding: 24px 0; border-bottom: 1px solid var(--mist);
      transition: background .25s; cursor: none;
    }
    .why-row:last-child { border-bottom: none; }
    .why-row:hover { background: var(--mist); margin: 0 -24px; padding: 24px 24px; border-radius: 4px; border-bottom-color: transparent; }
    .why-row-num { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--red); padding-top: 3px; }
    .why-row-content h4 { font-family: var(--display); font-size: 20px; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; margin-bottom: 6px; }
    .why-row-content p { font-size: 15px; color: var(--stone); line-height: 1.65; }
    .why-arrow { font-size: 18px; color: var(--mist); transition: color .25s; padding-top: 3px; }
    .why-row:hover .why-arrow { color: var(--red); }

    /* ─────────────────────────────────────────
       COBERTURA
    ───────────────────────────────────────── */
    .coverage { background: var(--ink); }

    .coverage-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

    .coverage-label { color: rgba(255,255,255,.55); margin-bottom: 16px; }
    .coverage-h { font-family: var(--display); font-size: clamp(44px, 6vw, 88px); font-weight: 900; text-transform: uppercase; color: var(--white); line-height: .9; letter-spacing: -0.02em; margin-bottom: 28px; }
    .coverage-h span { color: var(--yellow); }
    .coverage-body { font-size: 15px; color: rgba(255,255,255,.5); line-height: 1.75; margin-bottom: 40px; max-width: 400px; }

    .coverage-list { display: flex; flex-direction: column; gap: 0; }
    .cl-item {
      display: flex; align-items: center; justify-content: space-between;
      padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.07);
      transition: all .25s;
    }
    .cl-item:last-child { border-bottom: none; }
    .cl-item:hover { padding-left: 8px; }
    .cl-item-left { display: flex; align-items: center; gap: 12px; }
    .cl-dot { width: 7px; height: 7px; background: var(--red); border-radius: 50%; flex-shrink: 0; animation: blink 2s ease-in-out infinite; }
    .cl-dot.yellow { background: var(--yellow); animation-delay: .5s; }
    .cl-name { font-family: var(--display); font-size: 16px; font-weight: 700; text-transform: uppercase; color: rgba(255,255,255,.8); letter-spacing: .02em; }
    .cl-label { font-family: var(--display); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.55); }

    /* Animated globe wireframe */
    .globe-wrap {
      aspect-ratio: 1;
      max-width: 480px;
      position: relative;
      margin: 0 auto;
    }
    .globe-ring {
      position: absolute; inset: 0;
      border-radius: 50%;
      border: 1px solid rgba(249,87,96,.2);
      animation: orbit 12s linear infinite;
    }
    .globe-ring:nth-child(2) { inset: 10%; border-color: rgba(249,87,96,.15); animation-delay: -4s; animation-duration: 16s; animation-direction: reverse; }
    .globe-ring:nth-child(3) { inset: 22%; border-color: rgba(245,166,35,.12); animation-delay: -8s; animation-duration: 20s; }
    .globe-ring:nth-child(4) { inset: 35%; border-color: rgba(249,87,96,.2); animation-delay: -2s; animation-duration: 10s; animation-direction: reverse; }
    @keyframes orbit { from{ transform: rotate(0deg) } to{ transform: rotate(360deg) } }

    .globe-core {
      position: absolute; inset: 0; border-radius: 50%;
      background: radial-gradient(circle at 40% 35%, rgba(249,87,96,.25), rgba(249,87,96,.05) 60%, transparent);
      display: flex; align-items: center; justify-content: center;
    }
    .globe-core-inner {
      width: 45%; aspect-ratio: 1;
      background: rgba(249,87,96,.15);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      border: 1.5px solid rgba(249,87,96,.35);
    }
    .globe-count { font-family: var(--display); font-size: 52px; font-weight: 900; color: var(--white); letter-spacing: -0.04em; line-height: 1; text-align: center; }
    .globe-count span { display: block; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-top: 2px; }

    /* Orbiting dots (country markers) */
    .orb-dot {
      position: absolute; width: 10px; height: 10px;
      border-radius: 50%; background: var(--red);
      transform-origin: 50% 50%;
    }
    .orb-dot::after { content: attr(data-c); position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.6); white-space: nowrap; }

    /* ─────────────────────────────────────────
       PROCESO
    ───────────────────────────────────────── */
    .process { background: var(--ash); }

    .process-head { text-align: center; margin-bottom: 72px; }
    .process-head p { color: var(--stone); max-width: 480px; margin: 20px auto 0; font-size: 16px; line-height: 1.7; }

    .process-timeline { position: relative; }
    .process-line { position: absolute; top: 36px; left: 9%; right: 9%; height: 1px; background: var(--mist); }
    .process-line-fill { height: 100%; background: linear-gradient(to right, var(--red), var(--yellow)); transform-origin: left; animation: linegrow 2s ease forwards; animation-delay: .5s; transform: scaleX(0); }
    @keyframes linegrow { to{ transform: scaleX(1) } }

    .process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; }
    .ps-item { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 16px; }
    .ps-num {
      width: 72px; height: 72px;
      background: var(--white); border: 1.5px solid var(--mist); border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-family: var(--display); font-size: 22px; font-weight: 900; color: var(--ink);
      margin-bottom: 28px; position: relative; z-index: 2;
      transition: all .35s;
    }
    .ps-item:hover .ps-num { background: var(--red); border-color: var(--red); color: var(--white); transform: scale(1.12); }
    .ps-title { font-family: var(--display); font-size: 17px; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; margin-bottom: 10px; }
    .ps-desc { font-size: 15px; color: var(--stone); line-height: 1.65; }

    /* ─────────────────────────────────────────
       VACANTES — TeamTailor embed
    ───────────────────────────────────────── */
    .jobs { background: var(--white); }

    .jobs-layout { display: grid; grid-template-columns: 1fr 340px; gap: 60px; align-items: start; }

    .jobs-list { display: flex; flex-direction: column; gap: 2px; background: var(--mist); }

    .job-row {
      display: grid; grid-template-columns: 1fr auto;
      align-items: center; gap: 24px;
      background: var(--white);
      padding: 28px 32px;
      transition: all .3s;
      text-decoration: none; color: inherit;
    }
    .job-row:hover { background: var(--ink); padding-left: 44px; }
    .job-row:hover .jr-title { color: var(--white); }
    .job-row:hover .jr-meta span { color: rgba(255,255,255,.55); }
    .job-row:hover .jr-meta svg { color: rgba(255,255,255,.55); }
    .jr-dept { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin-bottom: 6px; }
    .jr-title { font-family: var(--display); font-size: 20px; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; transition: color .3s; }
    .jr-meta { display: flex; gap: 18px; margin-top: 8px; }
    .jr-meta span { display: flex; align-items: center; gap: 5px; font-size: 14px; color: var(--stone); }
    .jr-meta svg { width: 12px; height: 12px; }
    .jr-arr { width: 36px; height: 36px; border-radius: 50%; background: var(--ash); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .3s; }
    .job-row:hover .jr-arr { background: var(--red); }
    .jr-arr svg { width: 16px; height: 16px; color: var(--ink); transition: color .3s; }
    .job-row:hover .jr-arr svg { color: var(--white); }

    .jobs-sidebar { position: sticky; top: 88px; }
    .jobs-sidebar-card {
      background: var(--red); border-radius: 3px;
      padding: 36px 32px;
      display: flex; flex-direction: column; gap: 20px;
    }
    .jsc-label { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.6); }
    .jsc-title { font-family: var(--display); font-size: 28px; font-weight: 900; text-transform: uppercase; color: var(--white); line-height: 1; letter-spacing: -.01em; }
    .jsc-body { font-size: 15px; color: rgba(255,255,255,.7); line-height: 1.7; }
    .jsc-divider { height: 1px; background: rgba(255,255,255,.2); }
    .jsc-ats { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: rgba(0,0,0,.2); border-radius: 3px; }
    .jsc-ats-icon { width: 28px; height: 28px; background: var(--white); border-radius: 4px; display: flex; align-items: center; justify-content: center; font-family: var(--display); font-size: 13px; font-weight: 900; color: var(--red); flex-shrink: 0; }
    .jsc-ats-text { font-size: 13px; font-weight: 500; color: rgba(255,255,255,.6); line-height: 1.4; }
    .jsc-ats-text b { color: var(--white); font-weight: 700; display: block; font-size: 14px; }
    .live-dot { display: inline-block; width: 7px; height: 7px; background: #22c55e; border-radius: 50%; margin-right: 6px; animation: blink 1.5s infinite; }

    /* ─────────────────────────────────────────
       SECTORES
    ───────────────────────────────────────── */
    .sectors { background: var(--yellow); }
    .sectors-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
    .sectors-left h2 { font-family: var(--display); font-size: clamp(44px, 7vw, 96px); font-weight: 900; text-transform: uppercase; color: var(--ink); line-height: .88; letter-spacing: -0.03em; }
    .sectors-left p { margin-top: 24px; font-size: 16px; color: rgba(0,0,0,.6); line-height: 1.7; max-width: 340px; }
    .sectors-right {}
    .sectors-tags { display: flex; flex-wrap: wrap; gap: 8px; }
    .s-tag {
      padding: 9px 18px; background: rgba(0,0,0,.07); border-radius: 2px;
      font-family: var(--display); font-size: 15px; font-weight: 700;
      letter-spacing: .08em; text-transform: uppercase; color: var(--ink);
      transition: all .25s;
    }
    .s-tag:hover { background: var(--ink); color: var(--yellow); transform: scale(1.04); }

    /* ─────────────────────────────────────────
       CONTACTO
    ───────────────────────────────────────── */
    .contact { background: var(--ash); }

    .contact-header { margin-bottom: 60px; }
    .contact-header h2 { font-family: var(--display); }
    .contact-header p { color: var(--stone); max-width: 440px; font-size: 15px; line-height: 1.7; margin-top: 16px; }

    .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }

    .form { display: flex; flex-direction: column; gap: 16px; }
    .form-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .fg { display: flex; flex-direction: column; gap: 8px; }
    .fg label { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--stone); }
    .fg input, .fg select, .fg textarea {
      background: var(--white); border: 1.5px solid var(--mist);
      border-radius: 2px; padding: 13px 16px;
      font-family: var(--body); font-size: 16px; color: var(--ink);
      outline: none; transition: border-color .25s;
      width: 100%;
    }
    .fg input:focus, .fg select:focus, .fg textarea:focus { border-color: var(--red); }
    .fg input::placeholder, .fg textarea::placeholder { color: var(--stone); }
    .fg select { cursor: none; appearance: none; }
    .fg textarea { min-height: 120px; resize: vertical; }

    .contact-info-block { display: flex; flex-direction: column; gap: 0; }
    .ci-item { display: flex; align-items: flex-start; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--mist); }
    .ci-item:last-child { border-bottom: none; }
    .ci-icon { width: 44px; height: 44px; background: var(--white); border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: 1px solid var(--mist); }
    .ci-icon svg { width: 19px; height: 19px; color: var(--red); }
    .ci-label { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--stone); margin-bottom: 4px; }
    .ci-val { font-size: 15px; font-weight: 500; color: var(--ink); }
    .ci-val a { color: var(--red); }
    .ci-val a:hover { text-decoration: underline; }

    /* ─────────────────────────────────────────
       FOOTER
    ───────────────────────────────────────── */
    footer { background: var(--ink); padding: 64px 0 32px; }

    .footer-top { display: grid; grid-template-columns: 2.5fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.08); }
    .ft-brand-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
    .ft-brand-logo-mark { width: 34px; height: 34px; background: var(--red); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
    .ft-brand-logo-mark svg { width: 18px; height: 18px; }
    .ft-brand-name { font-family: var(--display); font-size: 17px; font-weight: 900; color: var(--white); text-transform: uppercase; letter-spacing: .02em; }
    .ft-brand-desc { font-size: 15px; color: rgba(255,255,255,.55); line-height: 1.7; max-width: 280px; margin-bottom: 24px; }
    .ft-social { display: flex; gap: 8px; }
    .ft-social a { width: 34px; height: 34px; background: rgba(255,255,255,.06); border-radius: 6px; display: flex; align-items: center; justify-content: center; transition: background .2s; }
    .ft-social a:hover { background: var(--red); }
    .ft-social svg { width: 15px; height: 15px; color: rgba(255,255,255,.5); }
    .ft-social a:hover svg { color: var(--white); }

    .ft-col-title { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: 20px; }
    .ft-links { display: flex; flex-direction: column; gap: 12px; }
    .ft-links a { font-size: 16px; color: rgba(255,255,255,.45); transition: color .2s; }
    .ft-links a:hover { color: var(--red); }

    .footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 28px; flex-wrap: wrap; gap: 12px; }
    .fb-copy { font-size: 14px; color: rgba(255,255,255,.2); }
    .fb-legal { display: flex; gap: 20px; }
    .fb-legal a { font-size: 14px; color: rgba(255,255,255,.2); transition: color .2s; }
    .fb-legal a:hover { color: rgba(255,255,255,.6); }

    /* ─────────────────────────────────────────
       RESPONSIVE
    ───────────────────────────────────────── */
    @media(max-width: 1100px) {
      .hero { grid-template-columns: 1fr; }
      .hero-right { display: none !important; }
      /* Vacantes: en móvil apilamos la lista (5 + "ver más") dejando crecer el slide */
      .hero-slide-vacantes { height: auto !important; min-height: 100svh; overflow: visible !important; }
      .hero-slide-vacantes .hero-right { display: flex !important; padding-top: 0 !important; }
      .hero-slide-vacantes .vac-list { width: 100%; }
      .valor-cols { grid-template-columns: 1fr; }
      .valor-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); }
      .coverage-inner { grid-template-columns: 1fr; }
      .globe-wrap { max-width: 320px; }
      .jobs-layout { grid-template-columns: 1fr; }
      .jobs-sidebar { position: static; }
      .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
    }
    @media(max-width: 840px) {
      .about-grid { grid-template-columns: 1fr; }
      .about-left::after { display: none; }
      .why-split { grid-template-columns: 1fr; }
      .why-left { clip-path: none; }
      .services-intro { grid-template-columns: 1fr; gap: 20px; }
      .svc-grid { grid-template-columns: 1fr; }
      .svc-card-full { grid-column: span 1; }
      .sectors-inner { grid-template-columns: 1fr; }
      .contact-grid { grid-template-columns: 1fr; }
      .process-steps { grid-template-columns: repeat(2, 1fr); }
      .process-line { display: none; }
      .valor-header { grid-template-columns: 1fr; gap: 20px; }
    }
    @media(max-width: 1100px) {
      .nav-center { display: none; }
      .nav-right .btn-outline-dark { display: none !important; }
      /* Target táctil minimo (Apple HIG 44px / Material 48px) para el CTA visible en movil */
      .nav-right .btn { min-height: 44px; padding: 11px 18px; }
      .nav-burger { display: flex; }
      .hero-btns { flex-direction: column; }
      .process-steps { grid-template-columns: 1fr; }
      .form-row2 { grid-template-columns: 1fr; }
      .footer-top { grid-template-columns: 1fr; }
      .why-left-metrics { flex-direction: row; flex-wrap: wrap; gap: 28px; }
      .about-pillars .ap-item { grid-template-columns: 1fr; }
      .svc-tabs { flex-direction: column; width: 100%; }
      .svc-tab { border-right: none; border-bottom: 1.5px solid var(--mist); }
      .svc-tab:last-child { border-bottom: none; }
    }

    /* ─────────────────────────────────────────
       UTILITIES
    ───────────────────────────────────────── */
    .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    .accent-red { color: var(--red); }
    .text-white { color: var(--white); }
    .accent-yellow { color: var(--yellow); }
  
    /* ═══════════════════════════════════════
       ASSESSMENT — overlay + teaser
    ═══════════════════════════════════════ */
    .asmt-teaser { background: var(--ink); position: relative; overflow: hidden; padding: 0; }
    .asmt-teaser-inner {
      display: grid; grid-template-columns: 1fr 1fr;
      min-height: 560px;
    }
    .asmt-left {
      padding: clamp(60px, 8vw, 100px) clamp(24px, 6vw, 72px);
      display: flex; flex-direction: column; justify-content: center;
      border-right: 1px solid rgba(255,255,255,.07);
      position: relative; z-index: 2;
    }
    .asmt-eyebrow {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase;
      color: var(--yellow); margin-bottom: 20px;
      display: flex; align-items: center; gap: 10px;
    }
    .asmt-eyebrow::before { content: ''; width: 20px; height: 2px; background: var(--yellow); }
    .asmt-h {
      font-family: var(--display);
      font-size: clamp(44px, 5.5vw, 80px);
      font-weight: 900; text-transform: uppercase;
      letter-spacing: -0.03em; line-height: .9;
      color: var(--white); margin-bottom: 24px;
    }
    .asmt-h em { font-style: normal; color: var(--red); }
    .asmt-sub { font-size: 15px; color: rgba(255,255,255,.5); line-height: 1.7; max-width: 400px; margin-bottom: 40px; }
    .btn-asmt-start {
      display: inline-flex; align-items: center; gap: 12px;
      background: var(--red); color: var(--white);
      font-family: var(--display); font-size: 15px; font-weight: 700;
      letter-spacing: .06em; text-transform: uppercase;
      padding: 16px 32px; border: none; cursor: pointer;
      transition: background .2s, gap .2s; width: fit-content;
    }
    .btn-asmt-start:hover { background: #e03e47; gap: 18px; }
    .btn-asmt-start svg { width: 16px; height: 16px; }
    .asmt-right {
      padding: clamp(60px, 8vw, 100px) clamp(24px, 6vw, 72px);
      display: flex; flex-direction: column; justify-content: center; gap: 14px;
      background: rgba(255,255,255,.02);
    }
    .asmt-block-row {
      display: flex; align-items: center; gap: 18px;
      padding: 16px 20px;
      border: 1px solid rgba(255,255,255,.06);
      transition: border-color .2s;
    }
    .asmt-block-row:hover { border-color: rgba(249,87,96,.35); }
    .asmt-block-n {
      font-family: var(--display); font-size: 28px; font-weight: 900;
      color: rgba(255,255,255,.08); line-height: 1; width: 36px; flex-shrink: 0;
    }
    .asmt-block-info {}
    .asmt-block-name {
      font-family: var(--display); font-size: 15px; font-weight: 800;
      letter-spacing: .04em; text-transform: uppercase; color: var(--white);
    }
    .asmt-block-sub { font-size: 14px; color: rgba(255,255,255,.55); margin-top: 2px; }
    .asmt-block-pts {
      margin-left: auto; font-family: var(--display); font-size: 13px;
      font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
      color: rgba(255,255,255,.2); white-space: nowrap;
    }
    @media (max-width: 860px) {
      .asmt-teaser-inner { grid-template-columns: 1fr; }
      .asmt-right { display: none; }
    }

    /* ── Assessment Overlay ── */
    #asmt-overlay {
      position: fixed; inset: 0; z-index: 1000;
      background: var(--ash);
      display: none; flex-direction: column;
      overflow-y: auto;
    }
    #asmt-overlay.open { display: flex; }

    .asmt-nav {
      position: sticky; top: 0; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 16px clamp(20px, 5vw, 72px);
      background: rgba(242,241,239,.96);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid rgba(14,14,14,.06);
    }
    .asmt-nav-brand {
      font-family: var(--display); font-size: 15px; font-weight: 800;
      letter-spacing: .08em; text-transform: uppercase; color: var(--ink);
    }
    .asmt-nav-badge {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .15em; text-transform: uppercase;
      padding: 4px 12px; border: 1.5px solid var(--red); color: var(--red);
    }
    .asmt-close {
      display: flex; align-items: center; gap: 8px;
      background: none; border: 1.5px solid rgba(14,14,14,.15);
      font-family: var(--display); font-size: 14px; font-weight: 700;
      letter-spacing: .12em; text-transform: uppercase;
      color: var(--stone); padding: 8px 16px; cursor: pointer;
      transition: border-color .2s, color .2s;
    }
    .asmt-close:hover { border-color: var(--ink); color: var(--ink); }
    .asmt-close svg { width: 14px; height: 14px; }

    /* Progress */
    .asmt-progress { height: 3px; background: var(--mist); }
    .asmt-progress-bar { height: 100%; background: var(--red); transition: width .6s cubic-bezier(0.22, 1, 0.36, 1); }

    /* Overlay screens */
    .asmt-screen { display: none; flex-direction: column; flex: 1; }
    .asmt-screen.active { display: flex; animation: fadeUpA .4s cubic-bezier(0.22, 1, 0.36, 1) both; }
    @keyframes fadeUpA { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }

    /* Form screen */
    .asmt-form-wrap {
      max-width: 600px; width: 100%;
      margin: 0 auto;
      padding: 52px clamp(20px, 5vw, 40px) 80px;
    }
    .asmt-form-ey { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
    .asmt-form-ey::before { content: ''; width: 20px; height: 2px; background: var(--red); }
    .asmt-form-h { font-family: var(--display); font-size: clamp(36px, 5vw, 60px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; line-height: .92; color: var(--ink); margin-bottom: 10px; }
    .asmt-form-sub { font-size: 15px; color: var(--stone); line-height: 1.6; margin-bottom: 40px; }

    .asmt-fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
    @media (max-width: 580px) { .asmt-fgrid { grid-template-columns: 1fr; } }
    .asmt-field { display: flex; flex-direction: column; gap: 7px; }
    .asmt-field label { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--stone); }
    .asmt-field input, .asmt-field select {
      padding: 13px 15px;
      border: 1.5px solid var(--mist); background: var(--white);
      font-family: var(--body); font-size: 15px; color: var(--ink);
      transition: border-color .2s; outline: none; border-radius: 0;
      -webkit-appearance: none;
    }
    .asmt-field input:focus, .asmt-field select:focus { border-color: var(--ink); }
    .asmt-field input.aerr, .asmt-field select.aerr { border-color: var(--red); }
    .asmt-privacy { font-size: 14px; color: var(--stone); margin: 14px 0 28px; line-height: 1.6; }

    .btn-asmt-next {
      display: inline-flex; align-items: center; gap: 12px;
      background: var(--ink); color: var(--white);
      font-family: var(--display); font-size: 16px; font-weight: 700;
      letter-spacing: .08em; text-transform: uppercase;
      padding: 15px 30px; border: none; cursor: pointer;
      transition: background .2s, gap .2s;
    }
    .btn-asmt-next:hover { background: var(--red); gap: 16px; }
    .btn-asmt-next svg { width: 15px; height: 15px; }

    /* Block screen */
    .asmt-block-content {
      max-width: 740px; width: 100%;
      margin: 0 auto;
      padding: 44px clamp(20px, 5vw, 40px) 120px;
    }
    .asmt-block-header { margin-bottom: 44px; }
    .asmt-block-tag {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase;
      color: var(--red); margin-bottom: 10px;
      display: flex; align-items: center; gap: 10px;
    }
    .asmt-block-tag::before { content: ''; width: 18px; height: 2px; background: var(--red); }
    .asmt-block-h {
      font-family: var(--display);
      font-size: clamp(32px, 5vw, 56px);
      font-weight: 900; text-transform: uppercase;
      letter-spacing: -0.02em; line-height: .9; color: var(--ink); margin-bottom: 10px;
    }
    .asmt-block-desc { font-size: 16px; color: var(--stone); line-height: 1.65; }

    .asmt-question { margin-bottom: 32px; }
    .asmt-qnum { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--stone); display: block; margin-bottom: 7px; }
    .asmt-qtext { font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.5; margin-bottom: 14px; }
    .asmt-options { display: flex; flex-direction: column; gap: 7px; }
    .asmt-option {
      display: flex; align-items: flex-start; gap: 13px;
      padding: 13px 16px;
      border: 1.5px solid var(--mist); background: var(--white);
      cursor: pointer; transition: border-color .2s, background .2s;
      user-select: none;
    }
    .asmt-option:hover { border-color: rgba(249,87,96,.4); background: rgba(249,87,96,.03); }
    .asmt-option.sel { border-color: var(--ink); background: var(--ink); }
    .asmt-option.sel .asmt-olabel { color: var(--white); }
    .asmt-option.sel .asmt-oval { color: var(--red); }
    .asmt-oradio {
      width: 17px; height: 17px; border-radius: 50%;
      border: 2px solid var(--mist); flex-shrink: 0; margin-top: 2px;
      transition: border-color .2s, background .2s;
      display: flex; align-items: center; justify-content: center;
    }
    .asmt-option:hover .asmt-oradio { border-color: var(--stone); }
    .asmt-option.sel .asmt-oradio { border-color: var(--red); background: var(--red); }
    .asmt-option.sel .asmt-oradio::after { content: ''; width: 5px; height: 5px; background: var(--white); border-radius: 50%; }
    .asmt-olabel { font-size: 15px; color: var(--ink); flex: 1; line-height: 1.5; }
    .asmt-oval { font-family: var(--display); font-size: 13px; font-weight: 700; color: var(--stone); letter-spacing: .06em; flex-shrink: 0; }

    /* Block footer bar */
    .asmt-footer {
      position: sticky; bottom: 0;
      background: rgba(242,241,239,.96);
      backdrop-filter: blur(12px);
      border-top: 1px solid var(--mist);
      padding: 16px clamp(20px, 5vw, 72px);
      display: flex; align-items: center; justify-content: space-between; gap: 16px;
    }
    .asmt-dots { display: flex; gap: 7px; }
    .asmt-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--mist); transition: background .3s, width .3s; }
    .asmt-dot.done { background: var(--ink); }
    .asmt-dot.cur { background: var(--red); width: 22px; border-radius: 4px; }
    .asmt-footer-btns { display: flex; gap: 10px; }
    .btn-ablk {
      display: inline-flex; align-items: center; gap: 9px;
      font-family: var(--display); font-size: 15px; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
      padding: 12px 24px; border: none; cursor: pointer;
      transition: background .2s, gap .2s; flex-shrink: 0;
    }
    .btn-ablk-next { background: var(--ink); color: var(--white); }
    .btn-ablk-next:hover { background: var(--red); gap: 13px; }
    .btn-ablk-prev { background: transparent; color: var(--stone); border: 1.5px solid var(--mist); }
    .btn-ablk-prev:hover { border-color: var(--ink); color: var(--ink); }
    .btn-ablk svg { width: 13px; height: 13px; }
    .asmt-val-msg { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--red); display: none; }

    /* Results screen */
    .asmt-results { display: flex; flex-direction: column; }
    .asmt-results-hero {
      background: var(--ink); color: var(--white);
      padding: clamp(40px, 6vw, 80px) clamp(24px, 6vw, 80px);
      display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center;
    }
    @media (max-width: 640px) { .asmt-results-hero { grid-template-columns: 1fr; } }
    .asmt-res-ey { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
    .asmt-res-ey::before { content: ''; width: 18px; height: 2px; background: var(--red); }
    .asmt-res-h { font-family: var(--display); font-size: clamp(32px, 4vw, 56px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; line-height: .9; color: var(--white); margin-bottom: 16px; }
    .asmt-res-h em { font-style: normal; color: var(--yellow); }
    .asmt-level-badge { display: inline-flex; align-items: center; gap: 10px; padding: 7px 16px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); margin-bottom: 20px; }
    .asmt-level-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); }
    .asmt-level-lbl { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--stone); }
    .asmt-level-name { font-family: var(--display); font-size: 16px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--white); }
    .asmt-res-summ { font-size: 15px; color: rgba(255,255,255,.45); line-height: 1.7; max-width: 440px; }
    .asmt-score-big { font-family: var(--display); font-size: clamp(72px, 10vw, 130px); font-weight: 900; letter-spacing: -0.04em; line-height: 1; color: var(--white); }
    .asmt-score-big span { font-size: .38em; color: rgba(255,255,255,.55); font-weight: 700; }
    .asmt-score-lbl { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--stone); margin-top: 6px; }

    .asmt-results-body {
      padding: clamp(32px, 5vw, 64px) clamp(24px, 6vw, 80px);
      display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 52px;
    }
    @media (max-width: 760px) { .asmt-results-body { grid-template-columns: 1fr; } }

    .asmt-scores-title { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--stone); margin-bottom: 24px; }
    .asmt-score-row { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
    .asmt-score-name { font-family: var(--display); font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink); min-width: 140px; }
    .asmt-sbar-wrap { flex: 1; height: 3px; background: var(--mist); }
    .asmt-sbar { height: 100%; background: var(--red); transition: width .8s cubic-bezier(0.22,1,.36,1); }
    .asmt-sval { font-family: var(--display); font-size: 15px; font-weight: 800; color: var(--ink); min-width: 32px; text-align: right; }

    .asmt-recs { padding: 0 clamp(24px, 6vw, 80px) clamp(40px, 5vw, 64px); }
    .asmt-recs-title { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--stone); margin-bottom: 22px; }
    .asmt-recs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 2px; }
    .asmt-rec { background: var(--ash); padding: 24px; transition: background .2s; }
    .asmt-rec:hover { background: var(--mist); }
    .asmt-rec-blk { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
    .asmt-rec-txt { font-size: 15px; color: rgba(14,14,14,.65); line-height: 1.65; }

    .asmt-send-bar {
      background: var(--ink); color: var(--white);
      padding: clamp(36px, 5vw, 60px) clamp(24px, 6vw, 80px);
      display: flex; align-items: center; gap: 40px; flex-wrap: wrap;
    }
    .asmt-send-h { font-family: var(--display); font-size: clamp(24px, 3vw, 36px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; line-height: .92; color: var(--white); margin-bottom: 8px; }
    .asmt-send-sub { font-size: 15px; color: rgba(255,255,255,.55); line-height: 1.6; }
    .asmt-send-right { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; margin-left: auto; }
    @media (max-width: 640px) { .asmt-send-bar { flex-direction: column; gap: 24px; } .asmt-send-right { margin-left: 0; } }
    .btn-asmt-send {
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--red); color: var(--white);
      font-family: var(--display); font-size: 15px; font-weight: 700;
      letter-spacing: .08em; text-transform: uppercase;
      padding: 14px 28px; border: none; cursor: pointer;
      transition: background .2s, gap .2s;
    }
    .btn-asmt-send:hover { background: #e03e47; gap: 14px; }
    .btn-asmt-send:disabled { background: var(--stone); cursor: not-allowed; }
    .btn-asmt-send svg { width: 14px; height: 14px; }
    .asmt-send-status { font-size: 14px; color: rgba(255,255,255,.45); display: none; }
    .asmt-send-status.vis { display: block; }
    .asmt-send-status.ok { color: #6fcf97; }
    .asmt-send-status.err { color: var(--red); }

    .asmt-cta-bar {
      padding: clamp(36px, 5vw, 60px) clamp(24px, 6vw, 80px);
      border-top: 1px solid var(--mist);
      display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
    }
    .asmt-cta-ey { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
    .asmt-cta-h { font-family: var(--display); font-size: clamp(22px, 3vw, 36px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; line-height: .92; color: var(--ink); margin-bottom: 6px; }
    .asmt-cta-sub { font-size: 15px; color: var(--stone); line-height: 1.6; max-width: 380px; }
    .btn-asmt-cta {
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--ink); color: var(--white);
      font-family: var(--display); font-size: 15px; font-weight: 700;
      letter-spacing: .08em; text-transform: uppercase;
      padding: 14px 28px; border: none; cursor: pointer;
      text-decoration: none; flex-shrink: 0;
      transition: background .2s, gap .2s;
    }
    .btn-asmt-cta:hover { background: var(--red); gap: 14px; }
    .btn-asmt-cta svg { width: 14px; height: 14px; }

  
    /* ═══════════════════════════════════════
       HERO CAROUSEL — 4 slides, fade
    ═══════════════════════════════════════ */

    /* The carousel wrapper MUST have a defined height so absolute children stack */
    .hero-carousel {
      position: relative;
      overflow: hidden;
      /* height is driven by the active (relative) slide */
    }

    /* All slides: absolute stack, invisible */
    .hero-slide {
      position: absolute !important;
      inset: 0;
      opacity: 0;
      pointer-events: none;
      transition: opacity .7s ease;
      z-index: 1;
    }

    /* Active slide: in flow (drives height) + visible */
    .hero-slide.active {
      position: relative !important;
      opacity: 1;
      pointer-events: auto;
      z-index: 2;
    }

    /* Slide themes ─────────────────────────────── */

    /* Slide 1 — SB default (ash bg — already in .hero) */
    .hero-slide-sb { background: var(--ash); }

    /* Slide 2 — AVE Whitepaper */
    .hero-slide-ave {
      background: #161A08 !important;
      color: #fff;
    }
    .hero-slide-ave .hero-left  { background: transparent; }
    .hero-slide-ave .hero-right {
      background: rgba(197,212,0,.04) !important;
      border-left: 1px solid rgba(197,212,0,.12) !important;
    }
    .hero-slide-ave .hero-right::before {
      background: radial-gradient(circle at 70% 40%, rgba(197,212,0,.14) 0%, transparent 65%) !important;
    }
    .hero-slide-ave .hero-heading  { color: #fff !important; }
    .hero-slide-ave .hero-heading .ln-red  { color: #C5D400 !important; }
    .hero-slide-ave .hero-heading .ln-out  {
      -webkit-text-stroke: 3px #C5D400 !important;
      color: transparent !important;
    }
    .hero-slide-ave .hero-pill  {
      background: rgba(197,212,0,.1) !important;
      border: 1px solid rgba(197,212,0,.2) !important;
    }
    .hero-slide-ave .hero-pill span  { color: #C5D400 !important; }
    .hero-slide-ave .hero-pill-dot   { background: #C5D400 !important; }
    .hero-slide-ave .hero-sub        { color: rgba(255,255,255,.75) !important; }
    .hero-slide-ave .hero-stat-item  { border-top-color: rgba(197,212,0,.2) !important; }
    .hero-slide-ave .hero-stat-n     { color: #C5D400 !important; }
    .hero-slide-ave .hero-stat-n span { color: rgba(197,212,0,.5) !important; }
    .hero-slide-ave .hero-stat-l     { color: rgba(255,255,255,.65) !important; }
    .hero-slide-ave .hero-right-cta p { color: rgba(255,255,255,.55) !important; }
    .hero-slide-ave .hero-scroll-hint { color: rgba(255,255,255,.55) !important; }
    .hero-slide-ave .scroll-track     { background: rgba(197,212,0,.2) !important; }

    /* Slide 3 — Assessment (dark ink) */
    .hero-slide-assessment {
      background: var(--ink) !important;
      color: #fff;
    }
    /* hero-left tiene background:ash propio — lo hacemos transparent para mostrar el fondo del slide */
    .hero-slide-assessment .hero-left { background: transparent !important; }
    .hero-slide-assessment .hero-right {
      background: rgba(249,87,96,.04) !important;
      border-left: 1px solid rgba(249,87,96,.12) !important;
    }
    .hero-slide-assessment .hero-right::before {
      background: radial-gradient(circle at 70% 40%, rgba(249,87,96,.12) 0%, transparent 65%) !important;
    }
    .hero-slide-assessment .hero-heading  { color: #fff !important; }
    .hero-slide-assessment .hero-heading .ln-red  { color: var(--red) !important; }
    .hero-slide-assessment .hero-heading .ln-out  {
      -webkit-text-stroke: 2.5px rgba(255,255,255,.5) !important;
      color: transparent !important;
    }
    .hero-slide-assessment .hero-pill  {
      background: rgba(255,255,255,.07) !important;
      border: 1px solid rgba(255,255,255,.12) !important;
    }
    .hero-slide-assessment .hero-pill span  { color: var(--red) !important; }
    .hero-slide-assessment .hero-pill-dot   { background: var(--red) !important; }
    .hero-slide-assessment .hero-sub        { color: rgba(255,255,255,.6) !important; }
    .hero-slide-assessment .hero-stat-item  { border-top-color: rgba(255,255,255,.15) !important; }
    .hero-slide-assessment .hero-stat-n     { color: #fff !important; }
    .hero-slide-assessment .hero-stat-n span { color: rgba(255,255,255,.55) !important; }
    .hero-slide-assessment .hero-stat-l     { color: rgba(255,255,255,.45) !important; }
    .hero-slide-assessment .hero-right-cta p { color: rgba(255,255,255,.55) !important; }
    .hero-slide-assessment .hero-scroll-hint { color: rgba(255,255,255,.55) !important; }
    .hero-slide-assessment .scroll-track     { background: rgba(255,255,255,.15) !important; }

    /* Slide 4 — Vacantes (dark ink, yellow accent) */
    /* Slide Fractional HR — rojo + amarillo (Nuevo Servicio) */
    .hero-slide-fhr {
      background: var(--ink) !important;
      grid-template-columns: 1fr 1fr !important;
    }
    .hero-slide-fhr .hero-left { background: transparent !important; }
    .hero-slide-fhr .hero-right {
      background: rgba(249,87,96,.04) !important;
      border-left: 1px solid rgba(249,87,96,.14) !important;
    }
    .hero-slide-fhr .hero-right::before {
      background: radial-gradient(circle at 70% 35%, rgba(249,197,64,.1) 0%, transparent 60%),
                  radial-gradient(circle at 25% 70%, rgba(249,87,96,.09) 0%, transparent 55%) !important;
    }
    .hero-slide-fhr .hero-heading  { color: #fff !important; }
    .hero-slide-fhr .hero-heading .ln-red  { color: var(--yellow) !important; font-style: italic !important; }
    .hero-slide-fhr .hero-heading .ln-out  {
      -webkit-text-stroke: 2px rgba(255,255,255,.4) !important;
      color: transparent !important;
    }
    .hero-slide-fhr .hero-pill  {
      background: rgba(249,87,96,.12) !important;
      border: 1px solid rgba(249,87,96,.25) !important;
    }
    .hero-slide-fhr .hero-pill span  { color: var(--red) !important; }
    .hero-slide-fhr .hero-pill-dot   { background: var(--red) !important;
      animation: blink 1.8s ease-in-out infinite; }
    .hero-slide-fhr .hero-sub        { color: rgba(255,255,255,.62) !important; }
    .hero-slide-fhr .hero-stat-item  { border-top-color: rgba(255,255,255,.12) !important; }
    .hero-slide-fhr .hero-stat-n     { color: var(--yellow) !important; }
    .hero-slide-fhr .hero-stat-n span { color: rgba(255,255,255,.42) !important; }
    .hero-slide-fhr .hero-stat-l     { color: rgba(255,255,255,.55) !important; }
    .hero-slide-fhr .hero-right-cta p { color: rgba(255,255,255,.55) !important; }
    .hero-slide-fhr .hero-scroll-hint { color: rgba(255,255,255,.55) !important; }
    .hero-slide-fhr .scroll-track     { background: rgba(249,197,64,.2) !important; }

    /* FHR tandems mini list in hero right */
    .fhr-hero-models { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 4px; }
    .fhr-hero-model { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: rgba(255,255,255,.04); border-left: 3px solid var(--red); border-radius: 3px; transition: background .2s; }
    .fhr-hero-model.is-ai { border-left-color: var(--yellow); }
    .fhr-hero-model:hover { background: rgba(255,255,255,.07); }
    .fhr-hero-model-num { font-family: var(--display); font-size: 22px; font-weight: 900; color: var(--red); letter-spacing: -0.02em; line-height: 1; min-width: 36px; }
    .fhr-hero-model.is-ai .fhr-hero-model-num { color: var(--yellow); }
    .fhr-hero-model-title { font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .02em; color: #fff; line-height: 1.2; text-transform: uppercase; }
    .fhr-hero-model-desc { font-size: 13px; color: rgba(255,255,255,.5); margin-top: 3px; letter-spacing: .01em; }

    /* Bar + dot de Fractional HR */
    .carousel-progress-bar.fhr-bar { background: linear-gradient(90deg, var(--red), var(--yellow)); }
    .cdot-fhr .cdot-pip        { background: rgba(249,197,64,.5); }
    .cdot-fhr.active .cdot-pip { background: var(--yellow); }

    .hero-slide-vacantes {
      background: var(--ink) !important;
      grid-template-columns: 1fr 1fr !important;
    }
    /* mismo fix que assessment */
    .hero-slide-vacantes .hero-left { background: transparent !important; }
    .hero-slide-vacantes .hero-right {
      background: rgba(245,166,35,.04) !important;
      border-left: 1px solid rgba(245,166,35,.12) !important;
    }
    .hero-slide-vacantes .hero-right::before {
      background: radial-gradient(circle at 70% 40%, rgba(245,166,35,.1) 0%, transparent 65%) !important;
    }
    .hero-slide-vacantes .hero-heading  { color: #fff !important; }
    .hero-slide-vacantes .hero-heading .ln-red  { color: var(--yellow) !important; }
    .hero-slide-vacantes .hero-heading .ln-out  {
      -webkit-text-stroke: 2px var(--yellow) !important;
      color: transparent !important;
    }
    .hero-slide-vacantes .hero-pill  {
      background: rgba(245,166,35,.1) !important;
      border: 1px solid rgba(245,166,35,.2) !important;
    }
    .hero-slide-vacantes .hero-pill span  { color: var(--yellow) !important; }
    .hero-slide-vacantes .hero-pill-dot   { background: var(--yellow) !important;
      animation: blink 1.8s ease-in-out infinite; }
    .hero-slide-vacantes .hero-sub        { color: rgba(255,255,255,.6) !important; }
    .hero-slide-vacantes .hero-scroll-hint { color: rgba(255,255,255,.55) !important; }
    .hero-slide-vacantes .scroll-track     { background: rgba(245,166,35,.2) !important; }

    /* Vacantes list inside slide 4 */
    .vac-list { display: flex; flex-direction: column; gap: 0; }
    .vac-item {
      display: flex; align-items: center; gap: 16px;
      padding: 13px 0;
      border-bottom: 1px solid rgba(255,255,255,.07);
      text-decoration: none;
      transition: background .15s;
    }
    .vac-item:hover .vac-title { color: var(--yellow); }
    .vac-arrow { color: rgba(245,166,35,.4); flex-shrink: 0; transition: color .2s; }
    .vac-item:hover .vac-arrow { color: var(--yellow); }
    .vac-title { font-family: var(--display); font-size: 15px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: rgba(255,255,255,.8); transition: color .2s; flex: 1; line-height: 1.3; }
    .vac-loc { font-size: 13px; color: rgba(255,255,255,.55); flex-shrink: 0; font-family: var(--display); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
    .vac-badge { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 2px 8px; background: rgba(245,166,35,.15); color: var(--yellow); flex-shrink: 0; }

    /* Carousel progress bar */
    .carousel-progress {
      position: absolute; bottom: 0; left: 0; right: 0;
      height: 3px; background: rgba(255,255,255,.08); z-index: 30;
    }
    .carousel-progress-bar {
      height: 100%; background: var(--white);
      width: 0%;
      transition: none;
    }
    .carousel-progress-bar.ave-bar { background: #C5D400; }
    .carousel-progress-bar.asmt-bar { background: var(--red); }
    .carousel-progress-bar.vac-bar { background: var(--yellow); }
    .carousel-progress-bar.animating {
      transition: width 7s linear;
    }

    /* ─────────────────────────────────────────
       CAROUSEL DOTS — centrados, siempre visibles
    ───────────────────────────────────────── */
    .carousel-nav {
      position: absolute; bottom: 0; left: 0; right: 0;
      display: flex; flex-direction: column; align-items: center;
      z-index: 30; pointer-events: none;
    }
    /* píldora frosted-dark — garantiza contraste en cualquier slide */
    .carousel-dots-row {
      display: flex; align-items: center; gap: 24px;
      padding: 10px 28px 12px;
      pointer-events: auto;
      background: rgba(10,10,10,.38);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border-radius: 100px 100px 0 0;
      border: 1px solid rgba(255,255,255,.1);
      border-bottom: none;
    }
    .cdot {
      display: flex; flex-direction: column; align-items: center; gap: 6px;
      cursor: pointer; background: none; border: none; padding: 0;
      transition: opacity .25s;
      opacity: .5;
    }
    .cdot:hover { opacity: .75; }
    .cdot.active { opacity: 1; }

    /* pip base — siempre blanco sobre fondo oscuro de la píldora */
    .cdot-pip {
      width: 8px; height: 8px; border-radius: 50%;
      background: rgba(255,255,255,.55);
      transition: width .35s cubic-bezier(.4,0,.2,1),
                  border-radius .35s, background .35s;
      flex-shrink: 0;
    }
    .cdot.active .cdot-pip {
      width: 28px; border-radius: 4px; background: #fff;
    }

    /* colores temáticos slide 2 AVE */
    .cdot-ave .cdot-pip        { background: rgba(197,212,0,.45); }
    .cdot-ave.active .cdot-pip { background: #C5D400; }

    /* colores slide 3 Assessment */
    .cdot-asmt .cdot-pip        { background: rgba(249,87,96,.5); }
    .cdot-asmt.active .cdot-pip { background: var(--red); }

    /* colores slide 4 Vacantes */
    .cdot-vac .cdot-pip        { background: rgba(245,166,35,.5); }
    .cdot-vac.active .cdot-pip { background: var(--yellow); }

    /* etiquetas de texto */
    .cdot-label {
      font-family: var(--display); font-size: 11px; font-weight: 800;
      letter-spacing: .14em; text-transform: uppercase;
      color: rgba(255,255,255,.7); white-space: nowrap;
    }
    .cdot.active .cdot-label { color: #fff; }

    .cnav-btn  { display: none; }
    .cnav-label{ display: none; }

    /* ═══════════════════════════════════════
       AVE WHITEPAPER LANDING SECTION
    ═══════════════════════════════════════ */
    .ave-section { background: #161A08; color: #fff; }
    .ave-hero {
      display: grid; grid-template-columns: 1fr 1fr;
      min-height: 520px;
      border-bottom: 1px solid rgba(197,212,0,.1);
    }
    .ave-hero-left {
      padding: clamp(60px, 8vw, 100px) clamp(24px, 6vw, 72px);
      display: flex; flex-direction: column; justify-content: center;
      border-right: 1px solid rgba(197,212,0,.08);
    }
    .ave-eyebrow {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase;
      color: #C5D400; margin-bottom: 20px;
      display: flex; align-items: center; gap: 10px;
    }
    .ave-eyebrow::before { content: ''; width: 20px; height: 2px; background: #C5D400; }
    .ave-h {
      font-family: var(--display);
      font-size: clamp(48px, 6vw, 88px);
      font-weight: 900; text-transform: uppercase;
      letter-spacing: -0.03em; line-height: .9;
      color: #fff; margin-bottom: 24px;
    }
    .ave-h em { font-style: normal; color: #C5D400; }
    .ave-sub { font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.7; max-width: 440px; margin-bottom: 40px; }
    .btn-ave {
      display: inline-flex; align-items: center; gap: 12px;
      background: #C5D400; color: #161A08;
      font-family: var(--display); font-size: 16px; font-weight: 800;
      letter-spacing: .08em; text-transform: uppercase;
      padding: 16px 32px; border: none; cursor: pointer;
      text-decoration: none; width: fit-content;
      transition: background .2s, gap .2s;
    }
    .btn-ave:hover { background: #d4e500; gap: 18px; }
    .btn-ave svg { width: 16px; height: 16px; }
    .btn-ave-outline {
      display: inline-flex; align-items: center; gap: 10px;
      border: 1.5px solid rgba(197,212,0,.35); color: rgba(255,255,255,.8);
      font-family: var(--display); font-size: 15px; font-weight: 700;
      letter-spacing: .08em; text-transform: uppercase;
      padding: 13px 24px; background: none; cursor: pointer;
      text-decoration: none;
      transition: border-color .2s, color .2s;
    }
    .btn-ave-outline:hover { border-color: #C5D400; color: #C5D400; }

    .ave-hero-right {
      display: grid; grid-template-columns: 1fr 1fr;
    }
    .ave-stat-box {
      padding: clamp(32px, 4vw, 52px) clamp(24px, 3vw, 40px);
      border-right: 1px solid rgba(197,212,0,.08);
      border-bottom: 1px solid rgba(197,212,0,.08);
      display: flex; flex-direction: column; justify-content: flex-end;
      background: rgba(197,212,0,.02);
    }
    .ave-stat-box:nth-child(2) { border-right: none; }
    .ave-stat-box:nth-child(3) { border-bottom: none; }
    .ave-stat-box:nth-child(4) { border-right: none; border-bottom: none; }
    .ave-stat-n {
      font-family: var(--display);
      font-size: clamp(48px, 5vw, 72px);
      font-weight: 900; letter-spacing: -0.03em; line-height: 1;
      color: #C5D400;
    }
    .ave-stat-l {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .15em; text-transform: uppercase;
      color: rgba(255,255,255,.5); margin-top: 8px;
    }

    .ave-verdades { padding: clamp(48px, 6vw, 80px) clamp(24px, 6vw, 72px); }
    .ave-v-title {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase;
      color: rgba(197,212,0,.7); margin-bottom: 32px;
    }
    .ave-v-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 2px; }
    .ave-v-card {
      background: rgba(255,255,255,.03);
      padding: 24px 28px;
      border: 1px solid rgba(255,255,255,.06);
      transition: background .2s, border-color .2s;
    }
    .ave-v-card:hover { background: rgba(197,212,0,.07); border-color: rgba(197,212,0,.18); }
    .ave-v-num {
      font-family: var(--display); font-size: 32px; font-weight: 900;
      color: rgba(197,212,0,.2); line-height: 1; margin-bottom: 12px;
    }
    .ave-v-h {
      font-family: var(--display); font-size: 15px; font-weight: 800;
      letter-spacing: .02em; color: #fff;
      line-height: 1.2; margin-bottom: 8px;
    }
    .ave-v-text { font-size: 14px; color: rgba(255,255,255,.5); line-height: 1.65; }

    .ave-footer-bar {
      padding: clamp(36px, 5vw, 56px) clamp(24px, 6vw, 72px);
      border-top: 1px solid rgba(197,212,0,.08);
      display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
    }
    .ave-footer-brand { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
    .ave-brand-tag { font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .ave-brand-tag.ave { color: #C5D400; }
    .ave-brand-tag.sb  { color: rgba(255,255,255,.6); }
    .ave-brand-sep { width: 1px; height: 20px; background: rgba(255,255,255,.12); }
    .ave-footer-note { font-size: 13px; color: rgba(255,255,255,.55); max-width: 400px; line-height: 1.6; }

    @media (max-width: 860px) {
      .ave-hero { grid-template-columns: 1fr; }
      .ave-hero-right { grid-template-columns: 1fr 1fr; }
      .ave-stat-box { border-right: 1px solid rgba(197,212,0,.08) !important; }
      .ave-stat-box:nth-child(2), .ave-stat-box:nth-child(4) { border-right: none !important; }
    }


    /* ═══════════════════════════════════════════════════════
       LANDING SECTIONS — full-page internal landings
    ═══════════════════════════════════════════════════════ */

    /* ── Nosotros enhanced ── */
    .nosotros-full { background: var(--ash); }
    .nosotros-hero {
      display: grid; grid-template-columns: 1fr 1fr;
      min-height: 80vh; border-bottom: 1px solid var(--mist);
    }
    .nosotros-hero-left {
      background: var(--ink); color: #fff;
      padding: clamp(60px,8vw,100px) clamp(24px,6vw,72px);
      display: flex; flex-direction: column; justify-content: space-between;
    }
    .nosotros-hero-right {
      padding: clamp(60px,8vw,100px) clamp(24px,6vw,72px);
      display: flex; flex-direction: column; justify-content: center;
    }
    .nosotros-eyebrow {
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase; color: var(--red);
      margin-bottom: 20px;
    }
    .nosotros-big-h {
      font-family: var(--display); font-size: clamp(52px,6vw,88px);
      font-weight: 900; line-height: .9; letter-spacing: -.03em;
      color: #fff; text-transform: uppercase; margin-bottom: 32px;
    }
    .nosotros-big-h em { font-style: normal; color: var(--yellow); }
    .nosotros-body-text { font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.75; max-width: 440px; }
    .nosotros-stats-row {
      display: grid; grid-template-columns: repeat(3,1fr);
      border-top: 1px solid rgba(255,255,255,.12); margin-top: 48px; padding-top: 32px; gap: 0;
    }
    .nosotros-stats-row.nosotros-stats-row-4 { grid-template-columns: repeat(4,1fr); }
    .ns-stat { padding-right: 24px; border-right: 1px solid rgba(255,255,255,.12); }
    .ns-stat:last-child { border-right: none; padding-right: 0; padding-left: 24px; }
    .ns-stat:nth-child(2) { padding: 0 24px; }
    .nosotros-stats-row-4 .ns-stat:nth-child(2), .nosotros-stats-row-4 .ns-stat:nth-child(3) { padding: 0 20px; }
    .ns-n { font-family: var(--display); font-size: clamp(32px,3.5vw,48px); font-weight: 900; color: #fff; line-height: 1; }
    .ns-n span { color: var(--red); }
    .ns-l { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-top: 6px; }

    /* Verticales — reemplaza stats duplicados */
    .nosotros-verticals { margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.12); }
    .nv-vert-label { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 18px; }
    .nv-vert-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; }
    .nv-vert-card { padding: 20px 22px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); transition: background .2s, border-color .2s; }
    .nv-vert-card:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.15); }
    .nv-vert-num { font-family: var(--display); font-size: 22px; font-weight: 900; color: var(--yellow); letter-spacing: -0.02em; line-height: 1; display: block; margin-bottom: 8px; }
    .nv-vert-name { font-family: var(--display); font-size: 16px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; color: #fff; margin-bottom: 6px; line-height: 1.2; }
    .nv-vert-desc { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.55); }

    /* Historia vertical (columna derecha del hero) */
    .ns-story-head { margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(0,0,0,.08); }
    .ns-story-label { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 14px; }
    .ns-story-title { font-family: var(--display); font-size: clamp(26px,2.8vw,40px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; line-height: 1; color: var(--ink); margin-bottom: 12px; }
    .ns-story-title em { font-style: italic; color: var(--red); }
    .ns-story-sub { font-size: 16px; line-height: 1.65; color: var(--stone); max-width: 460px; }

    .ns-timeline-vertical { display: flex; flex-direction: column; position: relative; padding-left: 22px; }
    .ns-timeline-vertical::before { content: ''; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, var(--red) 0%, rgba(249,87,96,.1) 100%); }
    .nstv-item { display: grid; grid-template-columns: 64px 1fr; gap: 14px; padding: 12px 0; position: relative; }
    .nstv-item::before { content: ''; position: absolute; left: -22px; top: 18px; width: 14px; height: 14px; background: #fff; border: 2px solid var(--red); border-radius: 50%; transition: background .2s; }
    .nstv-item:hover::before { background: var(--red); }
    .nstv-item.is-current::before { background: var(--red); box-shadow: 0 0 0 4px rgba(249,87,96,.15); }
    .nstv-year { font-family: var(--display); font-size: 18px; font-weight: 900; color: var(--red); letter-spacing: -0.02em; line-height: 1; padding-top: 4px; }
    .nstv-event { font-family: var(--display); font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; color: var(--ink); margin-bottom: 4px; line-height: 1.2; }
    .nstv-desc { font-size: 14px; line-height: 1.55; color: var(--stone); }

    /* Business Cases — 2 bloques grandes */
    .ns-bcases-section { padding: clamp(48px,6vw,96px) clamp(24px,6vw,72px); background: var(--ash); border-top: 1px solid var(--mist); }
    .ns-bcases-head { margin-bottom: 48px; max-width: 920px; }
    .ns-bcases-eyebrow { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 14px; }
    .ns-bcases-title { font-family: var(--display); font-size: clamp(36px,5vw,64px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.03em; line-height: .95; color: var(--ink); margin-bottom: 18px; }
    .ns-bcases-title em { font-style: italic; color: var(--red); }
    .ns-bcases-sub { font-size: 15px; line-height: 1.7; color: var(--stone); max-width: 680px; }

    /* Tab switcher para business cases */
    .ns-bcases-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 2px; background: var(--mist); border: 1px solid var(--mist); }
    .ns-bcase-tab { display: flex; align-items: center; gap: 18px; padding: 22px 28px; background: #fff; border: none; cursor: pointer; text-align: left; transition: background .2s, color .2s; font-family: inherit; }
    .ns-bcase-tab:hover { background: rgba(249,87,96,.04); }
    .ns-bcase-tab.is-active { background: var(--ink); color: #fff; }
    .ns-bcase-tab-num { font-family: var(--display); font-size: 32px; font-weight: 900; color: rgba(249,87,96,.25); letter-spacing: -0.03em; line-height: 1; transition: color .2s; }
    .ns-bcase-tab.is-active .ns-bcase-tab-num { color: var(--yellow); }
    .ns-bcase-tab-body { display: flex; flex-direction: column; gap: 4px; }
    .ns-bcase-tab-client { font-family: var(--display); font-size: 18px; font-weight: 800; letter-spacing: -0.01em; text-transform: uppercase; color: var(--ink); line-height: 1.1; transition: color .2s; }
    .ns-bcase-tab.is-active .ns-bcase-tab-client { color: #fff; }
    .ns-bcase-tab-meta { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--stone); transition: color .2s; }
    .ns-bcase-tab.is-active .ns-bcase-tab-meta { color: rgba(255,255,255,.55); }

    .ns-bcase { background: #fff; border: 1px solid var(--mist); overflow: hidden; transition: border-color .3s, box-shadow .3s; display: none; animation: bcaseFadeIn .3s ease-out; }
    .ns-bcase.is-active { display: block; }
    @keyframes bcaseFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
    .ns-bcase:hover { border-color: var(--red); box-shadow: 0 20px 60px -20px rgba(249,87,96,.15); }
    .ns-bcase-top { display: grid; grid-template-columns: 1.4fr 1fr; border-bottom: 1px solid var(--mist); }
    .ns-bcase-left { padding: 40px 44px; background: var(--ink); color: #fff; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
    .ns-bcase-left::after { content: ''; position: absolute; top: -40px; right: -40px; width: 180px; height: 180px; background: radial-gradient(circle, rgba(249,87,96,.2), transparent 70%); pointer-events: none; }
    .ns-bcase-tag { font-family: var(--display); font-size: 12px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--yellow); background: rgba(249,197,64,.1); border: 1px solid rgba(249,197,64,.3); padding: 6px 12px; border-radius: 3px; display: inline-block; margin-bottom: 20px; align-self: flex-start; }
    .ns-bcase-client { font-family: var(--display); font-size: clamp(32px,3.5vw,52px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.03em; line-height: .95; color: #fff; margin-bottom: 10px; }
    .ns-bcase-client em { font-style: italic; color: var(--red); font-size: .5em; letter-spacing: 0; font-weight: 700; margin-left: 6px; }
    .ns-bcase-industry { font-family: var(--display); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: 20px; }
    .ns-bcase-chip-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
    .ns-bcase-chip { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 5px 10px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 3px; color: rgba(255,255,255,.75); }
    .ns-bcase-right { padding: 36px 40px; display: grid; grid-template-rows: auto 1fr; gap: 18px; align-content: start; }
    .ns-bcase-right h4 { font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }
    .ns-bcase-right p { font-size: 16.5px; line-height: 1.7; color: var(--ink); }

    .ns-bcase-body { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: 0; background: var(--mist); }
    .ns-bcase-block { padding: 30px 32px; background: #fff; }
    .ns-bcase-block h5 { font-family: var(--display); font-size: 13px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: var(--red); margin-bottom: 12px; }
    .ns-bcase-block p { font-size: 15.5px; line-height: 1.7; color: var(--stone); }
    .ns-bcase-block ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
    .ns-bcase-block ul li { font-size: 15px; line-height: 1.5; color: var(--stone); padding-left: 14px; position: relative; }
    .ns-bcase-block ul li::before { content: '→'; position: absolute; left: 0; color: var(--red); font-weight: 800; }

    .ns-bcase-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; border-top: 1px solid var(--mist); background: var(--mist); }
    .ns-bcase-metric { padding: 22px 20px; background: var(--ash); text-align: center; }
    .ns-bcase-metric .bm-n { font-family: var(--display); font-size: clamp(24px,2.5vw,32px); font-weight: 900; color: var(--red); letter-spacing: -0.02em; line-height: 1; margin-bottom: 6px; display: block; }
    .ns-bcase-metric .bm-l { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--stone); line-height: 1.3; display: block; }

    /* Casos de éxito — reemplaza Misión + Valores */
    .nosotros-cases { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 0; }
    .ns-case { padding: 28px 26px; background: #fff; border: 1px solid var(--mist); display: flex; flex-direction: column; gap: 12px; transition: border-color .2s, box-shadow .2s; }
    .ns-case:hover { border-color: var(--red); box-shadow: 0 4px 20px rgba(249,87,96,.08); }
    .ns-case-head { display: flex; justify-content: space-between; align-items: center; }
    .ns-case-num { font-family: var(--display); font-size: 36px; font-weight: 900; color: rgba(249,87,96,.18); line-height: 1; }
    .ns-case-tag { font-family: var(--display); font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--red); background: rgba(249,87,96,.08); padding: 5px 10px; border-radius: 3px; }
    .ns-case-client { font-family: var(--display); font-size: 16px; font-weight: 800; color: var(--ink); text-transform: uppercase; letter-spacing: -0.01em; line-height: 1.2; }
    .ns-case-client em { font-style: italic; color: rgba(0,0,0,.4); font-weight: 600; font-size: 14px; letter-spacing: 0; }
    .ns-case-industry { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--stone); }
    .ns-case-text { font-size: 15px; color: var(--stone); line-height: 1.65; flex: 1; }
    .ns-case-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; border-top: 1px solid var(--mist); padding-top: 14px; }
    .ns-case-metrics > div { padding: 4px 8px; background: rgba(0,0,0,.02); border-radius: 3px; text-align: center; }
    .ns-case-metrics .n { display: block; font-family: var(--display); font-size: 16px; font-weight: 900; color: var(--red); line-height: 1.1; }
    .ns-case-metrics .l { display: block; font-family: var(--display); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--stone); margin-top: 3px; }
    .nosotros-timeline { padding: clamp(40px,6vw,72px) clamp(24px,6vw,72px); border-top: 1px solid var(--mist); }
    .nt-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px; flex-wrap: wrap; gap: 16px; }
    .nt-title { font-family: var(--display); font-size: clamp(28px,3vw,40px); font-weight: 900; text-transform: uppercase; color: var(--ink); }
    .timeline-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); gap: 0; }
    .tl-item {
      padding: 24px 20px; border-left: 2px solid var(--mist);
      position: relative; transition: border-color .2s;
    }
    .tl-item:hover { border-color: var(--red); }
    .tl-year { font-family: var(--display); font-size: 28px; font-weight: 900; color: var(--red); }
    .tl-event { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--ink); margin-top: 6px; }
    .tl-desc { font-size: 14px; color: var(--stone); margin-top: 4px; line-height: 1.55; }

    /* ── Nuestro Modelo enhanced ── */
    .modelo-landing { background: var(--ink); color: #fff; }
    .modelo-intro {
      display: grid; grid-template-columns: 1fr 1fr; min-height: 60vh;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .modelo-intro-left {
      padding: clamp(60px,8vw,100px) clamp(24px,6vw,72px);
      border-right: 1px solid rgba(255,255,255,.08);
      display: flex; flex-direction: column; justify-content: center;
    }
    .modelo-intro-right {
      padding: clamp(60px,8vw,100px) clamp(24px,6vw,72px);
      display: flex; flex-direction: column; justify-content: center;
    }
    .modelo-big { font-family: var(--display); font-size: clamp(48px,5.5vw,80px); font-weight: 900; text-transform: uppercase; letter-spacing: -.03em; line-height: .9; margin-bottom: 28px; }
    .modelo-big em { font-style: normal; color: var(--red); }
    .modelo-body { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.75; max-width: 420px; }

    /* Bullets método ágil */
    .modelo-bullets { margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); }
    .modelo-bullets-label { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 18px; }
    .modelo-bullets ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
    .modelo-bullets li { display: grid; grid-template-columns: 16px 1fr; gap: 14px; align-items: start; }
    .modelo-bullets .mb-icon { color: var(--red); font-size: 14px; line-height: 1.5; }
    .modelo-bullets li strong { display: block; font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .02em; color: #fff; text-transform: uppercase; margin-bottom: 3px; }
    .modelo-bullets li span { display: block; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.55); }

    .modelo-pillars { display: flex; flex-direction: column; gap: 0; }
    .mp-item {
      display: grid; grid-template-columns: 48px 1fr; gap: 20px; align-items: start;
      padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.07);
    }
    .mp-item:last-child { border-bottom: none; }
    .mp-num { font-family: var(--display); font-size: 28px; font-weight: 900; color: rgba(249,87,96,.4); }
    .mp-title { font-family: var(--display); font-size: 16px; font-weight: 800; color: #fff; margin-bottom: 4px; }
    .mp-text { font-size: 14px; color: rgba(255,255,255,.5); line-height: 1.6; }
    .modelo-guarantees {
      display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 2px;
      padding: 0 0 2px 0; border-top: 1px solid rgba(255,255,255,.08);
    }
    .mg-card {
      background: rgba(255,255,255,.04); padding: 36px 32px;
      border: 1px solid rgba(255,255,255,.06); transition: background .2s, border-color .2s;
    }
    .mg-card:hover { background: rgba(249,87,96,.08); border-color: rgba(249,87,96,.2); }
    .mg-icon { width: 40px; height: 40px; background: rgba(249,87,96,.15); border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
    .mg-icon svg { width: 20px; height: 20px; color: var(--red); }
    .mg-title { font-family: var(--display); font-size: 16px; font-weight: 800; color: #fff; margin-bottom: 8px; }
    .mg-text { font-size: 15px; color: rgba(255,255,255,.5); line-height: 1.65; }

    /* Headhunting CTA panel (reemplaza la columna duplicada) */
    .hh-cta-h { font-family: var(--display); font-size: clamp(32px,4vw,56px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.03em; line-height: .95; color: #fff; margin-bottom: 18px; }
    .hh-cta-h em { font-style: normal; color: var(--red); }
    .hh-cta-body { font-size: 16px; line-height: 1.7; color: rgba(255,255,255,.55); max-width: 440px; margin-bottom: 28px; }

    .hh-cta-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-bottom: 28px; }
    .hh-cta-tile { padding: 18px 20px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); transition: background .2s, border-color .2s; }
    .hh-cta-tile:hover { background: rgba(249,87,96,.06); border-color: rgba(249,87,96,.25); }
    .hh-cta-tile-icon { width: 32px; height: 32px; background: rgba(249,87,96,.12); border-radius: 6px; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; color: var(--red); }
    .hh-cta-tile-icon svg { width: 16px; height: 16px; }
    .hh-cta-tile-title { font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; color: #fff; margin-bottom: 4px; }
    .hh-cta-tile-desc { font-size: 13.5px; color: rgba(255,255,255,.55); line-height: 1.5; }

    .hh-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }

    @media (max-width: 640px) {
      .hh-cta-tiles { grid-template-columns: 1fr; }
    }

    /* ── Cobertura enhanced ── */
    .cobertura-countries {
      display: grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap: 2px;
      margin-top: 40px;
    }
    .cc-card {
      padding: 20px; background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.07); display: flex; align-items: center; gap: 12px;
      transition: background .2s, border-color .2s;
    }
    .cc-card:hover { background: rgba(245,166,35,.08); border-color: rgba(245,166,35,.2); }
    .cc-flag { font-size: 20px; }
    .cc-name { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.7); }
    .cc-status { font-size: 11px; color: rgba(255,255,255,.55); }
    .cobertura-industries {
      padding: clamp(40px,6vw,72px) clamp(24px,6vw,72px);
      border-top: 1px solid rgba(255,255,255,.08);
    }
    .ci-title { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(245,166,35,.7); margin-bottom: 24px; }
    .ci-grid { display: flex; flex-wrap: wrap; gap: 8px; }
    .ci-chip {
      font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
      padding: 7px 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.65);
      transition: all .2s; cursor: default;
    }
    .ci-chip:hover { background: rgba(245,166,35,.12); border-color: rgba(245,166,35,.3); color: var(--yellow); }

    /* ── Vacantes enhanced ── */
    /* ─────────────────────────────────────────
       BLOG SECTION
    ───────────────────────────────────────── */
    .blog-section { background: var(--ash); padding: clamp(64px,8vw,120px) clamp(24px,5vw,72px); }
    .blog-header { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: end; margin-bottom: 56px; padding-bottom: 32px; border-bottom: 1px solid rgba(0,0,0,.08); }
    .blog-eyebrow { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--red); margin-bottom: 14px; }
    .blog-title { font-family: var(--display); font-size: clamp(42px, 6vw, 86px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.03em; line-height: .92; color: var(--ink); margin-bottom: 20px; }
    .blog-title em { font-style: italic; color: var(--red); }
    .blog-sub { font-size: 15px; line-height: 1.7; color: var(--stone); max-width: 440px; }
    .blog-filter { display: flex; flex-wrap: wrap; gap: 6px; align-self: end; justify-content: flex-end; }
    .bf-tag { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 8px 14px; background: transparent; border: 1px solid rgba(0,0,0,.12); color: var(--stone); border-radius: 100px; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
    .bf-tag:hover { border-color: var(--ink); color: var(--ink); }
    .bf-tag.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }

    .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-bottom: 56px; }
    .blog-card { background: #fff; border: 1px solid var(--mist); display: flex; flex-direction: column; cursor: pointer; transition: transform .25s, box-shadow .25s, border-color .25s; overflow: hidden; }
    .blog-card:hover { transform: translateY(-3px); box-shadow: 0 14px 40px -14px rgba(0,0,0,.15); border-color: var(--red); }
    .blog-card:hover .blog-card-title { color: var(--red); }
    .blog-card:hover .blog-card-cta { color: var(--red); }

    /* Featured card: mismo tamaño que las demás · sólo conserva el badge "Destacado" */
    .blog-card-featured { grid-column: auto; grid-row: auto; flex-direction: column; }
    .blog-card-featured .blog-card-media { flex: 0 0 auto; position: relative; display: block; }
    .blog-card-featured .blog-card-body { flex: 1; padding: 22px 24px 26px; justify-content: flex-start; }
    .blog-card-featured .blog-card-title { font-size: 17px; }
    .blog-card-featured .blog-card-visual { height: 180px; min-height: 180px; width: 100%; }

    /* Que el link wrapper (<a>) herede ancho completo y no distorsione el grid */
    .blog-card-link { display: flex; height: 100%; width: 100%; }
    .blog-card-link > .blog-card { width: 100%; height: 100%; }
    .blog-card-badge { position: absolute; top: 16px; left: 16px; font-family: var(--display); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; padding: 6px 11px; background: var(--yellow); color: var(--ink); border-radius: 3px; z-index: 2; }

    .blog-card-visual { height: 180px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
    .blog-card-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.2)); }
    .blog-visual-letters { font-family: var(--display); font-size: 72px; font-weight: 900; color: #fff; letter-spacing: -0.04em; z-index: 1; mix-blend-mode: overlay; }
    .blog-visual-1 { background: linear-gradient(135deg, #1a1a1a, #2c2c2c); }
    .blog-visual-2 { background: linear-gradient(135deg, var(--red), #c73d44); }
    .blog-visual-3 { background: linear-gradient(135deg, var(--ink), var(--red)); }
    .blog-visual-4 { background: linear-gradient(135deg, var(--yellow), #d4a42c); }
    .blog-visual-5 { background: linear-gradient(135deg, #4a148c, #7b1fa2); }
    .blog-visual-6 { background: linear-gradient(135deg, #0d47a1, #1976d2); }
    .blog-visual-7 { background: linear-gradient(135deg, #2e7d32, #43a047); }
    .blog-visual-8 { background: linear-gradient(135deg, #e65100, #f57c00); }
    .blog-visual-9 { background: linear-gradient(135deg, #37474f, #546e7a); }

    .blog-card-body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
    .blog-card-meta { display: flex; flex-wrap: wrap; gap: 10px; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
    .blog-cat { color: var(--red); }
    .blog-date, .blog-read { color: var(--stone); }
    .blog-card-title { font-family: var(--display); font-size: 17px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.3; color: var(--ink); margin: 0; transition: color .2s; }
    .blog-card-excerpt { font-size: 15px; line-height: 1.65; color: var(--stone); flex: 1; }
    .blog-card-cta { font-family: var(--display); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; color: var(--ink); margin-top: 8px; transition: color .2s; }

    .blog-footer { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-top: 32px; border-top: 1px solid rgba(0,0,0,.08); flex-wrap: wrap; }
    .blog-footer-note { font-size: 16px; line-height: 1.6; color: var(--stone); max-width: 540px; }
    .blog-footer-actions { display: flex; gap: 12px; flex-wrap: wrap; }

    @media (max-width: 960px) {
      .blog-header { grid-template-columns: 1fr; gap: 24px; }
      .blog-filter { justify-content: flex-start; }
      .blog-grid { grid-template-columns: 1fr 1fr; }
      .blog-card-featured { grid-column: auto; flex-direction: column; }
      .blog-card-featured .blog-card-visual { min-height: 180px; }
    }
    @media (max-width: 600px) {
      .blog-grid { grid-template-columns: 1fr; }
      .blog-card-featured { grid-column: auto; }
      .blog-footer { flex-direction: column; align-items: flex-start; }
    }

    .vacantes-landing { background: var(--ash); }
    .vacantes-intro {
      background: var(--ink); color: #fff;
      padding: clamp(48px,6vw,80px) clamp(24px,6vw,72px);
      display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center;
    }
    .vi-left h2 { font-family: var(--display); font-size: clamp(36px,4.5vw,64px); font-weight: 900; text-transform: uppercase; letter-spacing: -.02em; line-height: .95; }
    .vi-left h2 em { font-style: normal; color: var(--yellow); }
    .vi-left p { font-size: 16px; color: rgba(255,255,255,.6); line-height: 1.7; max-width: 400px; margin-top: 16px; }
    .vi-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
    .vi-s-n { font-family: var(--display); font-size: clamp(28px,3vw,42px); font-weight: 900; color: var(--yellow); line-height: 1; }
    .vi-s-l { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-top: 4px; }
    .vacantes-filters {
      padding: 24px clamp(24px,6vw,72px);
      display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
      border-bottom: 1px solid var(--mist); background: #fff;
    }
    .vf-label { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--stone); }
    .vf-chip {
      font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
      padding: 5px 12px; border: 1.5px solid var(--mist); color: var(--stone); background: transparent;
      cursor: pointer; transition: all .2s;
    }
    .vf-chip.active, .vf-chip:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
    .vacantes-list-wrap { padding: clamp(32px,4vw,56px) clamp(24px,6vw,72px); }
    .vacante-card {
      display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px;
      padding: 20px 24px; background: #fff; border: 1px solid var(--mist);
      margin-bottom: 4px; transition: border-color .2s, box-shadow .2s; text-decoration: none;
    }
    .vacante-card:hover { border-color: var(--red); box-shadow: 0 4px 20px rgba(249,87,96,.1); }
    .vc-dept { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin-bottom: 4px; }
    .vc-title { font-family: var(--display); font-size: 16px; font-weight: 800; color: var(--ink); }
    .vc-meta { display: flex; align-items: center; gap: 16px; margin-top: 6px; }
    .vc-loc, .vc-type { font-size: 13px; color: var(--stone); display: flex; align-items: center; gap: 4px; }
    .vc-loc svg, .vc-type svg { width: 12px; height: 12px; }
    .vc-badge { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px; background: rgba(249,87,96,.08); color: var(--red); }
    .vc-arrow { color: var(--mist); transition: color .2s, transform .2s; }
    .vacante-card:hover .vc-arrow { color: var(--red); transform: translateX(4px); }
    .vc-arrow svg { width: 20px; height: 20px; }
    .vacantes-cta {
      padding: clamp(32px,4vw,48px) clamp(24px,6vw,72px);
      background: var(--ink); color: #fff;
      display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px;
    }
    .vacantes-cta h3 { font-family: var(--display); font-size: clamp(18px,2.5vw,28px); font-weight: 900; text-transform: uppercase; }
    .vacantes-cta p { font-size: 15px; color: rgba(255,255,255,.6); margin-top: 6px; }

    /* ── Contacto enhanced ── */
    .contacto-landing { background: var(--ash); }
    .contacto-intro {
      background: var(--ink); color: #fff;
      padding: clamp(60px,8vw,96px) clamp(24px,6vw,72px);
      display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center;
    }
    .ci-h { font-family: var(--display); font-size: clamp(40px,5vw,72px); font-weight: 900; text-transform: uppercase; letter-spacing: -.03em; line-height: .9; }
    .ci-h em { font-style: normal; color: var(--red); }
    .ci-p { font-size: 15px; color: rgba(255,255,255,.6); line-height: 1.75; margin-top: 20px; }
    .contacto-channels { display: flex; flex-direction: column; gap: 16px; }
    .ch-card {
      display: flex; align-items: center; gap: 16px;
      padding: 16px 20px; background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.1); transition: background .2s;
    }
    .ch-card:hover { background: rgba(255,255,255,.09); }
    .ch-icon { width: 36px; height: 36px; background: rgba(249,87,96,.2); border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .ch-icon svg { width: 16px; height: 16px; color: var(--red); }
    .ch-label { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }
    .ch-value { font-family: var(--display); font-size: 16px; font-weight: 700; color: #fff; margin-top: 2px; }

    /* Responsive landing sections */
    @media (max-width: 860px) {
      .nosotros-hero, .modelo-intro, .vacantes-intro, .contacto-intro { grid-template-columns: 1fr; }
      .nosotros-values { grid-template-columns: 1fr; }
      .nosotros-stats-row { grid-template-columns: 1fr 1fr; }
      .ns-stat:last-child { border-right: 1px solid rgba(255,255,255,.12); padding-left: 0; padding-right: 0; }
      .timeline-row { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 580px) {
      .nosotros-stats-row { grid-template-columns: 1fr; }
      .nosotros-stats-row.nosotros-stats-row-4 { grid-template-columns: 1fr 1fr; }
      .nosotros-cases { grid-template-columns: 1fr; }
      .ns-bcases-tabs { grid-template-columns: 1fr; }
      .ns-bcase-tab { padding: 16px 20px; gap: 14px; }
      .ns-bcase-tab-num { font-size: 26px; }
      .ns-bcase-tab-client { font-size: 16px; }
      .ns-bcase-top { grid-template-columns: 1fr; }
      .ns-bcase-body { grid-template-columns: 1fr; }
      .ns-bcase-metrics { grid-template-columns: 1fr 1fr; }
      .nv-vert-grid { grid-template-columns: 1fr; }
      .timeline-row { grid-template-columns: 1fr; }
      .cobertura-countries { grid-template-columns: 1fr 1fr; }
      .vi-stats { grid-template-columns: 1fr; }
    }

    
    /* ════════════════════════════════════════════════════════════
       LANDING PAGE SECTIONS — rich internal content
    ════════════════════════════════════════════════════════════ */

    /* Section header (shared) */
    .lp-eyebrow {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase; color: var(--red);
      display: flex; align-items: center; gap: 10px; margin-bottom: 16px;
    }
    .lp-eyebrow::before { content: ''; width: 20px; height: 2px; background: var(--red); }
    .lp-eyebrow.yellow { color: var(--yellow); }
    .lp-eyebrow.yellow::before { background: var(--yellow); }
    .lp-eyebrow.white { color: rgba(255,255,255,.7); }
    .lp-eyebrow.white::before { background: rgba(255,255,255,.5); }

    /* ── STATS BAR (nosotros) ─────────────────────────────── */
    .stats-bar {
      display: grid; grid-template-columns: repeat(4, 1fr);
      background: var(--ink); color: var(--white);
    }
    .sb-item {
      padding: clamp(28px, 4vw, 48px) clamp(20px, 3vw, 36px);
      border-right: 1px solid rgba(255,255,255,.08);
    }
    .sb-item:last-child { border-right: none; }
    .sb-n {
      font-family: var(--display); font-size: clamp(40px, 4vw, 60px);
      font-weight: 900; letter-spacing: -0.03em; line-height: 1;
      color: var(--white);
    }
    .sb-n span { color: var(--red); font-size: .7em; }
    .sb-l { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-top: 6px; }

    @media (max-width: 768px) { .stats-bar { grid-template-columns: 1fr 1fr; } }

    /* ── EQUIPO CULTURE BAND ─────────────────────────────── */
    .culture-band {
      background: var(--yellow); padding: clamp(48px, 7vw, 88px) 0;
    }
    .culture-inner {
      display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 80px);
      align-items: center;
    }
    .culture-h {
      font-family: var(--display); font-size: clamp(36px, 4vw, 56px);
      font-weight: 900; text-transform: uppercase; letter-spacing: -0.03em;
      line-height: .95; color: var(--ink);
    }
    .culture-h em { font-style: normal; color: var(--red); }
    .culture-values { display: flex; flex-direction: column; gap: 0; }
    .cv-item {
      display: flex; align-items: center; gap: 16px;
      padding: 14px 0; border-bottom: 1px solid rgba(0,0,0,.1);
    }
    .cv-num { font-family: var(--display); font-size: 32px; font-weight: 900; color: rgba(0,0,0,.12); flex-shrink: 0; width: 40px; }
    .cv-title { font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--ink); }
    .cv-sub { font-size: 14px; color: rgba(0,0,0,.55); margin-top: 2px; }
    @media (max-width: 768px) { .culture-inner { grid-template-columns: 1fr; } }

    /* ── MODELO GUARANTEE BAND ──────────────────────────── */
    .guarantee-band {
      background: var(--red); color: var(--white);
      padding: clamp(40px, 5vw, 64px) 0;
    }
    .guarantee-inner {
      display: flex; align-items: center; justify-content: space-between;
      gap: 32px; flex-wrap: wrap;
    }
    .guarantee-left { flex: 1; min-width: 260px; }
    .guarantee-big {
      font-family: var(--display); font-size: clamp(48px, 5vw, 72px);
      font-weight: 900; letter-spacing: -0.03em; line-height: 1; color: #fff;
    }
    .guarantee-big span { font-size: .45em; letter-spacing: .08em; vertical-align: super; }
    .guarantee-sub { font-family: var(--display); font-size: 14px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.65); margin-top: 6px; }
    .guarantee-list { flex: 1; min-width: 260px; display: flex; flex-direction: column; gap: 10px; }
    .guarantee-item { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; color: rgba(255,255,255,.85); }
    .guarantee-item::before { content: '✓'; font-weight: 700; color: #fff; flex-shrink: 0; margin-top: 1px; }
    .guarantee-cta { flex-shrink: 0; }
    .btn-white { background: #fff; color: var(--red); font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 16px 32px; border: none; cursor: pointer; text-decoration: none; display: inline-block; transition: background .2s, color .2s; }
    .btn-white:hover { background: var(--ink); color: var(--white); }

    /* ── TESTIMONIALS / CLIENTS ──────────────────────────── */
    .testimonials-section { background: var(--white); padding: clamp(64px, 8vw, 100px) 0; }
    .testi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2px; margin-top: 48px; }
    .testi-card {
      background: var(--ash); padding: 32px;
      border: 1px solid var(--mist); transition: border-color .2s;
    }
    .testi-card:hover { border-color: var(--red); }
    .testi-quote { font-size: 15px; color: var(--body); line-height: 1.7; margin-bottom: 20px; font-style: italic; }
    .testi-author { font-family: var(--display); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
    .testi-company { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--red); margin-top: 3px; }

    /* ── COBERTURA REGION BANDS ─────────────────────────── */
    .region-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-top: 48px; }
    .region-card {
      background: rgba(197,212,0,.06); border: 1px solid rgba(197,212,0,.12);
      padding: 28px 32px; transition: background .2s;
    }
    .region-card:hover { background: rgba(197,212,0,.12); }
    .region-name { font-family: var(--display); font-size: 16px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--white); margin-bottom: 8px; }
    .region-countries { font-size: 15px; color: rgba(255,255,255,.55); line-height: 1.6; }
    .region-badge { display: inline-block; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: rgba(197,212,0,.2); color: #C5D400; padding: 3px 8px; margin-top: 12px; }
    @media (max-width: 768px) { .region-grid { grid-template-columns: 1fr; } }

    /* ── PROCESO EXTENDED ───────────────────────────────── */
    .process-extended {
      background: var(--ash);
      padding: clamp(64px, 8vw, 100px) 0;
    }
    .pe-timeline { display: flex; flex-direction: column; gap: 0; margin-top: 48px; }
    .pe-step {
      display: grid; grid-template-columns: 64px 4px 1fr;
      gap: 0 24px; align-items: stretch;
    }
    .pe-step-num { font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .1em; color: var(--red); padding-top: 4px; text-align: right; }
    .pe-line-wrap { display: flex; flex-direction: column; align-items: center; }
    .pe-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--red); flex-shrink: 0; margin-top: 4px; }
    .pe-line { width: 2px; flex: 1; background: var(--mist); }
    .pe-step:last-child .pe-line { display: none; }
    .pe-content { padding: 0 0 36px 0; }
    .pe-title { font-family: var(--display); font-size: 17px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--ink); margin-bottom: 6px; }
    .pe-desc { font-size: 16px; color: var(--body); line-height: 1.7; max-width: 600px; }
    .pe-time { display: inline-block; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--red); background: rgba(249,87,96,.08); padding: 3px 8px; margin-top: 8px; }

    /* ── SECTORES GRID ──────────────────────────────────── */
    .industry-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 2px; margin-top: 40px; }
    .industry-card {
      background: var(--ink); padding: 24px 20px;
      border: 1px solid rgba(255,255,255,.07);
      transition: background .2s, border-color .2s;
      cursor: default;
    }
    .industry-card:hover { background: rgba(249,87,96,.12); border-color: rgba(249,87,96,.25); }
    .ic-icon { font-size: 22px; margin-bottom: 10px; }
    .ic-name { font-family: var(--display); font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--white); }
    .ic-roles { font-size: 13px; color: rgba(255,255,255,.55); margin-top: 4px; line-height: 1.5; }

    /* ── VACANTES ENHANCED ──────────────────────────────── */
    .jobs-header { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 32px; }
    .jobs-grid-enhanced { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 2px; }
    .job-card-enhanced {
      background: var(--white); padding: 28px 32px;
      border: 1px solid var(--mist);
      display: flex; flex-direction: column; gap: 12px;
      transition: border-color .2s, transform .2s;
    }
    .job-card-enhanced:hover { border-color: var(--red); transform: translateY(-2px); }
    .jce-sector { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--red); }
    .jce-title { font-family: var(--display); font-size: 17px; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; color: var(--ink); line-height: 1.2; }
    .jce-meta { display: flex; gap: 16px; flex-wrap: wrap; }
    .jce-tag { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--stone); display: flex; align-items: center; gap: 5px; }
    .jce-tag svg { width: 12px; height: 12px; }
    .jce-desc { font-size: 15px; color: var(--body); line-height: 1.65; flex: 1; }
    .jce-apply { display: inline-flex; align-items: center; gap: 8px; font-family: var(--display); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--red); text-decoration: none; transition: gap .2s; margin-top: auto; }
    .jce-apply:hover { gap: 12px; }
    .jobs-cta-band { background: var(--ink); padding: clamp(40px, 5vw, 64px) 0; margin-top: 2px; }
    .jcb-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
    .jcb-h { font-family: var(--display); font-size: clamp(24px, 3vw, 36px); font-weight: 900; text-transform: uppercase; color: var(--white); letter-spacing: -0.02em; }
    .jcb-h em { font-style: normal; color: var(--yellow); }

    /* ── CONTACTO ENHANCED ──────────────────────────────── */
    .contact-enhanced { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 80px); }
    .contact-info { display: flex; flex-direction: column; gap: 32px; }
    .ci-block {}
    .ci-label { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--stone); margin-bottom: 8px; }
    .ci-val { font-family: var(--display); font-size: 18px; font-weight: 800; color: var(--ink); text-decoration: none; transition: color .2s; }
    .ci-val:hover { color: var(--red); }
    .ci-note { font-size: 14px; color: var(--stone); margin-top: 4px; }
    .contact-offices { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
    .co-card { background: var(--ash); padding: 20px 24px; border: 1px solid var(--mist); }
    .co-city { font-family: var(--display); font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--ink); margin-bottom: 4px; }
    .co-addr { font-size: 14px; color: var(--stone); line-height: 1.6; }
    @media (max-width: 768px) { .contact-enhanced { grid-template-columns: 1fr; } }



    

    /* ════════════════════════════════════════════════
       PÁGINAS INTERNAS PROFUNDAS — deep-page overlay
    ════════════════════════════════════════════════ */
    .deep-page {
      display: none;
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: 200;
      overflow-y: auto;
      overflow-x: hidden;
      background: var(--ash);
      -webkit-overflow-scrolling: touch;
    }
    .deep-page.dp-open {
      display: block;
      animation: dpIn .35s cubic-bezier(.4,0,.2,1) forwards;
    }
    @keyframes dpIn {
      from { opacity:0; transform: translateY(18px); }
      to   { opacity:1; transform: translateY(0); }
    }

    /* ── Deep page top bar ── */
    .dp-topbar {
      position: sticky; top: 0; z-index: 10;
      height: 48px;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 clamp(12px,2.5vw,44px);
      background: rgba(255,255,255,.97);
      backdrop-filter: blur(20px);
      border-bottom: 1px solid var(--mist);
      gap: 12px;
    }
    .dp-back {
      display: inline-flex; align-items: center; gap: 7px;
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
      color: var(--stone); background: none; border: none;
      cursor: pointer; padding: 0; transition: color .2s;
    }
    .dp-back:hover { color: var(--red); }
    .dp-back svg { width: 14px; height: 14px; }
    .dp-topbar-title {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .12em; text-transform: uppercase; color: var(--ink);
    }
    .dp-topbar-cta {
      display: inline-flex; align-items: center; gap: 6px;
      font-family: var(--display); font-size: 11px; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
      background: var(--red); color: #fff;
      padding: 6px 14px; border: none; cursor: pointer;
      text-decoration: none; transition: background .2s;
    }
    .dp-topbar-cta:hover { background: #e0454e; }

    /* ── Deep page hero ── */
    .dp-hero {
      display: grid; grid-template-columns: 1fr 1fr;
      min-height: 56vh;
    }
    .dp-hero-left {
      background: var(--ink); color: #fff;
      padding: clamp(40px,5vw,72px) clamp(24px,4vw,60px);
      display: flex; flex-direction: column; justify-content: space-between;
    }
    .dp-hero-right {
      padding: clamp(40px,5vw,72px) clamp(24px,4vw,60px);
      display: flex; flex-direction: column; justify-content: center;
    }
    .dp-eyebrow {
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase; color: var(--red);
      margin-bottom: 16px;
    }
    .dp-h1 {
      font-family: var(--display); font-size: clamp(40px,5vw,72px);
      font-weight: 900; line-height: .88; letter-spacing: -.03em;
      text-transform: uppercase; margin-bottom: 20px;
    }
    .dp-lead { font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.65); max-width: 440px; }

    /* ── Content grid system ── */
    .dp-section { padding: clamp(48px,6vw,80px) clamp(24px,5vw,72px); }
    .dp-section-alt { background: var(--ink); color: #fff; }
    .dp-section-yellow { background: var(--yellow); }
    .dp-section-mist { background: var(--mist); }

    .dp-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
    .dp-3col { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }

    /* Evaluation grid — 5 layers */
    .dp-eval-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
    .dp-eval { padding: 28px 28px 24px; background: #fff; border: 1px solid var(--mist); transition: border-color .2s, background .2s; }
    .dp-eval:hover { border-color: var(--red); background: rgba(249,87,96,.02); }
    .dp-eval.dp-eval-wide { grid-column: 1 / -1; background: rgba(249,87,96,.04); border-color: rgba(249,87,96,.25); }
    .dp-eval-num { font-family: var(--display); font-size: 16px; font-weight: 800; letter-spacing: .15em; color: var(--red); margin-bottom: 10px; display: inline-block; padding: 4px 10px; background: rgba(249,87,96,.08); border-radius: 3px; }
    .dp-eval-title { font-family: var(--display); font-size: 18px; font-weight: 800; text-transform: uppercase; letter-spacing: -0.01em; color: var(--ink); margin-bottom: 10px; line-height: 1.2; }
    .dp-eval-desc { font-size: 16px; line-height: 1.7; color: var(--stone); }
    .dp-4col { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
    .dp-2col-wide { display: grid; grid-template-columns: 2fr 1fr; gap: 56px; align-items: start; }

    /* ── Cards ── */
    .dp-card {
      border: 1px solid var(--mist); padding: 28px 24px;
      background: #fff; transition: border-color .2s, transform .2s;
    }
    .dp-card:hover { border-color: var(--red); transform: translateY(-2px); }
    .dp-card-dark { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }
    .dp-card-dark:hover { border-color: rgba(249,87,96,.4); }
    .dp-card-num {
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .18em; text-transform: uppercase; color: var(--red);
      margin-bottom: 12px;
    }
    .dp-card-title {
      font-family: var(--display); font-size: clamp(16px,2vw,22px);
      font-weight: 800; letter-spacing: -.01em; text-transform: uppercase;
      color: var(--ink); margin-bottom: 10px; line-height: 1.1;
    }
    .dp-card-dark .dp-card-title { color: #fff; }
    .dp-card-text { font-size: 16px; line-height: 1.7; color: var(--stone); }
    .dp-card-dark .dp-card-text { color: rgba(255,255,255,.55); }

    /* ── Section heading ── */
    .dp-sh {
      font-family: var(--display); font-size: clamp(12px,1vw, 14px);
      font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
      color: var(--red); margin-bottom: 16px;
    }
    .dp-sh-alt { color: rgba(249,87,96,.75); }
    .dp-h2 {
      font-family: var(--display); font-size: clamp(28px,3.5vw,48px);
      font-weight: 900; text-transform: uppercase; letter-spacing: -.02em;
      line-height: .95; margin-bottom: 20px; color: var(--ink);
    }
    .dp-h2-white { color: #fff; }
    .dp-body { font-size: 15px; line-height: 1.75; color: #555; max-width: 640px; }
    .dp-body-white { color: rgba(255,255,255,.65); }

    /* ── Step list ── */
    .dp-steps { display: flex; flex-direction: column; gap: 0; }
    .dp-step {
      display: grid; grid-template-columns: 56px 1fr;
      gap: 20px; align-items: start;
      padding: 20px 0; border-bottom: 1px solid var(--mist);
    }
    .dp-step:last-child { border-bottom: none; }
    .dp-step-n {
      font-family: var(--display); font-size: 28px; font-weight: 900;
      color: var(--red); line-height: 1; letter-spacing: -.04em;
    }
    .dp-step-title {
      font-family: var(--display); font-size: 16px; font-weight: 800;
      letter-spacing: .06em; text-transform: uppercase; color: var(--ink);
      margin-bottom: 6px;
    }
    .dp-step-desc { font-size: 16px; line-height: 1.65; color: var(--stone); }

    /* ── Metric row ── */
    .dp-metrics { display: flex; gap: 0; border-top: 1px solid rgba(255,255,255,.1); margin-top: 32px; padding-top: 32px; }
    .dp-metric { flex: 1; padding-right: 24px; border-right: 1px solid rgba(255,255,255,.12); }

    /* ─────────────────────────────────────────
       HEADHUNTING deep-page
    ───────────────────────────────────────── */
    .dp-subnav { position: sticky; top: 48px; z-index: 5; background: rgba(18,18,18,.97); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,.08); padding: 12px clamp(24px,5vw,72px); display: flex; gap: 4px; overflow-x: auto; }
    .dp-subnav-link { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); padding: 8px 14px; border-radius: 3px; text-decoration: none; white-space: nowrap; transition: background .2s, color .2s; cursor: pointer; }
    .dp-subnav-link:hover { background: rgba(255,255,255,.08); color: #fff; }
    .dp-subnav-link.is-active { background: var(--red); color: #fff; }

    /* Hero unificado dark full-width (Headhunting) */
    .hh-hero { background: var(--ink); color: #fff; grid-template-columns: 1.1fr 1fr !important; min-height: auto !important; padding: clamp(48px,6vw,96px) clamp(24px,5vw,72px); gap: clamp(32px,5vw,80px); align-items: center; }
    .hh-hero-left { padding: 0 !important; background: transparent !important; display: block !important; }
    .hh-hero-left .dp-lead { color: rgba(255,255,255,.7); max-width: 540px; margin-top: 24px; }
    .hh-hero-left .dp-lead strong { color: #fff; font-weight: 700; }

    .hh-hero-right { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 0 !important; background: transparent !important; }
    .hh-metric { padding: 22px 20px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 4px; transition: background .2s, border-color .2s; }
    .hh-metric:hover { background: rgba(249,87,96,.06); border-color: rgba(249,87,96,.25); }
    .hh-metric-n { font-family: var(--display); font-size: clamp(32px,3.5vw,48px); font-weight: 900; color: var(--yellow); letter-spacing: -0.03em; line-height: 1; }
    .hh-metric-n span { color: rgba(255,255,255,.45); font-size: .4em; font-weight: 700; letter-spacing: .02em; margin-left: 4px; }
    .hh-metric-l { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-top: 10px; line-height: 1.3; }

    @media (max-width: 900px) {
      .hh-hero { grid-template-columns: 1fr !important; padding: 48px 24px; }
      .hh-hero-right { grid-template-columns: 1fr 1fr; }
    }

    .dp-process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 2px; }
    .dp-process-step { padding: 28px 24px; background: #fff; border: 1px solid var(--mist); transition: border-color .2s, background .2s; }
    .dp-process-step:hover { border-color: var(--red); background: rgba(249,87,96,.02); }
    .dp-ps-num { font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: .15em; color: var(--red); background: rgba(249,87,96,.08); padding: 4px 10px; border-radius: 3px; display: inline-block; margin-bottom: 14px; }
    .dp-ps-title { font-family: var(--display); font-size: 16px; font-weight: 800; letter-spacing: -0.01em; text-transform: uppercase; color: var(--ink); margin-bottom: 10px; line-height: 1.2; }
    .dp-ps-text { font-size: 15px; line-height: 1.65; color: var(--stone); }

    .dp-hh-countries { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
    .hhc-card { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); transition: background .2s, border-color .2s; }
    .hhc-card:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); }
    .hhc-card.is-hub { background: rgba(249,87,96,.08); border-color: rgba(249,87,96,.25); }
    .hhc-flag { font-size: 26px; line-height: 1; }
    .hhc-name { font-family: var(--display); font-size: 15px; font-weight: 800; color: #fff; letter-spacing: .02em; }
    .hhc-status { font-size: 13px; color: rgba(255,255,255,.55); margin-top: 2px; }

    .dp-sect-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-bottom: 32px; }
    .dp-sect-pillar { padding: 32px 28px; background: #fff; border: 1px solid var(--mist); transition: border-color .2s; }
    .dp-sect-pillar.dp-sect-primary { background: rgba(249,87,96,.04); border-color: rgba(249,87,96,.25); }
    .dp-sect-num { font-family: var(--display); font-size: 32px; font-weight: 900; color: var(--red); line-height: 1; margin-bottom: 14px; opacity: .85; }
    .dp-sect-title { font-family: var(--display); font-size: 18px; font-weight: 800; text-transform: uppercase; letter-spacing: -0.01em; color: var(--ink); margin-bottom: 10px; }
    .dp-sect-desc { font-size: 15.5px; line-height: 1.65; color: var(--stone); }

    .dp-sect-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
    .dp-chip { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 8px 14px; background: #fff; border: 1px solid var(--mist); color: var(--ink); border-radius: 3px; transition: border-color .2s, background .2s; }
    .dp-chip:hover { border-color: var(--red); background: rgba(249,87,96,.04); color: var(--red); }

    .dp-levels-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }
    .dp-level { padding: 28px 26px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
    .dp-level-tag { font-family: var(--display); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 10px; }
    .dp-level-roles { font-family: var(--display); font-size: 15px; font-weight: 800; color: #fff; letter-spacing: -0.01em; line-height: 1.3; margin-bottom: 14px; text-transform: uppercase; }
    .dp-level-desc { font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.6); }

    .dp-cta-block { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: clamp(40px,5vw,64px) clamp(24px,5vw,72px); background: var(--ink); color: #fff; border-top: 4px solid var(--red); flex-wrap: wrap; }
    .dp-cta-h { font-family: var(--display); font-size: clamp(26px,3vw,40px); font-weight: 900; text-transform: uppercase; letter-spacing: -0.02em; color: #fff; line-height: 1.1; margin-bottom: 8px; }
    .dp-cta-p { font-size: 16px; line-height: 1.65; color: rgba(255,255,255,.65); max-width: 560px; }

    @media (max-width: 1100px) {
      .dp-process-grid { grid-template-columns: repeat(2, 1fr); }
      .dp-hh-countries { grid-template-columns: repeat(3, 1fr); }
    }
    @media (max-width: 800px) {
      .dp-process-grid { grid-template-columns: 1fr; }
      .dp-hh-countries { grid-template-columns: 1fr 1fr; }
      .dp-sect-pillars { grid-template-columns: 1fr; }
      .dp-levels-grid { grid-template-columns: 1fr; }
      .dp-cta-block { flex-direction: column; align-items: flex-start; }
    }

    /* ─────────────────────────────────────────
       HEADHUNTING — typography escalada para coincidir con el Home
    ───────────────────────────────────────── */
    #dp-headhunting .dp-section { padding: clamp(64px,7vw,112px) clamp(28px,5vw,80px); }
    #dp-headhunting .dp-sh { font-size: 14px; letter-spacing: .22em; margin-bottom: 16px; }
    #dp-headhunting .dp-h2 { font-size: clamp(44px,5.5vw,80px); letter-spacing: -0.03em; line-height: .95; }
    #dp-headhunting .dp-h1 { font-size: clamp(48px,6vw,92px); }
    #dp-headhunting .dp-body { font-size: 17px; line-height: 1.75; max-width: 760px; }
    #dp-headhunting .dp-lead { font-size: 17px; line-height: 1.7; max-width: 600px; }
    #dp-headhunting .dp-eyebrow { font-size: 14px; letter-spacing: .22em; margin-bottom: 18px; }

    #dp-headhunting .dp-process-step { padding: 36px 32px; }
    #dp-headhunting .dp-ps-num { font-size: 15px; padding: 6px 12px; margin-bottom: 18px; }
    #dp-headhunting .dp-ps-title { font-size: 19px; margin-bottom: 14px; line-height: 1.25; }
    #dp-headhunting .dp-ps-text { font-size: 15px; line-height: 1.7; }

    #dp-headhunting .dp-sect-pillar { padding: 40px 36px; }
    #dp-headhunting .dp-sect-num { font-size: 40px; margin-bottom: 18px; }
    #dp-headhunting .dp-sect-title { font-size: 22px; margin-bottom: 14px; }
    #dp-headhunting .dp-sect-desc { font-size: 15px; line-height: 1.7; }
    #dp-headhunting .dp-chip { font-size: 15px; padding: 10px 18px; letter-spacing: .1em; }

    #dp-headhunting .dp-level { padding: 34px 30px; }
    #dp-headhunting .dp-level-tag { font-size: 14px; letter-spacing: .2em; margin-bottom: 14px; }
    #dp-headhunting .dp-level-roles { font-size: 18px; margin-bottom: 18px; }
    #dp-headhunting .dp-level-desc { font-size: 15px; line-height: 1.7; }

    #dp-headhunting .hhc-card { padding: 20px 22px; gap: 16px; }
    #dp-headhunting .hhc-flag { font-size: 30px; }
    #dp-headhunting .hhc-name { font-size: 15px; }
    #dp-headhunting .hhc-status { font-size: 14.5px; margin-top: 3px; }

    #dp-headhunting .dp-subnav { padding: 16px clamp(24px,5vw,72px); }
    #dp-headhunting .dp-subnav-link { font-size: 15px; padding: 10px 18px; letter-spacing: .14em; }

    #dp-headhunting .dp-cta-h { font-size: clamp(32px,3.5vw,48px); }
    #dp-headhunting .dp-cta-p { font-size: 16px; line-height: 1.7; }

    #dp-headhunting .hh-hero-left .dp-lead { font-size: 18px; line-height: 1.7; max-width: 580px; }
    #dp-headhunting .hh-metric { padding: 28px 26px; }
    #dp-headhunting .hh-metric-n { font-size: clamp(38px,4vw,56px); }
    #dp-headhunting .hh-metric-l { font-size: 14px; letter-spacing: .14em; margin-top: 12px; }
    .dp-metric:last-child { border-right: none; padding-right: 0; padding-left: 24px; }
    .dp-metric:nth-child(2) { padding: 0 24px; }
    .dp-metric-n {
      font-family: var(--display); font-size: clamp(32px,3.5vw,48px);
      font-weight: 900; color: #fff; line-height: 1; letter-spacing: -.04em;
    }
    .dp-metric-n span { color: var(--red); font-size: .6em; }
    .dp-metric-l {
      font-family: var(--display); font-size: 11px; font-weight: 700;
      letter-spacing: .15em; text-transform: uppercase;
      color: rgba(255,255,255,.45); margin-top: 6px;
    }

    /* ── Table ── */
    .dp-table { width: 100%; border-collapse: collapse; }
    .dp-table th {
      font-family: var(--display); font-size: 11px; font-weight: 700;
      letter-spacing: .15em; text-transform: uppercase;
      border-bottom: 2px solid var(--ink); padding: 10px 16px;
      text-align: left; color: var(--ink);
    }
    .dp-table td { padding: 12px 16px; font-size: 15px; border-bottom: 1px solid var(--mist); }
    .dp-table tr:hover td { background: rgba(249,87,96,.04); }
    .dp-badge {
      display: inline-block; padding: 3px 10px;
      font-family: var(--display); font-size: 11px; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
    }
    .dp-badge-red { background: rgba(249,87,96,.12); color: var(--red); }
    .dp-badge-yellow { background: rgba(245,166,35,.15); color: #b57e00; }
    .dp-badge-ink { background: rgba(14,14,14,.08); color: var(--ink); }

    /* Trigger button en las secciones del home */
    .dp-trigger {
      display: inline-flex; align-items: center; gap: 7px;
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase; color: var(--red);
      background: none; border: 1.5px solid rgba(249,87,96,.3);
      padding: 8px 18px; cursor: pointer; transition: all .2s;
      text-decoration: none; margin-top: 16px;
    }
    .dp-trigger:hover { background: var(--red); color: #fff; border-color: var(--red); }
    .dp-trigger svg { width: 12px; height: 12px; transition: transform .2s; }
    .dp-trigger:hover svg { transform: translateX(4px); }

    @media (max-width: 860px) {
      .dp-hero { grid-template-columns: 1fr; }
      .dp-2col, .dp-2col-wide { grid-template-columns: 1fr; gap: 32px; }
      .dp-3col { grid-template-columns: 1fr 1fr; }
      .dp-4col { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 560px) {
      .dp-3col, .dp-4col { grid-template-columns: 1fr; }
      .dp-eval-grid { grid-template-columns: 1fr; }
    }


    /* ── GEO content styles ── */
    .geo-answer {
      background: rgba(249,87,96,.06);
      border-left: 4px solid var(--red);
      padding: 20px 24px;
      margin: 24px 0 32px;
      border-radius: 0 4px 4px 0;
    }
    .geo-answer-label {
      font-family: var(--display); font-size: 11px; font-weight: 700;
      letter-spacing: .18em; text-transform: uppercase; color: var(--red);
      margin-bottom: 8px;
    }
    .geo-answer-text { font-size: 15px; line-height: 1.7; color: var(--ink); font-weight: 500; }

    .geo-faq { padding: clamp(40px,5vw,64px) clamp(24px,5vw,72px); background: var(--mist); }
    .geo-faq-title { font-family: var(--display); font-size: clamp(22px,2.5vw,32px); font-weight: 900; text-transform: uppercase; letter-spacing: -.02em; color: var(--ink); margin-bottom: 32px; }
    .geo-q { margin-bottom: 24px; }
    .geo-q h3 {
      font-family: var(--display); font-size: 16px; font-weight: 800;
      letter-spacing: .02em; text-transform: uppercase; color: var(--ink);
      margin-bottom: 8px; display: flex; align-items: flex-start; gap: 10px;
    }
    .geo-q h3::before { content: 'Q'; color: var(--red); flex-shrink: 0; }
    .geo-q p { font-size: 16px; line-height: 1.7; color: #555; padding-left: 24px; }

    .geo-stat-strip {
      display: flex; gap: 0; background: var(--ink);
      padding: clamp(24px,3vw,40px) clamp(24px,5vw,72px);
      border-bottom: 2px solid rgba(249,87,96,.3);
    }
    .geo-stat { flex: 1; padding-right: 28px; border-right: 1px solid rgba(255,255,255,.08); }
    .geo-stat:last-child { border-right: none; padding-right: 0; padding-left: 28px; }
    .geo-stat:nth-child(2) { padding: 0 28px; }
    .geo-stat-n { font-family: var(--display); font-size: clamp(28px,3vw,42px); font-weight: 900; color: #fff; letter-spacing: -.04em; line-height: 1; }
    .geo-stat-n span { color: var(--red); }
    .geo-stat-l { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-top: 4px; }

    .geo-insight {
      background: var(--ink); color: #fff;
      padding: clamp(32px,4vw,56px) clamp(24px,5vw,72px);
    }
    .geo-insight-quote {
      font-family: var(--display); font-size: clamp(20px,2.5vw,30px);
      font-weight: 800; line-height: 1.2; color: #fff; max-width: 720px;
      border-left: 4px solid var(--red); padding-left: 24px; margin: 0;
    }
    .geo-insight-source {
      font-family: var(--display); font-size: 11px; font-weight: 700;
      letter-spacing: .15em; text-transform: uppercase;
      color: rgba(255,255,255,.55); margin-top: 16px; padding-left: 28px;
    }


    /* ─────────────────────────────────────────
       CONTACTO — formulario rediseñado
    ───────────────────────────────────────── */
    .contacto-landing { background: var(--ash); }

    .ctf-wrap {
      display: grid;
      grid-template-columns: 1fr 1.6fr;
      min-height: 100vh;
    }
    .ctf-info {
      background: var(--ink); color: #fff;
      padding: clamp(48px,6vw,80px) clamp(28px,4vw,56px);
      display: flex; flex-direction: column; justify-content: space-between;
      position: sticky; top: 48px;
      height: calc(100vh - 48px);
    }
    .ctf-info-eyebrow {
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase; color: var(--red);
      margin-bottom: 16px;
    }
    .ctf-info-h {
      font-family: var(--display); font-size: clamp(36px,4.5vw,60px);
      font-weight: 900; text-transform: uppercase; line-height: .9;
      letter-spacing: -.03em; color: #fff; margin-bottom: 20px;
    }
    .ctf-info-h em { font-style: normal; color: var(--red); }
    .ctf-info-p { font-size: 15px; line-height: 1.7; color: rgba(255,255,255,.6); max-width: 340px; }

    .ctf-channels { display: flex; flex-direction: column; gap: 0; margin-top: 40px; }
    .ctf-ch {
      display: flex; align-items: center; gap: 14px;
      padding: 16px 0;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .ctf-ch:first-child { border-top: 1px solid rgba(255,255,255,.08); }
    .ctf-ch-icon {
      width: 36px; height: 36px; border-radius: 6px;
      background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .ctf-ch-icon svg { width: 15px; height: 15px; color: var(--red); }
    .ctf-ch-label {
      font-family: var(--display); font-size: 11px; font-weight: 700;
      letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.55);
    }
    .ctf-ch-val { font-size: 15px; color: rgba(255,255,255,.75); margin-top: 2px; }
    .ctf-ch-val a { color: rgba(255,255,255,.75); }

    .ctf-badge {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 10px 18px;
      border: 1px solid rgba(249,87,96,.25);
      background: rgba(249,87,96,.06);
      border-radius: 4px;
    }
    .ctf-badge-dot { width: 6px; height: 6px; background: var(--red); border-radius: 50%; animation: blink 1.8s ease-in-out infinite; }
    .ctf-badge-text { font-family: var(--display); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.6); }

    /* ── Form panel ── */
    .ctf-form-panel {
      padding: clamp(48px,6vw,80px) clamp(28px,5vw,64px);
      background: var(--white);
    }
    .ctf-form-head { margin-bottom: 36px; }
    .ctf-form-eyebrow {
      font-family: var(--display); font-size: 12px; font-weight: 700;
      letter-spacing: .2em; text-transform: uppercase; color: var(--red);
      margin-bottom: 14px;
    }
    .ctf-form-title {
      font-family: var(--display); font-size: clamp(28px,3vw,42px);
      font-weight: 900; text-transform: uppercase; color: var(--ink);
      line-height: .95; letter-spacing: -.02em;
    }

    /* ── Field system ── */
    .ctf-fields { display: flex; flex-direction: column; gap: 20px; }
    .ctf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

    .ctf-field { display: flex; flex-direction: column; gap: 7px; }
    .ctf-field label {
      font-family: var(--display); font-size: 11px; font-weight: 700;
      letter-spacing: .18em; text-transform: uppercase; color: var(--stone);
    }
    .ctf-field .req { color: var(--red); }

    .ctf-input {
      display: block; width: 100%; box-sizing: border-box;
      background: var(--ash); border: 1.5px solid var(--mist);
      padding: 13px 16px;
      font-family: var(--body); font-size: 16px; color: var(--ink);
      outline: none; transition: border-color .2s, background .2s;
      border-radius: 2px; appearance: none;
    }
    .ctf-input:focus { border-color: var(--red); background: #fff; }
    .ctf-input::placeholder { color: var(--stone); }
    .ctf-select {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 14px center;
      cursor: pointer;
    }
    .ctf-textarea { min-height: 110px; resize: vertical; line-height: 1.6; }

    .ctf-footer {
      display: flex; align-items: center; justify-content: space-between;
      gap: 16px; flex-wrap: wrap; margin-top: 8px;
      padding-top: 24px; border-top: 1px solid var(--mist);
    }
    .ctf-privacy { font-size: 14px; color: var(--stone); line-height: 1.6; max-width: 300px; }
    .ctf-privacy a { color: var(--red); }
    .ctf-submit {
      display: inline-flex; align-items: center; gap: 10px;
      background: var(--red); color: #fff;
      font-family: var(--display); font-size: 13px; font-weight: 700;
      letter-spacing: .1em; text-transform: uppercase;
      padding: 14px 28px; border: none; cursor: pointer;
      transition: background .2s, transform .2s, box-shadow .2s;
      white-space: nowrap;
    }
    .ctf-submit:hover { background: #e0454e; transform: translateY(-2px); box-shadow: 0 12px 32px rgba(249,87,96,.3); }
    .ctf-submit svg { width: 14px; height: 14px; transition: transform .2s; }
    .ctf-submit:hover svg { transform: translateX(4px); }

    #ctf-success {
      display: none; background: rgba(249,87,96,.06);
      border: 1.5px solid rgba(249,87,96,.25);
      padding: 20px 24px; border-radius: 2px; margin-top: 20px;
      font-family: var(--display); font-size: 15px; font-weight: 700;
      letter-spacing: .06em; text-transform: uppercase; color: var(--red);
    }

    @media (max-width: 900px) {
      .ctf-wrap { grid-template-columns: 1fr; }
      .ctf-info { position: static; height: auto; }
      .ctf-row { grid-template-columns: 1fr; }
    }
html{background:#FFFFFF;}
    body{background:transparent !important;}
    body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;mix-blend-mode:multiply;background:radial-gradient(55vw 55vw at 15% 20%,rgba(249,87,96,.14),transparent 60%),radial-gradient(50vw 50vw at 85% 80%,rgba(245,166,35,.16),transparent 60%),radial-gradient(65vw 65vw at 50% 50%,rgba(249,87,96,.06),transparent 65%),radial-gradient(80vw 80vw at 50% 110%,rgba(14,14,14,.06),transparent 65%);animation:sbBgFloat 22s ease-in-out infinite alternate;}
    @keyframes sbBgFloat{0%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(-1.5%,1%,0) scale(1.04);}100%{transform:translate3d(1.5%,-1%,0) scale(1.02);}}
    @media (prefers-reduced-motion: reduce){body::before{animation:none;}}
/* === Fix responsive: rejillas inline que no colapsaban en movil === */
@media (max-width:620px){
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns: repeat(2"],
  [style*="grid-template-columns:1fr 1fr 1fr"],
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"]{ grid-template-columns:1fr !important; }
}
/* Tarjetas de modelos Fractional HR: carrusel con swipe en movil */
@media (max-width:760px){
  .fhr-models-cards{ display:flex !important; grid-template-columns:none !important; overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; gap:12px !important; padding-bottom:8px; }
  .fhr-models-cards > a{ flex:0 0 86%; scroll-snap-align:start; }
  .fhr-models-cards::-webkit-scrollbar{ height:4px; }
  .fhr-models-cards::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.25); border-radius:4px; }
}
/* ── Propuesta 1 en Home: títulos largos -> Inter (hero/eyebrows condensados) · type-prop1 ── */
.t-lg,.t-xl,.ns-bcases-title,.nosotros-big-h,.modelo-big,.ctf-info-h,.blog-title,.ave-h,.asmt-res-h,.asmt-form-h,.asmt-scores-title,.asmt-recs-title,.asmt-send-h,.asmt-cta-h,.svc-title,.founder-name,.vc-title,.vac-title,.nt-title,.mp-title,.mg-title,.hh-cta-h,.hh-cta-tile-title,.ci-title,.ci-h,.cv-title,.pe-title,.jce-title,.jcb-h,.geo-faq-title,.ns-story-title,.fhr-tandem-title-new,.fhr-hero-model-title,.team-header h2,.fhr-header h2{font-family:'Inter',system-ui,sans-serif!important;text-transform:none!important;letter-spacing:-0.01em!important;}
